public class GL2Viewer extends GLViewer implements HasProperties
GLViewer.BlendFactor, GLViewer.GLVersion
Viewer.RotationMode, Viewer.ViewControlMask
Renderer.AxisDrawStyle, Renderer.ColorInterpolation, Renderer.ColorMixing, Renderer.DrawMode, Renderer.FaceStyle, Renderer.HighlightStyle, Renderer.LineStyle, Renderer.PointStyle, Renderer.Shading
Modifier and Type | Field and Description |
---|---|
static boolean |
DEBUG |
AUTO_FIT, DEFAULT_AXIS_RADIUS_RATIO, DEFAULT_DST_BLENDING, DEFAULT_ELLIPTIC_CURSOR_ACTIVE, DEFAULT_ELLIPTIC_CURSOR_SIZE, DEFAULT_ROTATION_MODE, DEFAULT_SRC_BLENDING, DEFAULT_VIEW_CONTROL_MASK, myProps, useGLJPanel
HIGHLIGHT, SORT_FACES
Constructor and Description |
---|
GL2Viewer(GL2Viewer shareWith,
int width,
int height)
Creates a new GLViewer with default capabilities that shares resources
(e.g., diplay lists and textures) with an existing GLViewer.
|
GL2Viewer(com.jogamp.opengl.GLCapabilities cap,
GL2SharedResources resources,
int width,
int height)
Creates a new GLViewer with specified capabilities and size.
|
GL2Viewer(int width,
int height)
Creates a new GLViewer with default capabilities.
|
Modifier and Type | Method and Description |
---|---|
void |
awaitScreenShotCompletion() |
void |
cleanupScreenShots() |
void |
clearPickMatrix() |
void |
display(com.jogamp.opengl.GLAutoDrawable drawable,
int flags) |
void |
dispose()
MUST BE CALLED by whatever frame when it is going down, will notify any
shared resources that they can be cleared.
|
void |
dispose(com.jogamp.opengl.GLAutoDrawable drawable)
Called any time GL context is switched! e.g.
|
void |
drawArrow(float[] pnt0,
float[] pnt1,
double rad,
boolean capped)
Draws a solid arrow between two points in model coordinates,
using the current shading and material.
|
void |
drawArrow(RenderProps props,
float[] pnt0,
float[] pnt1,
boolean capped,
boolean highlight)
Draws an arrow between two points in model coordinates,
using the radius, line color, and shading specified by the
render properties argument
props . |
void |
drawAxes(RigidTransform3d X,
double[] lens,
int width,
boolean highlight)
Draws a set of coordinate axes representing a rigid coordinate frame
X . |
void |
drawBox(float[] pnt,
double wx,
double wy,
double wz)
Draws an axis-aligned box in model coordinates, using the current
shading and material.
|
void |
drawBox(RigidTransform3d TBM,
Vector3d widths)
Draws a box centered on the specified transform in model coordinates,
using the current shading and material.
|
void |
drawCone(float[] pnt0,
float[] pnt1,
double rad0,
double rad1,
boolean capped)
Draws a cone between two points in model coordinates,
using the current shading and material.
|
void |
drawCube(float[] pnt,
double w)
Draws an axis-aligned cube with a specified width centered at a point
in model coordinates, using the current shading and material.
|
void |
drawCylinder(float[] pnt0,
float[] pnt1,
double rad,
boolean capped)
Draws a cylinder between two points in model coordinates,
using the current shading and material.
|
void |
drawLine(float[] pnt0,
float[] pnt1)
Draws a single line between two points in model coordinates,
using the current line width, material, and shading.
|
void |
drawLine(RenderProps props,
float[] pnt0,
float[] pnt1,
float[] color,
boolean capped,
boolean highlight)
Draws a single line between two points in model coordinates, using the
line style, radius, line color, and shading specified by the render
properties argument
props . |
void |
drawLines(RenderObject robj,
int gidx)
Draws all the lines in the specified line group of the
render object, using the current material and shading.
|
void |
drawLines(RenderObject robj,
int gidx,
int offset,
int count,
Renderer.LineStyle style,
double rad)
Draws a selection of lines in the specified line group of the supplied
render object, using the current material and shading.
|
void |
drawLines(RenderObject robj,
int gidx,
RenderInstances rinst)
Draws the specified group of lines, repeated for each instance
in rinst.
|
void |
drawLineStrip(RenderProps props,
java.lang.Iterable<float[]> pnts,
Renderer.LineStyle style,
boolean highlight)
Draws a line strip between a series of points in model coordinates,
using the radius, line color, and shading specified by the
render properties argument
props , and the line
style specified by style . |
void |
drawPoint(float[] pnt)
Draws a single point located at
pnt in model coordinates,
using the current point size, material, and shading. |
void |
drawPoint(RenderProps props,
float[] pnt,
boolean highlight)
Draws a single point located at
pnt in model coordinates,
using the point style, size, point color, and shading specified by the
render properties argument props . |
void |
drawPoints(RenderObject robj,
int gidx)
Draws all the points in the specified point group of the
supplied render object, using the current material and shading.
|
void |
drawPoints(RenderObject robj,
int gidx,
int offset,
int count,
Renderer.PointStyle style,
double rad)
Draws a selection of points in the specified point group of the supplied
render object, using the current material and shading.
|
void |
drawPoints(RenderObject robj,
int gidx,
RenderInstances rinst)
Draws the specified group of points, repeated for each instance
in rinst.
|
void |
drawSimpleLines(RenderObject robj,
int gidx,
int offset,
int count) |
void |
drawSphere(float[] pnt,
double rad)
Draws a sphere with a specified radius centered at a point
in model coordinates, using the current shading and material.
|
void |
drawSphere(float[] centre,
float r) |
void |
drawSpheres(java.lang.Iterable<float[]> centres,
float r) |
void |
drawSpindle(float[] pnt0,
float[] pnt1,
double rad)
Draws a spindle between two points in model coordinates,
using the current shading and material.
|
double |
drawText(java.awt.Font font,
java.lang.String str,
float[] pos,
double emSize)
Draws text in the x-y plane in model coordinates.
|
void |
drawTriangle(float[] pnt0,
float[] pnt1,
float[] pnt2)
Draw triangular faces, using the current Shading, lighting and
material, and computing a single "face" normal from the coordinates
(so the current "shading" really matters only if it is
Shading.NONE).
|
void |
drawTriangles(RenderObject robj,
int gidx,
int offset,
int count)
Draws a selection of triangles in the specified triangle group of the
render object, using the current material and shading.
|
void |
drawTriangles(RenderObject robj,
int gidx,
RenderInstances rinst)
Draws the specified group of triangles, repeated for each instance
in rinst.
|
void |
drawVertices(RenderObject robj,
int[] idxs,
Renderer.DrawMode mode) |
void |
drawVertices(RenderObject robj,
Renderer.DrawMode mode)
Draws all the vertices associated with the specified RenderObject,
using a specified drawing mode and the current material and shading.
|
void |
drawVertices(RenderObject robj,
VertexIndexArray idxs,
int offset,
int count,
Renderer.DrawMode mode)
Draws a selection of vertices associated with the specified RenderObject,
using a specified drawing mode and the current material and shading.
|
com.jogamp.opengl.GL |
getGL() |
com.jogamp.opengl.GL2 |
getGL2() |
int |
getGLShadeModel() |
com.jogamp.opengl.glu.GLU |
getGLU() |
static int |
getNameStackDepth(com.jogamp.opengl.GL2 gl) |
GL2Primitive |
getPrimitive(com.jogamp.opengl.GL2 gl,
GL2Primitive.PrimitiveType type)
Return a primitive object
|
GLTextRenderer |
getTextRenderer() |
GL2VersionedObject |
getVersionedObject(com.jogamp.opengl.GL2 gl,
RenderKey key,
java.lang.Object fingerPrint,
BooleanHolder compile)
Gets or allocates a "versioned object" given a key, and a "fingerprint" used
to determine if the stored object has different content
|
boolean |
grabPending() |
boolean |
hasBumpMapping()
Queries whether or not this renderer supports bump mapping.
|
boolean |
hasColorMapMixing(Renderer.ColorMixing cmix)
Queries whether or not a specified method for combining color
map and material coloring is supported by this Renderer.
|
boolean |
hasColorMapping()
Queries whether or not this renderer supports color mapping.
|
boolean |
hasNormalMapping()
Queries whether or not this renderer supports normal mapping.
|
boolean |
hasVertexColorMixing(Renderer.ColorMixing cmix)
Queries whether or not a specified method for combining vertex coloring
and material coloring is supported by this Renderer.
|
void |
init(com.jogamp.opengl.GLAutoDrawable drawable)
Called any time GL context is switched! e.g.
|
boolean |
isSelecting()
Returns true if the renderer is currently performing a selection
render.
|
void |
maybeUpdateMaterials() |
void |
maybeUpdateMaterials(com.jogamp.opengl.GL2 gl) |
void |
maybeUpdateMatrices(com.jogamp.opengl.GL2 gl) |
static void |
mulTransform(com.jogamp.opengl.GL2 gl,
AffineTransform3d X) |
static void |
mulTransform(com.jogamp.opengl.GL2 gl,
RigidTransform3d X) |
boolean |
popProjectionMatrix() |
void |
setPickMatrix(float x,
float y,
float deltax,
float deltay,
int[] viewport)
Alternative to gluPickMatrix, pre-multiplies by appropriate matrix to
reduce size
|
int |
setSurfaceResolution(int nres)
Sets the resolution used for creating mesh representations
of curved solids.
|
void |
setupScreenShot(int w,
int h,
java.io.File file,
java.lang.String format) |
void |
setupScreenShot(int w,
int h,
int samples,
java.io.File file,
java.lang.String format)
Setup for a screenshot during the next render cycle
|
addClipPlane, addClipPlane, addClipPlane, addDragger, addKeyListener, addLight, addLight, addMouseInputListener, addMouseWheelListener, addRenderable, addRenderListener, addSelectionListener, addVertex, addVertex, addVertex, addVertex, autoFit, autoFitOrtho, autoFitPerspective, begin2DRendering, begin2DRendering, begin2DRendering, beginDraw, beginGL, beginSelectionQuery, beginSubSelection, centerDistancePerPixel, clearClipPlanes, clearDraggers, clearRenderables, display, distancePerPixel, draw, drawArrow, drawArrow, drawAxes, drawAxes, drawAxes, drawBox, drawCone, drawCube, drawCylinder, drawLine, drawLine, drawLine, drawLine, drawLine, drawLines, drawLines, drawLines, drawPoint, drawPoint, drawPoint, drawPoints, drawPoints, drawPoints, drawRay, drawSolidAxes, drawSolidAxes, drawSphere, drawSpindle, drawText, drawText, drawText, drawTriangle, drawTriangles, drawTriangles, drawVertices, end2DRendering, endDraw, endGL, endSelectionQuery, endSubSelection, estimateRadiusAndCenter, finish2DRendering, getAllDraggers, getAllPropertyInfo, getAutoSwapBufferMode, getAxialView, getAxisDrawStyle, getAxisLength, getAxisRadiusRatio, getBackColor, getBackgroundColor, getBackgroundColor, getBlendDestFactor, getBlendSourceFactor, getBounds, getBumpMap, getCanvas, getCellDivisions, getCellSize, getCenter, getCenterToWorld, getCenterToWorld, getClipPlane, getClipPlanes, getColor, getColorInterpolation, getColorMap, getComponent, getContext, getDefaultFont, getDepthOffset, getDragBox, getDraggers, getDrawTool, getEllipticCursorActive, getEllipticCursorSize, getEllipticSelection, getEmission, getExternalRenderList, getEye, getEyeToWorld, getEyeZDirection, getFaceStyle, getFarPlaneDistance, getFrontColor, getFrustum, getGrid, getGridVisible, getHighlightColor, getHighlightColor, getHighlighting, getHighlightStyle, getIndexOfLight, getKeyListeners, getLight, getLineWidth, getModelMatrix, getModelMatrix, getModelMatrix, getMouseHandler, getMouseInputListeners, getMouseWheelListeners, getNormalMap, getNumClipPlanes, getPointSize, getProfiling, getProjectionMatrix, getProjectionMatrix, getProperty, getRenderFlags, getRenderListeners, getRotationMode, getRoundedPoints, getScreenCursor, getScreenHeight, getScreenWidth, getScreenX, getScreenY, getSelectingColor, getSelectionEvent, getSelectionFilter, getSelectionListeners, getSelectOnPress, getShading, getShininess, getSpecular, getSurfaceResolution, getTextBounds, getTextureMatrix, getTextureMatrix, getTransparencyBlending, getTransparencyFaceCulling, getUpVector, getVertexColorMixing, getVerticalFieldOfView, getViewControlMask, getViewMatrix, getViewMatrix, getViewMatrix, getViewPlaneDistance, getViewPlaneHeight, getViewPlaneWidth, has2DRendering, hasHighlightStyle, hasSelection, hasTextRendering, hasVertexColoring, is2DRendering, isAutoResizeEnabled, isAutoViewportEnabled, isDepthEnabled, isDepthWriteEnabled, isLightingEnabled, isMultiSampleEnabled, isOrthogonal, isSelectable, isSelectionEnabled, isSpecialRenderFlagsSet, isTextureMappingEnabled, isTransparencyEnabled, isVertexColoringEnabled, maxClipSurfaces, mulModelMatrix, numFreeClipSurfaces, numLights, numMultiSamples, numSelectionQueriesNeeded, paint, popModelMatrix, popTextureMatrix, popViewMatrix, pushModelMatrix, pushProjectionMatrix, pushTextureMatrix, pushViewMatrix, removeClipPlane, removeDragger, removeKeyListener, removeLight, removeLight, removeMouseInputListener, removeMouseWheelListener, removeRenderable, removeRenderListener, removeSelectionListener, repaint, rerender, rerender, resetEllipticCursorSize, reshape, restoreDefaultState, rotate, rotateModelMatrix, scaleModelMatrix, scaleModelMatrix, setAutoResizeEnabled, setAutoSwapBufferMode, setAutoViewportEnabled, setAxialView, setAxisDrawStyle, setAxisLength, setAxisRadiusRatio, setBackColor, setBackgroundColor, setBackgroundColor, setBackgroundColor, setBlendDestFactor, setBlendSourceFactor, setBumpMap, setCenter, setColor, setColor, setColor, setColor, setColor, setColorInterpolation, setColorMap, setDefaultFont, setDefaultLights, setDepthEnabled, setDepthOffset, setDepthWriteEnabled, setDragBox, setDrawTool, setEdgeColoring, setEllipticCursorActive, setEllipticCursorSize, setEllipticSelection, setEmission, setExternalRenderList, setEye, setEyeToWorld, setEyeToWorld, setFaceColoring, setFaceColoring, setFaceStyle, setFrontAlpha, setFrontColor, setGlobalRenderFlags, setGridSizeAndPosition, setGridVisible, setHighlightColor, setHighlighting, setHighlightStyle, setLightingEnabled, setLineColoring, setLineShading, setLineWidth, setMaterial, setModelMatrix, setModelMatrix2d, setMouseHandler, setMultiSampleEnabled, setNormal, setNormal, setNormal, setNormalMap, setOrthogonal, setOrthogonal, setOrthographicView, setPerspective, setPerspective, setPerspective, setPointColoring, setPointShading, setPointSize, setProfiling, setPropsColoring, setPropsShading, setRotationMode, setRoundedPoints, setScreenCursor, setSelectingColor, setSelectingColor, setSelectionEnabled, setSelectionFilter, setSelectOnPress, setShading, setShininess, setSpecular, setTextureCoord, setTextureCoord, setTextureCoord, setTextureMappingEnabled, setTextureMatrix, setTransparencyBlending, setTransparencyEnabled, setTransparencyFaceCulling, setUpVector, setVertexColoringEnabled, setVertexColorMixing, setVerticalFieldOfView, setViewControlMask, setViewMatrix, setViewport, setViewVolume, translate, translateModelMatrix, translateModelMatrix, zoom
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getAllPropertyInfo, getProperty
public GL2Viewer(int width, int height)
width
- initial width of the viewerheight
- initial height of the viewerpublic GL2Viewer(GL2Viewer shareWith, int width, int height)
shareWith
- GLViewer with which resources are to be sharedwidth
- initial width of the viewerheight
- initial height of the viewerpublic GL2Viewer(com.jogamp.opengl.GLCapabilities cap, GL2SharedResources resources, int width, int height)
cap
- Desired GL capabilities. Can be specified as null, which will create
default capabilities.resources
- Resources to be used by the viewer.
Can be specified as null, which will create
default resources.width
- initial width of the viewerheight
- initial height of the viewerpublic com.jogamp.opengl.GL getGL()
getGL
in interface GLRenderer
getGL
in class GLViewer
public void init(com.jogamp.opengl.GLAutoDrawable drawable)
GLViewer
public int setSurfaceResolution(int nres)
Renderer
setSurfaceResolution
in interface Renderer
setSurfaceResolution
in class GLViewer
nres
- resolution for curved surfacespublic GL2Primitive getPrimitive(com.jogamp.opengl.GL2 gl, GL2Primitive.PrimitiveType type)
public void dispose(com.jogamp.opengl.GLAutoDrawable drawable)
GLViewer
public void dispose()
GLViewer
public void display(com.jogamp.opengl.GLAutoDrawable drawable, int flags)
public GLTextRenderer getTextRenderer()
getTextRenderer
in class GLViewer
public double drawText(java.awt.Font font, java.lang.String str, float[] pos, double emSize)
Renderer
drawText
in interface Renderer
font
- the font to use. The font size largely impacts
the resolution of the renderer characters. A value of at least
32pt is recommended.str
- string to renderpos
- position of the lower left of the text box (model coordinates)emSize
- size of an `em' unit in model coordinatespublic int getGLShadeModel()
public static int getNameStackDepth(com.jogamp.opengl.GL2 gl)
public void maybeUpdateMaterials()
maybeUpdateMaterials
in class GLViewer
public void maybeUpdateMaterials(com.jogamp.opengl.GL2 gl)
public void maybeUpdateMatrices(com.jogamp.opengl.GL2 gl)
public boolean popProjectionMatrix()
popProjectionMatrix
in class GLViewer
public void setPickMatrix(float x, float y, float deltax, float deltay, int[] viewport)
GLViewer
public void clearPickMatrix()
clearPickMatrix
in class GLViewer
public static void mulTransform(com.jogamp.opengl.GL2 gl, RigidTransform3d X)
public static void mulTransform(com.jogamp.opengl.GL2 gl, AffineTransform3d X)
public boolean isSelecting()
GLViewer
isSelecting
in interface Renderer
isSelecting
in class GLViewer
public void drawSphere(float[] pnt, double rad)
Renderer
Renderer.drawSphere(Vector3d,double)
.drawSphere
in interface Renderer
pnt
- center of the sphererad
- radius of the spherepublic void drawCube(float[] pnt, double w)
Renderer
public void drawBox(float[] pnt, double wx, double wy, double wz)
Renderer
public void drawBox(RigidTransform3d TBM, Vector3d widths)
Renderer
public void drawSpindle(float[] pnt0, float[] pnt1, double rad)
Renderer
Renderer.getSurfaceResolution()
.drawSpindle
in interface Renderer
pnt0
- first end pointpnt1
- second end pointrad
- radius of the spindlepublic void drawArrow(float[] pnt0, float[] pnt1, double rad, boolean capped)
Renderer
Renderer.drawArrow(Vector3d,Vector3d,double,boolean)
except that the points are specified using float[]
.public void drawCylinder(float[] pnt0, float[] pnt1, double rad, boolean capped)
Renderer
Renderer.getSurfaceResolution()
.drawCylinder
in interface Renderer
pnt0
- first end pointpnt1
- second end pointrad
- radius of the cylindercapped
- if true
, indicates that the cylinder
should have a solid cap on each endpublic void drawCone(float[] pnt0, float[] pnt1, double rad0, double rad1, boolean capped)
Renderer
Renderer.getSurfaceResolution()
.public void drawLine(RenderProps props, float[] pnt0, float[] pnt1, float[] color, boolean capped, boolean highlight)
Renderer
props
. This method is functionally
equivalent to Renderer.drawLine(RenderProps,float[],float[],boolean)
,
except for the additional control provided by the arguments
color
and capped
.drawLine
in interface Renderer
props
- render properties used for drawing the linepnt0
- first pointpnt1
- second pointcolor
- if not null
, specifies an alternate
color that should be used in place of the line color specified
in props
capped
- if true
, specifies that the line
should have a solid cap on its ends for
styles such as Renderer.LineStyle.CYLINDER
and @link LineStyle#ARROW}highlight
- if true
, indicates that highlighting, if
enabled, should be applied to the linepublic void drawArrow(RenderProps props, float[] pnt0, float[] pnt1, boolean capped, boolean highlight)
Renderer
props
. The method
behaves similarly to
Renderer.drawArrow(float[],float[],double,boolean)
,
with the cylinder radius determine instead by
props.getLineRadius()
.drawArrow
in interface Renderer
props
- render properties used for drawing the arrowpnt0
- first pointpnt1
- second pointcapped
- if true
, specifies that the arrow
should have a solid cap on the bottomhighlight
- if true
, indicates that highlighting, if
enabled, should be applied to the arrowpublic void drawPoint(float[] pnt)
Renderer
pnt
in model coordinates,
using the current point size, material, and shading. This method
is functionally equivalent to Renderer.drawPoint(Vector3d)
.public void drawLine(float[] pnt0, float[] pnt1)
Renderer
Renderer.drawLine(Vector3d,Vector3d)
.public void drawTriangle(float[] pnt0, float[] pnt1, float[] pnt2)
drawTriangle
in interface Renderer
pnt0
- first pointpnt1
- second pointpnt2
- third pointpublic void drawPoint(RenderProps props, float[] pnt, boolean highlight)
Renderer
pnt
in model coordinates,
using the point style, size, point color, and shading specified by the
render properties argument props
. This method is
functionally equivalent to Renderer.drawPoint(RenderProps,Vector3d,boolean)
except that the point is
specified using float[]
.public void drawSphere(float[] centre, float r)
public void drawSpheres(java.lang.Iterable<float[]> centres, float r)
public void drawLineStrip(RenderProps props, java.lang.Iterable<float[]> pnts, Renderer.LineStyle style, boolean highlight)
Renderer
props
, and the line
style specified by style
.
If the line style is Renderer.LineStyle.LINE
, then the
strip is drawn using pixel-based lines with a width given by
props.getLineWidth()
. For other line styles,
the strip is drawn as solids with a nominal radius given by
props.getLineRadius()
. If highlight
is true
and the highlight style is
Renderer.HighlightStyle.COLOR
, then the strip will
be drawn using the highlight color rather than the line color
specified in props
.
drawLineStrip
in interface Renderer
props
- render properties used for drawing the strippnts
- list of points used for drawing the stripstyle
- line style to be used for the striphighlight
- if true
, indicates that highlighting, if
enabled, should be applied to the strippublic void drawAxes(RigidTransform3d X, double[] lens, int width, boolean highlight)
Renderer
X
. This method is functionally equivalent to Renderer.drawAxes(RigidTransform3d,double,int,boolean)
, except that the
lengths for each axis are individually specified. Axes with a
a specified length of 0 will not be drawn.public void setupScreenShot(int w, int h, int samples, java.io.File file, java.lang.String format)
setupScreenShot
in class GLViewer
w
- width of shoth
- height of shotsamples
- number of samples to use for the
multisample FBO (does antialiasing)file
- file to which the screen shot is to be writtenformat
- format stringpublic void setupScreenShot(int w, int h, java.io.File file, java.lang.String format)
setupScreenShot
in class GLViewer
public void awaitScreenShotCompletion()
awaitScreenShotCompletion
in class GLViewer
public boolean grabPending()
grabPending
in class GLViewer
public void cleanupScreenShots()
cleanupScreenShots
in class GLViewer
public com.jogamp.opengl.GL2 getGL2()
public com.jogamp.opengl.glu.GLU getGLU()
public void drawTriangles(RenderObject robj, int gidx, int offset, int count)
Renderer
drawTriangles
in interface Renderer
robj
- render objectgidx
- triangle group indexoffset
- triangle offset at which to start renderingcount
- number of triangles to drawpublic void drawLines(RenderObject robj, int gidx)
Renderer
public void drawSimpleLines(RenderObject robj, int gidx, int offset, int count)
public void drawLines(RenderObject robj, int gidx, int offset, int count, Renderer.LineStyle style, double rad)
Renderer
Renderer.LineStyle.LINE
, the argument rad
gives the line width,
whereas for solid primitives (Renderer.LineStyle.CYLINDER
, Renderer.LineStyle.SOLID_ARROW
, Renderer.LineStyle.SPINDLE
), it gives
the nominal radius.public void drawPoints(RenderObject robj, int gidx)
Renderer
drawPoints
in interface Renderer
robj
- render objectgidx
- point group indexpublic void drawPoints(RenderObject robj, int gidx, int offset, int count, Renderer.PointStyle style, double rad)
Renderer
Renderer.PointStyle.POINT
, the argument rad
gives the point size,
whereas for Renderer.PointStyle.CUBE
it gives the cube half-width, and for
Renderer.PointStyle.SPHERE
it gives the sphere radius.drawPoints
in interface Renderer
robj
- render objectgidx
- point group indexoffset
- point offset at which to begin within the point groupcount
- number of points to drawstyle
- point style to use for drawingrad
- radius for spheres or width for pixel-based pointspublic void drawVertices(RenderObject robj, Renderer.DrawMode mode)
Renderer
drawVertices
in interface Renderer
robj
- render objectmode
- drawing mode to be used for drawing the verticespublic void drawVertices(RenderObject robj, VertexIndexArray idxs, int offset, int count, Renderer.DrawMode mode)
Renderer
VertexIndexArray
can detect whether or not it has been modified,
which allows for caching. Additionally, this method allows specification of
an offset and vertex count.drawVertices
in interface Renderer
robj
- render objectidxs
- vertex indicesoffset
- index offsetcount
- index countmode
- drawing mode to be used for drawing the verticespublic void drawVertices(RenderObject robj, int[] idxs, Renderer.DrawMode mode)
public void drawPoints(RenderObject robj, int gidx, RenderInstances rinst)
Renderer
Renderer.PointStyle.POINT
and use the
current point-size, as determined by Renderer.getPointSize()
.drawPoints
in interface Renderer
robj
- object to drawgidx
- point group to drawrinst
- instance to drawpublic void drawLines(RenderObject robj, int gidx, RenderInstances rinst)
Renderer
Renderer.LineStyle.LINE
and use the
current line-width, as determined by Renderer.getLineWidth()
.public void drawTriangles(RenderObject robj, int gidx, RenderInstances rinst)
Renderer
drawTriangles
in interface Renderer
robj
- object to drawgidx
- triangle group to drawrinst
- instance to drawpublic GL2VersionedObject getVersionedObject(com.jogamp.opengl.GL2 gl, RenderKey key, java.lang.Object fingerPrint, BooleanHolder compile)
key
- key for accessing display listfingerPrint
- identification for detecting if display list needs to be updatedcompile
- outputs true if object needs to be compiledpublic boolean hasVertexColorMixing(Renderer.ColorMixing cmix)
Renderer
hasVertexColorMixing
in interface Renderer
hasVertexColorMixing
in class GLViewer
true
if the color mixing method is supportedpublic boolean hasColorMapMixing(Renderer.ColorMixing cmix)
Renderer
hasColorMapMixing
in interface Renderer
hasColorMapMixing
in class GLViewer
true
if the color mixing method is supportedpublic boolean hasColorMapping()
Renderer
hasColorMapping
in interface Renderer
true
if color mapping is supported.public boolean hasNormalMapping()
Renderer
hasNormalMapping
in interface Renderer
true
if normal mapping is supported.public boolean hasBumpMapping()
Renderer
hasBumpMapping
in interface Renderer
true
if bump mapping is supported.