Package gaiasky.util.gdx.shader
Class BaseIntShader
java.lang.Object
gaiasky.util.gdx.shader.BaseIntShader
- All Implemented Interfaces:
com.badlogic.gdx.utils.Disposable
,IntShader
- Direct Known Subclasses:
AtmosphereShader
,DefaultIntShader
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic class
static class
static interface
static class
static interface
-
Field Summary
Modifier and TypeFieldDescriptioncom.badlogic.gdx.graphics.Camera
com.badlogic.gdx.graphics.g3d.utils.RenderContext
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
begin
(com.badlogic.gdx.graphics.Camera camera, com.badlogic.gdx.graphics.g3d.utils.RenderContext context) Initializes the context for exclusive rendering by this shader.void
dispose()
void
end()
Cleanup the context so other shaders can render.getUniformAlias
(int id) int
getUniformID
(String alias) final boolean
has
(int inputID) Whether this IntShader instance implements the specified uniform, only valid after a call to init().void
init
(ExtShaderProgram program, IntRenderable renderable) Initialize this shader, causing all registered uniforms/attributes to be fetched.final int
loc
(int inputID) int
register
(BaseIntShader.Uniform uniform) int
register
(BaseIntShader.Uniform uniform, BaseIntShader.Setter setter) int
int
register
(String alias, BaseIntShader.Setter setter) int
register
(String alias, BaseIntShader.Validator validator) int
register
(String alias, BaseIntShader.Validator validator, BaseIntShader.Setter setter) Register an uniform which might be used by this shader.void
render
(IntRenderable renderable) Renders theIntRenderable
, must be called betweenIntShader.begin(Camera, RenderContext)
andIntShader.end()
.void
render
(IntRenderable renderable, Attributes combinedAttributes) void
renderMesh
(ExtShaderProgram program, IntMeshPart meshPart) If necessary, override.final boolean
set
(int uniform, float value) final boolean
set
(int uniform, float v1, float v2) final boolean
set
(int uniform, float v1, float v2, float v3) final boolean
set
(int uniform, float v1, float v2, float v3, float v4) final boolean
set
(int uniform, int value) final boolean
set
(int uniform, int v1, int v2) final boolean
set
(int uniform, int v1, int v2, int v3) final boolean
set
(int uniform, int v1, int v2, int v3, int v4) final boolean
set
(int uniform, com.badlogic.gdx.graphics.Color value) final boolean
set
(int uniform, com.badlogic.gdx.graphics.g3d.utils.TextureDescriptor textureDesc) final boolean
set
(int uniform, com.badlogic.gdx.graphics.GLTexture texture) final boolean
set
(int uniform, com.badlogic.gdx.math.Matrix3 value) final boolean
set
(int uniform, com.badlogic.gdx.math.Matrix4 value) final boolean
set
(int uniform, com.badlogic.gdx.math.Vector2 value) final boolean
set
(int uniform, com.badlogic.gdx.math.Vector3 value)
-
Field Details
-
program
-
context
public com.badlogic.gdx.graphics.g3d.utils.RenderContext context -
camera
public com.badlogic.gdx.graphics.Camera camera
-
-
Constructor Details
-
BaseIntShader
public BaseIntShader()
-
-
Method Details
-
register
Register an uniform which might be used by this shader. Only possible prior to the call to init().- Returns:
- The ID of the uniform to use in this shader.
-
register
-
register
-
register
-
register
-
register
-
getUniformID
- Returns:
- the ID of the input or negative if not available.
-
getUniformAlias
- Returns:
- The input at the specified id.
-
init
Initialize this shader, causing all registered uniforms/attributes to be fetched. -
begin
public void begin(com.badlogic.gdx.graphics.Camera camera, com.badlogic.gdx.graphics.g3d.utils.RenderContext context) Description copied from interface:IntShader
Initializes the context for exclusive rendering by this shader. Use theIntShader.render(IntRenderable)
method to render aIntRenderable
. When done rendering theIntShader.end()
method must be called.- Specified by:
begin
in interfaceIntShader
- Parameters:
camera
- The camera to use when renderingcontext
- The context to be used, which must be exclusive available for the shader until the call to theIntShader.end()
method.
-
render
Description copied from interface:IntShader
Renders theIntRenderable
, must be called betweenIntShader.begin(Camera, RenderContext)
andIntShader.end()
. The IntShader instance might not be able to render every type ofIntRenderable
s. Use theIntShader.canRender(IntRenderable)
method to check if the IntShader is capable of rendering a specificIntRenderable
.- Specified by:
render
in interfaceIntShader
- Parameters:
renderable
- The renderable to render, all required fields (e.g.IntRenderable.material
and others) must be set. TheIntRenderable.shader
field will be ignored.
-
render
-
renderMesh
If necessary, override.- Parameters:
program
- The shader program.meshPart
- The mesh part.
-
end
public void end()Description copied from interface:IntShader
Cleanup the context so other shaders can render. Must be called when done rendering using theIntShader.render(IntRenderable)
method, which must be preceded by a call toIntShader.begin(Camera, RenderContext)
. After a call to this method an call to theIntShader.render(IntRenderable)
method will fail until theIntShader.begin(Camera, RenderContext)
is called. -
dispose
public void dispose()- Specified by:
dispose
in interfacecom.badlogic.gdx.utils.Disposable
-
has
public final boolean has(int inputID) Whether this IntShader instance implements the specified uniform, only valid after a call to init(). -
loc
public final int loc(int inputID) -
set
public final boolean set(int uniform, com.badlogic.gdx.math.Matrix4 value) -
set
public final boolean set(int uniform, com.badlogic.gdx.math.Matrix3 value) -
set
public final boolean set(int uniform, com.badlogic.gdx.math.Vector3 value) -
set
public final boolean set(int uniform, com.badlogic.gdx.math.Vector2 value) -
set
public final boolean set(int uniform, com.badlogic.gdx.graphics.Color value) -
set
public final boolean set(int uniform, float value) -
set
public final boolean set(int uniform, float v1, float v2) -
set
public final boolean set(int uniform, float v1, float v2, float v3) -
set
public final boolean set(int uniform, float v1, float v2, float v3, float v4) -
set
public final boolean set(int uniform, int value) -
set
public final boolean set(int uniform, int v1, int v2) -
set
public final boolean set(int uniform, int v1, int v2, int v3) -
set
public final boolean set(int uniform, int v1, int v2, int v3, int v4) -
set
public final boolean set(int uniform, com.badlogic.gdx.graphics.g3d.utils.TextureDescriptor textureDesc) -
set
public final boolean set(int uniform, com.badlogic.gdx.graphics.GLTexture texture)
-