Jestem nowicjuszem w programowaniu OpenGL ES i próbuję debugować programowanie shaderów i zastanawiam się, czy istnieje sposób rejestrowania wartości konkretnej zmiennej. Na przykład, w programie vertex shader poniżej, chciałbym przetestować wartość zwracana przez normalny, w zasadzie, szukałem czegoś podobnego do NSLog ...Wartości rejestrów zmiennych wewnątrz modułu cieniującego wierzchołków
attribute vec4 position;
attribute vec3 normal;
attribute vec2 texture;
varying vec2 v_texCoord;
varying float LightIntensity;
uniform mat4 modelViewProjectionMatrix;
uniform mat3 normalMatrix;
void main()
{
vec3 eyeNormal = normalize(normalMatrix * normal);
vec3 lightPosition = vec3(-1.0, 0.0, 3.0);
float nDotVP = max(0.0, dot(eyeNormal, normalize(lightPosition)));
LightIntensity = nDotVP;
v_texCoord = texture;
gl_Position = modelViewProjectionMatrix * position;
}
Zobacz podobne pytanie: http://stackoverflow.com/questions/2508818/how-to-debug-a-glsl-shader –
Dzięki za odpowiedź nauczyłem się czegoś nowego :) – Pupillam