Beispiel #1
0
        /// <summary>
        /// Load contents
        /// </summary>
        public override void LoadContent()
        {
            Display.RenderState.ClearColor = Color.Pink;
            Display.RenderState.FrontFace  = FrontFace.CounterClockWise;
            Display.RenderState.DepthTest  = true;

            #region Textures


            #region Cube texture
            Display.TextureUnit   = 0;
            CubeTexture           = new TextureCubeMap();
            CubeTexture.WrapR     = TextureWrapFilter.ClampToEdge;
            CubeTexture.WrapS     = TextureWrapFilter.ClampToEdge;
            CubeTexture.WrapT     = TextureWrapFilter.ClampToEdge;
            CubeTexture.MagFilter = TextureMagFilter.Linear;
            CubeTexture.MinFilter = TextureMinFilter.LinearMipmapLinear;

            // load the 6 faces
            CubeTexture.LoadImage(TextureCubeFace.NegativeX, "data/textures/neg_x.png");
            CubeTexture.LoadImage(TextureCubeFace.NegativeY, "data/textures/neg_y.png");
            CubeTexture.LoadImage(TextureCubeFace.NegativeZ, "data/textures/neg_z.png");
            CubeTexture.LoadImage(TextureCubeFace.PositiveX, "data/textures/pos_x.png");
            CubeTexture.LoadImage(TextureCubeFace.PositiveY, "data/textures/pos_y.png");
            CubeTexture.LoadImage(TextureCubeFace.PositiveZ, "data/textures/pos_z.png");
            CubeTexture.GenerateMipmap();
            #endregion

            #region Tarnish texture
            Display.TextureUnit           = 1;
            TarnishTexture                = new Texture2D("data/textures/tarnish.png");
            TarnishTexture.MagFilter      = TextureMagFilter.Linear;
            TarnishTexture.MinFilter      = TextureMinFilter.LinearMipmapLinear;
            TarnishTexture.HorizontalWrap = TextureWrapFilter.ClampToEdge;
            TarnishTexture.VerticalWrap   = TextureWrapFilter.ClampToEdge;
            TarnishTexture.GenerateMipmap();
            #endregion

            #endregion


            #region Meshes

            // Generate the cube mesh
            Cube = Mesh.CreateCube(3.0f);

            // Generate the spehre
            Sphere = Mesh.CreateSphere(1.0f, 32);

            #endregion


            #region Shaders

            // Reflection shader
            Reflection = new Shader();
            Reflection.LoadSource(ShaderType.VertexShader, "data/shaders/reflection.vert");
            Reflection.LoadSource(ShaderType.FragmentShader, "data/shaders/reflection.frag");
            Reflection.Compile();


            // Skybox shader
            Skybox = new Shader();
            Skybox.LoadSource(ShaderType.VertexShader, "data/shaders/skybox.vert");
            Skybox.LoadSource(ShaderType.FragmentShader, "data/shaders/skybox.frag");
            Skybox.Compile();

            #endregion
        }