public void RenderObjectClear(OutlineRenderFlags flags) { // NOTE: Use the camera depth buffer when rendering the mask. Shader only reads from the depth buffer (ZWrite Off). if ((flags & OutlineRenderFlags.EnableDepthTesting) != 0) { if (_rtDimention == TextureDimension.Tex2DArray) { // NOTE: Need to use this SetRenderTarget overload for XR, otherwise single pass instanced rendering does not function properly. _commandBuffer.SetRenderTarget(_resources.MaskTex, _depth, 0, CubemapFace.Unknown, -1); } else { _commandBuffer.SetRenderTarget(_resources.MaskTex, RenderBufferLoadAction.DontCare, RenderBufferStoreAction.Store, _depth, RenderBufferLoadAction.Load, RenderBufferStoreAction.DontCare); } } else { if (_rtDimention == TextureDimension.Tex2DArray) { _commandBuffer.SetRenderTarget(_resources.MaskTex, 0, CubemapFace.Unknown, -1); } else { _commandBuffer.SetRenderTarget(_resources.MaskTex, RenderBufferLoadAction.DontCare, RenderBufferStoreAction.Store); } } _commandBuffer.ClearRenderTarget(false, true, Color.clear); }
private void RenderObjectClear(OutlineRenderFlags flags) { if ((flags & OutlineRenderFlags.EnableDepthTesting) != 0) { // NOTE: Use the camera depth buffer when rendering the mask. Shader only reads from the depth buffer (ZWrite Off). _commandBuffer.SetRenderTarget(_maskRtId, RenderBufferLoadAction.DontCare, RenderBufferStoreAction.Store, _depth, RenderBufferLoadAction.Load, RenderBufferStoreAction.DontCare); } else { _commandBuffer.SetRenderTarget(_maskRtId, RenderBufferLoadAction.DontCare, RenderBufferStoreAction.Store); } _commandBuffer.ClearRenderTarget(false, true, Color.clear); }