예제 #1
0
파일: HDProbe.cs 프로젝트: vault51/Graphics
        /// <summary>
        /// Creates the render steps for the given probe type.
        /// </summary>
        /// <param name="probeType">The probe type.</param>
        /// <returns>The render steps for the given probe type.</returns>
        public static ProbeRenderSteps FromProbeType(ProbeSettings.ProbeType probeType)
        {
            switch (probeType)
            {
            case ProbeSettings.ProbeType.ReflectionProbe: return(ProbeRenderSteps.ReflectionProbeMask);

            case ProbeSettings.ProbeType.PlanarProbe: return(ProbeRenderSteps.PlanarProbeMask);

            default: return(ProbeRenderSteps.None);
            }
        }
예제 #2
0
        public static bool IsEnabledFor(
            this DebugLightFilterMode mode,
            ProbeSettings.ProbeType probeType
            )
        {
            switch (probeType)
            {
            case ProbeSettings.ProbeType.PlanarProbe: return((mode & DebugLightFilterMode.IndirectPlanarProbe) != 0);

            case ProbeSettings.ProbeType.ReflectionProbe: return((mode & DebugLightFilterMode.IndirectReflectionProbe) != 0);

            default: throw new ArgumentOutOfRangeException(nameof(probeType));
            }
        }
예제 #3
0
        public static string GetBakedTextureFilePath(
            ProbeSettings.ProbeType probeType,
            int index,
            SceneManagement.Scene scene
            )
        {
            var cacheDirectory = GetBakedTextureDirectory(scene);
            var targetFile     = Path.Combine(
                cacheDirectory,
                string.Format(k_HDProbeAssetFormat, probeType, index)
                );

            return(targetFile);
        }
예제 #4
0
        public static bool TryParseBakedProbeAssetFileName(
            string filename,
            out ProbeSettings.ProbeType type,
            out int index
            )
        {
            var match = k_HDProbeAssetRegex.Match(filename);

            if (!match.Success)
            {
                type  = default(ProbeSettings.ProbeType);
                index = 0;
                return(false);
            }

            type  = (ProbeSettings.ProbeType)Enum.Parse(typeof(ProbeSettings.ProbeType), match.Groups["type"].Value);
            index = int.Parse(match.Groups["index"].Value);
            return(true);
        }
예제 #5
0
 public static string HDProbeAssetPattern(ProbeSettings.ProbeType type)
 {
     return(string.Format("{0}-*.exr", type));
 }