Class SpotLightData
java.lang.Object
foundry.veil.api.client.render.light.data.LightData
foundry.veil.api.client.render.light.data.SpotLightData
- All Implemented Interfaces:
EditorAttributeProvider,DDALightData,InstancedLightData,LightGuideProvider
public class SpotLightData
extends LightData
implements InstancedLightData, DDALightData, EditorAttributeProvider, LightGuideProvider
Represents a light emitting quad in the world.
- Since:
- 4.4.0
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected floatprotected floatprotected floatprotected booleanprotected final org.joml.Quaternionfprotected final org.joml.Vector3dprotected floatFields inherited from class foundry.veil.api.client.render.light.data.LightData
brightness, color -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionfloatgetAngle()floatfloatorg.joml.Quaternionfcorg.joml.QuaternionfAllows the value to be safely modified.org.joml.Vector3dcorg.joml.Vector3dAllows the value to be safely modified.floatgetSize()getType()booleanbooleanisVisible(CullFrustum frustum) Checks if this light is visible to the camera.voidRenders all ImGui attributes into the current editor panel.voidrenderLightGuide(MatrixStack stack, com.mojang.blaze3d.vertex.VertexConsumer consumer) Render the light guides using the VertexConsumer.setAngle(float angle) Sets the maximum angle the light can influence.setBrightness(float brightness) Sets the brightness of the light.setColor(float red, float green, float blue) Sets the RGB color of this light.setColor(int color) Sets the RGB color of this light.Sets the RGB color of this light.setColor(org.joml.Vector3fc color) Sets the RGB color of this light.setDistance(float distance) Sets the maximum distance the light can influence.setInscatteringStrength(float inscattering) setOcclusionEnabled(boolean occlusionEnabled) setSize(float size) Sets the size of the light's surfacesetTo(net.minecraft.client.Camera camera) Sets the light position/rotation to be the same as the specified camera.voidstore(ByteBuffer buffer) Stores the data of this light into the specified buffer.Methods inherited from class foundry.veil.api.client.render.light.data.LightData
getBrightness, getColor, getColorMutable, getRevision, markDirty
-
Field Details
-
position
protected final org.joml.Vector3d position -
orientation
protected final org.joml.Quaternionf orientation -
size
protected float size -
angle
protected float angle -
distance
protected float distance -
occlusionEnabled
protected boolean occlusionEnabled -
inscattering
protected float inscattering
-
-
Constructor Details
-
SpotLightData
public SpotLightData()
-
-
Method Details
-
getType
-
getPosition
public org.joml.Vector3dc getPosition()- Returns:
- The XYZ position of this light in the world
-
getPositionMutable
public org.joml.Vector3d getPositionMutable()Allows the value to be safely modified.- Returns:
- The XYZ position of this light in the world
-
getOrientation
public org.joml.Quaternionfc getOrientation()- Returns:
- The current orientation of the light
-
getOrientationMutable
public org.joml.Quaternionf getOrientationMutable()Allows the value to be safely modified.- Returns:
- The current orientation of the light
-
getSize
public float getSize()- Returns:
- The size of the light's surface
-
getAngle
public float getAngle()- Returns:
- The maximum angle of the light from the plane's surface.
-
getDistance
public float getDistance()- Returns:
- The maximum distance the light can travel
-
isOcclusionEnabled
public boolean isOcclusionEnabled()- Specified by:
isOcclusionEnabledin interfaceDDALightData- Returns:
- Whether occlusion is enabled
-
getInscatteringStrength
public float getInscatteringStrength()- Returns:
- The strength of the light's in-scattering effect.
- Since:
- 4.4.0
-
setSize
Sets the size of the light's surface- Parameters:
size- The size, in blocks, of the light's surface.
-
setAngle
Sets the maximum angle the light can influence.- Parameters:
angle- The maximum angle of the light's influence in radians
-
setDistance
Sets the maximum distance the light can influence.- Parameters:
distance- The maximum area of influence for the light
-
setOcclusionEnabled
-
setInscatteringStrength
- Since:
- 4.4.0
-
setColor
Description copied from class:LightDataSets the RGB color of this light. -
setColor
Description copied from class:LightDataSets the RGB color of this light. -
setColor
Description copied from class:LightDataSets the RGB color of this light. -
setColor
Description copied from class:LightDataSets the RGB color of this light. -
setBrightness
Description copied from class:LightDataSets the brightness of the light. This acts as a multiplier on the light's color.- Overrides:
setBrightnessin classLightData- Parameters:
brightness- The new brightness of the light.
-
store
Description copied from interface:InstancedLightDataStores the data of this light into the specified buffer.- Specified by:
storein interfaceInstancedLightData- Parameters:
buffer- The buffer to fill
-
isVisible
Description copied from class:LightDataChecks if this light is visible to the camera. -
setTo
Description copied from class:LightDataSets the light position/rotation to be the same as the specified camera. -
renderImGuiAttributes
public void renderImGuiAttributes()Description copied from interface:EditorAttributeProviderRenders all ImGui attributes into the current editor panel.- Specified by:
renderImGuiAttributesin interfaceEditorAttributeProvider
-
renderLightGuide
Description copied from interface:LightGuideProviderRender the light guides using the VertexConsumer.- Specified by:
renderLightGuidein interfaceLightGuideProvider
-