\r
private void RenderAvatarsSkeleton(RenderPass pass)\r
{\r
- foreach (RenderAvatar av in Avatars.Values)\r
+ lock (Avatars)\r
{\r
- // Individual prim matrix\r
- GL.PushMatrix();\r
+ foreach (RenderAvatar av in Avatars.Values)\r
+ {\r
+ // Individual prim matrix\r
+ GL.PushMatrix();\r
\r
- // Prim roation and position\r
- Vector3 pos = av.avatar.Position;\r
- pos.X += 1;\r
- GL.MultMatrix(Math3D.CreateTranslationMatrix(pos));\r
- GL.MultMatrix(Math3D.CreateRotationMatrix(av.avatar.Rotation));\r
+ // Prim roation and position\r
+ Vector3 pos = av.avatar.Position;\r
+ pos.X += 1;\r
+ GL.MultMatrix(Math3D.CreateTranslationMatrix(pos));\r
+ GL.MultMatrix(Math3D.CreateRotationMatrix(av.avatar.Rotation));\r
\r
- GL.Begin(BeginMode.Lines);\r
+ GL.Begin(BeginMode.Lines);\r
\r
- GL.Color3(1.0, 0.0, 0.0);\r
- \r
- foreach (Bone b in av.glavatar.skel.mBones.Values)\r
- {\r
- Vector3 newpos = b.getOffset();\r
+ GL.Color3(1.0, 0.0, 0.0);\r
\r
- if (b.parent != null)\r
+ foreach (Bone b in av.glavatar.skel.mBones.Values)\r
{\r
- Vector3 parentpos = b.parent.getOffset();\r
- GL.Vertex3(parentpos.X,parentpos.Y,parentpos.Z);\r
- }\r
- else\r
- { \r
+ Vector3 newpos = b.getOffset();\r
+\r
+ if (b.parent != null)\r
+ {\r
+ Vector3 parentpos = b.parent.getOffset();\r
+ GL.Vertex3(parentpos.X, parentpos.Y, parentpos.Z);\r
+ }\r
+ else\r
+ {\r
+ GL.Vertex3(newpos.X, newpos.Y, newpos.Z);\r
+ }\r
+\r
GL.Vertex3(newpos.X, newpos.Y, newpos.Z);\r
- }\r
\r
- GL.Vertex3(newpos.X, newpos.Y, newpos.Z);\r
+ //Mark the joints\r
\r
- //Mark the joints\r
\r
- \r
- newpos.X += 0.01f;\r
- newpos.Y += 0.01f;\r
- newpos.Z += 0.01f;\r
- GL.Vertex3(newpos.X, newpos.Y, newpos.Z);\r
+ newpos.X += 0.01f;\r
+ newpos.Y += 0.01f;\r
+ newpos.Z += 0.01f;\r
+ GL.Vertex3(newpos.X, newpos.Y, newpos.Z);\r
\r
- newpos.X -= 0.02f;\r
- GL.Vertex3(newpos.X, newpos.Y, newpos.Z);\r
- GL.Vertex3(newpos.X, newpos.Y, newpos.Z);\r
- \r
- newpos.Y -= 0.02f;\r
- GL.Vertex3(newpos.X, newpos.Y, newpos.Z);\r
- GL.Vertex3(newpos.X, newpos.Y, newpos.Z);\r
+ newpos.X -= 0.02f;\r
+ GL.Vertex3(newpos.X, newpos.Y, newpos.Z);\r
+ GL.Vertex3(newpos.X, newpos.Y, newpos.Z);\r
\r
- newpos.X += 0.02f;\r
- GL.Vertex3(newpos.X, newpos.Y, newpos.Z);\r
- GL.Vertex3(newpos.X, newpos.Y, newpos.Z);\r
+ newpos.Y -= 0.02f;\r
+ GL.Vertex3(newpos.X, newpos.Y, newpos.Z);\r
+ GL.Vertex3(newpos.X, newpos.Y, newpos.Z);\r
\r
- newpos.Y += 0.02f;\r
- GL.Vertex3(newpos.X, newpos.Y, newpos.Z);\r
- GL.Vertex3(newpos.X, newpos.Y, newpos.Z);\r
+ newpos.X += 0.02f;\r
+ GL.Vertex3(newpos.X, newpos.Y, newpos.Z);\r
+ GL.Vertex3(newpos.X, newpos.Y, newpos.Z);\r
\r
- newpos.Z -= 0.02f;\r
- GL.Vertex3(newpos.X, newpos.Y, newpos.Z);\r
- GL.Vertex3(newpos.X, newpos.Y, newpos.Z);\r
+ newpos.Y += 0.02f;\r
+ GL.Vertex3(newpos.X, newpos.Y, newpos.Z);\r
+ GL.Vertex3(newpos.X, newpos.Y, newpos.Z);\r
\r
- newpos.Y -= 0.02f;\r
- GL.Vertex3(newpos.X, newpos.Y, newpos.Z);\r
- GL.Vertex3(newpos.X, newpos.Y, newpos.Z);\r
+ newpos.Z -= 0.02f;\r
+ GL.Vertex3(newpos.X, newpos.Y, newpos.Z);\r
+ GL.Vertex3(newpos.X, newpos.Y, newpos.Z);\r
\r
- newpos.X -= 0.02f;\r
- GL.Vertex3(newpos.X, newpos.Y, newpos.Z);\r
- GL.Vertex3(newpos.X, newpos.Y, newpos.Z);\r
+ newpos.Y -= 0.02f;\r
+ GL.Vertex3(newpos.X, newpos.Y, newpos.Z);\r
+ GL.Vertex3(newpos.X, newpos.Y, newpos.Z);\r
\r
- newpos.Y += 0.02f;\r
- GL.Vertex3(newpos.X, newpos.Y, newpos.Z);\r
- GL.Vertex3(newpos.X, newpos.Y, newpos.Z);\r
+ newpos.X -= 0.02f;\r
+ GL.Vertex3(newpos.X, newpos.Y, newpos.Z);\r
+ GL.Vertex3(newpos.X, newpos.Y, newpos.Z);\r
\r
- newpos.X += 0.02f;\r
- GL.Vertex3(newpos.X, newpos.Y, newpos.Z);\r
- GL.Vertex3(newpos.X, newpos.Y, newpos.Z);\r
+ newpos.Y += 0.02f;\r
+ GL.Vertex3(newpos.X, newpos.Y, newpos.Z);\r
+ GL.Vertex3(newpos.X, newpos.Y, newpos.Z);\r
\r
- newpos.Y -= 0.01f;\r
- newpos.Z += 0.01f;\r
- newpos.X -= 0.01f;\r
- GL.Vertex3(newpos.X, newpos.Y, newpos.Z);\r
+ newpos.X += 0.02f;\r
+ GL.Vertex3(newpos.X, newpos.Y, newpos.Z);\r
+ GL.Vertex3(newpos.X, newpos.Y, newpos.Z);\r
\r
+ newpos.Y -= 0.01f;\r
+ newpos.Z += 0.01f;\r
+ newpos.X -= 0.01f;\r
+ GL.Vertex3(newpos.X, newpos.Y, newpos.Z);\r
\r
\r
- }\r
\r
+ }\r
\r
- \r
- GL.Color3(0.0, 1.0, 0.0);\r
\r
- GL.End();\r
\r
- GL.PopMatrix();\r
+ GL.Color3(0.0, 1.0, 0.0);\r
+\r
+ GL.End();\r
+\r
+ GL.PopMatrix();\r
+ }\r
}\r
}\r
\r