将std :: vector传递给片段着色器

我想用任意数量的元素填充向量并将其传递给片段着色器,但是会输出以下错误:

error C7559: OpenGL requires constant indexes for unsized array access(arr)

如何传递以前未知大小的向量?或者我可以传递一个存储向量(或数组)大小的变量,并像这样在片段着色器中接受它:

flat uniform int arr[arraySize];

我不知道如何传递向量,但是我可以这样传递数组:

glUniform1iv(glGetUniformLocation(shaderProgram,"arr"),100,arr);
cgb114 回答:将std :: vector传递给片段着色器

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3162347.html

大家都在问