--- deliantra/Deliantra-Client/DC/Texture.pm 2006/05/26 18:28:23 1.1 +++ deliantra/Deliantra-Client/DC/Texture.pm 2006/06/06 02:55:50 1.4 @@ -124,7 +124,7 @@ $data = "\x00" x 64; } - $self->{minified} = [CFClient::average $tw, $th, $data] + $self->{minified} ||= [CFClient::average $tw, $th, $data] if $self->{minify}; unless ($GL_NPOT) { @@ -147,14 +147,18 @@ glBindTexture GL_TEXTURE_2D, $self->{name}; - glTexParameter GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP; - glTexParameter GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP; + if ($self->{wrap}) { + glTexParameter GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT; + glTexParameter GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT; + } else { + glTexParameter GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, $GL_VERSION >= 1.2 ? GL_CLAMP_TO_EDGE : GL_CLAMP; + glTexParameter GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, $GL_VERSION >= 1.2 ? GL_CLAMP_TO_EDGE : GL_CLAMP; + } if ($::FAST) { glTexParameter GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST; glTexParameter GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST; } elsif ($self->{mipmap} && $GL_VERSION >= 1.4) { - # alternatively check for 0x8191 glTexParameter GL_TEXTURE_2D, GL_GENERATE_MIPMAP, 1; glTexParameter GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR; glTexParameter GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR;