skeletal feature: fix async transforms not applied

This commit is contained in:
Moritz Zwerger 2023-11-10 22:02:39 +01:00
parent c03e3c1fbf
commit 7dcc189307
No known key found for this signature in database
GPG Key ID: 5CAD791931B09AC4
2 changed files with 7 additions and 2 deletions

View File

@ -26,6 +26,7 @@ abstract class StorageBlockEntityRenderer<E : StorageBlockEntity>(
override var light = 0xFF
override fun draw(context: RenderContext) {
skeletal?.update()
skeletal?.draw(light)
}

View File

@ -16,6 +16,7 @@ package de.bixilon.minosoft.gui.rendering.skeletal.instance
import de.bixilon.kotlinglm.mat4x4.Mat4
import de.bixilon.kotlinglm.vec3.Vec3
import de.bixilon.kotlinglm.vec3.Vec3i
import de.bixilon.kutil.time.TimeUtil.millis
import de.bixilon.minosoft.data.text.formatting.color.RGBColor
import de.bixilon.minosoft.gui.rendering.RenderContext
import de.bixilon.minosoft.gui.rendering.shader.Shader
@ -52,12 +53,15 @@ class SkeletalInstance(
fun draw(shader: Shader) {
shader.use()
transform.reset()
animation.draw()
context.skeletal.upload(this, matrix)
model.mesh.draw()
}
fun update(time: Long = millis()) {
transform.reset()
animation.draw(time)
}
fun update(position: Vec3, rotation: Vec3, pivot: Vec3 = Vec3.EMPTY_INSTANCE, matrix: Mat4? = null) {
this.matrix.reset()
this.matrix