Basic GLSL problems - garbled sprite textures on Intel HD Graphics
I'm having some problems with point sprite textures on the Intel HD Graphics card that comes with the Dell 790. The textures produce random garbage each frame. If I remove the Fragment shader, the texture appears fine, but upside down and the gl_PointSize and fading (fog) doesn't work. While trying to work with the removed frag shader, I've tried changing the PointParameter to use GL_POINT_SPRITE_COORD_ORIGIN, GL_LOWER_LEFT but it has no effect on the upside down texture. I've tried multiple drivers, to include the latest. I can't figure out what Intel has implemented here... what works on every other system is not working - HELP. What am I doing wrong? Targeting OpenGL 2.1
Vertex Shader
Code :
#version 110
uniform float pointSize;
uniform float pointScale;
uniform float gui;
uniform float fogval;
varying vec4 vFragColor;
void main(void) {
gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;
vec4 modv = vec4( gl_ModelViewMatrix * gl_Vertex );
vFragColor = gl_Color;
float fogscale = 1.5;
if(fogval == 8000.0) {
fogscale = 2.0;
}
if(gui == 0.0) {
gl_PointSize = pointScale * pointSize/ -modv.z;
float fog = fogval/ -modv.z;
if (fog < fogscale) {
vFragColor = smoothstep(0.0, fogscale, fog) * vFragColor;
}
} else {
gl_PointSize = pointSize;
}
gl_FrontColor = vFragColor;
}
Fragment Shader
Code :
#version 110
uniform sampler2D tex;
varying vec4 vFragColor;
void main() {
gl_FragColor = texture2D(tex,gl_TexCoord[0].st) * vFragColor;
}