コード例 #1
0
        protected override void OnEnable()
        {
            instance               = this;
            this.camera            = Rendering.CreateCameraWorld(this.SceneObject, ClientAmbientOcclusion.RenderingTag, -1000);
            this.camera.ClearColor = ClientAmbientOcclusion.IsDisplayMask
                                         ? Color.FromArgb(0x99, 0xFF, 0xFF, 0xFF)
                                         : Color.FromArgb(0x00, 0x00, 0x00, 0x00); // transparent black
            this.camera.DrawMode = CameraDrawMode.Manual;

            this.blurPostEffect = new BlurPostEffect
            {
                RenderTextureDownsampling = 1,
                Passes    = 2,
                IsEnabled = true
            };

            this.layerRenderer = Client.Rendering.CreateLayerRenderer(
                this.SceneObject,
                TextureResource.NoTexture,
                drawOrder: ClientAmbientOcclusion.IsDisplayMask
                //  display as overlay (over everything)
                               ? DrawOrder.Overlay
                               : DrawOrder.Occlusion);

            this.layerRenderer.CustomDraw += this.LayerRendererBeforeDrawHandler;

            this.effectInstanceCompose = EffectInstance.Create(EffectResourceAmbientOcclusionCompose);
        }
コード例 #2
0
        private void SetBlurParameters(Vector2Int size)
        {
            var blurAmount = this.settings.BlurAmount;

            BlurPostEffect.SetBlurEffectParameters(
                this.effectBlurHorizontal,
                dx: 1.0f / size.X,
                dy: 0,
                blurAmount: blurAmount);

            BlurPostEffect.SetBlurEffectParameters(
                this.effectBlurVertical,
                dx: 0,
                dy: 1.0f / size.Y,
                blurAmount: blurAmount);

            this.isBlurParametersDirty = false;
        }