我有这个通常为 8x8 大小的子像素纹理(此处为放大版:http: //i.imgur.com/w697DMO.png),我需要能够在 GLSL 中生成此纹理,而无需实际使用任何上传的着色器本身的纹理。我知道这是可能的,因为我已经看到对这样的纹理进行了类似的数学运算(http://www.reach3d.net/views.pdf),我只是不确定如何以相反的方式进行......换句话说,我需要生成在着色器中输出此纹理所需的数学运算。
编辑:我忘了提到我对生成数据的第二个要求。
过去我使用常规纹理时,在计算最终颜色之前还进行了其他操作,这需要将亚像素纹理在其中一个轴上上下移动(例如,纹理的第一行移动到如果我们“向上”移动,则底部)。例如,我有一个图像纹理,其中包含 8 或 9 个不同的部分(想想井字游戏布局),需要合成为单个图像,其中每个部分都放大到全屏大小并与不同的部分相乘(全屏,包裹)子像素纹理(如 8x8 或 3x9)。这将如何实现?
输入图像如下所示:http: //i.imgur.com/vzxI5tL.jpg
输出(仅使用前 8 个部分,具有 8x8 纹理)应如下所示:http: //i.imgur.com/YuIgSSu.jpg