arm: overlay

This commit is contained in:
Bixilon 2022-12-14 10:27:25 +01:00
parent 85d75fcfaa
commit 9d54e48b32
No known key found for this signature in database
GPG Key ID: 5CAD791931B09AC4
3 changed files with 13 additions and 12 deletions

View File

@ -43,15 +43,17 @@ open class ArmMesh(renderWindow: RenderWindow, primitiveType: PrimitiveTypes = r
fun addArm(model: SkeletalModel, arm: Arms, skin: ShaderTexture) { fun addArm(model: SkeletalModel, arm: Arms, skin: ShaderTexture) {
val element = model.elements.find { val elements = model.elements.filter {
it.name == when (arm) { when (arm) {
Arms.LEFT -> "LEFT_ARM" Arms.LEFT -> it.name == "LEFT_ARM" || it.name == "LEFT_SLEEVE"
Arms.RIGHT -> "RIGHT_ARM" Arms.RIGHT -> it.name == "RIGHT_ARM" || it.name == "RIGHT_SLEEVE"
} }
} ?: return }
val textures = Int2ObjectOpenHashMap<ShaderTexture>() val textures = Int2ObjectOpenHashMap<ShaderTexture>()
textures[0] = skin textures[0] = skin
element.bake(model, textures, emptyMap(), this) for (element in elements) {
element.bake(model, textures, emptyMap(), this)
}
} }

View File

@ -78,22 +78,20 @@ class ArmOverlay(private val renderWindow: RenderWindow) : Overlay {
} }
private fun calculateTransform(): Mat4 { private fun calculateTransform(): Mat4 {
val screen = renderWindow.window.sizef
val projection = renderWindow.camera.matrixHandler.projectionMatrix val projection = renderWindow.camera.matrixHandler.projectionMatrix
val matrix = Mat4() val matrix = Mat4()
matrix.rotateAssign(45.0f.rad, Vec3(0, 0, 1))
matrix.rotateAssign(-5.0f.rad, Vec3(0, 1, 0)) matrix.rotateAssign(-5.0f.rad, Vec3(0, 1, 0))
matrix.rotateAssign(130.0f.rad, Vec3(1, 0, 0)) matrix.rotateAssign(130.0f.rad, Vec3(1, 0, 0))
a += 1 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.scaleAssign(BLOCK_RESOLUTION) // make a pixel one pixel
matrix.translateAssign(-0.5f) matrix.translateAssign(-0.5f)
matrix.translateAssign(Vec3(0, 0.3, 1.0))
val a = projection * matrix val a = projection * matrix
@ -107,6 +105,7 @@ class ArmOverlay(private val renderWindow: RenderWindow) : Overlay {
renderWindow.renderSystem.clear(IntegratedBufferTypes.DEPTH_BUFFER) renderWindow.renderSystem.clear(IntegratedBufferTypes.DEPTH_BUFFER)
renderWindow.renderSystem.disable(RenderingCapabilities.FACE_CULLING) renderWindow.renderSystem.disable(RenderingCapabilities.FACE_CULLING)
renderWindow.renderSystem.enable(RenderingCapabilities.DEPTH_TEST) renderWindow.renderSystem.enable(RenderingCapabilities.DEPTH_TEST)
renderWindow.renderSystem.enable(RenderingCapabilities.BLENDING)
renderWindow.renderSystem.depthMask = true renderWindow.renderSystem.depthMask = true
mesh.unload() mesh.unload()
updateMesh() updateMesh()

View File

@ -26,5 +26,5 @@ in vec3 finTextureCoordinates;
void main() { void main() {
vec4 texelColor = getTexture(finTextureIndex, finTextureCoordinates); vec4 texelColor = getTexture(finTextureIndex, finTextureCoordinates);
foutColor = texelColor; foutColor = texelColor;
foutColor.a = 1.0f; // foutColor.a = 1.0f;
} }