我認爲這是一個非常愚蠢和新手的問題,但後來我是一個圖形和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聚光燈問題
- 2. 問題了解OpenGL中的燈光
- 3. OpenGL多燈光
- 4. OpenGL ES強光閃光燈
- 5. OpenGL光照問題
- 6. OpenGL燈光奮鬥
- 7. OpenGL + GLUT聚光燈
- 8. 聚光燈照亮紋理的基本問題
- 9. 閃光燈運動問題
- 10. CoreData燈光遷移問題。
- 11. 燈光問題(使用three.js)
- 12. HLSL和燈光問題
- 13. Nexus5閃光燈問題?
- 14. Opengl/glsl着色器動畫和燈光問題
- 15. OpenGL聚光燈與Cg
- 16. 基本的OpenGL ES紋理問題/ Android
- 17. 基於Java Tile的燈光性能問題
- 18. 問題與閃光燈的Joomla 1.6
- 19. OpenGL中的高光照明問題
- 20. opengl中燈光之間的區別
- 21. OpenGL版本問題
- 22. 問題閃光燈RectDraw大小
- 23. GLSL海防光燈,拍照問題
- 24. 問題與相機閃光燈iphone
- 25. 每個型號的本地自動更新openGL燈光
- 26. OpenGL定向燈光着色器
- 27. OpenGL聚光燈從後面閃耀
- 28. 未在OpenGL中出現燈光
- 29. 看不到燈光工作openGL ES 2.0
- 30. OpenGL燈光相機改變亮度
我聽到了很多關於這些着色器,但我不知道它們是什麼。我想我必須耐心等待,直到我到達紅皮書的相關章節爲止:)感謝您的回答 – 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