1

我正在尝试在 openFrameworks 中将网格显示为带有 Vbo 的点。

我希望所有的点都有不同的大小,有没有办法做到这一点?

4

1 回答 1

1

如果您使用的是顶点着色器,则可以轻松实现。具体来说,您可以gl_PointSize为顶点着色器中的每个顶点设置一个唯一值

void main()
{
    gl_PointSize = <value>;
    // ...
}

如果您知道每个顶点所需的值,则可以将其作为附加顶点属性传递,或者您可以从函数生成它。如果您想随机设置点大小,这可能有用或分散注意力,具体取决于您正在做的事情,您可以尝试使用noiseGLSL 函数,或者检查这个关于在 GLSL 着色器中生成随机数的答案(如果noise不支持)您正在使用的 GLSL(例如,如果您正在使用 WebGL)。

于 2013-06-01T17:50:18.683 回答