|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.jme3.renderer.android.OGLESShaderRenderer
public class OGLESShaderRenderer
Constructor Summary | |
---|---|
OGLESShaderRenderer()
|
Method Summary | |
---|---|
void |
applyRenderState(RenderState state)
Applies the given RenderState , making the necessary
GL calls so that the state is applied. |
protected void |
bindProgram(Shader shader)
|
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 |
clearTextureUnits()
|
void |
clearVertexAttribs()
|
int |
convertElementMode(Mesh.Mode mode)
\ |* Render Calls *| \ |
int |
convertShaderType(Shader.ShaderType type)
|
void |
copyFrameBuffer(FrameBuffer src,
FrameBuffer dst)
\ |* Framebuffers *| \ |
void |
copyFrameBuffer(FrameBuffer src,
FrameBuffer dst,
boolean copyDepth)
Copies contents from src to dst, scaling if necessary. |
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. |
void |
drawTriangleArray(Mesh.Mode mode,
int count,
int vertCount)
|
void |
drawTriangleList_Array(VertexBuffer indexBuf,
Mesh mesh,
int count)
drawTriangleList_Array uses Vertex Array |
void |
drawTriangleList(VertexBuffer indexBuf,
Mesh mesh,
int count)
|
java.util.EnumSet<Caps> |
getCaps()
Get the capabilities of the renderer. |
Statistics |
getStatistics()
The statistics allow tracking of how data per frame, such as number of objects rendered, number of triangles, etc. |
void |
initialize()
|
void |
invalidateState()
Invalidates the current rendering state. |
void |
onFrame()
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 |
renderMesh(Mesh mesh,
int lod,
int count)
Renders count meshes, with the geometry data supplied. |
void |
resetGLObjects()
resetGLObjects should be called when die GLView gets recreated to reset all GPU objects |
protected void |
resetUniformLocations(Shader shader)
|
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 |
setDepthRange(float start,
float end)
\ |* Render State *| \ |
void |
setFrameBuffer(FrameBuffer fb)
Sets the framebuffer that will be drawn to. |
void |
setLighting(LightList list)
Set lighting state. |
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 |
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 |
setVertexAttrib_Array(VertexBuffer vb)
setVertexAttrib_Array uses Vertex Array |
void |
setVertexAttrib_Array(VertexBuffer vb,
VertexBuffer idb)
setVertexAttrib_Array uses Vertex Array |
void |
setVertexAttrib(VertexBuffer vb)
|
void |
setVertexAttrib(VertexBuffer vb,
VertexBuffer idb)
|
void |
setViewPort(int x,
int y,
int w,
int h)
\ |* Camera and World transforms *| \ |
void |
setViewProjectionMatrices(Matrix4f viewMatrix,
Matrix4f projMatrix)
Sets the view and projection matrices to use. |
void |
setWorldMatrix(Matrix4f worldMatrix)
Set the world matrix to use. |
void |
updateBufferData(VertexBuffer vb)
Uploads a vertex buffer to the GPU. |
void |
updateFrameBuffer(FrameBuffer fb)
|
void |
updateFrameBufferAttachment(FrameBuffer fb,
FrameBuffer.RenderBuffer rb)
|
protected void |
updateNameBuffer()
|
void |
updateRenderTexture(FrameBuffer fb,
FrameBuffer.RenderBuffer rb)
|
void |
updateShaderData(Shader shader)
|
void |
updateShaderSourceData(Shader.ShaderSource source)
|
protected void |
updateShaderUniforms(Shader shader)
|
void |
updateTexImageData(Image img,
Texture.Type type,
boolean needMips)
updateTexImageData activates and binds the texture |
protected void |
updateUniform(Shader shader,
Uniform uniform)
|
protected void |
updateUniformLocation(Shader shader,
Uniform uniform)
\ |* Shaders *| \ |
void |
updateVertexArray(Mesh mesh)
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public OGLESShaderRenderer()
Method Detail |
---|
protected void updateNameBuffer()
public Statistics getStatistics()
Renderer
Statistics.clearFrame()
at the appropriate time
to get accurate info per frame.
getStatistics
in interface Renderer
public java.util.EnumSet<Caps> getCaps()
Renderer
getCaps
in interface Renderer
public void initialize()
public void resetGLObjects()
resetGLObjects
should be called when die GLView gets recreated to reset all GPU objects
resetGLObjects
in interface Renderer
NativeObject.resetObject()
public void cleanup()
Renderer
Native Objects
on this Renderer, and
then resets the native objects.
cleanup
in interface Renderer
Renderer.resetGLObjects()
,
NativeObject#deleteObject(com.jme3.renderer.Renderer)
public void setDepthRange(float start, float end)
setDepthRange
in interface Renderer
start
- The range startend
- The range endpublic void clearBuffers(boolean color, boolean depth, boolean stencil)
Renderer
clearBuffers
in interface Renderer
color
- 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)
Renderer
setBackgroundColor
in interface Renderer
color
- The background color to setpublic void applyRenderState(RenderState state)
Renderer
RenderState
, making the necessary
GL calls so that the state is applied.
applyRenderState
in interface Renderer
public void setViewPort(int x, int y, int w, int h)
setViewPort
in interface Renderer
x
- The x coordinate of the viewporty
- The y coordinate of the viewportw
- Width of the viewporth
- Height of the viewportpublic void setClipRect(int x, int y, int width, int height)
Renderer
setClipRect
in interface Renderer
x
- 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()
Renderer
Renderer.setClipRect(int, int, int, int)
.
clearClipRect
in interface Renderer
public void onFrame()
Renderer
onFrame
in interface Renderer
public void setWorldMatrix(Matrix4f worldMatrix)
Renderer
setWorldMatrix
in interface Renderer
worldMatrix
- World matrix to use.public void setViewProjectionMatrices(Matrix4f viewMatrix, Matrix4f projMatrix)
Renderer
setViewProjectionMatrices
in interface Renderer
viewMatrix
- The view matrix to use.projMatrix
- The projection matrix to use.protected void updateUniformLocation(Shader shader, Uniform uniform)
protected void bindProgram(Shader shader)
protected void updateUniform(Shader shader, Uniform uniform)
protected void updateShaderUniforms(Shader shader)
protected void resetUniformLocations(Shader shader)
public void setLighting(LightList list)
Renderer
null
to disable lighting.
setLighting
in interface Renderer
list
- The light list to set.public int convertShaderType(Shader.ShaderType type)
public void updateShaderSourceData(Shader.ShaderSource source)
public void updateShaderData(Shader shader)
public void setShader(Shader shader)
Renderer
setShader
in interface Renderer
shader
- The shader to use for rendering.public void deleteShaderSource(Shader.ShaderSource source)
Renderer
deleteShaderSource
in interface Renderer
source
- The ShaderSource to delete.public void deleteShader(Shader shader)
Renderer
deleteShader
in interface Renderer
shader
- Shader to delete.public void copyFrameBuffer(FrameBuffer src, FrameBuffer dst)
copyFrameBuffer
in interface Renderer
public void copyFrameBuffer(FrameBuffer src, FrameBuffer dst, boolean copyDepth)
Renderer
copyFrameBuffer
in interface Renderer
public void updateRenderTexture(FrameBuffer fb, FrameBuffer.RenderBuffer rb)
public void updateFrameBufferAttachment(FrameBuffer fb, FrameBuffer.RenderBuffer rb)
public void updateFrameBuffer(FrameBuffer fb)
public void setMainFrameBufferOverride(FrameBuffer fb)
Renderer
setMainFrameBufferOverride
in interface Renderer
public void setFrameBuffer(FrameBuffer fb)
Renderer
setFrameBuffer
in interface Renderer
public void readFrameBuffer(FrameBuffer fb, java.nio.ByteBuffer byteBuf)
Renderer
readFrameBuffer
in interface Renderer
fb
- The framebuffer to read frombyteBuf
- The bytebuffer to transfer color data topublic void deleteFrameBuffer(FrameBuffer fb)
Renderer
deleteFrameBuffer
in interface Renderer
public void updateTexImageData(Image img, Texture.Type type, boolean needMips)
updateTexImageData
activates and binds the texture
img
- type
- needMips
- public void setTexture(int unit, Texture tex)
Renderer
setTexture
in interface Renderer
public void clearTextureUnits()
public void deleteImage(Image image)
Renderer
deleteImage
in interface Renderer
public void updateBufferData(VertexBuffer vb)
Renderer
updateBufferData
in interface Renderer
vb
- The vertex buffer to uploadpublic void deleteBuffer(VertexBuffer vb)
Renderer
deleteBuffer
in interface Renderer
vb
- The vertex buffer to deletepublic void clearVertexAttribs()
public void setVertexAttrib(VertexBuffer vb, VertexBuffer idb)
public void setVertexAttrib(VertexBuffer vb)
public void drawTriangleArray(Mesh.Mode mode, int count, int vertCount)
public void drawTriangleList(VertexBuffer indexBuf, Mesh mesh, int count)
public int convertElementMode(Mesh.Mode mode)
public void updateVertexArray(Mesh mesh)
public void renderMesh(Mesh mesh, int lod, int count)
Renderer
count
meshes, with the geometry data supplied.
The shader which is currently set with setShader
is
responsible for transforming the input verticies into clip space
and shading it based on the given vertex attributes.
The int variable gl_InstanceID can be used to access the current
instance of the mesh being rendered inside the vertex shader.
renderMesh
in interface Renderer
mesh
- The mesh to renderlod
- The LOD level to use, see Mesh.setLodLevels(com.jme3.scene.VertexBuffer[])
.count
- Number of mesh instances to renderpublic void drawTriangleList_Array(VertexBuffer indexBuf, Mesh mesh, int count)
indexBuf
- mesh
- count
- public void setVertexAttrib_Array(VertexBuffer vb, VertexBuffer idb)
vb
- idb
- public void setVertexAttrib_Array(VertexBuffer vb)
vb
- public void setAlphaToCoverage(boolean value)
Renderer
When 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 Renderer
public void invalidateState()
Renderer
invalidateState
in interface Renderer
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |