public static void InitMPCVertexBuffer() { MpcMutex.WaitOne(); try { if (mpcVertexBuffer == null) { var mpcVertexBufferTemp = new KeplerPointSpriteSet[7]; ReadMPSCoreFile(@"c:\mpc\MPCORB.DAT"); mpcCount = MPCList.Count; //KeplerVertexBuffer11 temp = new KeplerVertexBuffer11(mpcCount, RenderContext11.PrepDevice); var lists = new List<KeplerVertex>[7]; for (var i = 0; i < 7; i++) { lists[i] = new List<KeplerVertex>(); } foreach (var ee in MPCList) { var listID = 0; if (ee.a < 2.5) { listID = 0; } else if (ee.a < 2.83) { listID = 1; } else if (ee.a < 2.96) { listID = 2; } else if (ee.a < 3.3) { listID = 3; } else if (ee.a < 5) { listID = 4; } else if (ee.a < 10) { listID = 5; } else { listID = 6; } var vert = new KeplerVertex(); vert.Fill(ee); lists[listID].Add(vert); } for (var i = 0; i < 7; i++) { mpcVertexBufferTemp[i] = new KeplerPointSpriteSet(RenderContext11.PrepDevice, lists[i].ToArray()); } mpcVertexBuffer = mpcVertexBufferTemp; } } finally { MpcMutex.ReleaseMutex(); } }
public static void InitMPCVertexBuffer() { MpcMutex.WaitOne(); try { if (mpcVertexBuffer == null) { KeplerPointSpriteSet[] mpcVertexBufferTemp = new KeplerPointSpriteSet[7]; MinorPlanets.ReadMPSCoreFile(@"c:\mpc\MPCORB.DAT"); mpcCount = MinorPlanets.MPCList.Count; //KeplerVertexBuffer11 temp = new KeplerVertexBuffer11(mpcCount, RenderContext11.PrepDevice); List <KeplerVertex>[] lists = new List <KeplerVertex> [7]; for (int i = 0; i < 7; i++) { lists[i] = new List <KeplerVertex>(); } foreach (CAAEllipticalObjectElements ee in MinorPlanets.MPCList) { int listID = 0; if (ee.a < 2.5) { listID = 0; } else if (ee.a < 2.83) { listID = 1; } else if (ee.a < 2.96) { listID = 2; } else if (ee.a < 3.3) { listID = 3; } else if (ee.a < 5) { listID = 4; } else if (ee.a < 10) { listID = 5; } else { listID = 6; } KeplerVertex vert = new KeplerVertex(); vert.Fill(ee); lists[listID].Add(vert); } for (int i = 0; i < 7; i++) { mpcVertexBufferTemp[i] = new KeplerPointSpriteSet(RenderContext11.PrepDevice, lists[i].ToArray()); } mpcVertexBuffer = mpcVertexBufferTemp; } } finally { MpcMutex.ReleaseMutex(); } }