ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/Deliantra-Client/DC.pm
(Generate patch)

Comparing deliantra/Deliantra-Client/DC.pm (file contents):
Revision 1.43 by root, Fri Apr 21 07:19:56 2006 UTC vs.
Revision 1.46 by root, Mon Apr 24 10:19:39 2006 UTC

49} 49}
50 50
51sub find_rcfile($) { 51sub find_rcfile($) {
52 my $path; 52 my $path;
53 53
54 for (@INC) { 54 for (grep !ref, @INC) {
55 $path = "$_/CFClient/resources/$_[0]"; 55 $path = "$_/CFClient/resources/$_[0]";
56 return $path if -r $path; 56 return $path if -r $path;
57 } 57 }
58 58
59 die "FATAL: can't find required file $_[0]\n"; 59 die "FATAL: can't find required file $_[0]\n";
200 200
201 $class->new ( 201 $class->new (
202 w => $w, 202 w => $w,
203 h => $h, 203 h => $h,
204 data => $data, 204 data => $data,
205 internalformat => GL_ALPHA4,
206 format => GL_ALPHA, 205 format => GL_ALPHA,
206 internalformat => GL_ALPHA,
207 type => GL_UNSIGNED_BYTE, 207 type => GL_UNSIGNED_BYTE,
208 %arg, 208 %arg,
209 ) 209 )
210} 210}
211 211
267 } 267 }
268 268
269 $self->{s} = $self->{w} / $tw; 269 $self->{s} = $self->{w} / $tw;
270 $self->{t} = $self->{h} / $th; 270 $self->{t} = $self->{h} / $th;
271 271
272 glGetError;
273
274 $self->{name} ||= glGenTexture; 272 $self->{name} ||= glGenTexture;
275 273
276 glBindTexture GL_TEXTURE_2D, $self->{name}; 274 glBindTexture GL_TEXTURE_2D, $self->{name};
277 275
278 glTexParameter GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP; 276 glTexParameter GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP;
279 glTexParameter GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP; 277 glTexParameter GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP;
280 278
281 if ($::FAST) { 279 if ($::FAST) {
282 glTexParameter GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST; 280 glTexParameter GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST;
283 glTexParameter GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST; 281 glTexParameter GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST;
282 } elsif ($self->{mipmap} && $GL_VERSION >= 1.4) {
283 # alternatively check for 0x8191
284 glTexParameter GL_TEXTURE_2D, GL_GENERATE_MIPMAP, 1;
285 glTexParameter GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR;
286 glTexParameter GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR;
284 } else { 287 } else {
285 glTexParameter GL_TEXTURE_2D, GL_GENERATE_MIPMAP, $self->{mipmap}; 288 glTexParameter GL_TEXTURE_2D, GL_GENERATE_MIPMAP, $self->{mipmap};
286 glTexParameter GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR; 289 glTexParameter GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR;
287 glTexParameter GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, $self->{mipmap} ? GL_LINEAR_MIPMAP_LINEAR : GL_LINEAR; 290 glTexParameter GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR;
288 } 291 }
289 292
293 glGetError;
294
290 if (defined $data) { 295 if (defined $data) {
291 glTexImage2D GL_TEXTURE_2D, 0, 296 glTexImage2D GL_TEXTURE_2D, 0,
292 $self->{internalformat}, 297 $self->{internalformat},
293 $tw, $th, # need to pad texture first 298 $tw, $th, # need to pad texture first
294 0, 299 0,

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines