2016-03-28 28 views
-1

Ben opengl ile tek tip konumları almaya çalışırken sorunları yaşıyorum. GlGetUniformLocation çağrıldığında, gölgelendiricide tüm üniformalar için -1 değerini döndürür.OpenGL gölgelendirici üniforması, ancak gölgelendirici kodunda kullanılmadı

#version 330 

layout (location = 0) in vec3 position; 
layout (location = 1) in vec2 uv; 
layout (location = 2) in vec3 normal; 

uniform mat4 viewMatrix; 
uniform mat4 worldMatrix; 
uniform mat4 projectionMatrix; 

out vec2 o_UV; 
out vec4 o_color; 

void main() { 
    vec3 lightPos = vec3(0, 0, 0); 

    vec3 mvVertex = vec3(projectionMatrix * worldMatrix * vec4(position, 1.0)); 
    vec3 mvNormal = vec3(projectionMatrix * worldMatrix * vec4(normal, 0.0)); 

    ... o_UV and o_color are also set, didn't want to take up loads of space 

    gl_Position = projectionMatrix * worldMatrix * viewMatrix * vec4(position, 1.0); 
} 

shader iyi derler ama tekdüze yerleri -1 neden anlamıyorum:

Burada tepe tarayıcı kod kısmı. Değişkenleri kullandığımdan optimizasyondan kaldırıldığını düşünmüyorum. Özlediğim herhangi bir fikir veya bir şey mi var? Teşekkürler

cevap

0

Parça gölgelendiricinin hata yapmasını engelleyen bir üniforma optimize ediyor, benim hatam.

İlgili konular