--- deliantra/Deliantra-Client/DC/OpenGL.pm 2007/08/19 14:09:28 1.10 +++ deliantra/Deliantra-Client/DC/OpenGL.pm 2008/08/30 04:43:02 1.15 @@ -1,9 +1,9 @@ -package CFPlus::OpenGL; +package DC::OpenGL; use strict; use Carp (); -use CFPlus; +use DC; our %GL_EXT; our $GL_VERSION; @@ -21,7 +21,7 @@ no strict; - my $symtab = *{"main::CFPlus::OpenGL::"}{HASH}; + my $symtab = *{"main::DC::OpenGL::"}{HASH}; for (keys %$symtab) { *{"$caller\::$_"} = *$_ @@ -55,6 +55,8 @@ $GL_NPOT = $GL_EXT{GL_ARB_texture_non_power_of_two} || $GL_VERSION >= 2.0; $GL_COMPRESS = $GL_EXT{GL_ARB_texture_compression} || $GL_VERSION >= 1.3; + $GL_COMPRESS = 0 if DC::OpenGL::gl_vendor eq "Apple Computer, Inc."; # there is no end to their suckage + disable_GL_EXT_blend_func_separate unless $GL_BFSEP; @@ -70,14 +72,22 @@ glHint GL_LINE_SMOOTH_HINT , $hint; glHint GL_POLYGON_SMOOTH_HINT , $hint; glHint GL_GENERATE_MIPMAP_HINT , $hint; + glHint GL_TEXTURE_COMPRESSION_HINT , $hint; #glDrawBuffer GL_BACK; #glReadBuffer GL_BACK; $_->() for values %INIT_HOOK; } +sub quit { + undef $GL_VERSION; + undef %GL_EXT; +} + sub shutdown { $_->() for values %SHUTDOWN_HOOK; + + quit; } sub gl_check {