public CompletePointLightData GetPointLightData(List <PointLight> lights, int maxNumberOfLights)
        {
            var totalSize = 0;
            var lightData = new PointLightData[lights.Count];

            for (var index = 0; index < lights.Count; index++)
            {
                var light      = lights[index];
                var mappedData = GetData(light);
                if (mappedData.Size > 0)
                {
                    totalSize       += mappedData.Size;
                    lightData[index] = mappedData.Data;
                }
            }

            var additionalInfo = new LightAdditionalInfo(maxNumberOfLights, lights.Count);

            return(new CompletePointLightData(totalSize, additionalInfo, lightData));
        }
 public CompletePointLightData(int totalSizeInBytes, LightAdditionalInfo additionalInfo, PointLightData[] lightData)
 {
     TotalSizeInBytes = totalSizeInBytes;
     LightData        = lightData;
     AdditionalInfo   = additionalInfo;
 }