OpenGL中多边形的渐变

Posted

技术标签:

【中文标题】OpenGL中多边形的渐变【英文标题】:Gradients for polygons in OpenGL 【发布时间】:2010-05-18 14:55:33 【问题描述】:

在 OpenGL 中为 2D 多边形创建渐变的最佳方法是什么(线性和径向)?

谢谢

如何动态生成径向渐变纹理?

【问题讨论】:

【参考方案1】:

线性很容易 - 你只需为不同的点设置不同的颜色

red ---- red
|        |
|        |
|        |
blue ---- blue

径向纹理可能是更好的选择

要即时生成它,请创建空纹理,然后用函数 sqrt((MAXX - x)^2 + (MAXY - y)^2) 填充它,然后为其添加颜色。

【讨论】:

您可以使用第一种方法,使用多个三角形来模拟径向渐变。 ... 我会使用三角形扇形原语来简化径向渐变的几何构造。 @Luca 我想过,但我认为它看起来不太好。质地肯定会更好 您可能希望使用 sin 和 cosine 函数生成三角扇 - 为它创建一个快速例程,我认为它会比纹理赋予您更大的灵活性。

以上是关于OpenGL中多边形的渐变的主要内容,如果未能解决你的问题,请参考以下文章

iOS中的多色多边形

OpenGL:如何渲染完美的矩形渐变?

OpenGL在多个地方多次绘制同一个多边形

在 OpenGL 3+ 中有效地绘制多边形(每个多边形一种颜色)

纹理顶点数组中的每个多边形 - OpenGL

OpenGL - 在鼠标点击时绘制多边形,多边形总是在右边