如何强制片段着色器返回float[]
数组中的颜色值?通常片段着色器每个片段返回一种颜色,但是:
片段着色器输出变量可以聚合到数组[1]
中
但是如何读取或发送此数据到下一个片段着色器?
在我的片段着色器中,它会生成一些数据,我只需:
/*fragment.glsl*/
out float[512] oData
void main(void)
{
for(int i=0;i<512;i++)
data[i] = i/512.0;
}
如何在以下片段着色器中读取该数组?我假设glBindFragDataLocation
是必要的,结果将出现在缓冲区中。但任何人都可以提供示例代码如何实现这一目标?或者我对这个想法完全错了?
我正在使用C#和OpenTK。
PS。我知道他们强烈建议避免这个,但对我而言,这是我认为最好的解决方案。