Scritto da:
> un gruppo di autoaiuto per dementi
>
oh finalmente!
mi spieghi perché quando piazzo le texture ad alta definizione (che in realtà è sempre la stessa non stirata ma ripetuta) entro un raggio limitato, ho dei cali di framerate rispetto a quando le applico a tutto il terreno?
tieni il codice
bool_ è float e non boolean ma ha il suo perché

vec4 alpha_ = texture2D( Alpha, gl_TexCoord[0].st * 1.0);
vec4 tex0_ = texture2D( Grass, gl_TexCoord[0].st * 16.0);
vec4 tex1_ = texture2D( Rock, gl_TexCoord[0].st * 32.0);
vec4 tex2_ = texture2D( Stone, gl_TexCoord[0].st * 32.0);
vec4 alpha = texture2D( Alpha, gl_TexCoord[0].st * 1.0);
vec4 tex0 = texture2D( Grass, gl_TexCoord[0].st * 1.0);
vec4 tex1 = texture2D( Rock, gl_TexCoord[0].st * 1.0);
vec4 tex2 = texture2D( Stone, gl_TexCoord[0].st * 1.0);
vec4 outColor;
vec4 outColor_;
if(bool_==0.0){
if(varyingPosition.x > 15.0 && varyingPosition.z > 15.0
&& varyingPosition.x < -15.0 && varyingPosition.z < -15.0){
tex0 *= alpha.r;
tex1 = mix( tex0, tex1, alpha.g );
outColor = mix( tex1, tex2, alpha.b );
}
if(varyingPosition.x < 15.0 && varyingPosition.z < 15.0
&& varyingPosition.x > -15.0 && varyingPosition.z > -15.0){
tex0_ *= alpha_.r;
tex1_ = mix( tex0_, tex1_, alpha_.g );
outColor_ = mix( tex1_, tex2_, alpha_.b );
outColor=outColor_;
}
}
if(bool_==1.0){
tex0_ *= alpha_.r;
tex1_ = mix( tex0_, tex1_, alpha_.g );
outColor_ = mix( tex1_, tex2_, alpha_.b );
outColor=outColor_;
}