mirror of
https://gitlab.bixilon.de/bixilon/minosoft.git
synced 2025-09-17 11:24:56 -04:00
fix sky color
This commit is contained in:
parent
5ef26e644c
commit
7ed427ce8a
@ -3,6 +3,7 @@ package de.bixilon.minosoft.gui.rendering.camera
|
|||||||
import de.bixilon.minosoft.data.text.ChatColors
|
import de.bixilon.minosoft.data.text.ChatColors
|
||||||
import de.bixilon.minosoft.data.text.RGBColor
|
import de.bixilon.minosoft.data.text.RGBColor
|
||||||
import de.bixilon.minosoft.gui.rendering.RenderWindow
|
import de.bixilon.minosoft.gui.rendering.RenderWindow
|
||||||
|
import de.bixilon.minosoft.gui.rendering.sky.SkyRenderer
|
||||||
|
|
||||||
class FogManager(
|
class FogManager(
|
||||||
private val renderWindow: RenderWindow,
|
private val renderWindow: RenderWindow,
|
||||||
@ -26,8 +27,15 @@ class FogManager(
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun calculateFog() {
|
private fun calculateFog() {
|
||||||
fogStart = renderWindow.connection.world.view.viewDistance * 16.0f
|
if (!renderWindow.connection.profiles.rendering.fog.enabled) {
|
||||||
fogEnd = fogStart + 10.0f
|
// 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 }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -120,12 +120,18 @@ class SkyRenderer(
|
|||||||
val brightness = 1.0f
|
val brightness = 1.0f
|
||||||
val skyColor = RGBColor((baseColor.red * brightness).toInt(), (baseColor.green * brightness).toInt(), (baseColor.blue * brightness).toInt())
|
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) {
|
connection.world.dimension?.hasSkyLight?.let {
|
||||||
if (shader.uniforms.contains("uSkyColor")) {
|
baseColor = if (it) {
|
||||||
shader.use().setRGBColor("uSkyColor", skyColor)
|
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() {
|
private fun drawSkybox() {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user