From 1fad8277a37b366841eff1497ca07a7042d4a014 Mon Sep 17 00:00:00 2001 From: iP Date: Mon, 11 Mar 2024 00:49:04 +0400 Subject: [PATCH] optimisation of the "bone socket" tutorial (#3864) Less matrix operations doing. --- examples/models/models_bone_socket.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/examples/models/models_bone_socket.c b/examples/models/models_bone_socket.c index 8f62f70f..66f952e8 100644 --- a/examples/models/models_bone_socket.c +++ b/examples/models/models_bone_socket.c @@ -144,10 +144,8 @@ int main(void) Matrix matrixTransform = QuaternionToMatrix(rotate); // Translate socket to its position in the current animation matrixTransform = MatrixMultiply(matrixTransform, MatrixTranslate(transform->translation.x, transform->translation.y, transform->translation.z)); - // Rotate socket by character angle - matrixTransform = MatrixMultiply(matrixTransform, QuaternionToMatrix(characterRotate)); - // Translate socket to character position - matrixTransform = MatrixMultiply(matrixTransform, MatrixTranslate(position.x, position.y + 0.0f, position.z)); + // Transform the socket using the transform of the character (angle and translate) + matrixTransform = MatrixMultiply(matrixTransform, characterModel.transform); // Draw mesh at socket position with socket angle rotation DrawMesh(equipModel[i].meshes[0], equipModel[i].materials[1], matrixTransform);