有很多问题与纹理坐标中的两个点有关,我的着色器已经使用这个概念。1.0, 1.0 显示整个图像,而 1.0 / frame 在一个维度或另一个维度上显示......好吧,不幸的是,它显示了四边形的 0.0 到框架除法的十进制值之间的所有内容。
我想做的是,从着色器中控制纹理坐标的所有四个点。在每个教程和每个示例中,纹理坐标 vec 始终是 vec2,这意味着您只能控制两个端点,而不是起点。有没有办法消除这个限制?
为了让您了解我为什么要这样做(如果它还不是很明显的话),我想从一张较大的表格中挑选一个平铺或动画框架。
理想情况下,我还可以在着色器中找到图像的尺寸(宽度和高度),但如果有必要,传递这些值并不难。我相信此时我正在使用 GLSL 2,这意味着我无法在着色器中使用 textureSize2D 函数(已经尝试过)。