public DeferedVisual(IRenderState renderState, IContentLoader contentLoader)
        {
            this.renderState   = renderState;
            deferedDataProgram = contentLoader.Load <IShaderProgram>(new string[] { "lambert.vert", "deferedData.frag" });
            deferedProgram     = contentLoader.LoadPixelShader("defered.frag");
            //deferedProgram = contentLoader.Load<IShaderProgram>("lambert.*");

            var mesh = Meshes.CreateCornellBox(); //TODO: ATI seams to do VAO vertex attribute ordering different for each shader would need to create own VAO

            geometry = VAOLoader.FromMesh(mesh, deferedDataProgram);
        }
示例#2
0
        public MainVisual(IRenderState renderState, IContentLoader contentLoader)
        {
            renderState.Set(new DepthTest(true));
            renderState.Set(new FaceCullingModeState(FaceCullingMode.BACK_SIDE));

            shaderProgram = contentLoader.Load <IShaderProgram>("shader.*");
            var mesh = Meshes.CreateCornellBox();

            geometry = VAOLoader.FromMesh(mesh, shaderProgram);
            bufferMaterials.Set(Meshes.CreateCornellBoxMaterial(), BufferUsageHint.StaticDraw);
        }
示例#3
0
        public MainVisual(IRenderState renderState, IContentLoader contentLoader)
        {
            this.renderState  = renderState;
            shaderProgram     = contentLoader.Load <IShaderProgram>("lambert.*");
            shaderPostProcess = contentLoader.LoadPixelShader("ChromaticAberration");
            shaderPostProcess = contentLoader.LoadPixelShader("swirl");
            shaderPostProcess = contentLoader.LoadPixelShader("sepia");
            shaderPostProcess = contentLoader.LoadPixelShader("vignet");
            shaderPostProcess = contentLoader.LoadPixelShader("Ripple");

            var mesh = Meshes.CreateCornellBox();             //TODO: ATI seams to do VAO vertex attribute ordering different for each shader would need to create own VAO

            geometry = VAOLoader.FromMesh(mesh, shaderProgram);
        }
示例#4
0
        public void ShaderChanged(string name, Shader shader)
        {
            if (ShaderName != name)
            {
                return;
            }
            this.shader = shader;
            if (ReferenceEquals(shader, null))
            {
                return;
            }
            Mesh mesh = Meshes.CreateCornellBox();

            geometry = VAOLoader.FromMesh(mesh, shader);
            bufferMaterials.Set(Meshes.CreateCornellBoxMaterial(), BufferUsageHint.StaticDraw);
        }
示例#5
0
 public void ShaderChanged(string name, Shader shader)
 {
     if (ShaderPostProcessName == name)
     {
         shaderPostProcess = shader;                 //todo: ati seams to do VAO vertex attribute ordering different for each shader would need to create own vao
     }
     else if (ShaderName == name)
     {
         this.shader = shader;
         if (ReferenceEquals(shader, null))
         {
             return;
         }
         Mesh mesh = Meshes.CreateCornellBox();
         geometry = VAOLoader.FromMesh(mesh, shader);
     }
 }