我的場景中有幾個對象。我只想將着色器應用於其中的一個。環境:OpenGL 2.0,C++,GLUT,GLEW。如何將着色器應用於特定對象
3
A
回答
6
着色器程序只有在安裝時纔有效。只有在程序安裝時繪製的調用將使用着色器。您必須安裝着色器,繪製對象,然後卸載着色器。
編輯:通過「安裝」着色器我的意思是使用glUseProgram
與你的着色器的句柄。通過「卸載」我的意思是安裝另一個着色器或調用glUseProgram
與參數0
。請參閱glUseProgram。我的「安裝/卸載」術語來自那裏。
2
在您的繪圖調用中繪製該着色器的對象,並在沒有它的情況下繪製其他對象;不能真的比這更簡單; P您可以在對象類中使用枚舉,您可以在其中指定啓用的着色器對於該對象,只有當它們應該穿過該着色器時...當然,如果它是全屏像素着色器,那麼當它處理每個像素並呈現新的圖像時,您都遇到麻煩。除非你有一種將對象作爲參數傳遞的方法,並且只有在該對象的位置上應用變更。
相關問題
- 1. 如何將Phaser着色器隔離到特定對象/形狀?
- 2. 如何將片段着色器應用於OpenGL中的一個對象?
- 3. 如何編寫通用GLSL着色器來着色對象
- 4. 將像素着色器應用於ViewPort3D
- 5. iOS + SceneKit:如何將紋理着色器應用於紋理?
- 6. 如何將Three.js着色器應用於節點
- 7. 如何將像素着色器應用於畫布元素?
- 8. 如何將片段着色器應用於每個像素?
- 9. 如何將着色器應用於畫布(javascript)
- 10. 如何「將片段着色器應用於GLSurfaceView/TextureView」?
- 11. 將着色器過濾器應用於BitmapData對象會忽略通過的矩形 - 如何正確應用着色器過濾器?
- 12. 將着色器應用於framebuffer對象以獲得魚眼效果
- 13. 着色對象
- 14. 我們可以將自定義着色器動態應用到three.js對象嗎
- 15. 着色3D對象
- 16. 如何創建一個能夠自動將着色器應用於模型中對象材質的代碼?
- 17. 如何使用WebGL着色器剪切對象?
- 18. OpenGL-ES:如何使用不同的着色器繪製對象
- 19. 如何將CSS應用於console.log自動着色
- 20. 如何使用DirectX11着色器將紋理應用於正交平面
- 21. 如何將顏色過濾器應用於StateListDrawable中的特定繪圖?
- 22. 如何判斷HLSL着色器代碼對於給定的着色器版本是否有效?
- 23. 在AndEngine中着色一個特定的對象
- 24. WebGL - getAttribLocation:無對象,着色器問題
- 25. opengl:glsl着色器中的鏡像對象
- 26. 從着色器操縱OpenGL對象
- 27. 如何着色matplotlib3d中3d對象(即球體)的特定區域(或網格)
- 28. 將不同着色器應用於網格
- 29. 將模糊着色器應用於sf :: RectangleShape
- 30. 將像素着色器應用於圖像
呃你在說什麼?安裝?卸載?你對着色器的定義究竟是什麼? – 2010-04-26 17:47:54
如何卸載着色器?通過glDetachShader?是否有與glUseProgram - > glDontUseProgram相反的東西? – Andrey 2010-04-26 17:48:02
@Jonas,@Andrey,我的「安裝」/「卸載」術語來自'glUseProgram'的文檔。我編輯了我的回覆以澄清。 – 2010-04-26 17:52:36