promotional bannermobile promotional banner

Veil Volume Lights

Veil addon library that adds support for colored mediums
Volumetric light example

Volumetric light example

Description

Veil Volume Lights

A client rendering library for Veil point, spot, and rectangular area lights with continuous transparent-medium volumes.

The public API is under com.cappleapple.veilvolumelights.api.client. Create a persistent VolumeLightHandle with VeilVolumeLights.create(...), update it when the source changes, and free it when the source disappears.

VolumeLightHandle point = VeilVolumeLights.create(new VolumeLight.Point(
        position, color, 1.0F, 16.0F, true, 0.6F
));

VolumeLightHandle spot = VeilVolumeLights.create(new VolumeLight.Spot(
        position, forward, up, color, 1.0F, 40.0F,
        24.0F, 10.0F, true, 0.8F
));

VolumeLightHandle area = VeilVolumeLights.create(new VolumeLight.Area(
        position, forward, up, color, 1.0F, 24.0F,
        4.0F, 2.0F, 70.0F, true, 0.7F
));

Definitions use full cone/spread angles in degrees and full area width/height in blocks. Calls are client-side and should be made on the render thread.

For visual testing, use the Functional Blocks creative tab or:

/give @s veilvolumelights:test_point_light
/give @s veilvolumelights:test_spot_light
/give @s veilvolumelights:test_area_light

Development

Requires Java 21.

./gradlew.bat test build
./gradlew.bat runClient

Veil Volume Lights is available under the MIT License.

The reference integration is Veil Lights for TaCZ.

The Veil Volume Lights Team

profile avatar
  • 19
    Projects
  • 20.9K
    Downloads

Meaning Not Monotony

More from CappleAppleView all