【发布时间】:2020-09-30 01:37:32
【问题描述】:
我已经完成了 learnopengl.com 上的突破系列中的几个教程,所以我有一个非常简单的 2D 渲染器。不过,我想向它添加一个子图像功能,在这里我可以为一种“源矩形”指定一个 vec4,所以如果 vec4 是(10, 10, 32, 32),它只会渲染一个宽度为 10、10 的矩形和高度为 32,有点像 SDL 渲染器的工作原理。
渲染器的设置方式是有一个所有精灵都使用的四边形 VAO,其中包含纹理坐标。最初,我虽然可以为每个精灵使用一个 VAO 数组,每个精灵都有不同的纹理坐标,但我希望能够在精灵被绘制之前更改源矩形,以使动画之类的事情更容易......我的第二个想法是将一个单独的统一 vec4 传递到源矩形的片段着色器中,但是我如何仅在像素坐标中渲染该部分?
【问题讨论】:
-
问题解决了吗?