/// <summary>
        /// lataa skybox.
        /// </summary>
        /// <param name="skyName">skyboxin nimi, eli esim plainsky_  jos tiedostot on plainsky_front.jpg, plainsky_back.jpg jne</param>
        /// <param name="ext">tiedoston pääte, eli jpg, png, dds, ..</param>
        /// <param name="scale"></param>
        public void LoadSkybox(string skyName, string ext, float scale)
        {
            Texture.LoadTextures = false;                                    // älä lataa objektin textureita automaattisesti
            sky = new ObjModel("skybox", "skybox.obj", scale, scale, scale); // lataa skybox
            Texture.LoadTextures = true;                                     // seuraava saa ladatakin..
            sky.Boundings        = null;

            string[] side = { "bottom", "left", "back", "right", "top", "front" };

            for (int q = 0; q < 6; q++)
            {
                sky.Meshes()[q].Boundings = null;

                string  fileName  = skyName + side[q] + "." + ext;
                Texture newSkyTex = new Texture();

                TextureLoaders.TextureLoaderParameters.WrapModeS = TextureWrapMode.ClampToEdge;
                TextureLoaders.TextureLoaderParameters.WrapModeT = TextureWrapMode.ClampToEdge;

                newSkyTex = Texture.Load(fileName);

                // etsi sivun materiaali
                Material matInf = sky.GetMaterial(sky.Meshes()[q].MaterialName);

                if (matInf != null)
                {
                    // korvaa vanhat texturet
                    matInf.DiffuseTex = newSkyTex;
                }
            }
            TextureLoaders.TextureLoaderParameters.WrapModeS = TextureWrapMode.Repeat;
            TextureLoaders.TextureLoaderParameters.WrapModeT = TextureWrapMode.Repeat;
        }
示例#2
0
        /// <summary>
        /// lataa skybox.
        /// </summary>
        /// <param name="skyName">skyboxin nimi, eli esim plainsky_  jos tiedostot on plainsky_front.jpg, plainsky_back.jpg jne</param>
        /// <param name="ext">tiedoston pääte, eli jpg, png, dds, ..</param>
        /// <param name="scale"></param>
        public void LoadSkybox(string skyName, string ext, float scale)
        {
            Texture.LoadTextures = false; // älä lataa objektin textureita automaattisesti
            sky = new ObjModel("skybox", "skybox.obj", scale, scale, scale); // lataa skybox
            Texture.LoadTextures = true; // seuraava saa ladatakin..
            sky.Boundings = null;

            string[] side = { "bottom", "left", "back", "right", "top", "front" };

            for (int q = 0; q < 6; q++)
            {
                sky.Meshes()[q].Boundings = null;

                string fileName = skyName + side[q] + "." + ext;
                Texture newSkyTex = new Texture();

                TextureLoaders.TextureLoaderParameters.WrapModeS = TextureWrapMode.ClampToEdge;
                TextureLoaders.TextureLoaderParameters.WrapModeT = TextureWrapMode.ClampToEdge;

                newSkyTex = Texture.Load(fileName);

                // etsi sivun materiaali
                Material matInf = sky.GetMaterial(sky.Meshes()[q].MaterialName);

                if (matInf != null)
                {
                    // korvaa vanhat texturet
                    matInf.DiffuseTex = newSkyTex;
                }
            }
            TextureLoaders.TextureLoaderParameters.WrapModeS = TextureWrapMode.Repeat;
            TextureLoaders.TextureLoaderParameters.WrapModeT = TextureWrapMode.Repeat;
        }
        /// <summary>
        /// lataa kupu.
        /// </summary>
        /// <param name="skyName">texturen nimi</param>
        /// <param name="scale"></param>
        public void LoadSkydome(string skyName, float scale)
        {
            Texture.LoadTextures = false;                                      // älä lataa objektin textureita automaattisesti
            sky = new ObjModel("skydome", "skydome.obj", scale, scale, scale); // lataa kupu
            Texture.LoadTextures      = true;                                  // seuraava saa ladatakin..
            sky.Boundings             = null;
            sky.Meshes()[0].Boundings = null;

            Texture newSkyTex = new Texture();

            newSkyTex = Texture.Load(skyName);

            // etsi materiaali
            Material matInf = sky.GetMaterial(sky.Meshes()[0].MaterialName);

            if (matInf != null)
            {
                // korvaa vanha texture
                matInf.DiffuseTex = newSkyTex;
            }
        }
        public void RenderMesh()
        {
            GL.PushMatrix();

            GL.GetFloat(GetPName.ModelviewMatrix, Util.ModelMatrix);
            Util.ModelMatrix[12] = Util.ModelMatrix[13] = Util.ModelMatrix[14] = 0;

            GL.Disable(EnableCap.Lighting);
            GL.DepthMask(false); // ei kirjoiteta z-bufferiin

            GL.LoadMatrix(Util.ModelMatrix);
            for (int q = 0; q < sky.Objects.Length; q++)
            {
                sky.Meshes()[q].RenderMesh();
            }
            Settings.NumOfObjects -= sky.Objects.Length - 1;

            GL.DepthMask(true);
            GL.Enable(EnableCap.Lighting);

            GL.PopMatrix();
        }
示例#5
0
        /// <summary>
        /// lataa kupu.
        /// </summary>
        /// <param name="skyName">texturen nimi</param>
        /// <param name="scale"></param>
        public void LoadSkydome(string skyName, float scale)
        {
            Texture.LoadTextures = false; // älä lataa objektin textureita automaattisesti
            sky = new ObjModel("skydome", "skydome.obj", scale, scale, scale); // lataa kupu
            Texture.LoadTextures = true; // seuraava saa ladatakin..
            sky.Boundings = null;
            sky.Meshes()[0].Boundings = null;

            Texture newSkyTex = new Texture();
            newSkyTex = Texture.Load(skyName);

            // etsi materiaali
            Material matInf = sky.GetMaterial(sky.Meshes()[0].MaterialName);

            if (matInf != null)
            {
                // korvaa vanha texture
                matInf.DiffuseTex = newSkyTex;
            }
        }