mirror of
https://gitlab.bixilon.de/bixilon/minosoft.git
synced 2025-09-15 02:15:34 -04:00
fix useless sun matrix recalculation
This commit is contained in:
parent
1e3f25d3e2
commit
b7a1dca2d6
@ -46,7 +46,7 @@ class SkyRenderer(
|
||||
private val skyboxMesh = SkyboxMesh(renderWindow)
|
||||
private var skySunMesh = SimpleTextureMesh(renderWindow)
|
||||
private lateinit var sunTexture: AbstractTexture
|
||||
private var recalculateSunNextFrame: Boolean = true
|
||||
private var sunMatrixUpToDate: Boolean = true
|
||||
var baseColor = RenderConstants.DEFAULT_SKY_COLOR
|
||||
|
||||
|
||||
@ -67,7 +67,7 @@ class SkyRenderer(
|
||||
})
|
||||
connection.registerEvent(CallbackEventInvoker.of<TimeChangeEvent> {
|
||||
if (connection.world.time != it.time) {
|
||||
recalculateSunNextFrame = true
|
||||
sunMatrixUpToDate = true
|
||||
}
|
||||
})
|
||||
sunTexture = renderWindow.textureManager.staticTextures.createTexture(SUN_TEXTURE_RESOURCE_LOCATION)
|
||||
@ -81,6 +81,7 @@ class SkyRenderer(
|
||||
projectionViewMatrix.rotate(timeAngle, Vec3d(0.0f, 0.0f, 1.0f))
|
||||
}
|
||||
skySunShader.use().setMat4("uSkyViewProjectionMatrix", Mat4(rotatedMatrix))
|
||||
sunMatrixUpToDate = false
|
||||
}
|
||||
|
||||
override fun postInit() {
|
||||
@ -88,7 +89,7 @@ class SkyRenderer(
|
||||
}
|
||||
|
||||
private fun drawSun() {
|
||||
if (recalculateSunNextFrame) {
|
||||
if (sunMatrixUpToDate) {
|
||||
setSunMatrix(renderWindow.inputHandler.camera.projectionMatrix * renderWindow.inputHandler.camera.viewMatrix.toMat3().toMat4())
|
||||
skySunMesh.unload()
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user