Exemplo n.º 1
0
        protected override void InitializeService()
        {
            //  Listen to changes in light count
            sceneManager.LightCountSet += new SceneManager.LightCountSetDelegate(SetLightCount);

            ShadowBlendState    = BlendState.Default;
            ShadowFaceCullState = FaceCullState.Default;
            ShadowDepthState    = DepthState.Default;

            quadRenderer       = new QuadRenderer(renderer);
            visualizeShadowMap = renderer.Programs["VisualizeShadowMap"];

            if (example.Renderer.Configuration.hardwareShadowPCF)
            {
                materialManager.MakeMaterial("Shadow", "ShadowCaster2");
            }
            else
            {
                materialManager.MakeMaterial("Shadow", "ShadowCaster");
            }

            {
                var m = materialManager.MakeMaterial("VisualizeShadowMap");
                m.DepthState    = DepthState.Disabled;
                m.FaceCullState = FaceCullState.Disabled;
            }

            renderer.Resize += new EventHandler <EventArgs>(renderer_Resize);
        }
Exemplo n.º 2
0
        public void Render()
        {
            Framebuffer.Execute();
            Viewport.Execute();
            BlendState.Execute();
            FaceCullState.Execute();
            MaskState.Execute();
            DepthState.Execute();
            StencilState.Execute();
            Clear.Execute();
            camera.UpdateFrame();
            camera.UpdateViewport(Viewport.Viewport);
            foreach (var item in renderItems)
            {
#if false
                if (item.Model.Frame != frame)
                {
                    camera.UpdateModelFrame(frame);
                }
#endif
                //item.Batch.Mesh.ApplyAttributes(
            }
        }