From 6363ae5fb6975a6f2e7c1093ce81f25b699e3e61 Mon Sep 17 00:00:00 2001 From: Sven Göthel Date: Sun, 14 Jan 2024 04:19:10 +0100 Subject: Graph/GraphUI: Revise Graph Region ShaderMapping, fix AABBox-Clipping for Pass2-AA, revise Pass2 AA Quality parameter .. Misc: - Graph VBORegion2PVBAAES2: Drop unused FBO rescale - Move MIN/MAX QUALITY/SAMPLE from GraphUI Scene -> Graph Region +++ Quality -> Pass2 AA Quality - Drop quality field in region - Pass quality to GLRegion.draw(..) similar to sampleCount for dynamic shader and switch - TODO: Pass quality parameter in TextRegionUtil's functions Fix RegionRenderer Shader Mapping - Use ShaderKey class to properly implement the hash value and equals method - For this, TextureSequence.getTextureFragmentShaderHashID() has been added to provide actual shader-snippet for the equals function - All required criterias are included in the hash value and equals method Fix AABBox Clipping for Pass-2 AA - Clipping in pass2-AA must happen in pass2 on actual gcu_PMVMatrix01 (not ortho) +++ GraphUI GraphShape - Rename: [get,set]{->AA}Quality() GraphUI Scene - Rename: mark{All->}ShapesDirty(), set{AllShapes->}Sharpness(), set{AllShapes->AA}Quality() - Fix setSampleCount(..), i.e. markStatesDirty() not markShapesDirty() - Fix setAAQuality(), markShapesDirty() and markStatesDirty(): Use forAll(..) to traverse through all shapes and groups. GraphUI Group - Add setFixedSize() - Add setClipOnBox() - Document setRelayoutOnDirtyShapes(), isShapeDirty() --- .../jogamp/opengl/util/av/impl/FFMPEGMediaPlayer.java | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'src/jogl/classes/jogamp/opengl/util/av/impl') diff --git a/src/jogl/classes/jogamp/opengl/util/av/impl/FFMPEGMediaPlayer.java b/src/jogl/classes/jogamp/opengl/util/av/impl/FFMPEGMediaPlayer.java index 78c20d90a..4e1effb02 100644 --- a/src/jogl/classes/jogamp/opengl/util/av/impl/FFMPEGMediaPlayer.java +++ b/src/jogl/classes/jogamp/opengl/util/av/impl/FFMPEGMediaPlayer.java @@ -751,6 +751,7 @@ public class FFMPEGMediaPlayer extends GLMediaPlayerImpl { } else { textureLookupFunctionName = "ffmpegTexture2D"; } + resetTextureFragmentShaderHashCode(); return textureLookupFunctionName; } @@ -762,7 +763,10 @@ public class FFMPEGMediaPlayer extends GLMediaPlayerImpl { */ @Override public final String getTextureLookupFragmentShaderImpl() { - final float tc_w_1 = (float)getWidth() / (float)texWidth; + final float tc_w_1 = (float)getWidth() / (float)texWidth; + return getTextureLookupFragmentShaderImpl(tc_w_1); + } + private final String getTextureLookupFragmentShaderImpl(final float tc_w_1) { final String texLookupFuncName = getTextureLookupFunctionName(); if( texLookupFuncName.equals("texture2D") ) { throw new IllegalArgumentException("Build in 'texture2D' lookup-func-name not allowed!"); @@ -918,6 +922,12 @@ public class FFMPEGMediaPlayer extends GLMediaPlayerImpl { } } + @Override + public final String getTextureFragmentShaderHashID() { + // return getTextureSampler2DType()+";"+getTextureLookupFunctionName()+";"+getTextureLookupFragmentShaderImpl(1.0f); + return getTextureLookupFragmentShaderImpl(1.0f); // state-less shader code required using 1.0 + } + @Override public final boolean resumeImpl() { if(0==moviePtr) { -- cgit v1.2.3