コード例 #1
0
ファイル: Preview3D.cs プロジェクト: CreeperLava/ME3Explorer
 public static DXCube NewCubeByCubeMinMax(DXCube org, Vector3 min, Vector3 max, int c)
 {
     Vector3 orig = org.center;
     Vector3 antiorig = org.center;
     orig -= new Vector3(org.size.X * min.X, org.size.Y * min.Y, org.size.Z * min.Z);
     antiorig += new Vector3(org.size.X * max.X, org.size.Y * max.Y, org.size.Z * max.Z);
     Vector3 box = antiorig - orig;
     return NewCubeByOrigSize(orig, box, c);
 }
コード例 #2
0
ファイル: Preview3D.cs プロジェクト: ijedi1234/ME3Explorer
        public static DXCube NewCubeByCubeMinMax(DXCube org, Vector3 min, Vector3 max, int c)
        {
            Vector3 orig     = org.center;
            Vector3 antiorig = org.center;

            orig     -= new Vector3(org.size.X * min.X, org.size.Y * min.Y, org.size.Z * min.Z);
            antiorig += new Vector3(org.size.X * max.X, org.size.Y * max.Y, org.size.Z * max.Z);
            Vector3 box = antiorig - orig;

            return(NewCubeByOrigSize(orig, box, c));
        }
コード例 #3
0
ファイル: Image3DWindow.cs プロジェクト: KFlaga/Cam3D
        public void AddPointCube(SharpDX.Vector3 point, Color4 color)
        {
            DXCube cube = new DXCube(_renderer.DxDevice, new SharpDX.Vector3(1.0f), new SharpDX.Vector3());
            cube.Shader = ResourcesManager.ShaderManager.GetShader("ColorShader_NoLight");

            for(int i = 0; i < 8; ++i)
            {
                cube.SetColor(i, color);
            }
            cube.UpdateBuffers();

            _cubePointsMap.Add(cube);

            DXSceneNode node = Scene.RootNode.CreateChildNode();
            node.Position = point;
            node.Orientation = Quaternion.RotationAxis(SharpDX.Vector3.UnitY, 0.0f);
            node.UpdateTransfromMatrix();
            node.AttachModel(cube);
        }
コード例 #4
0
ファイル: Preview3D.cs プロジェクト: ijedi1234/ME3Explorer
        public static DXCube NewCubeByOrigSize(Vector3 origin, Vector3 size, int c)
        {
            DXCube res = new DXCube();

            res.origin   = origin;
            res.origin   = switchYZ(res.origin);
            res.size     = size;
            res.size     = switchYZ(res.size);
            res.center   = origin + size * 0.5f;
            res.min      = res.max = new Vector3(0.5f, 0.5f, 0.5f);
            res.childs   = new List <DXCube>();
            res.verts    = new CustomVertex.PositionColored[24];
            res.verts[0] = new CustomVertex.PositionColored(origin, c);
            res.verts[1] = new CustomVertex.PositionColored(origin + new Vector3(size.X, 0, 0), c);
            res.verts[2] = new CustomVertex.PositionColored(origin + new Vector3(size.X, 0, 0), c);
            res.verts[3] = new CustomVertex.PositionColored(origin + new Vector3(size.X, size.Y, 0), c);
            res.verts[4] = new CustomVertex.PositionColored(origin + new Vector3(size.X, size.Y, 0), c);
            res.verts[5] = new CustomVertex.PositionColored(origin + new Vector3(0, size.Y, 0), c);
            res.verts[6] = new CustomVertex.PositionColored(origin + new Vector3(0, size.Y, 0), c);
            res.verts[7] = new CustomVertex.PositionColored(origin, c);

            res.verts[8]  = new CustomVertex.PositionColored(origin + new Vector3(0, 0, size.Z), c);
            res.verts[9]  = new CustomVertex.PositionColored(origin + new Vector3(size.X, 0, size.Z), c);
            res.verts[10] = new CustomVertex.PositionColored(origin + new Vector3(size.X, 0, size.Z), c);
            res.verts[11] = new CustomVertex.PositionColored(origin + new Vector3(size.X, size.Y, size.Z), c);
            res.verts[12] = new CustomVertex.PositionColored(origin + new Vector3(size.X, size.Y, size.Z), c);
            res.verts[13] = new CustomVertex.PositionColored(origin + new Vector3(0, size.Y, size.Z), c);
            res.verts[14] = new CustomVertex.PositionColored(origin + new Vector3(0, size.Y, size.Z), c);
            res.verts[15] = new CustomVertex.PositionColored(origin + new Vector3(0, 0, size.Z), c);

            res.verts[16] = new CustomVertex.PositionColored(origin, c);
            res.verts[17] = new CustomVertex.PositionColored(origin + new Vector3(0, 0, size.Z), c);
            res.verts[18] = new CustomVertex.PositionColored(origin + new Vector3(size.X, 0, 0), c);
            res.verts[19] = new CustomVertex.PositionColored(origin + new Vector3(size.X, 0, size.Z), c);
            res.verts[20] = new CustomVertex.PositionColored(origin + new Vector3(size.X, size.Y, 0), c);
            res.verts[21] = new CustomVertex.PositionColored(origin + new Vector3(size.X, size.Y, size.Z), c);
            res.verts[22] = new CustomVertex.PositionColored(origin + new Vector3(0, size.Y, 0), c);
            res.verts[23] = new CustomVertex.PositionColored(origin + new Vector3(0, size.Y, size.Z), c);
            return(res);
        }
