Example #1
0
 public CameraRenderer(SRenderPipelineParam _rpp)
 {
     if (SystemInfo.usesReversedZBuffer)
     {
         m_worldToShadowCascadeMatrices[4].m33 = 1.0f;
     }
     m_rpp = _rpp;
 }
Example #2
0
 public CustomRenderPipeline(SRenderPipelineParam _rpp)
 {
     m_rpp = _rpp;
     //将光照强度从gamma空间变换到线性空间
     GraphicsSettings.lightsUseLinearIntensity = true;
     m_renderer          = new CameraRenderer(_rpp);
     m_deferred_renderer = new DeferredCameraRenderer(_rpp);
     m_forwardAddSRP     = new ForwardAddSRP(_rpp);
 }
    public ForwardAddSRP(SRenderPipelineParam _params)
    {
        m_params                = _params;
        m_clusterRenderingCS    = Resources.Load <ComputeShader>("ClusterRendering");
        m_clusterLightCullingCS = Resources.Load <ComputeShader>("ClusterLightCulling");
        m_ssaoCS                = Resources.Load <ComputeShader>("SSAO");

        m_clusterComputeKernel = m_clusterRenderingCS.FindKernel("ClusterCompute");
        m_lightCullingKernel   = m_clusterLightCullingCS.FindKernel("ClusterLightCulling");
        m_ssaoKernel           = m_ssaoCS.FindKernel("SSAO");
        createNoise();
        createRandRotate();
    }
Example #4
0
    protected override RenderPipeline CreatePipeline()
    {
        SRenderPipelineParam rpp = new SRenderPipelineParam();

        rpp.clearColor         = clearColor;
        rpp.bDynamicBatching   = enableDynamicBatching;
        rpp.bInsancing         = enableInstancing;
        rpp.shadowMapSize      = (int)m_shadowMapSize;
        rpp.shadowDistance     = shadowDistance;
        rpp.shadowCascades     = (int)m_shadowCascades;
        rpp.shadowCascadeSplit = m_shadowCascades == EShadowCascades.Four ? m_fourCascadesSplit : new Vector3(m_twoCascadesSplit, 0.0f);
        rpp.defaultStack       = defaultStack;
        rpp.renderScale        = m_renderScale;
        rpp.msaa     = (int)m_msaa;
        rpp.allowHDR = m_allowHDR;
        return(new CustomRenderPipeline(rpp));
    }
 public CustomRenderPipeline(SRenderPipelineParam _rpp)
 {
     //将光照强度从gamma空间变换到线性空间
     GraphicsSettings.lightsUseLinearIntensity = true;
     m_renderer = new CameraRenderer(_rpp);
 }
 public DeferredCameraRenderer(SRenderPipelineParam _params)
 {
     //initializeStatic();
     m_params = _params;
 }