public unsafe void DrawRenderers(CullingResults cullingResults, ref DrawingSettings drawingSettings, ref FilteringSettings filteringSettings, NativeArray <ShaderTagId> renderTypes, NativeArray <RenderStateBlock> stateBlocks) { Validate(); cullingResults.Validate(); if (renderTypes.Length != stateBlocks.Length) { throw new ArgumentException($"Arrays {nameof(renderTypes)} and {nameof(stateBlocks)} should have same length, but {nameof(renderTypes)} had length {renderTypes.Length} while {nameof(stateBlocks)} had length {stateBlocks.Length}."); } DrawRenderers_Internal(cullingResults.ptr, ref drawingSettings, ref filteringSettings, (IntPtr)renderTypes.GetUnsafeReadOnlyPtr(), (IntPtr)stateBlocks.GetUnsafeReadOnlyPtr(), renderTypes.Length); }
public unsafe void DrawRenderers(CullingResults cullingResults, ref DrawingSettings drawingSettings, ref FilteringSettings filteringSettings, ref RenderStateBlock stateBlock) { Validate(); cullingResults.Validate(); var renderType = new ShaderTagId(); fixed(RenderStateBlock *stateBlockPtr = &stateBlock) { DrawRenderers_Internal(cullingResults.ptr, ref drawingSettings, ref filteringSettings, (IntPtr)(&renderType), (IntPtr)stateBlockPtr, 1); } }
public unsafe void DrawRenderers(CullingResults cullingResults, ref DrawingSettings drawingSettings, ref FilteringSettings filteringSettings, ref RenderStateBlock stateBlock) { this.Validate(); cullingResults.Validate(); ShaderTagId shaderTagId = default(ShaderTagId); fixed(RenderStateBlock *ptr = &stateBlock) { RenderStateBlock *value = ptr; this.DrawRenderers_Internal(cullingResults.ptr, ref drawingSettings, ref filteringSettings, ShaderTagId.none, false, (IntPtr)((void *)(&shaderTagId)), (IntPtr)((void *)value), 1); } }
internal void Validate() { cullingResults.Validate(); if (tagValues.HasValue && stateBlocks.HasValue) { if (tagValues.Value.Length != stateBlocks.Value.Length) { throw new ArgumentException($"Arrays {nameof(tagValues)} and {nameof(stateBlocks)} should have same length, but {nameof(tagValues)} had length {tagValues.Value.Length} while {nameof(stateBlocks)} had length {stateBlocks.Value.Length}."); } } else if ((tagValues.HasValue && !stateBlocks.HasValue) || (!tagValues.HasValue && stateBlocks.HasValue)) { throw new ArgumentException($"Arrays {nameof(tagValues)} and {nameof(stateBlocks)} should have same length, but one of them is null ({nameof(tagValues)} : {tagValues.HasValue}, {nameof(stateBlocks)} : {stateBlocks.HasValue})."); } }
public void DrawRenderers(CullingResults cullingResults, ref DrawingSettings drawingSettings, ref FilteringSettings filteringSettings, ShaderTagId tagName, bool isPassTagName, NativeArray <ShaderTagId> tagValues, NativeArray <RenderStateBlock> stateBlocks) { this.Validate(); cullingResults.Validate(); bool flag = tagValues.Length != stateBlocks.Length; if (flag) { throw new ArgumentException(string.Format("Arrays {0} and {1} should have same length, but {2} had length {3} while {4} had length {5}.", new object[] { "tagValues", "stateBlocks", "tagValues", tagValues.Length, "stateBlocks", stateBlocks.Length })); } this.DrawRenderers_Internal(cullingResults.ptr, ref drawingSettings, ref filteringSettings, tagName, isPassTagName, (IntPtr)tagValues.GetUnsafeReadOnlyPtr <ShaderTagId>(), (IntPtr)stateBlocks.GetUnsafeReadOnlyPtr <RenderStateBlock>(), tagValues.Length); }
public void DrawRenderers(CullingResults cullingResults, ref DrawingSettings drawingSettings, ref FilteringSettings filteringSettings) { Validate(); cullingResults.Validate(); DrawRenderers_Internal(cullingResults.ptr, ref drawingSettings, ref filteringSettings, IntPtr.Zero, IntPtr.Zero, 0); }
public void DrawRenderers(CullingResults cullingResults, ref DrawingSettings drawingSettings, ref FilteringSettings filteringSettings) { this.Validate(); cullingResults.Validate(); this.DrawRenderers_Internal(cullingResults.ptr, ref drawingSettings, ref filteringSettings, ShaderTagId.none, false, IntPtr.Zero, IntPtr.Zero, 0); }