diff --git a/src/main/java/de/bixilon/minosoft/gui/rendering/chunk/models/renderable/BlockRenderer.kt b/src/main/java/de/bixilon/minosoft/gui/rendering/chunk/models/renderable/BlockRenderer.kt index e6f4695ab..8352ae8dc 100644 --- a/src/main/java/de/bixilon/minosoft/gui/rendering/chunk/models/renderable/BlockRenderer.kt +++ b/src/main/java/de/bixilon/minosoft/gui/rendering/chunk/models/renderable/BlockRenderer.kt @@ -93,7 +93,7 @@ class BlockRenderer(data: JsonObject, parent: BlockModel) { } // ToDo: Lightning is determined by cullface attribute - element.render(tintColor, lightAccessor.getLightLevel(position + direction), textureMapping, modelMatrix, direction, mesh) + element.render(tintColor, position, lightAccessor, textureMapping, modelMatrix, direction, mesh) } } } diff --git a/src/main/java/de/bixilon/minosoft/gui/rendering/chunk/models/renderable/ElementRenderer.kt b/src/main/java/de/bixilon/minosoft/gui/rendering/chunk/models/renderable/ElementRenderer.kt index 8f2e44590..922e302ff 100644 --- a/src/main/java/de/bixilon/minosoft/gui/rendering/chunk/models/renderable/ElementRenderer.kt +++ b/src/main/java/de/bixilon/minosoft/gui/rendering/chunk/models/renderable/ElementRenderer.kt @@ -17,6 +17,8 @@ import com.google.gson.JsonObject import de.bixilon.minosoft.data.Axes import de.bixilon.minosoft.data.Directions import de.bixilon.minosoft.data.text.RGBColor +import de.bixilon.minosoft.data.world.BlockPosition +import de.bixilon.minosoft.data.world.light.LightAccessor import de.bixilon.minosoft.gui.rendering.chunk.ChunkMesh import de.bixilon.minosoft.gui.rendering.chunk.models.loading.BlockModel import de.bixilon.minosoft.gui.rendering.chunk.models.loading.BlockModelElement @@ -50,7 +52,7 @@ class ElementRenderer(element: BlockModelElement, rotation: Vec3, uvLock: Boolea } - fun render(tintColor: RGBColor?, lightLevel: Byte, textureMapping: MutableMap, modelMatrix: Mat4, direction: Directions, mesh: ChunkMesh) { + fun render(tintColor: RGBColor?, position: BlockPosition, lightAccessor: LightAccessor, textureMapping: MutableMap, modelMatrix: Mat4, direction: Directions, mesh: ChunkMesh) { val realDirection = directionMapping[direction]!! val positionTemplate = BlockModelElement.FACE_POSITION_MAP_TEMPLATE[realDirection.ordinal] @@ -59,6 +61,7 @@ class ElementRenderer(element: BlockModelElement, rotation: Vec3, uvLock: Boolea // if (texture.isTransparent) { // return // ToDo: force render transparent faces // } + val lightLevel = lightAccessor.getLightLevel(position + face.cullFace) val drawPositions = arrayOf(positions[positionTemplate[0]], positions[positionTemplate[1]], positions[positionTemplate[2]], positions[positionTemplate[3]])