Exemplo n.º 1
0
            public void Init(bool enableDistortion, RenderTargetProperty renderTargetProperty
                             , StereoRendererUtil.StereoRenderingTypes stereoRenderingType = StereoRendererUtil.StereoRenderingTypes.None)
            {
                this.isDistortionEnabled        = enableDistortion;
                isDistortionMakeDisabledForcely = false;

                // Create a command buffer that is effekseer renderer
                if (!isCommandBufferFromExternal)
                {
                    this.commandBuffer      = new CommandBuffer();
                    this.commandBuffer.name = "Effekseer Rendering";
                }

                if (stereoRenderingType == StereoRendererUtil.StereoRenderingTypes.SinglePass)
                {
                    // In SinglePass Stereo Rendering, draw eyes twice on the left and right with one CommandBuffer
                    this.isDistortionEnabled             = false;
                    this.isDistortionMakeDisabledForcely = true;
                }

                SetupBackgroundBuffer(this.isDistortionEnabled, renderTargetProperty);

                if (!isCommandBufferFromExternal)
                {
                    SetupEffekseerRenderCommandBuffer(commandBuffer, this.isDistortionEnabled, renderTargetProperty);
                }

                // register the command to a camera
                if (!isCommandBufferFromExternal)
                {
                    this.camera.AddCommandBuffer(this.cameraEvent, this.commandBuffer);
                }
            }
Exemplo n.º 2
0
            public void Init(bool enableDistortion, int?dstID, RenderTargetIdentifier?dstIdentifier
                             , StereoRendererUtil.StereoRenderingTypes stereoRenderingType = StereoRendererUtil.StereoRenderingTypes.None)
            {
                this.isDistortionEnabled        = enableDistortion;
                isDistortionMakeDisabledForcely = false;

                if (this.renderTexture != null)
                {
                    this.renderTexture.Release();
                    this.renderTexture = null;
                }

                // Create a command buffer that is effekseer renderer
                this.commandBuffer      = new CommandBuffer();
                this.commandBuffer.name = "Effekseer Rendering";

                SetupEffekseerRenderCommandBuffer(commandBuffer, enableDistortion, dstID, dstIdentifier);

                if (stereoRenderingType == StereoRendererUtil.StereoRenderingTypes.SinglePass)
                {
                    // In SinglePass Stereo Rendering, draw eyes twice on the left and right with one CommandBuffer
                    this.isDistortionEnabled             = false;
                    this.isDistortionMakeDisabledForcely = true;

                    SetupEffekseerRenderCommandBuffer(commandBuffer, this.isDistortionEnabled, dstID, dstIdentifier);
                }

                // register the command to a camera
                this.camera.AddCommandBuffer(this.cameraEvent, this.commandBuffer);
            }
Exemplo n.º 3
0
            public void Init(bool enableDistortion, RenderTargetProperty renderTargetProperty
                             , StereoRendererUtil.StereoRenderingTypes stereoRenderingType = StereoRendererUtil.StereoRenderingTypes.None)
            {
                this.isDistortionEnabled        = enableDistortion;
                isDistortionMakeDisabledForcely = false;

                if (enableDistortion && renderTargetProperty != null && renderTargetProperty.colorTargetDescriptor.msaaSamples > 1)
                {
                    Debug.LogWarning("Distortion with MSAA is differnt from Editor on [Effekseer] Effekseer(*RP)");
                    Debug.LogWarning("If LWRP or URP, please check Opacue Texture is PipelineAsset");
                }

                // Create a command buffer that is effekseer renderer
                if (!isCommandBufferFromExternal)
                {
                    this.commandBuffer      = new CommandBuffer();
                    this.commandBuffer.name = "Effekseer Rendering";
                }

                if (stereoRenderingType == StereoRendererUtil.StereoRenderingTypes.SinglePass)
                {
                    // In SinglePass Stereo Rendering, draw eyes twice on the left and right with one CommandBuffer
                    this.isDistortionEnabled             = false;
                    this.isDistortionMakeDisabledForcely = true;
                }

                SetupBackgroundBuffer(this.isDistortionEnabled, renderTargetProperty);

                if (!isCommandBufferFromExternal)
                {
                    SetupEffekseerRenderCommandBuffer(commandBuffer, this.isDistortionEnabled, renderTargetProperty);
                }

                // register the command to a camera
                if (!isCommandBufferFromExternal)
                {
                    this.camera.AddCommandBuffer(this.cameraEvent, this.commandBuffer);
                }
            }