我认为这是一个非常愚蠢和新手的问题,但后来我是一个图形和OpenGL的新手。绘制了一个球体并在附近放置了一个光源,并且指定了环境光线后,我开始尝试光线和材质值,并得出了一个令人惊讶的结论:启用光照时,我们用glColor*
指定的颜色完全不重要。相反,等价物是材料的环境成分。这个结论是否正确?谢谢基本的OpenGL灯光问题
4
A
回答
5
GL闪电式如果启用了照明,然后,而不是顶点颜色,材质颜色(好吧,颜色 - 其中有几种适用于不同类型的光线响应)使用。材料颜色由glMaterial*
函数指定。
如果要重复使用代码,可以使用glEnable(GL_COLOR_MATERIAL)
和glColorMaterial(GL_AMBIENT_AND_DIFFUSE)
将旧的glColor*
调用自动映射到材质颜色。
(并请尽可能快地切换到着色器 - 着色器的方法是双方更容易和更强大)
3
我想你还没有使用片段着色器。从glprogramming.com:
vertex color = the material emission at that vertex + the global ambient light scaled by the materials ambient property at that vertex + the ambient, diffuse, and specular contributions from all the light sources, properly attenuated
所以,是的,没有使用顶点颜色。
编辑:您还可以在GL规范(你有一个在附近,你^^?)
相关问题
- 1. OpenGL ES强光闪光灯
- 2. OpenGL + GLUT聚光灯
- 3. OpenGL灯光奋斗
- 4. OpenGL光照问题
- 5. 聚光灯照亮纹理的基本问题
- 6. HLSL和灯光问题
- 7. 问题与闪光灯
- 8. 闪光灯运动问题
- 9. OpenGL聚光灯与Cg
- 10. 基本的OpenGL ES纹理问题/ Android
- 11. 问题与闪光灯的Joomla 1.6
- 12. opengl中灯光之间的区别
- 13. OpenGL中的高光照明问题
- 14. GLSL海防光灯,拍照问题
- 15. 问题闪光灯RectDraw大小
- 16. 每个型号的本地自动更新openGL灯光
- 17. 未在OpenGL中出现灯光
- 18. 看不到灯光工作openGL ES 2.0
- 19. OpenGL聚光灯从后面闪耀
- 20. OpenGL:打开和关闭灯光
- 21. OpenGL灯光出现在对面
- 22. OpenGL定向灯光着色器
- 23. OpenGL着色器:聚光灯和定向灯
- 24. 基本切换()底部到顶部的幻灯片问题
- 25. 用聚光灯询问
- 26. 闪光灯实现的基本对话框输入
- 27. 如何使用基地PARAM闪光灯
- 28. jQuery基本问题
- 29. 基本Subversion问题
- 30. 基本URL问题
我听到了很多关于这些着色器,但我不知道它们是什么。我想我必须耐心等待,直到我到达红皮书的相关章节为止:)感谢您的回答 – 2010-11-13 13:38:20
红皮书与我们正在讨论的整个固定功能渲染一样过时。你可以阅读它的一些理论,就是这样。对于着色器教程,Google for Lighthouse3D。 :)也可以浏览一下opengl.org/documentation/specs/上的OpenGL 2.1或OpenGL 3参考文档 - 它们有点大,但是略过会让你知道OGL是如何工作的。 – Kos 2010-11-13 13:52:37
@Kos:如果红皮书已经过时,你会推荐哪本书?文档不是一本书,它是一件好事,但初学者发现很难直接使用文档 – 2010-11-13 15:49:15