mirror of
https://gitlab.bixilon.de/bixilon/minosoft.git
synced 2025-09-17 11:24:56 -04:00
arm: overlay
This commit is contained in:
parent
85d75fcfaa
commit
9d54e48b32
@ -43,15 +43,17 @@ open class ArmMesh(renderWindow: RenderWindow, primitiveType: PrimitiveTypes = r
|
||||
|
||||
|
||||
fun addArm(model: SkeletalModel, arm: Arms, skin: ShaderTexture) {
|
||||
val element = model.elements.find {
|
||||
it.name == when (arm) {
|
||||
Arms.LEFT -> "LEFT_ARM"
|
||||
Arms.RIGHT -> "RIGHT_ARM"
|
||||
val elements = model.elements.filter {
|
||||
when (arm) {
|
||||
Arms.LEFT -> it.name == "LEFT_ARM" || it.name == "LEFT_SLEEVE"
|
||||
Arms.RIGHT -> it.name == "RIGHT_ARM" || it.name == "RIGHT_SLEEVE"
|
||||
}
|
||||
} ?: return
|
||||
}
|
||||
val textures = Int2ObjectOpenHashMap<ShaderTexture>()
|
||||
textures[0] = skin
|
||||
element.bake(model, textures, emptyMap(), this)
|
||||
for (element in elements) {
|
||||
element.bake(model, textures, emptyMap(), this)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
@ -78,22 +78,20 @@ class ArmOverlay(private val renderWindow: RenderWindow) : Overlay {
|
||||
}
|
||||
|
||||
private fun calculateTransform(): Mat4 {
|
||||
val screen = renderWindow.window.sizef
|
||||
|
||||
|
||||
val projection = renderWindow.camera.matrixHandler.projectionMatrix
|
||||
|
||||
val matrix = Mat4()
|
||||
matrix.rotateAssign(45.0f.rad, Vec3(0, 0, 1))
|
||||
matrix.rotateAssign(-5.0f.rad, Vec3(0, 1, 0))
|
||||
matrix.rotateAssign(130.0f.rad, Vec3(1, 0, 0))
|
||||
a += 1
|
||||
|
||||
|
||||
matrix.translateAssign(Vec3(if (arm == Arms.LEFT) 0.2f else -0.2f, 0, 0)) // move inner side of arm to 0|0|0
|
||||
matrix.translateAssign(Vec3(if (arm == Arms.LEFT) 0.25f else -0.25f, 0, 0)) // move inner side of arm to 0|0|0
|
||||
|
||||
// matrix.scaleAssign(BLOCK_RESOLUTION) // make a pixel one pixel
|
||||
matrix.translateAssign(-0.5f)
|
||||
|
||||
matrix.translateAssign(Vec3(0, 0.3, 1.0))
|
||||
|
||||
val a = projection * matrix
|
||||
|
||||
@ -107,6 +105,7 @@ class ArmOverlay(private val renderWindow: RenderWindow) : Overlay {
|
||||
renderWindow.renderSystem.clear(IntegratedBufferTypes.DEPTH_BUFFER)
|
||||
renderWindow.renderSystem.disable(RenderingCapabilities.FACE_CULLING)
|
||||
renderWindow.renderSystem.enable(RenderingCapabilities.DEPTH_TEST)
|
||||
renderWindow.renderSystem.enable(RenderingCapabilities.BLENDING)
|
||||
renderWindow.renderSystem.depthMask = true
|
||||
mesh.unload()
|
||||
updateMesh()
|
||||
|
@ -26,5 +26,5 @@ in vec3 finTextureCoordinates;
|
||||
void main() {
|
||||
vec4 texelColor = getTexture(finTextureIndex, finTextureCoordinates);
|
||||
foutColor = texelColor;
|
||||
foutColor.a = 1.0f;
|
||||
// foutColor.a = 1.0f;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user