示例#1
0
        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);
        }
示例#2
0
        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);
        }