//public SurfaceMeshBuffer() //{ // VertexBuffer = new IndexedVertexBuffer<VertVNT>(); // BoneWeightBuffer = new IndexedVertexBuffer<VertVBW>(); // MeshModels = new List<SurfaceModelMesh>(); //} public SurfaceMeshBuffer(PartSurface surface) { Surface = surface; VertexBuffer = new IndexedVertexBuffer <VertVNT>(); //BoneWeightBuffer = new IndexedVertexBuffer<VertVBW>(); MeshModels = new List <SurfaceModelMesh>(); }
public static void InitializeResources() { GeneralMeshBuffer = new IndexedVertexBuffer <VertVN>(); var loadedMesh = ResourceHelper.GetResourceModel("Models.Cube.obj", "obj").Meshes[0]; CubeModel = AppendPartialMesh(loadedMesh); loadedMesh = ResourceHelper.GetResourceModel("Models.Cone.obj", "obj").Meshes[0]; ConeModel = AppendPartialMesh(loadedMesh); loadedMesh = ResourceHelper.GetResourceModel("Models.Sphere.obj", "obj").Meshes[0]; SphereModel = AppendPartialMesh(loadedMesh); loadedMesh = ResourceHelper.GetResourceModel("Models.Cylinder.obj", "obj").Meshes[0]; CylinderModel = AppendPartialMesh(loadedMesh); loadedMesh = ResourceHelper.GetResourceModel("Models.CrossAxleMale.obj", "obj").Meshes[0]; CrossAxleMaleModel = AppendPartialMesh(loadedMesh); loadedMesh = ResourceHelper.GetResourceModel("Models.CrossAxleFemale.obj", "obj").Meshes[0]; CrossAxleFemaleModel = AppendPartialMesh(loadedMesh); loadedMesh = ResourceHelper.GetResourceModel("Models.TechnicPinFemale.obj", "obj").Meshes[0]; TechnicPinFemaleModel = AppendPartialMesh(loadedMesh); loadedMesh = ResourceHelper.GetResourceModel("Models.BarFemale.obj", "obj").Meshes[0]; BarFemaleModel = AppendPartialMesh(loadedMesh); CircleModel = GenerateCircleModel(); InitializeBoundingBoxBuffer(); }
public static void ReleaseResources() { if (GeneralMeshBuffer != null) { GeneralMeshBuffer.Dispose(); GeneralMeshBuffer = null; } if (BoundingBoxBufffer != null) { BoundingBoxBufffer.Dispose(); BoundingBoxBufffer = null; } CubeModel = null; ConeModel = null; SphereModel = null; CrossAxleMaleModel = null; CrossAxleFemaleModel = null; TechnicPinFemaleModel = null; BarFemaleModel = null; CylinderModel = null; CircleModel = null; LoadedModels.Clear(); }
public static void ReleaseResources() { if (GeneralMeshBuffer != null) { GeneralMeshBuffer.Dispose(); GeneralMeshBuffer = null; } CubeModel = null; SphereModel = null; CrossAxleMaleModel = null; CrossAxleFemaleModel = null; CylinderModel = null; }
public static void ReleaseResources() { if (ColorShader != null) { ColorShader.Dispose(); ColorShader = null; } if (WireframeShader != null) { WireframeShader.Dispose(); WireframeShader = null; } if (WireframeShader2 != null) { WireframeShader2.Dispose(); WireframeShader2 = null; } if (ModelShader != null) { ModelShader.Dispose(); ModelShader = null; } if (BoundingBoxBufffer != null) { BoundingBoxBufffer.Dispose(); BoundingBoxBufffer = null; } if (StudConnectionShader != null) { StudConnectionShader.Dispose(); StudConnectionShader = null; } if (SimpleTextureShader != null) { SimpleTextureShader.Dispose(); SimpleTextureShader = null; } }
private static void InitializeBoundingBoxBuffer() { BoundingBoxBufffer = new IndexedVertexBuffer <Vector3>(); var box = BBox.FromCenterSize(Vector3.Zero, Vector3.One); BoundingBoxBufffer.SetVertices(box.GetCorners()); var bboxIndices = new List <int>(); for (int i = 0; i < 4; i++) { bboxIndices.Add((i * 2)); bboxIndices.Add((i * 2) + 1); bboxIndices.Add((i * 2)); bboxIndices.Add(((i + 1) * 2) % 8); bboxIndices.Add((i * 2) + 1); bboxIndices.Add((((i + 1) * 2) + 1) % 8); } BoundingBoxBufffer.SetIndices(bboxIndices); }
//public static Buffer<StudGridCell> StudGridBuffer { get; private set; } #endregion public static void InitializeResources() { ColorShader = ProgramFactory.Create <ColorShaderProgram>(); WireframeShader = ProgramFactory.Create <WireframeShaderProgram>(); ModelShader = ProgramFactory.Create <ModelShaderProgram>(); WireframeShader2 = ProgramFactory.Create <WireframeShader2Program>(); StudConnectionShader = ProgramFactory.Create <StudConnectionShaderProgram>(); SimpleTextureShader = ProgramFactory.Create <SimpleTextureShaderProgram>(); BoundingBoxBufffer = new IndexedVertexBuffer <Vector3>(); var box = BBox.FromCenterSize(Vector3.Zero, Vector3.One); BoundingBoxBufffer.SetVertices(box.GetCorners()); var bboxIndices = new List <int>(); for (int i = 0; i < 4; i++) { bboxIndices.Add((i * 2)); bboxIndices.Add((i * 2) + 1); bboxIndices.Add((i * 2)); bboxIndices.Add(((i + 1) * 2) % 8); bboxIndices.Add((i * 2) + 1); bboxIndices.Add((((i + 1) * 2) + 1) % 8); } BoundingBoxBufffer.SetIndices(bboxIndices); //StudGridBuffer = new Buffer<StudGridCell>(); CollisionMaterial = new MaterialInfo { Diffuse = new Vector4(1f, 0.05f, 0.05f, 1f), Specular = new Vector3(1f), Shininess = 2f }; ConnectionMaterial = new MaterialInfo { Diffuse = new Vector4(0.95f, 0.95f, 0.05f, 1f), Specular = new Vector3(1f), Shininess = 2f }; MaleConnectorMaterial = new MaterialInfo { Diffuse = new Vector4(0.05f, 0.05f, 0.95f, 1f), Specular = new Vector3(1f), Shininess = 2f }; FemaleConnectorMaterial = new MaterialInfo { Diffuse = new Vector4(0.05f, 0.95f, 0.05f, 1f), Specular = new Vector3(1f), Shininess = 2f }; WireframeColor = new Vector4(0, 0, 0, 1f); WireframeColorAlt = new Vector4(0.85f, 0.85f, 0.85f, 1f); SelectionOutlineColor = new Vector4(1f); }
public SurfaceMeshBuffer() { VertexBuffer = new IndexedVertexBuffer <VertVNT>(); MeshModels = new List <SurfaceModelMesh>(); }