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

时间:2019-11-05 04:11:33

标签: c++ opengl glsl fragment-shader glew

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

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

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

flat uniform int arr[arraySize];

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

glUniform1iv(glGetUniformLocation(shaderProgram, "arr"), 100, arr);

0 个答案:

没有答案
相关问题