Ejemplo n.º 1
0
        private void EnqueueAllRenderSteps()
        {
            ProbeRenderSteps allRenderSteps = ProbeRenderStepsExt.FromProbeType(type);

            if (m_RemainingRenderSteps != allRenderSteps)
            {
                m_HasPendingRenderRequest = true;
            }
        }
Ejemplo n.º 2
0
        internal ProbeRenderSteps NextRenderSteps()
        {
            if (m_RemainingRenderSteps.IsNone() && m_HasPendingRenderRequest)
            {
                m_RemainingRenderSteps    = ProbeRenderStepsExt.FromProbeType(type);
                m_HasPendingRenderRequest = false;
            }

            if (type == ProbeSettings.ProbeType.ReflectionProbe)
            {
                // pick one bit or all remaining bits
                ProbeRenderSteps nextSteps = timeSlicing ? m_RemainingRenderSteps.LowestSetBit() : m_RemainingRenderSteps;
                m_RemainingRenderSteps &= ~nextSteps;
                return(nextSteps);
            }
            else
            {
                // always render the full planar reflection
                m_RemainingRenderSteps = ProbeRenderSteps.None;
                return(ProbeRenderSteps.PlanarProbeMask);
            }
        }
Ejemplo n.º 3
0
 /// <summary>
 /// Test if the bit for the given cubemap face is set.
 /// </summary>
 /// <param name="steps">The probe rendering steps.</param>
 /// <param name="face">The cubemap face.</param>
 /// <returns>True if the cubemap face bit is set, false otherwise.</returns>
 public static bool HasCubeFace(this ProbeRenderSteps steps, CubemapFace face)
 {
     return(steps.HasFlag(ProbeRenderStepsExt.FromCubeFace(face)));
 }