OpenGL,带光的交错 VBO(顶点、法线和颜色)

标签 opengl colors jogl vbo lighting

我有一个交错的 VBO,其中包含顶点、法线和颜色。一切都按预期进行。

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

我猜这是因为灯光不能与 gl.glColor 一起使用,而是与颜色 Material 一起使用(也如 here 指定,第一个问题)

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

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

最佳答案

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

关于OpenGL,带光的交错 VBO(顶点、法线和颜色),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12723209/

相关文章:

javascript - HighCharts:如何将自定义颜色与渐变相结合

C - 控制台窗口中的彩色字符 (Linux)

java - 旋转后模型的顶点选择和状态

opengl - 是否可以将着色器变量声明为输入和输出?

opengl - GLM 文档

c++ - 如何使用 gcc/g++ 在 Linux 上编译 Windows?

java - 将字符串颜色名称转换为颜色值(整数)

java - 尽管链接和验证成功,为什么着色器程序无法编译?

java - JOGL:使用 Component.printAll() 在 JFrame 中截取 GLCanvas 的屏幕截图不起作用

opengl - 使用 VBO 的最佳方式