0

我正在阅读红皮书(OpenGL 编程指南)中的程序纹理章节。在他们的程序纹理示例中,从应用程序传递到着色器的参数之一是纹理坐标。但是,它们没有显示如何生成纹理坐标。

有人可以提供一个在进行程序纹理时如何生成纹理坐标的示例吗?

4

1 回答 1

2

我没有 OpenGL 编程指南,所以我不能具体评论他们的例子,但总的来说:

如果您的程序纹理基于二维坐标计算颜色,则这些与普通纹理坐标没有什么不同。只需像往常一样从应用程序传入它们(或根据顶点着色器中的某些投影计算它们)。

如果您的程序纹理基于三维坐标计算颜色,您通常会使用(未转换的)顶点位置作为程序纹理计算的输入。将顶点位置属性复制到顶点着色器中的varying(或out在最近的 GLSL 方言中)vec3变量。

于 2013-06-06T08:32:22.800 回答