private Internal_DrawMeshInstanced ( |
||
mesh | ||
submeshIndex | int | |
material | ||
matrices | ||
count | int | |
properties | ||
castShadows | ShadowCastingMode | |
receiveShadows | bool | |
layer | int | |
camera | ||
return | void |
public static void DrawMeshInstanced(Mesh mesh, int submeshIndex, Material material, Matrix4x4[] matrices, [UnityEngine.Internal.DefaultValue("matrices.Length")] int count, [UnityEngine.Internal.DefaultValue("null")] MaterialPropertyBlock properties, [UnityEngine.Internal.DefaultValue("ShadowCastingMode.On")] ShadowCastingMode castShadows, [UnityEngine.Internal.DefaultValue("true")] bool receiveShadows, [UnityEngine.Internal.DefaultValue("0")] int layer, [UnityEngine.Internal.DefaultValue("null")] Camera camera) { if (!SystemInfo.supportsInstancing) { throw new InvalidOperationException("Instancing is not supported."); } if (mesh == null) { throw new ArgumentNullException("mesh"); } if (submeshIndex < 0 || submeshIndex >= mesh.subMeshCount) { throw new ArgumentOutOfRangeException("submeshIndex", "submeshIndex out of range."); } if (material == null) { throw new ArgumentNullException("material"); } if (matrices == null) { throw new ArgumentNullException("matrices"); } if (count < 0 || count > Mathf.Min(Graphics.kMaxDrawMeshInstanceCount, matrices.Length)) { throw new ArgumentOutOfRangeException("count", string.Format("Count must be in the range of 0 to {0}.", Mathf.Min(Graphics.kMaxDrawMeshInstanceCount, matrices.Length))); } if (count > 0) { Graphics.Internal_DrawMeshInstanced(mesh, submeshIndex, material, matrices, count, properties, castShadows, receiveShadows, layer, camera); } }