fix sky color

This commit is contained in:
Bixilon 2021-12-14 00:25:24 +01:00
parent 5ef26e644c
commit 7ed427ce8a
No known key found for this signature in database
GPG Key ID: 5CAD791931B09AC4
2 changed files with 20 additions and 6 deletions

View File

@ -3,6 +3,7 @@ package de.bixilon.minosoft.gui.rendering.camera
import de.bixilon.minosoft.data.text.ChatColors
import de.bixilon.minosoft.data.text.RGBColor
import de.bixilon.minosoft.gui.rendering.RenderWindow
import de.bixilon.minosoft.gui.rendering.sky.SkyRenderer
class FogManager(
private val renderWindow: RenderWindow,
@ -26,8 +27,15 @@ class FogManager(
}
private fun calculateFog() {
fogStart = renderWindow.connection.world.view.viewDistance * 16.0f
fogEnd = fogStart + 10.0f
if (!renderWindow.connection.profiles.rendering.fog.enabled) {
// ToDo: This is not improving performance
fogStart = Float.MAX_VALUE
fogEnd = Float.MAX_VALUE
} else {
fogStart = renderWindow.connection.world.view.viewDistance * 16.0f
fogEnd = fogStart + 10.0f
}
renderWindow[SkyRenderer]?.let { fogColor = it.baseColor }
}

View File

@ -120,12 +120,18 @@ class SkyRenderer(
val brightness = 1.0f
val skyColor = RGBColor((baseColor.red * brightness).toInt(), (baseColor.green * brightness).toInt(), (baseColor.blue * brightness).toInt())
baseColor = connection.world.getBiome(connection.player.positionInfo.blockPosition)?.skyColor ?: RenderConstants.DEFAULT_SKY_COLOR
for (shader in renderWindow.renderSystem.shaders) {
if (shader.uniforms.contains("uSkyColor")) {
shader.use().setRGBColor("uSkyColor", skyColor)
connection.world.dimension?.hasSkyLight?.let {
baseColor = if (it) {
connection.player.positionInfo.biome?.skyColor ?: RenderConstants.DEFAULT_SKY_COLOR
} else {
RenderConstants.BLACK_COLOR
}
}
} ?: let { baseColor = RenderConstants.DEFAULT_SKY_COLOR }
skyboxShader.use().setRGBColor("uSkyColor", skyColor)
}
private fun drawSkybox() {