着色器可以有許多不同的統一名稱+屬性。我怎樣才能製作出一般情況下的系統,以便我不必事先知道每個着色器制服的名稱,並將其硬編碼以獲得其位置。我使用OpenGL。如何在一般情況下使用着色器制服?
0
A
回答
2
不幸的是,在某些時候,你需要知道着色器中的統一名稱是什麼,以及它們指的是什麼......這是沒有辦法的。
大多數圖形/遊戲引擎按照慣例工作 - 某些制服由引擎設置,着色器根據需要使用它們。有些會添加配置,因此每個着色器都可以指定它需要的制服,但通常,名稱仍然按照慣例完成。
1
使用命名約定,或者自己解析着色器字符串以獲取類型,符號和可選的存儲說明符。前一種選擇對着色器程序員負責,而後一種解決方案則給應用程序員帶來負擔。 使用擴展GL _ ARB _ uniform _ buffer _ object可以使這樣的代碼變得更加優雅和高效,該擴展GL _ ARB _ uniform _ buffer _ object在OpenGL 3.1中被提升爲核心
相關問題
- 1. 如何在iOS上使用着色器繪製香椿般的黑色邊緣?
- 2. 在沒有着色器的情況下在bgfx中渲染?
- 3. DirectX11動態着色器連接能否在沒有着色器反射的情況下使用?
- 4. 如何在一般情況下實現LinearLayout.replaceView() - 或ViewGroup.replaceView()
- 5. 如何在不使用服務器的情況下運行node.js
- 6. 如何使用h2o.deeplearning()在一般情況下找到最優數量的紀元?
- 7. 使用SyncLock的正確方法(一般情況下)
- 8. 如何從這種一般情況下獲得類型?
- 9. 如何在不使用preferenceActivity的情況下使用其他拾色器?
- 10. 如何在不使用svcutil.exe的情況下使用WCF服務?
- 11. 如何在使用情況下在什麼情況下使用tsql?
- 12. 如何解決以下情況,使用SQL服務器?
- 13. 着色器vs着色器材質,papervision特定,一般洞察力歡迎
- 14. 如何在不使用片段着色器的情況下渲染灰度紋理? (OpenGL)
- 15. 如何在以下情況下使用過濾器。
- 16. 如何在沒有內容的情況下爲單個標籤着色?
- 17. 在不使用光照或着色器的情況下改變OpenGL渲染的顏色
- 18. 如何在不使服務器崩潰的情況下使用php mail()函數?
- 19. 如何在不使用.controller()的情況下訪問$ location服務?
- 20. 如何在沒有服務的情況下使用ajax和mvc4?
- 21. 如何在不破壞服務層的情況下使用MVCMailer?
- 22. 如何在沒有WebRequest的情況下使用WCF服務?
- 23. 在沒有服務器的情況下使用NTP,僅用於控制系統
- 24. 在PostgreSQL中的IN語句性能(和一般情況下)
- 25. 在沒有puts()的情況下ungetc()gets()和流一般
- 26. 處理一般例外在特定情況下
- 27. 如何在安全的情況下製作spring-boot REST服務?
- 28. onBeforeUnload - 如何在不使用ajax的情況下調用服務器端函數
- 29. 如何讓腳本在不制動的情況下使用setAttribute'style'CSP
- 30. 如何在這種情況下使用Java的大十進制?