有没有一种方法可以创建多个着色器(包括顶点、片段,甚至几何和细分),并将它们组合起来实现功能?
例如:我已经看到了在OpenGL的较新版本中使用in和out关键字的许多用途,并将使用它们来说明我的问题。
有没有一种方法可以给定一个着色器(不管是哪个,但假设是片段着色器),例如
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;
}
“in”和“out”是描述这种行为的正确“概念”吗?还是我应该寻找其他关键词?请注意,保留HTML标签。