RenderSetup is called by the renderer before drawing the geometry.
(gs *gls.GLS, rinfo *core.RenderInfo)
| 50 | |
| 51 | // RenderSetup is called by the renderer before drawing the geometry. |
| 52 | func (rm *RiggedMesh) RenderSetup(gs *gls.GLS, rinfo *core.RenderInfo) { |
| 53 | |
| 54 | // Call base mesh's RenderSetup |
| 55 | rm.Mesh.RenderSetup(gs, rinfo) |
| 56 | |
| 57 | // Get inverse matrix world |
| 58 | var invMat math32.Matrix4 |
| 59 | node := rm.GetNode() |
| 60 | nMW := node.MatrixWorld() |
| 61 | err := invMat.GetInverse(&nMW) |
| 62 | if err != nil { |
| 63 | log.Error("Skeleton.BoneMatrices: inverting matrix failed!") |
| 64 | } |
| 65 | |
| 66 | // Transfer bone matrices |
| 67 | boneMatrices := rm.skeleton.BoneMatrices(&invMat) |
| 68 | location := rm.mBones.Location(gs) |
| 69 | gs.UniformMatrix4fv(location, int32(len(boneMatrices)), false, &boneMatrices[0][0]) |
| 70 | } |
nothing calls this directly
no test coverage detected