glGetUniformLocation возвращает огромное число

Привет, все мои шейдеры и компилируются, и связываются правильно … они работали раньше, и я некоторое время работал над своей программой, совсем не касаясь шейдера vert / frag, и теперь glGetUniformLocation возвращает огромные числа при попытке определить их местоположение.

Я использую это на этих трех переменных:

m_sw      = glGetUniformLocation(m_program, "m_sw" );
m_sh      = glGetUniformLocation(m_program, "m_sh" );
m_grabLoc = glGetUniformLocation(m_program, "grabTexture");

m_sw получает значение 21692416
m_sh получает значение 21757952
m_grabLoc получает значение 21626880

все три переменные имеют тип GLint, возвращаемый glGetUniformLocation.

Обратите внимание: я также использую его на униформе, которой нет, и она правильно возвращает -1, так что я в замешательстве!

Мой вершинный шейдер выглядит следующим образом

#version 120

varying vec2    texCoord;

void main(void)
{
gl_Position = ftransform();
texCoord    = gl_MultiTexCoord0.xy;
}

Мой фрагментный шейдер выглядит следующим образом

#version 120

uniform sampler2D grabTexture;
uniform float m_sh;
uniform float m_sw;

varying vec2        texCoord;

void main(void)
{
vec4  col   = texture2D (grabTexture, texCoord.st);

//left
col += texture2D (grabTexture, vec2(texCoord.s-m_sw,texCoord.t));
//right
col += texture2D (grabTexture, vec2(texCoord.s+m_sw,texCoord.t));
//below
col += texture2D (grabTexture, vec2(texCoord.s,texCoord.t-m_sh));
//top
col += texture2D (grabTexture, vec2(texCoord.s,texCoord.t+m_sh));
//the corners of the pixels
col += texture2D (grabTexture, vec2(texCoord.s+m_sw,texCoord.t+m_sh));
col += texture2D (grabTexture, vec2(texCoord.s-m_sw,texCoord.t+m_sh));
col += texture2D (grabTexture, vec2(texCoord.s+m_sw,texCoord.t-m_sh));
col += texture2D (grabTexture, vec2(texCoord.s-m_sw,texCoord.t-m_sh));

gl_FragColor = col *  0.111111f;
}

это полноэкранный анти-псевдоним между прочим.

Просто интересно, если кто-то еще имел эту проблему или знает решение?

РЕДАКТИРОВАТЬ: Я думаю, что стоит увеличить, если я изменю gl_FragColor на
gl_FragColour = vec4 (1.0,0.0,0.0,0.0)
если действительно заставляет экран читать (как и ожидалось), значит, шейдер определенно работает! 🙁

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector