浏览代码

Single-pass instanced stereo rendering works again with LWRP.

/main
Brandon Fogerty 7 年前
当前提交
9f6fc1e8
共有 2 个文件被更改,包括 12 次插入4 次删除
  1. 4
      com.unity.render-pipelines.lightweight/LWRP/DefaultRendererSetup.cs
  2. 12
      com.unity.render-pipelines.lightweight/LWRP/Passes/DrawSkyboxPass.cs

4
com.unity.render-pipelines.lightweight/LWRP/DefaultRendererSetup.cs


using System;
using System;
using UnityEngine.Rendering;
namespace UnityEngine.Experimental.Rendering.LightweightPipeline

foreach (var pass in camera.GetComponents<IAfterTransparentPass>())
renderer.EnqueuePass(pass.GetPassToEnqueue(baseDescriptor, colorHandle, depthHandle));
if (renderingData.cameraData.postProcessEnabled)
if (!renderingData.cameraData.isStereoEnabled && renderingData.cameraData.postProcessEnabled)
{
m_TransparentPostProcessPass.Setup(renderer.postProcessRenderContext, baseDescriptor, colorHandle, BuiltinRenderTextureType.CameraTarget);
renderer.EnqueuePass(m_TransparentPostProcessPass);

12
com.unity.render-pipelines.lightweight/LWRP/Passes/DrawSkyboxPass.cs


using UnityEngine.Rendering;
using UnityEngine.Rendering;
namespace UnityEngine.Experimental.Rendering.LightweightPipeline
{

{
CommandBuffer cmd = CommandBufferPool.Get("Draw Skybox (Set RT's)");
cmd.SetRenderTarget(colorAttachmentHandle.Identifier(), depthAttachmentHandle.Identifier());
if(renderingData.cameraData.isStereoEnabled && XRGraphicsConfig.eyeTextureDesc.dimension == TextureDimension.Tex2DArray)
{
cmd.SetRenderTarget(colorAttachmentHandle.Identifier(), depthAttachmentHandle.Identifier(), 0, CubemapFace.Unknown, -1);
}
else
{
cmd.SetRenderTarget(colorAttachmentHandle.Identifier(), depthAttachmentHandle.Identifier());
}
context.ExecuteCommandBuffer(cmd);
CommandBufferPool.Release(cmd);

正在加载...
取消
保存