コード例 #1
0
        public SimpleRenderTask(RenderTargetGroup rt)
        {
            renderTarget = rt;

            vShader = Renderer.Instance.Shaders.LoadVertexShader("assets/shader/simple.hlsl", "VSMain");
            pShader = Renderer.Instance.Shaders.LoadPixelShader("assets/shader/simple.hlsl", "PSMain");

            var rasterizerStateDescription = RasterizerStateDescription.Default();

            rasterizerStateDescription.CullMode = CullMode.Back;
            rasterizerState = new RasterizerState(Renderer.Dev, rasterizerStateDescription);
        }
コード例 #2
0
        public DeferredRenderTask(SwapChain swapChain)
        {
            this.swapChain = swapChain;
            renderTargets  = new RenderTargetGroup(swapChain, Format.R8G8B8A8_UNorm); // Albedo
            renderTargets.AddDepthStencil();
            renderTargets.AddRenderTarget(Format.R8G8B8A8_UNorm);                     //Normals
            renderTargets.AddRenderTarget(Format.R16G16B16A16_Float);                 //Position
            renderTargets.AddRenderTarget(Format.R8G8B8A8_UNorm);                     //Light
            renderTargets.AddRenderTarget(Format.R8G8B8A8_UNorm);                     //Combine

            swapChain.OnResize += (o, e) => {
                renderTargets.Resize(e.Size.Width, e.Size.Height);
            };
            Init();

            FXAA = true;
        }
コード例 #3
0
 public ClearRenderTask(RenderTargetGroup renderTargets)
 {
     this.renderTargets = renderTargets;
     vsClear            = Renderer.ShaderLoader.LoadVertexShader("assets/shader/deferredCleanup.hlsl", "VSMain");
     psClear            = Renderer.ShaderLoader.LoadPixelShader("assets/shader/deferredCleanup.hlsl", "PSMain");
 }