public class RandomTileRenderer extends TileRendererBase
TileRenderer
w/o using fixed tiles but arbitrary rectangular regions.
See TileRendererBase
for details.
TileRendererBase.TileRendererListener
TR_CURRENT_TILE_HEIGHT, TR_CURRENT_TILE_WIDTH, TR_CURRENT_TILE_X_POS, TR_CURRENT_TILE_Y_POS, TR_IMAGE_HEIGHT, TR_IMAGE_WIDTH
Constructor and Description |
---|
RandomTileRenderer()
Creates a new TileRenderer object
|
Modifier and Type | Method and Description |
---|---|
void |
beginTile(GL gl)
Begins rendering a tile.
|
void |
display(int tX,
int tY,
int tWidth,
int tHeight)
Rendering one tile, by simply calling
GLAutoDrawable.display() . |
void |
endTile(GL gl)
Must be called after rendering the scene,
see
TileRendererBase.beginTile(GL) . |
boolean |
eot()
Returns true if end of tiling has been reached, otherwise false.
|
int |
getParam(int pname)
Gets the parameters of this TileRenderer object
|
boolean |
isSetup()
Returns true if this instance is setup properly, i.e.
|
void |
reset()
Method resets implementation's internal state to start of tiling
as required for
TileRendererBase.beginTile(GL) if end of tiling has been reached. |
void |
setTileRect(int tX,
int tY,
int tWidth,
int tHeight)
Set the tile rectangle for the subsequent rendering calls.
|
attachAutoDrawable, detachAutoDrawable, display, getAttachedDrawable, getImageBuffer, getImageSize, getTileBuffer, reqPreSwapBuffers, setGLEventListener, setImageBuffer, setImageSize, setTileBuffer, toString, toString
public final int getParam(int pname)
TileRendererBase
getParam
in class TileRendererBase
pname
- The parameter name that is to be retrievedpublic void setTileRect(int tX, int tY, int tWidth, int tHeight) throws IllegalStateException, IllegalArgumentException
IllegalArgumentException
- is tile x/y are < 0 or tile size is <= 0x0IllegalStateException
public final boolean isSetup()
TileRendererBase
TileRendererBase.setImageSize(int, int)
..,
and ready for TileRendererBase.beginTile(GL)
.
Otherwise returns false.isSetup
in class TileRendererBase
public final boolean eot()
end of tiling criteria is implementation specific and may never be reached.
User needs to TileRendererBase.reset()
tiling after reaching end of tiling
before calling TileRendererBase.beginTile(GL)
again.
end of tiling is never reached w/ RandomRileRenderer
,
i.e. method always returns false.
eot
in class TileRendererBase
public final void reset()
TileRendererBase.beginTile(GL)
if end of tiling
has been reached.
Implementation is a nop where end of tiling
is never reached.
RandomTileRenderer
are: none.reset
in class TileRendererBase
public final void beginTile(GL gl) throws IllegalStateException, GLException
This method modifies the viewport, see below.
User shall reset the viewport when finishing all tile rendering,
i.e. after very last call of TileRendererBase.endTile(GL)
!
The PMV Matrix must be reshaped after this call using:
current tile's x-pos
current tile's y-pos
final image width
final image height
Use shall render the scene afterwards, concluded with a call to
this renderer TileRendererBase.endTile(GL)
.
User has to comply with the GL profile requirement.
If end of tiling
has been reached,
user needs to TileRendererBase.reset()
tiling before calling this method.
beginTile
in class TileRendererBase
gl
- The gl contextIllegalStateException
- if image-size
has not been set or
tile-rect
has not been set.GLException
- if image buffer
is used but gl
instance is < GL2ES3
TileRendererBase.isSetup()
,
TileRendererBase.eot()
,
TileRendererBase.reset()
public void endTile(GL gl) throws IllegalStateException, GLException
TileRendererBase
TileRendererBase.beginTile(GL)
.
Please consider TileRendererBase.reqPreSwapBuffers(GLCapabilitiesImmutable)
to determine
whether you need to perform swap-buffers
before or after
calling this method!
User has to comply with the GL profile requirement.
endTile
in class TileRendererBase
gl
- the gl contextIllegalStateException
- if beginTile(gl) has not been calledGLException
- if image buffer
is used but gl
instance is < GL2ES3
public void display(int tX, int tY, int tWidth, int tHeight) throws IllegalStateException
GLAutoDrawable.display()
.IllegalStateException
- if no GLAutoDrawable
is attached
or imageSize is not setCopyright 2010 JogAmp Community.