Beispiel #1
0
    private void Init()
    {
        if (m_Inited)
        {
            return;
        }

        m_RenderOpaqueForwardPass   = new RenderOpaqueForwardPass();
        m_DirectionalShadowPass     = new DirectionalShadowPass();
        m_ScreenSpaceShadowPass     = new ScreenSpaceShadowResolvePass();
        m_DepthOnlyPass             = new DepthOnlyPass();
        m_SetupForwardRenderingPass = new SetupForwardRenderingPass();
        m_SetupLWDConstants         = new SetupLWDConstantsPass();
        m_FinalBlitPass             = new FinalBlitPass();
        m_BlurPass = new BlurPass();

        ColorAttachment.Init("_CameraColorTexture");
        DepthAttachment.Init("_CameraDepthAttachment");
        DepthTexture.Init("_CameraDepthTexture");
        OpaqueColor.Init("_CameraOpaqueTexture");
        DirectionalShadowmap.Init("_DirectionalShadowmapTexture");
        BluredDirectionalShadowmap.Init("_BluredDirectionalShadowmapTexture");
        ScreenSpaceShadowmap.Init("_ScreenSpaceShadowmapTexture");

        m_Inited = true;
    }
    public override void Create()
    {
        _renderTexture.Init(_renderTextureName);
        _bluredTexture.Init(_bluredTextureName);

        _renderPass  = new MyRenderObjectsPass(_renderTexture, _renderSettings.LayerMask, _renderSettings.OverrideMaterial);
        _blurPass    = new BlurPass(_renderTexture.Identifier(), _bluredTexture, _blurSettings.BlurMaterial, _blurSettings.DownSample, _blurSettings.PassesCount);
        _outlinePass = new OutlinePass(_outlineMaterial);

        _renderPass.renderPassEvent  = _renderPassEvent;
        _blurPass.renderPassEvent    = _renderPassEvent;
        _outlinePass.renderPassEvent = _renderPassEvent;
    }
Beispiel #3
0
        public HLSLBlur(Device device, BlurPass pass, string effectFilePath)
            : base(device, effectFilePath, VertexPosition2Texture.VertexDeclaration, null)
        {
            //Create Constant Buffers interfaces
            CBPerDraw = ToDispose(new CBuffer <CBPerDraw_Struct>(device, "PerDraw"));
            CBuffers.Add(CBPerDraw);

            //Create the resource interfaces ==================================================
            SpriteTexture = new ShaderResource("SpriteTexture");
            ShaderResources.Add(SpriteTexture);

            //Create the Sampler interface ==================================================
            SpriteSampler = new ShaderSampler("SpriteSampler");
            ShaderSamplers.Add(SpriteSampler);

            //Load the shaders
            switch (pass)
            {
            case BlurPass.Horizontal:
                _shadersEntryPoint = new EntryPoints()
                {
                    VertexShader_EntryPoint = "VS",
                    PixelShader_EntryPoint  = "PS_BlurHorizontal"
                };
                break;

            case BlurPass.Vertical:
                _shadersEntryPoint = new EntryPoints()
                {
                    VertexShader_EntryPoint = "VS",
                    PixelShader_EntryPoint  = "PS_BlurVertical"
                };
                break;
            }
            base.LoadShaders(_shadersEntryPoint);
        }
Beispiel #4
0
 public HLSLBlur(Device device, BlurPass pass)
     : this(device, pass, @"Effects\Sprites\Blur.hlsl")
 {
 }