public RoundedFrustumRangeBufferData ToFrustumBuffer() { var RoundedFrustumRangeBufferData = new RoundedFrustumRangeBufferData(); var frustumPointsWorldPositions = RoundedFrustumRangeObjectRenderingDataProvider.GetFrustumWorldPosition(); RoundedFrustumRangeBufferData.FC1 = frustumPointsWorldPositions.FC1; RoundedFrustumRangeBufferData.FC2 = frustumPointsWorldPositions.FC2; RoundedFrustumRangeBufferData.FC3 = frustumPointsWorldPositions.FC3; RoundedFrustumRangeBufferData.FC4 = frustumPointsWorldPositions.FC4; RoundedFrustumRangeBufferData.FC5 = frustumPointsWorldPositions.FC5; RoundedFrustumRangeBufferData.normal1 = frustumPointsWorldPositions.normal1; RoundedFrustumRangeBufferData.normal2 = frustumPointsWorldPositions.normal2; RoundedFrustumRangeBufferData.normal3 = frustumPointsWorldPositions.normal3; RoundedFrustumRangeBufferData.normal4 = frustumPointsWorldPositions.normal4; RoundedFrustumRangeBufferData.normal5 = frustumPointsWorldPositions.normal5; RoundedFrustumRangeBufferData.normal6 = frustumPointsWorldPositions.normal6; RoundedFrustumRangeBufferData.BoundingBoxMax = RoundedFrustumRangeObjectRenderingDataProvider.BoundingCollider.bounds.max; RoundedFrustumRangeBufferData.BoundingBoxMin = RoundedFrustumRangeObjectRenderingDataProvider.BoundingCollider.bounds.min; RoundedFrustumRangeBufferData.RangeRadius = RoundedFrustumRangeObjectRenderingDataProvider.Frustum.GetFrustumFaceRadius(); RoundedFrustumRangeBufferData.CenterWorldPosition = RoundedFrustumRangeObjectRenderingDataProvider.BoundingCollider.transform.position; if (rangeTypeInherentConfigurationData.RangeColorProvider != null) { RoundedFrustumRangeBufferData.AuraColor = rangeTypeInherentConfigurationData.RangeColorProvider.Invoke(); } else { RoundedFrustumRangeBufferData.AuraColor = rangeTypeInherentConfigurationData.RangeBaseColor; } if (RoundedFrustumRangeObjectRenderingDataProvider.IsTakingObstacleIntoConsideration()) { RoundedFrustumRangeBufferData.OccludedByFrustums = 1; } else { RoundedFrustumRangeBufferData.OccludedByFrustums = 0; } return(RoundedFrustumRangeBufferData); }
public RoundedFrustumRenderData(RoundedFrustumGroundEffectManager roundedFrustumGroundEffectManager) : base() { GroundEffectManager = roundedFrustumGroundEffectManager; roundedFrustumRangeBuffer = new DynamicComputeBufferManager <RoundedFrustumRangeBufferData>(RoundedFrustumRangeBufferData.GetByteSize(), "RoundedFrustumRangeBuffer", string.Empty, matPro); }