【问题标题】:OpenGL, interleaved VBO (vertex, normal and color) with lightOpenGL,交错的 VBO(顶点、法线和颜色)与光
【发布时间】:2012-10-04 08:26:00
【问题描述】:

我有一个包含顶点、法线和颜色的交错 VBO。一切正常。

我也想要灯,但如果我启用它,颜色就不再起作用了。

我猜这是因为灯光不适用于 gl.glColor,而是使用颜色材料(也指定了here,第一个问题)

那么,考虑到我需要渲染不超过 10000 个三角形,并且在渲染过程中需要切换 3 次颜色,这是最适合我需求的策略吗?

Ps:我还在用其他 VBO 渲染数百万个三角形(但每个 VBO 只有一个颜色),所以我猜 gl.glBegin 对我来说不是一个有效的选项..

【问题讨论】:

    标签: opengl colors jogl vbo lighting


    【解决方案1】:

    如果您的硬件不支持着色器,您可以使用 glColorMaterial(GL_FRONT, GL_DIFFUSE) 和 glEnable(GL_COLOR_MATERIAL)。

    【讨论】:

    • 我试过了,它似乎可以工作,虽然颜色看起来很暗,尤其是白色。着色器呢?我怎么能和他们在一起? (你有一个好的链接吗?)
    • nehe.gamedev.net/article/glsl_an_introduction/25007 类似的东西。 Shader 只是一个 GPU 程序,你可以在其中计算任何你想要的结果颜色。但是,在您的情况下,我猜光线计算得很好,而您的颜色缺陷是光源设置错误的结果。再次检查您的灯光属性。此外,您可能想要添加一些环境光以使一切更亮 - 我认为它应该通过调用 glMaterialf 为 GL_AMBIENT_COLOR 来工作
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-16
    • 2013-12-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多