public void Setup(LightweightForwardRenderer renderer, ref ScriptableRenderContext context,
                      ref CullResults cullResults, ref RenderingData renderingData)
    {
        Init(renderer);

        renderer.Clear();

        renderer.SetupPerObjectLightIndices(ref cullResults, ref renderingData.lightData);
        RenderTextureDescriptor baseDescriptor   = renderer.CreateRTDesc(ref renderingData.cameraData);
        RenderTextureDescriptor shadowDescriptor = baseDescriptor;

        shadowDescriptor.dimension = TextureDimension.Tex2D;

        renderer.EnqueuePass(m_SetupForwardRenderingPass);

        RenderTargetHandle colorHandle = RenderTargetHandle.CameraTarget;
        RenderTargetHandle depthHandle = RenderTargetHandle.CameraTarget;

        var sampleCount = (SampleCount)renderingData.cameraData.msaaSamples;

        m_CreateLightweightRenderTexturesPass.Setup(baseDescriptor, colorHandle, depthHandle, sampleCount);
        renderer.EnqueuePass(m_CreateLightweightRenderTexturesPass);

        Camera camera          = renderingData.cameraData.camera;
        bool   dynamicBatching = renderingData.supportsDynamicBatching;
        RendererConfiguration rendererConfiguration = LightweightForwardRenderer.GetRendererConfiguration(renderingData.lightData.totalAdditionalLightsCount);

        renderer.EnqueuePass(m_SetupLightweightConstants);

        m_RenderOpaqueForwardPass.Setup(baseDescriptor, colorHandle, depthHandle, LightweightForwardRenderer.GetCameraClearFlag(camera), camera.backgroundColor, rendererConfiguration, dynamicBatching);
        renderer.EnqueuePass(m_RenderOpaqueForwardPass);
    }
        public override void Execute(LightweightForwardRenderer renderer, ref ScriptableRenderContext context,
                                     ref CullResults cullResults,
                                     ref RenderingData renderingData)
        {
            Camera camera = renderingData.cameraData.camera;

            context.StartMultiEye(camera);
        }
    private void Init(LightweightForwardRenderer renderer)
    {
        if (m_Initialized)
        {
            return;
        }

        m_SetupForwardRenderingPass           = new SetupForwardRenderingPass(renderer);
        m_CreateLightweightRenderTexturesPass = new CreateLightweightRenderTexturesPass(renderer);
        m_SetupLightweightConstants           = new SetupLightweightConstanstPass(renderer);
        m_RenderOpaqueForwardPass             = new RenderOpaqueForwardPass(renderer);

        m_Initialized = true;
    }
Exemplo n.º 4
0
 public override void Execute(LightweightForwardRenderer renderer, ref ScriptableRenderContext context,
                              ref CullResults cullResults,
                              ref RenderingData renderingData)
 {
     // SetupCameraProperties does the following:
     // Setup Camera RenderTarget and Viewport
     // VR Camera Setup and SINGLE_PASS_STEREO props
     // Setup camera view, proj and their inv matrices.
     // Setup properties: _WorldSpaceCameraPos, _ProjectionParams, _ScreenParams, _ZBufferParams, unity_OrthoParams
     // Setup camera world clip planes props
     // setup HDR keyword
     // Setup global time properties (_Time, _SinTime, _CosTime)
     context.SetupCameraProperties(renderingData.cameraData.camera, renderingData.cameraData.isStereoEnabled);
 }
Exemplo n.º 5
0
 public SetupForwardRenderingPass(LightweightForwardRenderer renderer) : base(renderer)
 {
 }
Exemplo n.º 6
0
 public BeginXRRenderingPass(LightweightForwardRenderer renderer) : base(renderer)
 {
 }
 public DrawSkyboxPass(LightweightForwardRenderer renderer) : base(renderer)
 {
 }
Exemplo n.º 8
0
 public override void Execute(LightweightForwardRenderer renderer, ref ScriptableRenderContext context,
                              ref CullResults cullResults,
                              ref RenderingData renderingData)
 {
     context.DrawSkybox(renderingData.cameraData.camera);
 }