【问题标题】:Polygonal gradients with OpenGL使用 OpenGL 的多边形渐变
【发布时间】:2010-05-01 22:28:06
【问题描述】:

我想知道如果我正在制作多边形,我该如何创建一个包含多个停靠点和一个方向的渐变。现在我正在通过改变顶点的颜色来创建渐变,但这是有限的。有没有其他方法可以做到这一点?

谢谢

【问题讨论】:

    标签: c++ opengl 2d gradient


    【解决方案1】:

    您可能有一个选择是渲染一个带有渐变的简单多边形到纹理,然后您可以使用它来纹理您的实际多边形。

    然后您可以旋转源多边形,任何带有其图像纹理的东西也将旋转其渐变,而实际几何形状不会发生变化。

    【讨论】:

    • 这是一个不错的解决方案,虽然我不知道如何处理步骤,但我希望能解决
    • @user146780 哈哈是的,老实说,我实际上不知道如何渲染到纹理,但我知道可以做到。正如你似乎同意的那样,我认为这在理论上是可行的。 ;D
    【解决方案2】:

    最灵活的方法可能是创建具有所需渐变的纹理,然后将其应用于几何体。

    【讨论】:

    • 但我希望能够随时更改方向矢量,这样固定纹理就不会切割它。 (有点像 Photoshop 渐变)
    • 你应该可以旋转你的纹理投影。
    【解决方案3】:

    如果您使用着色器,您可以将您的顶点世界位置传递给您的顶点着色器,它们会插值到您的片段着色器中,因此对于每个片段,您都会得到它在世界空间中的位置(当然你可以使用任何空间)。然后只需选择任何传递函数来将该值更改为颜色即可。您可以使用 b 样条或片段着色器中的任何内容制作任何类型的精细算法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-08-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-13
      相关资源
      最近更新 更多