2009-07-11 55 views

回答

2

不幸的是,在某些時候,你需要知道着色器中的統一名稱是什麼,以及它們指的是什麼......這是沒有辦法的。

大多數圖形/遊戲引擎按照慣例工作 - 某些制服由引擎設置,着色器根據需要使用它們。有些會添加配置,因此每個着色器都可以指定它需要的制服,但通常,名稱仍然按照慣例完成。

1

使用命名約定,或者自己解析着色器字符串以獲取類型,符號和可選的存儲說明符。前一種選擇對着色器程序員負責,而後一種解決方案則給應用程序員帶來負擔。 使用擴展GL _ ARB _ uniform _ buffer _ object可以使這樣的代碼變得更加優雅和高效,該擴展GL _ ARB _ uniform _ buffer _ object在OpenGL 3.1中被提升爲核心

相關問題