Exemplo n.º 1
0
 public static void CameraChanged(Video.ICamera cam)
 {
     TerrainShader.SetValue("matrixViewProj", cam.ViewProj);
     TerrainShader.SetValue("CameraPosition", cam.Position);
     SkyShader.SetValue("matrixViewProj", cam.ViewProj);
     MDXShader.SetValue("matrixViewProj", cam.ViewProj);
     MDXShader.SetValue("CameraPosition", cam.Position);
     WMOShader.SetValue("matrixViewProj", cam.ViewProj);
     WMOShader.SetValue("CameraPosition", cam.Position);
     BoxShader.SetValue("matrixViewProj", cam.ViewProj);
 }
Exemplo n.º 2
0
        public void Draw(PlayerCamera camera)
        {
            GL.DepthMask(false);
            Matrix4 mvp = camera.Projection.Inverse();
            Matrix4 mv  = camera.WorldView.Inverse();

            SkyShader.Use();
            SkyShader.SetMatrix(mvp, mv);
            SetSkyColour(SkyColour.X, SkyColour.Y, SkyColour.Z);
            SkyQuad.Draw();
            GL.DepthMask(true);
        }
Exemplo n.º 3
0
        public SkyRenderer(GraphicsDevice device, ContentManager content, string shaderPath)
        {
            mDevice = device;

            mShader = new SkyShader(content, shaderPath);

            var model = content.Load <Model>(SkyDomePath);

            mSkyDome = new Mesh.Mesh(model);

            mTint     = content.Load <Texture2D>(TintPath);
            mSunMorph = content.Load <Texture2D>(SunMorphPath);
            mMoon     = content.Load <Texture2D>(MoonPath);
        }
Exemplo n.º 4
0
        static ShaderCollection()
        {
            TerrainShader = ShaderManager.Shaders.GetShader("TerrainShader");
            TerrainShader.SetTechnique(0);
            SkyShader = ShaderManager.Shaders.GetShader("SkySphere");
            SkyShader.SetTechnique(0);
            MDXShader = ShaderManager.Shaders.GetShader("MDXShader");
            MDXShader.SetTechnique(0);
            WMOShader = ShaderManager.Shaders.GetShader("WMOShader");
            WMOShader.SetTechnique(0);
            BoxShader = ShaderManager.Shaders.GetShader("BoxShader");
            BoxShader.SetTechnique(0);

            Game.GameManager.PropertyChanged += (property) =>
            {
                switch (property)
                {
                case Game.GameProperties.FogStart:
                {
                    TerrainShader.SetValue("fogStart", Game.GameManager.WorldManager.FogStart);
                    MDXShader.SetValue("fogStart", Game.GameManager.WorldManager.FogStart);
                    WMOShader.SetValue("fogStart", Game.GameManager.WorldManager.FogStart);
                }
                break;

                case Game.GameProperties.FogDistance:
                {
                    float fogEnd = Game.GameManager.WorldManager.FogStart + Game.GameManager.WorldManager.FogDistance;
                    TerrainShader.SetValue("fogEnd", fogEnd);
                    MDXShader.SetValue("fogEnd", fogEnd);
                    WMOShader.SetValue("fogEnd", fogEnd);
                }
                break;
                }
            };

            //if (Game.GameManager.IsPandaria)
            TerrainShader.SetValue("minimapMode", true);
        }