public abstract class Renderer
extends java.lang.Object
implements java.io.Closeable
Modifier and Type | Method and Description |
---|---|
protected void |
beginTarget(IRenderTarget target)
Begin render on specified render target
|
protected void |
beginViewport(Viewport viewport)
Begin rendering on specified viewport
|
protected void |
beginViewport(Viewport viewport,
Frustum frustum)
Begin rendering on specified viewport
|
abstract void |
bindRenderState(RenderState renderState)
Apply the render state
|
void |
clearCache()
Manually clear the cache.
|
void |
close()
Dispose the
Renderer and all related resources |
static Renderer |
createRenderer()
Creates a new
Renderer with default profile. |
void |
draw(DrawOperation drawOperation,
IVertexBuffer vertexBuffer)
Draw geometry defined in vertices
|
abstract void |
draw(DrawOperation drawOperation,
IVertexBuffer vertexBuffer,
int first,
int count)
Draw geometry defined in vertices
|
void |
drawIndexed(DrawOperation drawOperation,
IVertexBuffer vertexBuffer,
IIndexBuffer indexBuffer)
Draw indexed geometry.
|
abstract void |
drawIndexed(DrawOperation drawOperation,
IVertexBuffer vertexBuffer,
IIndexBuffer indexBuffer,
int count)
Draw indexed geometry.
|
protected void |
endTarget()
End rendering on specified render target.
|
protected void |
endViewport()
Finished rendering on specified viewport
|
abstract void |
execute(PostProcessing postProcessing,
IRenderTarget result)
Execute an post processing on specified render target
|
java.util.ArrayList<java.lang.String> |
getAssetDirectories()
Directories that stored external assets
|
static Renderer |
getCurrentContext()
Gets the instance of current render context.
|
boolean |
getEnableShadows()
Gets wheather to enabel shadows.
|
Frustum |
getFrustum()
Gets the frustum that used to provide view matrix.
|
Material |
getMaterial()
Gets the material that used to provide material information used by shaders.
|
Node |
getNode()
Gets the
getNode() instance used to provide world transform matrix. |
PostProcessing |
getPostProcessing(java.lang.String name)
Gets a built-in post-processor that supported by the renderer.
|
java.util.List<PostProcessing> |
getPostProcessings()
Active post-processing chain
|
PresetShaders |
getPresetShaders()
Gets the preset shader set
|
abstract RenderFactory |
getRenderFactory()
Gets the factory to build render-related objects.
|
RenderStage |
getRenderStage()
Gets the current render stage.
|
IRenderTarget |
getRenderTarget()
Specify the render target that the following render operations will be performed on.
|
ShaderProgram |
getShader()
Gets the shader instance used for rendering the geometry.
|
ShaderSet |
getShaderSet()
Gets the shader set that used to render the scene
|
void |
render(IRenderTarget renderTarget)
Render the specified target
|
protected void |
renderAll(RenderQueueGroupId groupId)
Render all items in the specified render group
|
void |
setEnableShadows(boolean value)
Sets wheather to enabel shadows.
|
void |
setFrustum(Frustum value)
Sets the frustum that used to provide view matrix.
|
void |
setMaterial(Material value)
Sets the material that used to provide material information used by shaders.
|
void |
setNode(Node value)
Sets the
getNode() instance used to provide world transform matrix. |
void |
setPresetShaders(PresetShaders value)
Sets the preset shader set
|
void |
setShader(ShaderProgram value)
Sets the shader instance used for rendering the geometry.
|
void |
setShaderSet(ShaderSet value)
Sets the shader set that used to render the scene
|
void |
submitRenderTask(RenderQueueGroupId groupId,
int priority,
Node node,
IRenderable renderableTask)
Submit a render task to the render queue
|
public void render(IRenderTarget renderTarget) throws java.io.IOException
renderTarget
- java.io.IOException
public void clearCache() throws java.io.IOException
java.io.IOException
public ShaderSet getShaderSet()
public void setShaderSet(ShaderSet value) throws java.io.IOException
value
- New valuejava.io.IOException
public PresetShaders getPresetShaders()
public void setPresetShaders(PresetShaders value) throws java.io.IOException
value
- New valuejava.io.IOException
public abstract void bindRenderState(RenderState renderState)
renderState
- The render state to applypublic static Renderer getCurrentContext()
public abstract RenderFactory getRenderFactory()
public java.util.ArrayList<java.lang.String> getAssetDirectories()
public java.util.List<PostProcessing> getPostProcessings()
public PostProcessing getPostProcessing(java.lang.String name)
name
- public abstract void execute(PostProcessing postProcessing, IRenderTarget result)
public boolean getEnableShadows()
public void setEnableShadows(boolean value)
value
- New valuepublic IRenderTarget getRenderTarget()
public void setNode(Node value) throws java.io.IOException
getNode()
instance used to provide world transform matrix.value
- New valuejava.io.IOException
public Frustum getFrustum()
public void setFrustum(Frustum value)
value
- New valuepublic RenderStage getRenderStage()
public Material getMaterial()
public void setMaterial(Material value) throws java.io.IOException
value
- New valuejava.io.IOException
public ShaderProgram getShader()
public void setShader(ShaderProgram value)
value
- New valuepublic abstract void drawIndexed(DrawOperation drawOperation, IVertexBuffer vertexBuffer, IIndexBuffer indexBuffer, int count) throws java.io.IOException
drawOperation
- The primitive type of the geometryvertexBuffer
- Specify the vertex bufferindexBuffer
- Specify the index buffercount
- Specify the count of elements to be renderedjava.io.IOException
public abstract void draw(DrawOperation drawOperation, IVertexBuffer vertexBuffer, int first, int count) throws java.io.IOException
drawOperation
- The primitive type of the geometryvertexBuffer
- Specify the vertex bufferfirst
- Specify the first element to be renderedcount
- Specify the count of elements to be renderedjava.io.IOException
public void draw(DrawOperation drawOperation, IVertexBuffer vertexBuffer) throws java.io.IOException
drawOperation
- The primitive type of the geometryvertexBuffer
- Specify the vertex bufferjava.io.IOException
public void drawIndexed(DrawOperation drawOperation, IVertexBuffer vertexBuffer, IIndexBuffer indexBuffer) throws java.io.IOException
drawOperation
- The primitive type of the geometryvertexBuffer
- Specify the vertex bufferindexBuffer
- Specify the index bufferjava.io.IOException
protected void beginViewport(Viewport viewport)
protected void beginViewport(Viewport viewport, Frustum frustum)
protected void endViewport()
protected void beginTarget(IRenderTarget target)
target
- protected void endTarget() throws java.io.IOException
java.io.IOException
public static Renderer createRenderer()
Renderer
with default profile.RendererException
public void submitRenderTask(RenderQueueGroupId groupId, int priority, Node node, IRenderable renderableTask)
groupId
- priority
- The priority of this tasknode
- renderableTask
- protected void renderAll(RenderQueueGroupId groupId) throws java.io.IOException
groupId
- java.io.IOException
public void close() throws java.io.IOException
Renderer
and all related resourcesclose
in interface java.io.Closeable
close
in interface java.lang.AutoCloseable
java.io.IOException