diff options
Diffstat (limited to 'src/jogl/classes/com/jogamp/opengl/util/texture/ImageSequence.java')
-rw-r--r-- | src/jogl/classes/com/jogamp/opengl/util/texture/ImageSequence.java | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/src/jogl/classes/com/jogamp/opengl/util/texture/ImageSequence.java b/src/jogl/classes/com/jogamp/opengl/util/texture/ImageSequence.java index 2da2dcbfc..99704ced0 100644 --- a/src/jogl/classes/com/jogamp/opengl/util/texture/ImageSequence.java +++ b/src/jogl/classes/com/jogamp/opengl/util/texture/ImageSequence.java @@ -159,6 +159,7 @@ public class ImageSequence implements TextureSequence { } else if(null != texLookupFuncName && texLookupFuncName.length()>0) { textureLookupFunctionName = texLookupFuncName; } + textureFragmentShaderHashCode = 0; return textureLookupFunctionName; } @@ -180,13 +181,22 @@ public class ImageSequence implements TextureSequence { } @Override + public String getTextureFragmentShaderHashID() { + // return getTextureSampler2DType()+";"+getTextureLookupFunctionName()+";"+getTextureLookupFragmentShaderImpl(); + if( useBuildInTexLookup ) { + return getTextureSampler2DType()+";"+getTextureLookupFunctionName(); + } else { + return getTextureLookupFragmentShaderImpl(); + } + } + + @Override public int getTextureFragmentShaderHashCode() { if( !isTextureAvailable() ) { textureFragmentShaderHashCode = 0; return 0; } else if( 0 == textureFragmentShaderHashCode ) { - int hash = 31 + getTextureLookupFragmentShaderImpl().hashCode(); - hash = ((hash << 5) - hash) + getTextureSampler2DType().hashCode(); + final int hash = getTextureFragmentShaderHashID().hashCode(); textureFragmentShaderHashCode = hash; } return textureFragmentShaderHashCode; |