コード例 #5
0
ファイル: Preview3D.cs プロジェクト: CreeperLava/ME3Explorer
        public static DXCube NewCubeByOrigSize(Vector3 origin, Vector3 size,int c)
        {
            DXCube res = new DXCube();            
            res.origin = origin;
            //res.origin = switchYZ(res.origin);
            res.size = size;
            //res.size = switchYZ(res.size);
            res.center = origin + size * 0.5f;
            res.min = res.max = new Vector3(0.5f, 0.5f, 0.5f);
            res.childs = new List<DXCube>();
            res.verts = new CustomVertex.PositionColored[24];
            res.verts[0] = new CustomVertex.PositionColored(origin, c);
            res.verts[1] = new CustomVertex.PositionColored(origin + new Vector3(size.X, 0, 0), c);
            res.verts[2] = new CustomVertex.PositionColored(origin + new Vector3(size.X, 0, 0), c);
            res.verts[3] = new CustomVertex.PositionColored(origin + new Vector3(size.X, size.Y, 0), c);
            res.verts[4] = new CustomVertex.PositionColored(origin + new Vector3(size.X, size.Y, 0), c);
            res.verts[5] = new CustomVertex.PositionColored(origin + new Vector3(0, size.Y, 0), c);
            res.verts[6] = new CustomVertex.PositionColored(origin + new Vector3(0, size.Y, 0), c);
            res.verts[7] = new CustomVertex.PositionColored(origin, c);

            res.verts[8] = new CustomVertex.PositionColored(origin + new Vector3(0, 0, size.Z), c);
            res.verts[9] = new CustomVertex.PositionColored(origin + new Vector3(size.X, 0, size.Z), c);
            res.verts[10] = new CustomVertex.PositionColored(origin + new Vector3(size.X, 0, size.Z), c);
            res.verts[11] = new CustomVertex.PositionColored(origin + new Vector3(size.X, size.Y, size.Z), c);
            res.verts[12] = new CustomVertex.PositionColored(origin + new Vector3(size.X, size.Y, size.Z), c);
            res.verts[13] = new CustomVertex.PositionColored(origin + new Vector3(0, size.Y, size.Z), c);
            res.verts[14] = new CustomVertex.PositionColored(origin + new Vector3(0, size.Y, size.Z), c);
            res.verts[15] = new CustomVertex.PositionColored(origin + new Vector3(0, 0, size.Z), c);

            res.verts[16] = new CustomVertex.PositionColored(origin, c);
            res.verts[17] = new CustomVertex.PositionColored(origin + new Vector3(0, 0, size.Z), c);
            res.verts[18] = new CustomVertex.PositionColored(origin + new Vector3(size.X, 0, 0), c);
            res.verts[19] = new CustomVertex.PositionColored(origin + new Vector3(size.X, 0, size.Z), c); 
            res.verts[20] = new CustomVertex.PositionColored(origin + new Vector3(size.X, size.Y, 0), c);
            res.verts[21] = new CustomVertex.PositionColored(origin + new Vector3(size.X, size.Y, size.Z), c);
            res.verts[22] = new CustomVertex.PositionColored(origin + new Vector3(0, size.Y, 0), c);
            res.verts[23] = new CustomVertex.PositionColored(origin + new Vector3(0, size.Y, size.Z), c);
            return res;
        }