public abstract class Renderer
extends java.lang.Object
implements java.io.Closeable
Modifier and Type | Field and Description |
---|---|
protected java.util.HashMap<java.lang.String,EntityRenderer> |
entityRenderersByKey
Registered entity renderers
|
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
|
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. |
protected void |
dispose(boolean disposing)
Dispose the
Renderer and all related resources |
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
|
abstract ICommandList |
getCommandList(RenderQueueGroupId queueGroup)
Gets the command list for specified render queue
|
boolean |
getEnableShadows()
Gets wheather to enabel shadows.
|
protected EntityRenderer |
getEntityRenderer(Entity entity)
Get the entity renderer that used to render the specified entity, or return fallback renderer if no entity renderer was registered.
|
EntityRenderer |
getFallbackEntityRenderer()
Gets the fallback entity renderer when the entity has no special renderer defined.
|
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
|
RendererVariableManager |
getVariables()
Access to the internal variables used for rendering
|
void |
registerEntityRenderer(EntityRenderer renderer)
Register the entity renderer for specified entity
|
void |
render(IRenderTarget renderTarget)
Render the specified target
|
void |
setEnableShadows(boolean value)
Sets wheather to enabel shadows.
|
void |
setFallbackEntityRenderer(EntityRenderer value)
Sets the fallback entity renderer when the entity has no special renderer defined.
|
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
|
protected java.util.HashMap<java.lang.String,EntityRenderer> entityRenderersByKey
public EntityRenderer getFallbackEntityRenderer()
public void setFallbackEntityRenderer(EntityRenderer value)
value
- New valuepublic void registerEntityRenderer(EntityRenderer renderer)
renderer
- protected EntityRenderer getEntityRenderer(Entity entity)
entity
- public abstract ICommandList getCommandList(RenderQueueGroupId queueGroup)
queueGroup
- public void render(IRenderTarget renderTarget)
renderTarget
- 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 RendererVariableManager getVariables()
public PresetShaders getPresetShaders()
public void setPresetShaders(PresetShaders value) throws java.io.IOException
value
- New valuejava.io.IOException
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)
getNode()
instance used to provide world transform matrix.value
- New valuepublic Frustum getFrustum()
public void setFrustum(Frustum value)
value
- New valuepublic RenderStage getRenderStage()
public Material getMaterial()
public void setMaterial(Material value)
value
- New valuepublic ShaderProgram getShader()
public void setShader(ShaderProgram value)
value
- New valueprotected void beginViewport(Viewport viewport)
protected void beginViewport(Viewport viewport, Frustum frustum)
protected void endViewport()
protected void beginTarget(IRenderTarget target)
target
- protected void endTarget()
public static Renderer createRenderer()
Renderer
with default profile.RendererException
protected void dispose(boolean disposing) throws java.io.IOException
Renderer
and all related resourcesdisposing
- 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