【发布时间】:2013-06-29 23:54:51
【问题描述】:
有很多问题都与纹理坐标中的两个点有关,我的着色器已经使用这个概念。 1.0, 1.0 显示整个图像,而 1.0 / 帧在一维或另一个显示...的外观......好吧,不幸的是,它显示了四边形的 0.0 到帧分割的十进制值之间的所有内容。
我想做的是,从着色器中控制纹理坐标的所有四个点。在每个教程和每个示例中,纹理坐标 vec 始终是 vec2,这意味着您只能控制两个端点,而不是起点。有没有办法消除这个限制?
为了让您了解我为什么要这样做(如果还不是很明显的话),我想从一张较大的表格中挑选一个平铺或动画框架。
理想情况下,我还可以在着色器中找到图像的尺寸(宽度和高度),但如有必要,传递这些值并不难。我相信此时我' m 使用 GLSL 2,这意味着我无法在着色器中使用 textureSize2D 函数(已经尝试过了)。
【问题讨论】:
-
对于每个顶点传递给着色器的两个 UV 坐标似乎存在严重误解。您可能需要重新阅读一些教程,或 google 那些特别涉及地图集映射的教程。
-
您有没有机会为我指明正确的方向?我搜索了 GLSL 地图集映射、纹理地图集和常规地图集地图,但没有找到任何有用的信息。有什么我想念的吗?很多人提到它,但没有人说它是什么或它是如何工作的或类似的东西。