shader zickt



  • Hi

    Hab ein eher undurchschaubares problem:

    habe folgenden shader:

    uniform sampler2D Text0;
    uniform sampler2D Text1;
    uniform sampler2D Text2;
    uniform sampler2D Text3;
    
    #define shininess 20.0
    
    void main (void)
    {  
    vec4 MapT = texture2D(Text3, vec2(gl_TexCoord[1]));
    
    gl_FragColor = MapT.r *texture2D(Text0, vec2(gl_TexCoord[0]))
    			  +MapT.g *texture2D(Text1, vec2(gl_TexCoord[0]))
    			  +MapT.b *texture2D(Text2, vec2(gl_TexCoord[0]));
    
    }
    

    also einen recht simplen. Der stuerzt aber ab, bzw, das progamm hingt sich bei 99% processor last auf und zeigt sich nicht, nur in der taskleiste.

    Interresannteweise hat dieser shader mal funktioniert (vor dem lezten neuinstallieren von WinXP, aber auch in einem andernem projekt).

    Das nunmehr wirklich bizarre fuer mich ist, das diese zwei verisonen einwandfrei funktionieren:

    gl_FragColor = MapT.r *texture2D(Text0, vec2(gl_TexCoord[0]))
    			 // +MapT.g *texture2D(Text1, vec2(gl_TexCoord[0]))
    			  +MapT.b *texture2D(Text2, vec2(gl_TexCoord[0]))
                       ;
    

    Oder auch:

    gl_FragColor = MapT.r *texture2D(Text0, vec2(gl_TexCoord[0]))
    			  +MapT.g *texture2D(Text1, vec2(gl_TexCoord[0]))
    			  //+MapT.b *texture2D(Text2, vec2(gl_TexCoord[0]))
                        ;
    

    Und das versteh ich nun ueberhaupt nicht?? jede komponente fuer sich is ok, nur die addition aller drei produziert chrash, die addition von zweien geht ????
    Auch hat der shader auch schonmal geklappt.

    Wenn eine vectorkomponente ueber 1 ist, kann das bei z.B bei aelteren Treibern zu chrashen fuehren?? (Soweit produziert dass zwar unschone weise raender, hatte aber noch nie probleme mit)

    Wo koennte hier dir ursache fuer chrash sein???



  • Ok,OK,

    kommando zurueck, Ich neueste Omega treiber installiert und nun gehts. Ist aber interessant, das etwas aeltere (und so alt waren die vorher gar nicht) Treiber da rumzicken.

    cheers
    Flo


Anmelden zum Antworten