protected override void Render(ScriptableRenderContext context, Camera[] cameras) { foreach (Camera camera in cameras) { renderer.Render(context, camera, allowHDR, useDynamicBatching, useGPUInstancing, useLightsPerObject, shadowSettings, postFXSettings, colorLUTResolution); } }
/// <summary> /// /// </summary> /// <param name="context">可以做很多事,比如设置全局的vp矩阵,shader中用于矩阵变换;执行CommandBuffer;设置渲染目标等</param> /// <param name="cameras"></param> protected override void Render(ScriptableRenderContext context, Camera[] cameras) { for (int i = 0; i < cameras.Length; i++) { _render.Render(context, cameras[i], _gpuInstancing, _dynamicBatch, _shadowSettings); } }
protected override void Render(ScriptableRenderContext context, Camera[] cameras) { foreach (Camera c in cameras) { m_cameraRender.Render(context, c, useDynamicBatching, useGPUInstancing); } }
protected override void Render(ScriptableRenderContext context, Camera[] cameras) { foreach (Camera camera in cameras) { renderer.Render(context, camera, useDynamicBatching, useGPUInstancing, shadowSettings); } }
/// <summary> /// Unity每一帧都会调用CustomRenderPipeline实例的Render()方法进行画面渲染, /// 该方法是SRP的入口,进行渲染时底层接口会调用它并传递两个参数, /// 一个是ScriptableRenderContext对象,一个是Camera[]对象。 /// </summary> /// <param name="context"></param> /// <param name="cameras"></param> protected override void Render(ScriptableRenderContext context, Camera[] cameras) { foreach (var camera in cameras) { _cameraRender.Render(context, camera); } }
protected override void Render(ScriptableRenderContext context, Camera[] cameras) { BeginFrameRendering(context, cameras); foreach (Camera camera in cameras) { BeginCameraRendering(context, camera); renderer.Render(context, camera, useDynamicBatching, useGPUInstancing, shadowSettings); EndCameraRendering(context, camera); } EndFrameRendering(context, cameras); }