Hace ya tiempo que toqué un poco los shaders pero sigo sin controlarlos casi nada, me preparé un pequeño modulo para leerlos, cargarlos, activarlos, etc. en lenguaje GLSL. Me funcionarón bien en las pruebas que hice, aunque no note ningún incremento de velocidad, más bien todo lo contrario, se supone que al hacer las operaciones y comprobaciones mínimas debería ser más rápido, pero no le di excesiva importancia.
Ahora quería ver si los podría implementar en mí terreno, por el rollo de la niebla y el efecto de luz en el horizonte. De momento probe a cargar un shader simple para ver si funcionaba para verlo solo con color.
Para mi sorpresa todo se vuelve 50 VECES MAS LENTO (medido) y tiene un pequeño defecto con el color, aparecen unas franjas más oscuras en el terreno que se hacen más gruesas al alejar la cámara.
¿que hago?, ¿mejor me dedico a la cría de gusanos de seda?
Este es el vertex shader:
Imagino que tendré que desactivar algo que uso para la funcionalidad fija, pero yo pensaba que simplemente se ignoraría todo. A ver si alguien con experiencia sabe porqué puede ocurrir esto.
Ahora quería ver si los podría implementar en mí terreno, por el rollo de la niebla y el efecto de luz en el horizonte. De momento probe a cargar un shader simple para ver si funcionaba para verlo solo con color.
Para mi sorpresa todo se vuelve 50 VECES MAS LENTO (medido) y tiene un pequeño defecto con el color, aparecen unas franjas más oscuras en el terreno que se hacen más gruesas al alejar la cámara.
¿que hago?, ¿mejor me dedico a la cría de gusanos de seda?
Este es el vertex shader:
Código [Seleccionar]
void main(void)
{
// normal MVP transform
gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;
// Copy the primary color
gl_FrontColor = gl_Color;
}
Imagino que tendré que desactivar algo que uso para la funcionalidad fija, pero yo pensaba que simplemente se ignoraría todo. A ver si alguien con experiencia sabe porqué puede ocurrir esto.