Top Fields Constructors Methods
jogamp.graph.curve.opengl

public Class VBORegion2PVBAAES2

extends GLRegion
Class Inheritance
Imports
java.nio.FloatBuffer, com.jogamp.opengl.GL2ES2, .GL, .GLUniformData, .FBObject, .FBObject.Attachment, .FBObject.TextureAttachment, jogamp.graph.curve.opengl.shader.AttributeNames, .UniformNames, jogamp.opengl.Debug, com.jogamp.common.util.PropertyAccess, com.jogamp.graph.curve.Region, com.jogamp.graph.curve.opengl.GLRegion, .RegionRenderer, .RenderState, com.jogamp.opengl.math.FloatUtil, com.jogamp.opengl.math.geom.AABBox, com.jogamp.opengl.util.GLArrayDataServer, com.jogamp.opengl.util.glsl.ShaderProgram, com.jogamp.opengl.util.texture.Texture, .TextureCoords, .TextureSequence

Field Summary

Modifier and TypeField and Description
private static final int
private final float[]
private static final boolean
private static final boolean
private final float[]
private final float[]
private final float[]
private final float[]
private final int[]
private final AABBox
private FBObject
private boolean
private int
private int
private GLArrayDataServer
private GLArrayDataServer
private GLArrayDataServer
private GLArrayDataServer
private GLArrayDataServer
private final GLUniformData
private final GLUniformData
private final GLUniformData
private final GLUniformData
private final GLUniformData
private GLArrayDataServer
private GLArrayDataServer
pack-priv final int[]
private final float[]
private static final int
RESIZE_BOUNDARY

Boundary triggering FBO resize if

     fbo[Width|Height] - targetFbo[Width|Height] > RESIZE_BOUNDARY.
private final RenderState.ProgramLocal
private ShaderProgram
private ShaderProgram
private FBObject.TextureAttachment
Inherited from com.jogamp.graph.curve.opengl.GLRegion:
colorTexSeq

Constructor Summary

AccessConstructor and Description
public
VBORegion2PVBAAES2(final int renderModes, final TextureSequence colorTexSeq, final int pass2TexUnit)

Method Summary

Modifier and TypeMethod and Description
protected final void
protected void
protected void
drawImpl(final GL2ES2 gl, final RegionRenderer renderer, final int[] sampleCount)

Implements abstract com.jogamp.graph.curve.opengl.GLRegion.drawImpl.

protected final void
pushIndex(final int idx)

Implements abstract com.jogamp.graph.curve.Region.pushIndex.

protected final void
pushVertex(final float[] coords, final float[] texParams, final float[] rgba)

Implements abstract com.jogamp.graph.curve.Region.pushVertex.

private void
renderFBO(final GL2ES2 gl, final RenderState rs, final int targetFboWidth, final int targetFboHeight, final int vpWidth, final int vpHeight, final int sampleCount)

private void
renderRegion(final GL2ES2 gl)

private void
renderRegion2FBO(final GL2ES2 gl, final RenderState rs, final int targetFboWidth, final int targetFboHeight, final int newFboWidth, final int newFboHeight, final int vpWidth, final int vpHeight, final int sampleCount)

protected void
updateImpl(final GL2ES2 gl)

Implements abstract com.jogamp.graph.curve.opengl.GLRegion.updateImpl.

Updates a graph region by updating the ogl related objects for use in rendering if isShapeDirty().
public void
useShaderProgram(final GL2ES2 gl, final RegionRenderer renderer, final int renderModes, final boolean pass1, final int quality, final int sampleCount)

Since multiple Regions may share one ShaderProgram, the uniform data must always be updated.

Inherited from com.jogamp.graph.curve.opengl.GLRegion:
clearcreatedestroydraw

Field Detail

