【问题标题】:Select portions of a texture, and draw, GPU选择纹理的一部分并绘制 GPU
【发布时间】:2015-05-07 14:38:49
【问题描述】:

我有几天在寻找如何做到这一点,但我被困住了,如果有人可以告诉我一些对我有用的资源,我会做我所寻找的,我不想写所有我唯一的代码指导我如何去做,“因为我认为这是可能的”

我的意图是在 GPU 上托管一个纹理,并选取、选择、该纹理的一部分,传递你想要的大小,并在 libgdx 中绘制“quad”或“mesh”。

我可以使用顶点和着色器创建多重纹理,但不像在另一个纹理中将纹理的一部分用于它们,并更改应该绘制的部分。

但也许这不是做我想做的事情的正确方法。

下面,我展示一张图片以便更好地理解我:

  1. 是 GPU 上的纹理,原始
  2. 图像,将根据坐标绘制 通过了
  3. 将显示结果

【问题讨论】:

  • 为什么不简单地将四边形拆分为 4 个四边形并为每个四边形设置纹理?

标签: opengl opengl-es libgdx glsl


【解决方案1】:

如果我正确理解您的意图,我认为您想要的只是纹理坐标或 UV 映射。假设您有纹理 (1),然后您将绘制四个四边形,每个四边形使用不同的纹理坐标来访问多重纹理。比如看(3)的上图,

  • 左上角和右上角的四边形将使用从 [0.0, 0.0] 到 [0.5, 0.5] 的纹理坐标来访问黑色区域,
  • 左下角的四边形将使用从 [0.5, 0.5] 到 [1.0, 1.0] 的纹理坐标来访问红色区域,并且
  • 右下角的四边形将使用从 [0.5, 0.0] 到 [1.0, 0.5] 的纹理坐标来访问蓝色区域。

如果需要,您可以创建一个函数,将“图集帧索引”1、2、3 或 4 映射到正确的纹理坐标,以使绘图更容易。

【讨论】:

    猜你喜欢
    • 2013-10-22
    • 2012-09-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多