Получение значения из шейдера

173
28 ноября 2018, 16:40

Пусть имеется простые шейдера, образующие шейдерную программу:

sh.vert

layout (location = 0) in vec3 position;
out vec4 vertexColor;
uniform vec2 u_vector;
void main() {
    gl_Position = vec4(position, 1.0);
    vertexColor = vec4(0.5f, 0.0f, 0.0f, 1.0f);
}

sh.frag

in vec4 vertexColor; 
out vec4 color;
void main() {
    color = vertexColor;
}

Подобных шейдерных программ имеется много, и каждый объект в программе может использовать свой. Вопрос следующий: можно ли как-то узнать, какое значение присвоено юниформ переменной u_vector?

Answer 1

Для этого есть glGetUniform*, название говорит само за себя. :)

Или можно просто самому хранить копию значения uniform'а.

READ ALSO
C/C++, Visual Studio, Юникод/Многобайтовые кодировки

C/C++, Visual Studio, Юникод/Многобайтовые кодировки

В настройках проекта Visual Studio можно выбирать набор используемых символовОбычно там есть два пункта:

194
Запись значения из QSpinBox в переменную int

Запись значения из QSpinBox в переменную int

Пытаюсь записать значение из QSpinBox в переменную int с помощью слота:

187