public float GetRaysPerFrame(RayCountValues rayCountValue) { if (!m_DebugDisplaySettings.data.countRays) { return(0.0f); } else { while (rayCountReadbacks.Peek().done || rayCountReadbacks.Peek().hasError == true) { if (rayCountReadbacks.Peek().done) { // Grab the native array from this readback NativeArray <uint> sampleCount = rayCountReadbacks.Peek().GetData <uint>(); for (int i = 0; i < 4; ++i) { m_ReducedRayCountValues[i] = sampleCount[i]; } } rayCountReadbacks.Dequeue(); } return(m_ReducedRayCountValues[(int)rayCountValue]); } }
public uint GetRaysPerFrame(RayCountValues rayCountValue) { if (!m_RayTracingSupported || !m_IsActive) { return(0); } else { while (rayCountReadbacks.Peek().done || rayCountReadbacks.Peek().hasError == true) { // If this has an error, just skip it if (!rayCountReadbacks.Peek().hasError) { // Grab the native array from this readback NativeArray <uint> sampleCount = rayCountReadbacks.Peek().GetData <uint>(); for (int i = 0; i < (int)RayCountValues.Count; ++i) { m_ReducedRayCountValues[i] = sampleCount[i]; } } rayCountReadbacks.Dequeue(); } if (rayCountValue != RayCountValues.Total) { return(m_ReducedRayCountValues[(int)rayCountValue]); } else { uint rayCount = 0; for (int i = 0; i < (int)RayCountValues.Count; ++i) { rayCount += (uint)m_ReducedRayCountValues[i]; } return(rayCount); } } }
public float GetRaysPerFrame(RayCountValues rayCountValue) { if (!m_IsActive) { return(0.0f); } else { while (rayCountReadbacks.Peek().done || rayCountReadbacks.Peek().hasError == true) { // If this has an error, just skip it if (!rayCountReadbacks.Peek().hasError) { // Grab the native array from this readback NativeArray <uint> sampleCount = rayCountReadbacks.Peek().GetData <uint>(); for (int i = 0; i < (int)RayCountValues.Count; ++i) { m_ReducedRayCountValues[i] = sampleCount[i]; } } rayCountReadbacks.Dequeue(); } if (rayCountValue != RayCountValues.Total) { return(m_ReducedRayCountValues[(int)rayCountValue]); } else { return(m_ReducedRayCountValues[(int)RayCountValues.Visibility] + m_ReducedRayCountValues[(int)RayCountValues.Indirect] + m_ReducedRayCountValues[(int)RayCountValues.GBuffer] + m_ReducedRayCountValues[(int)RayCountValues.Forward]); } } }