minor chunk rendering performance improvements

This commit is contained in:
Moritz Zwerger 2023-11-04 21:03:58 +01:00
parent 6fd7f325a8
commit a3edf41a55
No known key found for this signature in database
GPG Key ID: 5CAD791931B09AC4
3 changed files with 13 additions and 3 deletions

View File

@ -20,10 +20,10 @@ import de.bixilon.minosoft.data.registries.identified.ResourceLocation
import de.bixilon.minosoft.gui.rendering.models.block.state.render.BlockRender
open class BlockState(
val block: Block,
@JvmField val block: Block,
val luminance: Int,
) {
var model: BlockRender? = null
@JvmField var model: BlockRender? = null
constructor(block: Block, settings: BlockStateSettings) : this(block, settings.luminance)

View File

@ -25,7 +25,7 @@ import de.bixilon.minosoft.protocol.protocol.ProtocolDefinition
class SectionLight(
val section: ChunkSection,
var light: ByteArray = ByteArray(ProtocolDefinition.BLOCKS_PER_SECTION), // packed (skyLight: 0xF0, blockLight: 0x0F)
@JvmField var light: ByteArray = ByteArray(ProtocolDefinition.BLOCKS_PER_SECTION), // packed (skyLight: 0xF0, blockLight: 0x0F)
) : AbstractSectionLight() {
fun onBlockChange(x: Int, y: Int, z: Int, previous: BlockState?, state: BlockState?) {

View File

@ -69,6 +69,16 @@ object FaceCulling {
return area
}
private inline fun minOf(a: Float, b: Float): Float {
if (a < b) return a
return b
}
private inline fun maxOf(a: Float, b: Float): Float {
if (a > b) return a
return b
}
private fun FaceProperties.getSideArea(target: FaceProperties): Float {
val start = start.array
val targetStart = target.start.array