Class LightRenderer
java.lang.Object
foundry.veil.api.client.render.deferred.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
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddDebugInfo(Consumer<String> consumer) voidAdds a light to the renderer.voidApplies the shader set toVeilRenderSystem.voidclear()voidDisables ambient occlusion.voidEnables ambient occlusion.voidfree()@Nullable AdvancedFbogetLights(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.voidrender()voidsetup(CullFrustum frustum) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods 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:
freein interfaceorg.lwjgl.system.NativeResource
-
addDebugInfo
-