我在OpenGL中有幾個對象,我想標記選定的對象。我的想法是使用GLSL着色器添加選定的顏色。 如何獲得片段着色器中像素的「原始」顏色? 我可以在紋理中查看顏色,但是當有多個紋理時?如何編寫通用GLSL着色器來着色對象
0
A
回答
0
如果您打算使用特定着色器渲染選定對象,則必須創建一個着色器,該着色器具有與對象的常規渲染(光照,紋理,...)相同的行爲。這意味着你必須自己計算像素的顏色。
如果您打算渲染所有對象,然後添加您的選擇,則無法從片段着色器中檢索幀緩衝區像素的顏色(您需要從幀緩衝區創建紋理並使用它,但我認爲它超出了範圍)。
0
選項A),可以將顏色添加到當前漫反射顏色/紋理和片段着色器只適用於所選擇的一個: 顏色= ... gl_FragColor =混合物(顏色,selectionColor設置,0.5);
選項B)渲染到幀緩衝,並postproccess對象添加顏色
的選項取決於你的能力來改變着色器和識別物體。
相關問題
- 1. GLSL:頂點着色器無片段着色片段着色器
- 2. GLSL直通幾何着色器
- 3. 你如何測試用GLSL編寫的OpenGL着色器?
- 4. 通用GLSL照明着色器
- 5. GLSL頂點着色器編譯錯誤
- 6. LWJGL GLSL着色器沒有編譯
- 7. 使用OpenGL着色器語言編寫簡單的着色器
- 8. 如何調試GLSL着色器?
- 9. 使用lines_adjacency的GLSL幾何着色器
- 10. 着色對象
- 11. GLSL將着色的法線傳遞給着色器
- 12. GLSL着色器 - Coverflow 2D對象的反射
- 13. GLSL着色器分析工具
- 14. Vulkan中的實例化GLSL着色器?
- 15. GLSL頂點着色器崩潰電腦
- 16. GLSL頂點着色器gl_Position值
- 17. 着色器太陽位置 - glsl
- 18. GLSL着色器和WebGL問題
- 19. GLSL片段着色器語法錯誤
- 20. GLSL點燃頂點着色器
- 21. C++在OpenGL着色器(GLSL)位標誌
- 22. 影子着色器優化(GLSL)
- 23. 三角圖案GLSL着色器
- 24. GLSL着色器加載程序問題
- 25. 從GLSL着色器發送日誌
- 26. 直通幾何着色器
- 27. SCN着色器金屬修改器 - 通過統一着色器
- 28. 如何用着色器添加色帶
- 29. 着色器編譯器如何工作?
- 30. 着色網格bezier對象