Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在阅读红皮书(OpenGL 编程指南)中的程序纹理章节。在他们的程序纹理示例中,从应用程序传递到着色器的参数之一是纹理坐标。但是,它们没有显示如何生成纹理坐标。
有人可以提供一个在进行程序纹理时如何生成纹理坐标的示例吗?
我没有 OpenGL 编程指南,所以我不能具体评论他们的例子,但总的来说:
如果您的程序纹理基于二维坐标计算颜色,则这些与普通纹理坐标没有什么不同。只需像往常一样从应用程序传入它们(或根据顶点着色器中的某些投影计算它们)。
如果您的程序纹理基于三维坐标计算颜色,您通常会使用(未转换的)顶点位置作为程序纹理计算的输入。将顶点位置属性复制到顶点着色器中的varying(或out在最近的 GLSL 方言中)vec3变量。
varying
out
vec3