Package gaiasky.util.gdx.shader
Interface IntShader
- All Superinterfaces:
com.badlogic.gdx.utils.Disposable
- All Known Implementing Classes:
AtmosphereShader
,BaseIntShader
,DefaultIntShader
,DepthIntShader
,GroundShader
,PBRDepthShader
,PBRShader
,RelativisticShader
,TessellationShader
public interface IntShader
extends com.badlogic.gdx.utils.Disposable
-
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.boolean
canRender
(IntRenderable instance) Checks whether this shader is intended to render theIntRenderable
.int
Compare this shader against the other, used for sorting, light weight shaders are rendered first.void
end()
Cleanup the context so other shaders can render.void
init()
Initializes the IntShader, must be called before the IntShader can be used.void
render
(IntRenderable renderable) Methods inherited from interface com.badlogic.gdx.utils.Disposable
dispose
-
Method Details
-
init
void init()Initializes the IntShader, must be called before the IntShader can be used. This typically compiles aShaderProgram
, fetches uniform locations and performs other preparations for usage of the IntShader. -
compareTo
Compare this shader against the other, used for sorting, light weight shaders are rendered first. -
canRender
Checks whether this shader is intended to render theIntRenderable
. Use this to make sure a call to therender(IntRenderable)
method will succeed. This is expected to be a fast, non-blocking method. Note that this method will only return true if it is intended to be used. Even when it returns false the IntShader might still be capable of rendering, but it's not preferred to do so.- Parameters:
instance
- The renderable to check against this shader.- Returns:
- true if this shader is intended to render the
IntRenderable
, false otherwise.
-
begin
void begin(com.badlogic.gdx.graphics.Camera camera, com.badlogic.gdx.graphics.g3d.utils.RenderContext context) Initializes the context for exclusive rendering by this shader. Use therender(IntRenderable)
method to render aIntRenderable
. When done rendering theend()
method must be called.- 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 theend()
method.
-
render
Renders theIntRenderable
, must be called betweenbegin(Camera, RenderContext)
andend()
. The IntShader instance might not be able to render every type ofIntRenderable
s. Use thecanRender(IntRenderable)
method to check if the IntShader is capable of rendering a specificIntRenderable
.- Parameters:
renderable
- The renderable to render, all required fields (e.g.IntRenderable.material
and others) must be set. TheIntRenderable.shader
field will be ignored.
-
end
void end()Cleanup the context so other shaders can render. Must be called when done rendering using therender(IntRenderable)
method, which must be preceded by a call tobegin(Camera, RenderContext)
. After a call to this method an call to therender(IntRenderable)
method will fail until thebegin(Camera, RenderContext)
is called.
-