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);
            }
        }
        // RendererList public API
        public unsafe RendererUtils.RendererList CreateRendererList(RendererUtils.RendererListDesc desc)
        {
            Validate();
            RendererUtils.RendererListParams param = RendererUtils.RendererListParams.Create(desc);

            if (param.stateBlock == null)
            {
                return(CreateRendererList_Internal(param.cullingResult.ptr, ref param.drawSettings, ref param.filteringSettings, ShaderTagId.none, false, IntPtr.Zero, IntPtr.Zero, 0));
            }
            else
            {
                var renderType                  = new ShaderTagId();
                var renderStateBlock            = param.stateBlock.Value;
                RenderStateBlock *stateBlockPtr = &renderStateBlock;
                {
                    return(CreateRendererList_Internal(param.cullingResult.ptr, ref param.drawSettings, ref param.filteringSettings, ShaderTagId.none, false, (IntPtr)(&renderType), (IntPtr)stateBlockPtr, 1));
                }
            }
        }