Example #1
0
        //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>();
        }
Example #2
0
        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();
        }
Example #3
0
        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();
        }
Example #4
0
        public static void ReleaseResources()
        {
            if (GeneralMeshBuffer != null)
            {
                GeneralMeshBuffer.Dispose();
                GeneralMeshBuffer = null;
            }

            CubeModel            = null;
            SphereModel          = null;
            CrossAxleMaleModel   = null;
            CrossAxleFemaleModel = null;
            CylinderModel        = null;
        }
Example #5
0
        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;
            }
        }
Example #6
0
        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);
        }
Example #7
0
        //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);
        }
Example #8
0
 public SurfaceMeshBuffer()
 {
     VertexBuffer = new IndexedVertexBuffer <VertVNT>();
     MeshModels   = new List <SurfaceModelMesh>();
 }