Esempio n. 1
0
        /// <summary>
        ///     Crear Vertices segun la cara pedida
        /// </summary>
        private void cargarVertices(SkyFaces face, GraphicsStream data, int color)
        {
            switch (face)
            {
            case SkyFaces.Up:
                cargarVerticesUp(data, color);
                break;

            case SkyFaces.Down:
                cargarVerticesDown(data, color);
                break;

            case SkyFaces.Front:
                cargarVerticesFront(data, color);
                break;

            case SkyFaces.Back:
                cargarVerticesBack(data, color);
                break;

            case SkyFaces.Right:
                cargarVerticesRight(data, color);
                break;

            case SkyFaces.Left:
                cargarVerticesLeft(data, color);
                break;
            }
        }
Esempio n. 2
0
        /// <summary>
        /// Tomar los valores configurados y crear el SkyBox
        /// </summary>
        public void updateValues()
        {
            Device d3dDevice = GuiController.Instance.D3dDevice;

            //Crear cada cara
            for (int i = 0; i < faces.Length; i++)
            {
                //Crear mesh de D3D
                Mesh     m       = new Mesh(2, 4, MeshFlags.Managed, TgcSceneLoader.DiffuseMapVertexElements, d3dDevice);
                SkyFaces skyFace = (SkyFaces)i;

                // Cargo los vértices
                using (VertexBuffer vb = m.VertexBuffer)
                {
                    GraphicsStream data     = vb.Lock(0, 0, LockFlags.None);
                    int            colorRgb = this.color.ToArgb();
                    cargarVertices(skyFace, data, colorRgb);
                    vb.Unlock();
                }

                // Cargo los índices
                using (IndexBuffer ib = m.IndexBuffer)
                {
                    short[] ibArray = new short[6];
                    cargarIndices(ibArray);
                    ib.SetData(ibArray, 0, LockFlags.None);
                }

                //Crear TgcMesh
                string  faceName = Enum.GetName(typeof(SkyFaces), skyFace);
                TgcMesh faceMesh = new TgcMesh(m, "SkyBox-" + faceName, TgcMesh.MeshRenderType.DIFFUSE_MAP);
                faceMesh.Materials = new Material[] { TgcD3dDevice.DEFAULT_MATERIAL };
                faceMesh.createBoundingBox();
                faceMesh.Enabled = true;

                //textura
                TgcTexture texture = TgcTexture.createTexture(d3dDevice, faceTextures[i]);
                faceMesh.DiffuseMaps = new TgcTexture[] { texture };

                faceMesh.AutoTransformEnable = false;
                faces[i]    = faceMesh;
                matrices[i] = faceMesh.Transform;
            }
        }
 /// <summary>
 /// Crear Vertices segun la cara pedida
 /// </summary>
 private void cargarVertices(SkyFaces face, GraphicsStream data, int color)
 {
     switch (face)
     {
         case SkyFaces.Up: cargarVerticesUp(data, color); break;
         case SkyFaces.Down: cargarVerticesDown(data, color); break;
         case SkyFaces.Front: cargarVerticesFront(data, color); break;
         case SkyFaces.Back: cargarVerticesBack(data, color); break;
         case SkyFaces.Right: cargarVerticesRight(data, color); break;
         case SkyFaces.Left: cargarVerticesLeft(data, color); break;
     }
 }
 /// <summary>
 /// Configurar la textura de una cara del SkyBox
 /// </summary>
 /// <param name="face">Cara del SkyBox</param>
 /// <param name="texturePath">Path de la textura</param>
 public void setFaceTexture(SkyFaces face, string texturePath)
 {
     faceTextures[(int)face] = texturePath;
 }
Esempio n. 5
0
 /// <summary>
 /// Configurar la textura de una cara del SkyBox
 /// </summary>
 /// <param name="face">Cara del SkyBox</param>
 /// <param name="texturePath">Path de la textura</param>
 public void setFaceTexture(SkyFaces face, string texturePath)
 {
     faceTextures[(int)face] = texturePath;
 }