CopySHCoefficientArraysFrom
This function converts and copies the entire source array into 7 Vector4 property arrays named unity_SHAr, unity_SHAg, unity_SHAb, unity_SHBr, unity_SHBg, unity_SHBb and unity_SHC for use with instanced light probe rendering.
Read time 4 minutesLast updated 13 days ago
Definition
- Type: Method
- Namespace: UnityEngine
- Assembly: UnityEngine.CoreModule
CopySHCoefficientArraysFrom(List<SphericalHarmonicsL2>)
This function converts and copies the entire source array into 7 Vector4 property arrays named unity_SHAr, unity_SHAg, unity_SHAb, unity_SHBr, unity_SHBg, unity_SHBb and unity_SHC for use with instanced light probe rendering.
public void CopySHCoefficientArraysFrom(List<SphericalHarmonicsL2> lightProbes)
Parameters
The array of SH values to copy from.
Remarks
If the array properties don't exist on the MaterialPropertyBlock, they will be created with the length of the source array.
Call LightProbes.CalculateInterpolatedLightAndOcclusionProbes to calculate SH values at the given world space positions.
ArgumentNullException is thrown if lightProbes is null.
Note that all MaterialPropertyBlock arrays can only have a maximum of 1023 elements. Warnings are printed and the excess array elements are ignored if the source array exceeds the range.
Additional Resources: MaterialPropertyBlock.CopyProbeOcclusionArrayFrom, Graphics.RenderMeshInstanced, CommandBuffer.DrawMeshInstanced.
CopySHCoefficientArraysFrom(SphericalHarmonicsL2[])
This function converts and copies the entire source array into 7 Vector4 property arrays named unity_SHAr, unity_SHAg, unity_SHAb, unity_SHBr, unity_SHBg, unity_SHBb and unity_SHC for use with instanced light probe rendering.
public void CopySHCoefficientArraysFrom(SphericalHarmonicsL2[] lightProbes)
Parameters
The array of SH values to copy from.
Remarks
If the array properties don't exist on the MaterialPropertyBlock, they will be created with the length of the source array.
Call LightProbes.CalculateInterpolatedLightAndOcclusionProbes to calculate SH values at the given world space positions.
ArgumentNullException is thrown if lightProbes is null.
Note that all MaterialPropertyBlock arrays can only have a maximum of 1023 elements. Warnings are printed and the excess array elements are ignored if the source array exceeds the range.
Additional Resources: MaterialPropertyBlock.CopyProbeOcclusionArrayFrom, Graphics.RenderMeshInstanced, CommandBuffer.DrawMeshInstanced.
CopySHCoefficientArraysFrom(List<SphericalHarmonicsL2>, int, int, int)
This function converts and copies the source array into 7 Vector4 property arrays named unity_SHAr, unity_SHAg, unity_SHAb, unity_SHBr, unity_SHBg, unity_SHBb and unity_SHC with the specified source and destination range for use with instanced light probe rendering.
public void CopySHCoefficientArraysFrom(List<SphericalHarmonicsL2> lightProbes, int sourceStart, int destStart, int count)
Parameters
The array of SH values to copy from.
The index of the first element in the source array to copy from.
The index of the first element in the destination MaterialPropertyBlock array to copy to.
The number of elements to copy.
Remarks
If the array properties don't exist on the MaterialPropertyBlock, they will be created with the length of the spcified range.
Call LightProbes.CalculateInterpolatedLightAndOcclusionProbes to calculate SH values at the given world space positions.
ArgumentNullException is thrown if occlusionProbes is null.
ArgumentOutOfRangeException is thrown if the source or destination range is invalid.
Note that all MaterialPropertyBlock arrays can only have a maximum of 1023 elements. Warnings are printed and the excess array elements are ignored if the source array exceeds the range.
Additional Resources: MaterialPropertyBlock.CopyProbeOcclusionArrayFrom, Graphics.RenderMeshInstanced, CommandBuffer.DrawMeshInstanced.
CopySHCoefficientArraysFrom(SphericalHarmonicsL2[], int, int, int)
This function converts and copies the source array into 7 Vector4 property arrays named unity_SHAr, unity_SHAg, unity_SHAb, unity_SHBr, unity_SHBg, unity_SHBb and unity_SHC with the specified source and destination range for use with instanced light probe rendering.
public void CopySHCoefficientArraysFrom(SphericalHarmonicsL2[] lightProbes, int sourceStart, int destStart, int count)
Parameters
The array of SH values to copy from.
The index of the first element in the source array to copy from.
The index of the first element in the destination MaterialPropertyBlock array to copy to.
The number of elements to copy.
Remarks
If the array properties don't exist on the MaterialPropertyBlock, they will be created with the length of the spcified range.
Call LightProbes.CalculateInterpolatedLightAndOcclusionProbes to calculate SH values at the given world space positions.
ArgumentNullException is thrown if occlusionProbes is null.
ArgumentOutOfRangeException is thrown if the source or destination range is invalid.
Note that all MaterialPropertyBlock arrays can only have a maximum of 1023 elements. Warnings are printed and the excess array elements are ignored if the source array exceeds the range.
Additional Resources: MaterialPropertyBlock.CopyProbeOcclusionArrayFrom, Graphics.RenderMeshInstanced, CommandBuffer.DrawMeshInstanced.