|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object de.javagl.simplerenderer.AbstractSimpleRenderer
public abstract class AbstractSimpleRenderer
Abstract base implementation of a SimpleRenderer
Field Summary | |
---|---|
protected static java.lang.String |
FRAGMENT_SHADER_SOURCE
Fragment shader source code |
protected static java.lang.String |
VERTEX_SHADER_SOURCE
Vertex shader source code |
Fields inherited from interface de.javagl.simplerenderer.SimpleRenderer |
---|
CL_CGL_SHAREGROUP_KHR, CL_EGL_DISPLAY_KHR, CL_GL_CONTEXT_KHR, CL_GLX_DISPLAY_KHR, CL_WGL_HDC_KHR |
Constructor Summary | |
---|---|
protected |
AbstractSimpleRenderer()
Creates a new AbstractSimpleRenderer |
Method Summary | |
---|---|
void |
addPostRenderCallback(java.lang.Runnable runnable)
Add the given runnable to the rendering callbacks that will be called after each rendering pass. |
void |
addPreRenderCallback(java.lang.Runnable runnable)
Add the given runnable to the rendering callbacks that will be called before each rendering pass. |
void |
addSimpleObject(SimpleObject simpleObject)
Add a task to add the given object to this renderer. |
protected abstract SimpleObjectGL |
addSimpleObjectInternal(SimpleObject simpleObject)
Will be called on the rendering thread to add the given SimpleObject. |
void |
clearSimpleObjects()
Add a task to remove all objects before the next rendering pass. |
protected float[] |
getModelviewMatrix()
Returns a reference to the current modelview matrix |
protected float[] |
getProjectionMatrix()
Returns a reference to the current projection matrix |
java.util.concurrent.Semaphore |
getRenderingSemaphore()
Returns the Semaphore that will be acquired before the rendering, and released after the rendering. |
SimpleObjectGL |
getSimpleObjectGL(SimpleObject simpleObject)
Returns the internal representation of the given object. |
java.util.List<SimpleObject> |
getSimpleObjects()
Returns an immutable list of all SimpleObjects. |
protected void |
internalInitialization()
Internal initialization, to be called after the constructors of the subclasses have finished. |
void |
invokeLater(java.lang.Runnable runnable)
Add the given runnable to be executed on the rendering thread before the next rendering pass. |
protected void |
postRender()
Will be called immediately after rendering the objects |
protected void |
preRender()
Will be called immediately before rendering the objects |
protected void |
processPostRenderCallbacks()
Process all post-render callbacks |
protected void |
processPreRenderCallbacks()
Process all pre-render callbacks |
protected void |
processTasks()
Process all tasks that have been scheduled since the previous rendering pass |
void |
removePostRenderCallback(java.lang.Runnable runnable)
Remove the given runnable from the rendering callbacks. |
void |
removePreRenderCallback(java.lang.Runnable runnable)
Remove the given runnable from the rendering callbacks. |
void |
removeSimpleObject(SimpleObject simpleObject)
Add a task to remove the given object. |
protected abstract SimpleObjectGL |
removeSimpleObjectInternal(SimpleObject simpleObject)
Will be called on the rendering thread to release the given SimpleObject. |
protected void |
render()
Performs the actual rendering |
protected abstract void |
render(SimpleObject simpleObject)
Render the given object |
protected abstract void |
setupView()
Set up the viewport depending on the size of the rendering component. |
protected void |
updateProjectionMatrix()
Should be called after the view has changed (e.g. the size of the rendering component) |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface de.javagl.simplerenderer.SimpleRenderer |
---|
acquireBuffer, getCLContextProperties, getRenderComponent, releaseBuffer |
Field Detail |
---|
protected static final java.lang.String VERTEX_SHADER_SOURCE
protected static final java.lang.String FRAGMENT_SHADER_SOURCE
Constructor Detail |
---|
protected AbstractSimpleRenderer()
Method Detail |
---|
protected void internalInitialization()
protected void updateProjectionMatrix()
protected float[] getModelviewMatrix()
protected float[] getProjectionMatrix()
public void invokeLater(java.lang.Runnable runnable)
SimpleRenderer
invokeLater
in interface SimpleRenderer
runnable
- The runnable to addpublic void addPreRenderCallback(java.lang.Runnable runnable)
SimpleRenderer
addPreRenderCallback
in interface SimpleRenderer
runnable
- The runnable to add.public void removePreRenderCallback(java.lang.Runnable runnable)
SimpleRenderer
removePreRenderCallback
in interface SimpleRenderer
runnable
- The runnable to remove.public void addPostRenderCallback(java.lang.Runnable runnable)
SimpleRenderer
addPostRenderCallback
in interface SimpleRenderer
runnable
- The runnable to add.public void removePostRenderCallback(java.lang.Runnable runnable)
SimpleRenderer
removePostRenderCallback
in interface SimpleRenderer
runnable
- The runnable to remove.protected void render()
protected abstract void setupView()
protected void preRender()
protected abstract void render(SimpleObject simpleObject)
simpleObject
- The object to renderprotected void postRender()
protected void processTasks()
protected void processPreRenderCallbacks()
protected void processPostRenderCallbacks()
public void addSimpleObject(SimpleObject simpleObject)
SimpleRenderer
addSimpleObject
in interface SimpleRenderer
simpleObject
- The object to addprotected abstract SimpleObjectGL addSimpleObjectInternal(SimpleObject simpleObject)
simpleObject
- The SimpleObject to add
public void removeSimpleObject(SimpleObject simpleObject)
SimpleRenderer
removeSimpleObject
in interface SimpleRenderer
simpleObject
- The object to remove.protected abstract SimpleObjectGL removeSimpleObjectInternal(SimpleObject simpleObject)
simpleObject
- The SimpleObject to remove
public java.util.List<SimpleObject> getSimpleObjects()
SimpleRenderer
getSimpleObjects
in interface SimpleRenderer
public void clearSimpleObjects()
SimpleRenderer
clearSimpleObjects
in interface SimpleRenderer
public SimpleObjectGL getSimpleObjectGL(SimpleObject simpleObject)
SimpleRenderer
getSimpleObjectGL
in interface SimpleRenderer
simpleObject
- The object whose internal representation
should be obtained.
null
if the given object is not handled
by this renderer.public java.util.concurrent.Semaphore getRenderingSemaphore()
SimpleRenderer
getRenderingSemaphore
in interface SimpleRenderer
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |