有没有办法创建多个着色器(包括顶点,片段,偶数几何和曲面细分),这些着色器可以在他们所做的事情中进行复合?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 –