public CameraRenderer(SRenderPipelineParam _rpp) { if (SystemInfo.usesReversedZBuffer) { m_worldToShadowCascadeMatrices[4].m33 = 1.0f; } m_rpp = _rpp; }
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(); }
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; }