diff options
author | Chien Yang <[email protected]> | 2007-03-07 00:09:16 +0000 |
---|---|---|
committer | Chien Yang <[email protected]> | 2007-03-07 00:09:16 +0000 |
commit | 462b4a4200cf6aeb6ac4f7133dd7f8ae1abae319 (patch) | |
tree | 78ef41b65107114a143dc100b1790c9e0b2d446b /src/classes | |
parent | 3034edfa147c43cea5dc5384ff75715998016e29 (diff) |
1) Fix Issue 455 : Need to disable NPOT textures for older cards that claim to support it.
2) Clean up NPOT texture support.
git-svn-id: https://svn.java.net/svn/j3d-core~svn/trunk@787 ba19aa83-45c5-6ac9-afd3-db810772062c
Diffstat (limited to 'src/classes')
-rw-r--r-- | src/classes/jogl/javax/media/j3d/JoglPipeline.java | 17 | ||||
-rw-r--r-- | src/classes/share/javax/media/j3d/TextureRetained.java | 3 |
2 files changed, 13 insertions, 7 deletions
diff --git a/src/classes/jogl/javax/media/j3d/JoglPipeline.java b/src/classes/jogl/javax/media/j3d/JoglPipeline.java index ff22d5c..a6a134a 100644 --- a/src/classes/jogl/javax/media/j3d/JoglPipeline.java +++ b/src/classes/jogl/javax/media/j3d/JoglPipeline.java @@ -8436,11 +8436,18 @@ class JoglPipeline extends Pipeline { cv.textureExtendedFeatures |= Canvas3D.TEXTURE_LOD_RANGE; // look for OpenGL 2.0 features - if (gl20) { - if(!VirtualUniverse.mc.enforcePowerOfTwo) { - cv.textureExtendedFeatures |= Canvas3D.TEXTURE_NON_POWER_OF_TWO; - } - } + // Fix to Issue 455 : Need to disable NPOT textures for older cards that claim to support it. + // Some older cards (e.g., Nvidia fx500 and ATI 9800) claim to support OpenGL 2.0. + // This means that these cards have to support non-power-of-two (NPOT) texture, + // but their lack the necessary HW force the vendors the emulate this feature in software. + // The result is a ~100x slower down compare to power-of-two textures. + // Do not check for gl20 but instead check of GL_ARB_texture_non_power_of_two extension string + // if (gl20) { + // if(!VirtualUniverse.mc.enforcePowerOfTwo) { + // cv.textureExtendedFeatures |= Canvas3D.TEXTURE_NON_POWER_OF_TWO; + // } + // } + // Setup GL_EXT_abgr if (gl.isExtensionAvailable("GL_EXT_abgr")) { diff --git a/src/classes/share/javax/media/j3d/TextureRetained.java b/src/classes/share/javax/media/j3d/TextureRetained.java index 7fa241e..62afe95 100644 --- a/src/classes/share/javax/media/j3d/TextureRetained.java +++ b/src/classes/share/javax/media/j3d/TextureRetained.java @@ -1103,8 +1103,7 @@ abstract class TextureRetained extends NodeComponentRetained { private boolean isEnabled(Canvas3D cv) { if(widthOrHeightIsNPOT && - (((cv.textureExtendedFeatures & Canvas3D.TEXTURE_NON_POWER_OF_TWO ) == 0) || - VirtualUniverse.mc.enforcePowerOfTwo)) { + ((cv.textureExtendedFeatures & Canvas3D.TEXTURE_NON_POWER_OF_TWO ) == 0)) { return false; } return enable; |