| Constructor and Description |
|---|
NullRenderer() |
| Modifier and Type | Method and Description |
|---|---|
void |
applyRenderState(RenderState state)
Applies the given
RenderState, making the necessary
GL calls so that the state is applied. |
void |
cleanup()
Deletes all previously used
Native Objects on this Renderer, and
then resets the native objects. |
void |
clearBuffers(boolean color,
boolean depth,
boolean stencil)
Clears certain channels of the currently bound framebuffer.
|
void |
clearClipRect()
Clears the clipping rectangle set with
Renderer.setClipRect(int, int, int, int). |
void |
copyFrameBuffer(FrameBuffer src,
FrameBuffer dst) |
void |
copyFrameBuffer(FrameBuffer src,
FrameBuffer dst,
boolean copyDepth)
Copies contents from src to dst, scaling if necessary.
|
void |
deleteBuffer(BufferObject bo)
Deletes the buffer object from the GPU.
|
void |
deleteBuffer(VertexBuffer vb)
Deletes a vertex buffer from the GPU.
|
void |
deleteFrameBuffer(FrameBuffer fb)
Deletes a framebuffer and all attached renderbuffers
|
void |
deleteImage(Image image)
Deletes a texture from the GPU.
|
void |
deleteShader(Shader shader)
Deletes a shader.
|
void |
deleteShaderSource(Shader.ShaderSource source)
Deletes the provided shader source.
|
int[] |
generateProfilingTasks(int numTasks)
Generates a pool of gpu queries meant to use as profiling tasks
|
boolean |
getAlphaToCoverage()
Gets the alpha to coverage state.
|
java.util.EnumSet<Caps> |
getCaps()
Get the capabilities of the renderer.
|
int |
getDefaultAnisotropicFilter()
Get the default anisotropic filter level for textures.
|
java.util.EnumMap<Limits,java.lang.Integer> |
getLimits()
Get the limits of the renderer.
|
long |
getProfilingTime(int taskId)
Returns the time in nano seconds elapsed for the task with the given id.
|
Statistics |
getStatistics()
The statistics allow tracking of how data
per frame, such as number of objects rendered, number of triangles, etc.
|
void |
initialize()
Detects available capabilities of the GPU.
|
void |
invalidateState()
Invalidates the current rendering state.
|
boolean |
isTaskResultAvailable(int taskId)
Check if the profiling results are available
|
void |
modifyTexture(Texture tex,
Image pixels,
int x,
int y)
Modify the given Texture with the given Image.
|
void |
postFrame()
Called when a new frame has been rendered.
|
void |
readFrameBuffer(FrameBuffer fb,
java.nio.ByteBuffer byteBuf)
Reads the pixels currently stored in the specified framebuffer
into the given ByteBuffer object.
|
void |
readFrameBufferWithFormat(FrameBuffer fb,
java.nio.ByteBuffer byteBuf,
Image.Format format)
Reads the pixels currently stored in the specified framebuffer
into the given ByteBuffer object.
|
void |
renderMesh(Mesh mesh,
int lod,
int count,
VertexBuffer[] instanceData)
Renders
count meshes, with the geometry data supplied and
per-instance data supplied. |
void |
resetGLObjects()
Resets all previously used
Native Objects on this Renderer. |
void |
setAlphaToCoverage(boolean value)
Sets the alpha to coverage state.
|
void |
setBackgroundColor(ColorRGBA color)
Sets the background (aka clear) color.
|
void |
setClipRect(int x,
int y,
int width,
int height)
Specifies a clipping rectangle.
|
void |
setDefaultAnisotropicFilter(int level)
Set the default anisotropic filter level for textures.
|
void |
setDepthRange(float start,
float end)
Set the range of the depth values for objects.
|
void |
setFrameBuffer(FrameBuffer fb)
Sets the framebuffer that will be drawn to.
|
void |
setLighting(LightList lights) |
void |
setLinearizeSrgbImages(boolean linearize)
|
void |
setMainFrameBufferOverride(FrameBuffer fb)
Set the framebuffer that will be set instead of the main framebuffer
when a call to setFrameBuffer(null) is made.
|
void |
setMainFrameBufferSrgb(boolean srgb)
If enabled, color values rendered to the main framebuffer undergo
linear -> sRGB conversion.
|
void |
setShader(Shader shader)
Sets the shader to use for rendering.
|
void |
setTexture(int unit,
Texture tex)
Sets the texture to use for the given texture unit.
|
void |
setViewPort(int x,
int y,
int width,
int height)
Set the viewport location and resolution on the screen.
|
void |
setViewProjectionMatrices(Matrix4f viewMatrix,
Matrix4f projMatrix) |
void |
setWorldMatrix(Matrix4f worldMatrix) |
void |
startProfiling(int id)
Starts a time profiling task on the GPU.
|
void |
stopProfiling()
Will stop the last profiling task started with startProfiling
|
void |
updateBufferData(BufferObject bo)
Uploads data of the buffer object on the GPU.
|
void |
updateBufferData(VertexBuffer vb)
Uploads a vertex buffer to the GPU.
|
public void initialize()
Rendererinitialize in interface Rendererpublic java.util.EnumMap<Limits,java.lang.Integer> getLimits()
Rendererpublic java.util.EnumSet<Caps> getCaps()
Rendererpublic Statistics getStatistics()
RendererStatistics.clearFrame() at the appropriate time
to get accurate info per frame.getStatistics in interface Rendererpublic void invalidateState()
RendererinvalidateState in interface Rendererpublic void clearBuffers(boolean color,
boolean depth,
boolean stencil)
RendererclearBuffers in interface Renderercolor - True if to clear colors (RGBA)depth - True if to clear depth/zstencil - True if to clear stencil buffer (if available, otherwise
ignored)public void setBackgroundColor(ColorRGBA color)
RenderersetBackgroundColor in interface Renderercolor - The background color to setpublic void applyRenderState(RenderState state)
RendererRenderState, making the necessary
GL calls so that the state is applied.applyRenderState in interface Rendererpublic void setDepthRange(float start,
float end)
RenderersetDepthRange in interface Rendererstart - The range startend - The range endpublic void postFrame()
Rendererpublic void setWorldMatrix(Matrix4f worldMatrix)
public void setViewProjectionMatrices(Matrix4f viewMatrix, Matrix4f projMatrix)
public void setViewPort(int x,
int y,
int width,
int height)
RenderersetViewPort in interface Rendererx - The x coordinate of the viewporty - The y coordinate of the viewportwidth - Width of the viewportheight - Height of the viewportpublic void setClipRect(int x,
int y,
int width,
int height)
RenderersetClipRect in interface Rendererx - The x coordinate of the clip recty - The y coordinate of the clip rectwidth - Width of the clip rectheight - Height of the clip rectpublic void clearClipRect()
RendererRenderer.setClipRect(int, int, int, int).clearClipRect in interface Rendererpublic void setLighting(LightList lights)
public void setShader(Shader shader)
Rendererpublic void deleteShader(Shader shader)
RendererdeleteShader in interface Renderershader - Shader to delete.Renderer.deleteShaderSource(com.jme3.shader.Shader.ShaderSource)public void deleteShaderSource(Shader.ShaderSource source)
RendererdeleteShaderSource in interface Renderersource - The ShaderSource to delete.public void copyFrameBuffer(FrameBuffer src, FrameBuffer dst)
public void copyFrameBuffer(FrameBuffer src, FrameBuffer dst, boolean copyDepth)
RenderercopyFrameBuffer in interface Rendererpublic void setMainFrameBufferOverride(FrameBuffer fb)
RenderersetMainFrameBufferOverride in interface Rendererfb - The framebuffer to override the main framebuffer.public void setFrameBuffer(FrameBuffer fb)
RenderersetFrameBuffer in interface Rendererfb - The framebuffer to setpublic void readFrameBuffer(FrameBuffer fb, java.nio.ByteBuffer byteBuf)
RendererreadFrameBuffer in interface Rendererfb - The framebuffer to read frombyteBuf - The bytebuffer to transfer color data topublic void deleteFrameBuffer(FrameBuffer fb)
RendererdeleteFrameBuffer in interface Rendererpublic void setTexture(int unit,
Texture tex)
RenderersetTexture in interface Rendererpublic void modifyTexture(Texture tex, Image pixels, int x, int y)
RenderermodifyTexture in interface Renderertex - the Texture that will be modifiedpixels - the source Image data to copy data fromx - the x position to put the image into the texturey - the y position to put the image into the texturepublic void updateBufferData(VertexBuffer vb)
RendererupdateBufferData in interface Renderervb - The vertex buffer to uploadpublic void updateBufferData(BufferObject bo)
RendererupdateBufferData in interface Rendererbo - the buffer object to upload.public void deleteBuffer(VertexBuffer vb)
RendererdeleteBuffer in interface Renderervb - The vertex buffer to deletepublic void deleteBuffer(BufferObject bo)
RendererdeleteBuffer in interface Rendererbo - the buffer object to delete.public void renderMesh(Mesh mesh, int lod, int count, VertexBuffer[] instanceData)
Renderercount meshes, with the geometry data supplied and
per-instance data supplied.
The shader which is currently set with setShader is
responsible for transforming the input vertices into clip space
and shading it based on the given vertex attributes.
The integer variable gl_InstanceID can be used to access the current
instance of the mesh being rendered inside the vertex shader.
If the instance data is non-null, then it is submitted as a
per-instance vertex attribute to the shader.renderMesh in interface Renderermesh - The mesh to renderlod - The LOD level to use, see Mesh.setLodLevels(com.jme3.scene.VertexBuffer[]).count - Number of mesh instances to renderinstanceData - When count is greater than 1, these buffers provide
the per-instance attributes.public void resetGLObjects()
RendererNative Objects on this Renderer.
The state of the native objects is reset in such way, that using
them again will cause the renderer to reupload them.
Call this method when you know the GL context is going to shutdown.resetGLObjects in interface RendererNativeObject.resetObject()public void cleanup()
RendererNative Objects on this Renderer, and
then resets the native objects.cleanup in interface RendererRenderer.resetGLObjects(),
NativeObject.deleteObject(java.lang.Object)public void deleteImage(Image image)
RendererdeleteImage in interface Rendererpublic void setAlphaToCoverage(boolean value)
RendererWhen alpha coverage and multi-sampling is enabled, each pixel will contain alpha coverage in all of its subsamples, which is then combined when other future alpha-blended objects are rendered.
Alpha-to-coverage is useful for rendering transparent objects without having to worry about sorting them.
setAlphaToCoverage in interface Rendererpublic void setMainFrameBufferSrgb(boolean srgb)
RendererFrameBuffer.setSrgb(boolean) except it is toggled
for the main framebuffer instead of an offscreen buffer.
This should be set together with Renderer.setLinearizeSrgbImages(boolean)
As a shorthand, the user can set AppSettings.setGammaCorrection(boolean) to true
to toggle both Renderer.setLinearizeSrgbImages(boolean) and
Renderer.setMainFrameBufferSrgb(boolean) if the
Caps.Srgb is supported by the GPU.setMainFrameBufferSrgb in interface RendererFrameBuffer.setSrgb(boolean),
Caps.Srgbpublic void setLinearizeSrgbImages(boolean linearize)
Rendererimages with the sRGB flag
set shall undergo an sRGB to linear RGB color conversion when read by a shader.
The conversion is performed for the following formats:
- Image.Format.RGB8
- Image.Format.RGBA8
- Image.Format.Luminance8
- Image.Format.Luminance8Alpha8
- Image.Format.DXT1
- Image.Format.DXT1A
- Image.Format.DXT3
- Image.Format.DXT5
For all other formats, no conversion is performed.
If this option is toggled at runtime, textures must be reloaded for the change to take effect.setLinearizeSrgbImages in interface Rendererlinearize - If sRGB images undergo sRGB -> linear conversion prior to rendering.Caps.Srgbpublic int[] generateProfilingTasks(int numTasks)
RenderergenerateProfilingTasks in interface RenderernumTasks - the number of task ids to generatepublic void startProfiling(int id)
RendererstartProfiling in interface Rendererid - the id of the task to start profiling.public void stopProfiling()
RendererstopProfiling in interface Rendererpublic long getProfilingTime(int taskId)
RenderergetProfilingTime in interface RenderertaskId - the id of the task given by startProfiling.public boolean isTaskResultAvailable(int taskId)
RendererisTaskResultAvailable in interface RenderertaskId - the id of the task provided by startProfilingpublic void readFrameBufferWithFormat(FrameBuffer fb, java.nio.ByteBuffer byteBuf, Image.Format format)
RendererreadFrameBufferWithFormat in interface Rendererfb - The framebuffer to read frombyteBuf - The bytebuffer to transfer color data toformat - the image format to use when reading the frameBuffer.public void setDefaultAnisotropicFilter(int level)
Renderertexture anisotropic filter is
set to 0, then the default level is used. Otherwise if the texture level
is 1 or greater, then the texture's value overrides the default value.setDefaultAnisotropicFilter in interface Rendererlevel - The default anisotropic filter level to use. Default: 1.public boolean getAlphaToCoverage()
RenderergetAlphaToCoverage in interface Rendererpublic int getDefaultAnisotropicFilter()
RenderergetDefaultAnisotropicFilter in interface Renderer