Beispiel #1
0
        private void CreateBBShape(Vector3 BBDimension, ref ByteColor color)
        {
            Vector3[] position;
            ushort[]  indices;
            Generator.Box(BBDimension, Generator.PrimitiveType.LineList, out position, out indices);

            VertexPosition3Color[] ptList = new VertexPosition3Color[position.Length];

            for (int i = 0; i < ptList.Length; i++)
            {
                ptList[i].Position = position[i];
                ptList[i].Color    = color;
            }

            _vertexBuffer = new VertexBuffer <VertexPosition3Color>(_d3dEngine.Device, ptList.Length, PrimitiveTopology.LineList, "BoundingBox3D_vertexBuffer");
            _vertexBuffer.SetData(_d3dEngine.ImmediateContext, ptList);

            _indexBuffer = new IndexBuffer <ushort>(_d3dEngine.Device, indices.Length, "BoundingBox3D_indexBuffer");
            _indexBuffer.SetData(_d3dEngine.ImmediateContext, indices);
        }
Beispiel #2
0
        //http://www.cgafaq.info/wiki/Random_Points_On_Sphere
        private VertexPosition3Color[] GenerateSpherePoints(int n, float scale)
        {
            Random rnd = new Random();

            VertexPosition3Color[] result = new VertexPosition3Color[n];
            int    size;
            int    i;
            double x, y, z, w, t;

            for (i = 0; i < n; i++)
            {
                z         = 2.0 * rnd.NextDouble() - 1.0;
                t         = 2.0 * Math.PI * rnd.NextDouble();
                w         = Math.Sqrt(1 - z * z);
                x         = w * Math.Cos(t);
                y         = w * Math.Sin(t);
                size      = rnd.Next(0, 256);
                result[i] = new VertexPosition3Color(new Vector3((float)x * scale, (float)y * scale, (float)z * scale), new ByteColor(size, 0, 0, 0));
            }

            return(result);
        }
Beispiel #3
0
        private void CreateBBShape(Vector3 BBDimension, ref ByteColor color)
        {
            VertexPosition3Color[] ptList = new VertexPosition3Color[24];
            ptList[0] = new VertexPosition3Color()
            {
                Position = new Vector3(-BBDimension.X, -BBDimension.Y, -BBDimension.Z), Color = color
            };
            ptList[1] = new VertexPosition3Color()
            {
                Position = new Vector3(-BBDimension.X, -BBDimension.Y, BBDimension.Z), Color = color
            };
            ptList[2] = new VertexPosition3Color()
            {
                Position = new Vector3(-BBDimension.X, -BBDimension.Y, BBDimension.Z), Color = color
            };
            ptList[3] = new VertexPosition3Color()
            {
                Position = new Vector3(BBDimension.X, -BBDimension.Y, BBDimension.Z), Color = color
            };
            ptList[4] = new VertexPosition3Color()
            {
                Position = new Vector3(BBDimension.X, -BBDimension.Y, BBDimension.Z), Color = color
            };
            ptList[5] = new VertexPosition3Color()
            {
                Position = new Vector3(BBDimension.X, -BBDimension.Y, -BBDimension.Z), Color = color
            };
            ptList[6] = new VertexPosition3Color()
            {
                Position = new Vector3(BBDimension.X, -BBDimension.Y, -BBDimension.Z), Color = color
            };
            ptList[7] = new VertexPosition3Color()
            {
                Position = new Vector3(-BBDimension.X, -BBDimension.Y, -BBDimension.Z), Color = color
            };

            ptList[8] = new VertexPosition3Color()
            {
                Position = new Vector3(-BBDimension.X, BBDimension.Y, -BBDimension.Z), Color = color
            };
            ptList[9] = new VertexPosition3Color()
            {
                Position = new Vector3(-BBDimension.X, BBDimension.Y, BBDimension.Z), Color = color
            };
            ptList[10] = new VertexPosition3Color()
            {
                Position = new Vector3(-BBDimension.X, BBDimension.Y, BBDimension.Z), Color = color
            };
            ptList[11] = new VertexPosition3Color()
            {
                Position = new Vector3(BBDimension.X, BBDimension.Y, BBDimension.Z), Color = color
            };
            ptList[12] = new VertexPosition3Color()
            {
                Position = new Vector3(BBDimension.X, BBDimension.Y, BBDimension.Z), Color = color
            };
            ptList[13] = new VertexPosition3Color()
            {
                Position = new Vector3(BBDimension.X, BBDimension.Y, -BBDimension.Z), Color = color
            };
            ptList[14] = new VertexPosition3Color()
            {
                Position = new Vector3(BBDimension.X, BBDimension.Y, -BBDimension.Z), Color = color
            };
            ptList[15] = new VertexPosition3Color()
            {
                Position = new Vector3(-BBDimension.X, BBDimension.Y, -BBDimension.Z), Color = color
            };

            ptList[16] = new VertexPosition3Color()
            {
                Position = new Vector3(-BBDimension.X, -BBDimension.Y, -BBDimension.Z), Color = color
            };
            ptList[17] = new VertexPosition3Color()
            {
                Position = new Vector3(-BBDimension.X, BBDimension.Y, -BBDimension.Z), Color = color
            };
            ptList[18] = new VertexPosition3Color()
            {
                Position = new Vector3(BBDimension.X, -BBDimension.Y, -BBDimension.Z), Color = color
            };
            ptList[19] = new VertexPosition3Color()
            {
                Position = new Vector3(BBDimension.X, BBDimension.Y, -BBDimension.Z), Color = color
            };
            ptList[20] = new VertexPosition3Color()
            {
                Position = new Vector3(BBDimension.X, -BBDimension.Y, BBDimension.Z), Color = color
            };
            ptList[21] = new VertexPosition3Color()
            {
                Position = new Vector3(BBDimension.X, BBDimension.Y, BBDimension.Z), Color = color
            };
            ptList[22] = new VertexPosition3Color()
            {
                Position = new Vector3(-BBDimension.X, -BBDimension.Y, BBDimension.Z), Color = color
            };
            ptList[23] = new VertexPosition3Color()
            {
                Position = new Vector3(-BBDimension.X, BBDimension.Y, BBDimension.Z), Color = color
            };

            _vertexBuffer = new VertexBuffer <VertexPosition3Color>(_d3dEngine.Device, 24, VertexPosition3Color.VertexDeclaration, PrimitiveTopology.LineList, "BoundingBox3D_vertexBuffer");
            _vertexBuffer.SetData(_d3dEngine.ImmediateContext, ptList);
        }