有沒有辦法創建多個着色器(包括頂點,片段,偶數幾何和曲面細分),這些着色器可以在他們所做的事情中進行復合?OpenGL中的多個着色器
例如:我見過了一批的用途和出關鍵字在OpenGL的更新版本,並使用這些來說明我的問題。
有沒有給着色器的方式(並不重要,但是我們要說片段着色器),如
in inVar;
out outVar;
void man(){
var varOne = inVar;
var varTwo = varOne;
var varThr = varTwo;
outVar = varThr;
}
把它變成片段着色器
in inVar;
out varOne;
void main(){
varOne = inVar;
}
其次是片段着色器
in varOne;
out varTwo;
void main(){
varTwo = varOne;
}
其次片段着色器
in varTwo(
out varThr;
void main(){
varThr = varTwo
}
最後由片段着色器
in varThr;
out outVar;
void main(){
outVar = varThr;
}
其次是在的和出正確的「概念」來形容這種行爲或我應該尋找另一個關鍵字?
一旦創建,glUsePogram(pgmID)允許您在程序之間切換 –
@ j-p:你是什麼意思?我沒有試圖切換程序。我試圖結合來自同一類型的多個着色器的效果。 – WoodMath
有GL'子程序',允許組合... https://www.opengl.org/wiki/Shader_Subroutine –