Ejemplo n.º 1
0
        void RenderLoop(int stagedLayer, SortingType sortType, bool clear, bool useGroupColor, Color overrideColor)
        {
            if (!useGroupColor)
            {
                Shader.SetGlobalColor(_Color, overrideColor);
            }


            bool clearedCamera = false;

            for (int i = 0; i < highlightGroups.Count; i++)
            {
                HighlightGroup group = highlightGroups[i];
                if (group.sortingType == sortType)
                {
                    TempCam.clearFlags = clearedCamera || !clear ? CameraClearFlags.Nothing : CameraClearFlags.Color;
                    // if (clear) {
                    // }

                    clearedCamera = true;

                    if (useGroupColor)
                    {
                        Shader.SetGlobalColor(_Color, group.highlightColor);
                    }

                    group.Stage(stagedLayer);
                    TempCam.RenderWithShader(DrawSimple, "");
                    group.Unstage();
                }
            }
        }
Ejemplo n.º 2
0
 void InitializeTemporaryCamera()
 {
     //set up a temporary camera
     TempCam.CopyFrom(AttachedCamera);
     TempCam.renderingPath          = RenderingPath.VertexLit;
     TempCam.allowDynamicResolution = false;
     TempCam.allowHDR            = false;
     TempCam.allowMSAA           = false;
     TempCam.farClipPlane        = 25;
     TempCam.nearClipPlane       = .1f;
     TempCam.useOcclusionCulling = true;
     TempCam.backgroundColor     = Color.clear;
 }
Ejemplo n.º 3
0
        // we need this for the depth mask
        void RenderSceneWithoutHighlights(int stagedLayer)
        {
            //clear before we start renedering
            TempCam.clearFlags = CameraClearFlags.Color;

            //cull all highlighted renderers
            TempCam.cullingMask = ~(1 << stagedLayer);

            Shader.SetGlobalColor(_Color, Color.clear);

            StageAll(stagedLayer);
            TempCam.RenderWithShader(DrawSimple, "");
            UnstageAll();

            //cull eveyrthing but highlighted renderers
            TempCam.cullingMask = 1 << stagedLayer;
        }