Пример #1
0
 public void PreloadTriangleMesh(StillDesign.PhysX.Scene scene, MeshCollisionData.TriangleMeshData model)
 {
     usingScene = scene; // This is cheat
     lock (preloadQueue)
     {
         preloadQueue.Enqueue(model);
         Monitor.PulseAll(preloadQueue);
     }
 }
Пример #2
0
        public void Update(StillDesign.PhysX.Scene scene)
        {
            lock (this)
            {
                if (currentPreloadingMesh == null)
                {
                    return;
                }
                if (cookedStream == null)
                {
                    return;
                }

                var mesh = scene.Core.CreateTriangleMesh(cookedStream);
                triangleMeshEntries[currentPreloadingMesh] = mesh;

                Console.WriteLine("Mesh succesfully preloaded!");

                currentPreloadingMesh = null;
                cookedStream          = null;

                Monitor.PulseAll(this);
            }
        }
Пример #3
0
        public TriangleMesh LoadTriangleMesh(MeshCollisionData.TriangleMeshData model, StillDesign.PhysX.Scene scene, Matrix transform)
        {
            MemoryStream stream = cookTriangleMeshStream(model, transform);

            return(scene.Core.CreateTriangleMesh(stream));
        }
 private BoundingBox calculateBBTriangleMesh(MeshCollisionData.TriangleMeshData data)
 {
     return(BoundingBox.CreateFromPoints(data.Positions));
 }