在Vbo中显示具有不同磅值的网格?

时间:2013-06-01 14:30:03

标签: opengl mesh vbo openframeworks glpointsize

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

我希望所有要点都有不同的尺寸,有没有办法做到这一点?

1 个答案:

答案 0 :(得分:1)

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

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

如果您知道每个顶点需要什么值,则可以将其作为附加顶点属性传递,或者可以从函数生成它。如果你想随机设置点大小,这可能是有用的或分散注意力取决于你正在做什么,你可以尝试使用noise GLSL函数,或检查this answer about generating random numbers in GLSL shaders if {{1}您正在使用的GLSL不支持(例如,如果您使用的是WebGL)。