From 535680eadef89078e6fc62adff21ec9923c968a3 Mon Sep 17 00:00:00 2001 From: Sven Gothel Date: Sun, 19 Mar 2023 07:08:51 +0100 Subject: Graph: GLRegion: Pass curRenderModes to updateImpl() + drawImpl(), prepare switch by sampleCount; Don't use any resource not requested by curRenderModes --- .../classes/com/jogamp/graph/curve/opengl/RegionRenderer.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'src/jogl/classes/com/jogamp/graph/curve/opengl/RegionRenderer.java') diff --git a/src/jogl/classes/com/jogamp/graph/curve/opengl/RegionRenderer.java b/src/jogl/classes/com/jogamp/graph/curve/opengl/RegionRenderer.java index e2674fbe0..3c14b1bab 100644 --- a/src/jogl/classes/com/jogamp/graph/curve/opengl/RegionRenderer.java +++ b/src/jogl/classes/com/jogamp/graph/curve/opengl/RegionRenderer.java @@ -521,7 +521,9 @@ public final class RegionRenderer { final ShaderModeSelector1 sel1 = pass1 ? ShaderModeSelector1.selectPass1(renderModes) : ShaderModeSelector1.selectPass2(renderModes, quality, sampleCount); final boolean isTwoPass = Region.isTwoPass( renderModes ); - final boolean isPass1ColorTexSeq = pass1 && null != colorTexSeq; + final boolean hasColorChannel = Region.hasColorChannel( renderModes ); + final boolean hasColorTexture = Region.hasColorTexture( renderModes ) && null != colorTexSeq; + final boolean isPass1ColorTexSeq = pass1 && hasColorTexture; final int colorTexSeqHash; final String texLookupFuncName; if( isPass1ColorTexSeq ) { @@ -601,11 +603,11 @@ public final class RegionRenderer { // GLSL append from here on posFp = -1; - if( Region.hasColorChannel( renderModes ) ) { + if( hasColorChannel ) { posVp = rsVp.insertShaderSource(0, posVp, GLSL_USE_COLOR_CHANNEL); posFp = rsFp.insertShaderSource(0, posFp, GLSL_USE_COLOR_CHANNEL); } - if( Region.hasColorTexture( renderModes ) ) { + if( isPass1ColorTexSeq ) { rsVp.insertShaderSource(0, posVp, GLSL_USE_COLOR_TEXTURE); posFp = rsFp.insertShaderSource(0, posFp, GLSL_USE_COLOR_TEXTURE); } -- cgit v1.2.3