【问题标题】:Generate texture coordinates for procedural texturing为程序纹理生成纹理坐标
【发布时间】:2013-06-06 16:32:22
【问题描述】:

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

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

【问题讨论】:

  • 程序纹理和纹理坐标的自动生成是完全正交的。你可以做一个没有另一个,而另一个也不需要工作。

标签: opengl 3d shader


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-10
    • 1970-01-01
    • 1970-01-01
    • 2012-05-04
    • 2011-07-26
    • 1970-01-01
    相关资源
    最近更新 更多