--- deliantra/Deliantra-Client/DC/Texture.pm 2007/07/19 13:45:18 1.16 +++ deliantra/Deliantra-Client/DC/Texture.pm 2007/07/19 21:02:02 1.18 @@ -116,7 +116,6 @@ } my ($tw, $th) = ($dw, $dh); - my ($rw, $rh) = ($dw, $dh); defined $data or $self->{render_cb} or die; # some sanity check @@ -141,12 +140,15 @@ $th >>= 1; } + # decide the amount of space used in the texture + my ($rw, $rh); + if ($self->{render_cb}) { # use only part of the texture #$rw >>= 1 while $rw > $tw; #$rh >>= 1 while $rh > $th; - $rw = min $rw, $tw; - $rh = min $rh, $th; + $rw = min $dw, $tw; + $rh = min $dh, $th; } else { if ($self->{wrap} || $tw < $dw || $th < $dh) { # scale to the full texture size @@ -163,8 +165,8 @@ my $render = $self->{render_cb} || $rw != $dw || $th != $dh; if ($render) { - #d#glClear 0,0,0,0; glViewport 0, 0, $tw, $th; + glClear 0, 0, 0, 0; glMatrixMode GL_PROJECTION; glLoadIdentity; glOrtho 0, $tw, 0, $th, -10000, 10000;