Matti
2004-11-28, 14:36:52
ich will eine Textur so auf eine Ebene projizieren, daß TexturKoordinaten = BildschirmKoordinaten. Aber mit diesem Shader kommt nichts vernünftiges raus:
uniform float glwidth;
uniform float glheight;
uniform sampler2D TMU0;
void main(void)
{
gl_FragColor = texture2D(TMU0, vec2(gl_FragCoord[0]/glwidth,gl_FragCoord[1]/glheight));
}
Mit gl_FragCoord[0]/glwidth einen Gradienten zeichnen funktioniert, also muß der Fehler etwas mit dem Textur-Zugriff zu tun haben.
PS: am Ende solls mal ein Wasser-Effekt werden, aber als ersten Schritt will ich nur eine flache Reflexion mit GLSL machen.
uniform float glwidth;
uniform float glheight;
uniform sampler2D TMU0;
void main(void)
{
gl_FragColor = texture2D(TMU0, vec2(gl_FragCoord[0]/glwidth,gl_FragCoord[1]/glheight));
}
Mit gl_FragCoord[0]/glwidth einen Gradienten zeichnen funktioniert, also muß der Fehler etwas mit dem Textur-Zugriff zu tun haben.
PS: am Ende solls mal ein Wasser-Effekt werden, aber als ersten Schritt will ich nur eine flache Reflexion mit GLSL machen.