borderback to summary
private static final int border
colorTexBBoxback to summary
private final float[] colorTexBBox
DEBUG_FBO_1back to summary
private static final boolean DEBUG_FBO_1
DEBUG_FBO_2back to summary
private static final boolean DEBUG_FBO_2
drawMat4PMvback to summary
private final float[] drawMat4PMv
drawVec4Tmp0back to summary
private final float[] drawVec4Tmp0
drawVec4Tmp1back to summary
private final float[] drawVec4Tmp1
drawVec4Tmp2back to summary
private final float[] drawVec4Tmp2
drawViewback to summary
private final int[] drawView
drawWinBoxback to summary
private final AABBox drawWinBox
fboback to summary
private FBObject fbo
fboDirtyback to summary
private boolean fboDirty
fboHeightback to summary
private int fboHeight
fboWidthback to summary
private int fboWidth
gca_ColorsAttrback to summary
private GLArrayDataServer gca_ColorsAttr
gca_CurveParamsAttrback to summary
private GLArrayDataServer gca_CurveParamsAttr
gca_FboTexCoordsAttrback to summary
private GLArrayDataServer gca_FboTexCoordsAttr
gca_FboVerticesAttrback to summary
private GLArrayDataServer gca_FboVerticesAttr
gca_VerticesAttrback to summary
private GLArrayDataServer gca_VerticesAttr
gcu_ColorTexBBoxback to summary
private final GLUniformData gcu_ColorTexBBox
gcu_ColorTexUnitback to summary
private final GLUniformData gcu_ColorTexUnit
gcu_FboTexSizeback to summary
private final GLUniformData gcu_FboTexSize
gcu_FboTexUnitback to summary
private final GLUniformData gcu_FboTexUnit
gcu_PMVMatrix02back to summary
private final GLUniformData gcu_PMVMatrix02
indicesBufferback to summary
private GLArrayDataServer indicesBuffer
indicesFboback to summary
private GLArrayDataServer indicesFbo
maxTexSizeback to summary
pack-priv final int[] maxTexSize
pmvMatrix02back to summary
private final float[] pmvMatrix02
RESIZE_BOUNDARYback to summary
private static final int RESIZE_BOUNDARY

Boundary triggering FBO resize if

     fbo[Width|Height] - targetFbo[Width|Height] > RESIZE_BOUNDARY.

Increasing the FBO will add RESIZE_BOUNDARY/2.

Reducing FBO resize to gain performance.

Defaults to disabled since: - not working properly - FBO texture rendered > than desired size - FBO resize itself should be fast enough ?!

rsLocalback to summary
private final RenderState.ProgramLocal rsLocal
spPass1back to summary
private ShaderProgram spPass1
spPass2back to summary
private ShaderProgram spPass2
texAback to summary
private FBObject.TextureAttachment texA

Constructor Detail

VBORegion2PVBAAES2back to summary
public VBORegion2PVBAAES2(final int renderModes, final TextureSequence colorTexSeq, final int pass2TexUnit)

Method Detail

clearImplback to summary
protected final void clearImpl(final GL2ES2 gl)

Implements abstract com.jogamp.graph.curve.opengl.GLRegion.clearImpl.

Annotations
@Override
destroyImplback to summary
protected void destroyImpl(final GL2ES2 gl)

Implements abstract com.jogamp.graph.curve.opengl.GLRegion.destroyImpl.

Annotations
@Override
drawImplback to summary
protected void drawImpl(final GL2ES2 gl, final RegionRenderer renderer, final int[] sampleCount)

Implements abstract com.jogamp.graph.curve.opengl.GLRegion.drawImpl.

Annotations
@Override
pushIndexback to summary
protected final void pushIndex(final int idx)

Implements abstract com.jogamp.graph.curve.Region.pushIndex.

Annotations
@Override
pushVertexback to summary
protected final void pushVertex(final float[] coords, final float[] texParams, final float[] rgba)

Implements abstract com.jogamp.graph.curve.Region.pushVertex.

Annotations
@Override
renderFBOback to summary
private void renderFBO(final GL2ES2 gl, final RenderState rs, final int targetFboWidth, final int targetFboHeight, final int vpWidth, final int vpHeight, final int sampleCount)
renderRegionback to summary
private void renderRegion(final GL2ES2 gl)
renderRegion2FBOback to summary
private void renderRegion2FBO(final GL2ES2 gl, final RenderState rs, final int targetFboWidth, final int targetFboHeight, final int newFboWidth, final int newFboHeight, final int vpWidth, final int vpHeight, final int sampleCount)
updateImplback to summary
protected void updateImpl(final GL2ES2 gl)

Implements abstract com.jogamp.graph.curve.opengl.GLRegion.updateImpl.

Doc from com.jogamp.graph.curve.opengl.GLRegion.updateImpl.

Updates a graph region by updating the ogl related objects for use in rendering if isShapeDirty().

Allocates the ogl related data and initializes it the 1st time.

Called by draw(GL2ES2, RenderState, int, int, int).

Annotations
@Override
useShaderProgramback to summary
public void useShaderProgram(final GL2ES2 gl, final RegionRenderer renderer, final int renderModes, final boolean pass1, final int quality, final int sampleCount)

Since multiple Regions may share one ShaderProgram, the uniform data must always be updated.