From 46524a8c46b9a6ab43ca53d1be5f0835e83040ad Mon Sep 17 00:00:00 2001 From: JupiterRider <60042618+JupiterRider@users.noreply.github.com> Date: Sat, 14 Dec 2024 21:47:37 +0100 Subject: [PATCH] Update examples for #466 --- examples/models/m3d_loading/main.go | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/examples/models/m3d_loading/main.go b/examples/models/m3d_loading/main.go index 2d8ef56..192775f 100644 --- a/examples/models/m3d_loading/main.go +++ b/examples/models/m3d_loading/main.go @@ -19,9 +19,7 @@ package main import ( - "unsafe" - - "github.com/gen2brain/raylib-go/raylib" + rl "github.com/gen2brain/raylib-go/raylib" ) const ( @@ -116,9 +114,8 @@ func main() { if drawSkeleton { modelBones := model.GetBones() modelPoses := model.GetBindPose() - animBones := unsafe.Slice(anims[animID].Bones, anims[animID].BoneCount) - animPoses := unsafe.Slice(anims[animID].FramePoses, anims[animID].FrameCount) - transforms := unsafe.Slice(animPoses[animFrameCounter], anims[animID].BoneCount) + anim := anims[animID] + animBones := anim.GetBones() for bone := 0; bone < int(model.BoneCount)-1; bone++ { if !animPlaying || animsCount == 0 { // Display the bind-pose skeleton @@ -128,9 +125,11 @@ func main() { } } else { // // Display the frame-pose skeleton - rl.DrawCube(transforms[bone].Translation, 0.05, 0.05, 0.05, rl.Red) + pos := anim.GetFramePose(animFrameCounter, bone).Translation + rl.DrawCube(pos, 0.05, 0.05, 0.05, rl.Red) if animBones[bone].Parent >= 0 { - rl.DrawLine3D(transforms[bone].Translation, transforms[animBones[bone].Parent].Translation, rl.Red) + endPos := anim.GetFramePose(animFrameCounter, int(animBones[bone].Parent)).Translation + rl.DrawLine3D(pos, endPos, rl.Red) } } }