Esempio n. 1
0
            public void Enter(Camera camera)
            {
                if (textureNumber == null)
                {
                    textureNumber = Resources.Load <Texture>("Numbers_64pt_alpha");
                }

                if (materialClearOpaque == null)
                {
                    materialClearOpaque = new Material(ShadingMaterial.pixelOverdrawClear);
                }
                if (materialDisplayShowAlpha == null)
                {
                    materialDisplayShowAlpha = new Material(ShadingMaterial.pixelOverdrawShowAlpha);
                }
                if (materialApply == null)
                {
                    materialApply = new Material(ShadingMaterial.pixelOverdrawApply);
                }

                targetCamera = camera;

                // shading renderers
                List <IReplacementRenderer> replacementRenderers = UtilityReplacementRenderer.FindReplacementRenderers(ReplacementRendererSource.Renderer | ReplacementRendererSource.CanvasRenderer);

                shadingRenderers = new List <ShadingRenderer>(replacementRenderers.Count);
                foreach (IReplacementRenderer replacementRenderer in replacementRenderers)
                {
                    ShadingRenderer shadingRenderer = new ShadingRenderer(replacementRenderer);
                    shadingRenderer.Shading();

                    shadingRenderers.Add(shadingRenderer);
                }
                RefreshShading();

                // command buffer
                commandBufferBeforeForwardAlpha = new CommandBuffer()
                {
                    name = "PixelOvedraw ForwardAlpha"
                };
                targetCamera.AddCommandBuffer(CameraEvent.BeforeForwardAlpha, commandBufferBeforeForwardAlpha);
                commandBufferBeforeImageEffects = new CommandBuffer()
                {
                    name = "PixelOvedraw BeforeImageEffects"
                };
                targetCamera.AddCommandBuffer(CameraEvent.BeforeImageEffects, commandBufferBeforeImageEffects);

                // calculation appropriate
                int sizeX = 60;
                int sizeY = (int)(60 / targetCamera.aspect);

                gridSize = new Vector2(sizeX, sizeY);
                RecalculateGrids();

                setting.showAlpha         = false;
                setting.refreshStatistics = true;
                setting.checkPlatformRenderingConvension = false;
            }
Esempio n. 2
0
            public void Enter(Camera camera)
            {
                // shading renderers
                List <IReplacementRenderer> replacementRenderers = UtilityReplacementRenderer.FindReplacementRenderers(ReplacementRendererSource.ParticleSystem);

                shadingRenderers = new List <ShadingRenderer>(replacementRenderers.Count);
                foreach (IReplacementRenderer replacementRenderer in replacementRenderers)
                {
                    ShadingRenderer shadingRenderer = new ShadingRenderer(replacementRenderer);
                    shadingRenderer.Shading();

                    shadingRenderers.Add(shadingRenderer);
                }
                RefreshShading();
            }