Class LightRenderer
java.lang.Object
foundry.veil.api.client.render.light.renderer.LightRenderer
- All Implemented Interfaces:
AutoCloseable
,org.lwjgl.system.NativeResource
Renders all lights in a scene.
Lights can be added with addLight(Light)
, and subsequently removed with
removeLight(Light)
. Lights are automatically updated the next time render()
is called if Light.isDirty()
is true
.
There is no way to retrieve a light, so care should be taken to keep track of what lights have been added to the scene and when they should be removed.
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
addDebugInfo
(Consumer<String> consumer) void
Adds a light to the renderer.void
Applies the shader set toVeilRenderSystem
.void
clear()
void
Disables ambient occlusion.void
Enables ambient occlusion.void
free()
@Nullable AdvancedFbo
getLights
(LightTypeRegistry.LightType<? extends T> type) Retrieves all lights of the specified type.boolean
<T extends Light>
voidremoveLight
(T light) Removes the specified light from the renderer.void
render()
void
setup
(CullFrustum frustum) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.lwjgl.system.NativeResource
close
-
Constructor Details
-
LightRenderer
public LightRenderer()Creates a new light renderer.
-
-
Method Details
-
applyShader
public void applyShader()Applies the shader set toVeilRenderSystem
. -
setup
-
clear
@Internal public void clear() -
render
@Internal public void render() -
addLight
Adds a light to the renderer.- Parameters:
light
- The light to add
-
removeLight
Removes the specified light from the renderer.- Parameters:
light
- The light to remove
-
getLights
Retrieves all lights of the specified type.- Parameters:
type
- The type of lights to get- Returns:
- A list of lights for the specified type in the scene
-
enableAmbientOcclusion
public void enableAmbientOcclusion()Enables ambient occlusion. -
disableAmbientOcclusion
public void disableAmbientOcclusion()Disables ambient occlusion. -
getFramebuffer
- Returns:
- The deferred framebuffer being read from
-
isAmbientOcclusionEnabled
public boolean isAmbientOcclusionEnabled()- Returns:
- Whether chunks can have ambient occlusion
-
free
public void free()- Specified by:
free
in interfaceorg.lwjgl.system.NativeResource
-
addDebugInfo
-