Ejemplo n.º 1
0
        private bool getShadowParameterHandler(string parameterName, out string parameterValue)
        {
            switch (parameterName)
            {
            case "ShadowTechnique":
                switch (ShadowTechnique)
                {
                case ShadowTechnique.None:
                    parameterValue = "None";
                    break;

                case ShadowTechnique.Simple:
                    parameterValue = "Simple";
                    break;

                case ShadowTechnique.Depth:
                    parameterValue = "Depth";
                    break;

                default:
                    parameterValue = "";
                    return(false);
                }
                break;

            case "ShadowColor":
                parameterValue = ShadowColor.To_0_255_String();
                break;

            case "ShadowTextureCount":
                parameterValue = ShadowTextureCount.ToString();
                break;

            case "ShadowTextureSize":
                parameterValue = ShadowTextureSize.ToString();
                break;

            case "ShadowFarDistance":
                parameterValue = ShadowFarDistance.ToString();
                break;

            case "Help":
                parameterValue = ShadowParameterHelp();
                break;

            default:
                parameterValue = "";
                return(false);
            }
            return(true);
        }
Ejemplo n.º 2
0
 public void UpdateLOD()
 {
     Camera cam = Camera.main;
     if (!cam) {
         return;
     }
     Vector3 v1 = cam.transform.position;
     Vector3 v2 = transform.position;
     float radius = range;
     float distance = Vector3.Distance (v1, v2) * levelOfDetailAggression;
     float qualityMultiplier;
     if (distance <= radius) {
         qualityMultiplier = 1.0f;
     } else {
         qualityMultiplier = radius / distance;
     }
     int qualityNew = Mathf.ClosestPowerOfTwo ((int)((int)shadowResolution * qualityMultiplier));
     qualityNew = Mathf.Max (64, qualityNew);
     if (qualityNew != (int)shadowResolutionCurrent) {
         shadowResolutionCurrent = (ShadowTextureSize)qualityNew;
         UpdateNextFrame = true;
     }
     CheckTexture ();
 }