From 414ead5134d3cb4fab69aa29b62a33ef891b7dc6 Mon Sep 17 00:00:00 2001 From: DCFApixels <99481254+DCFApixels@users.noreply.github.com> Date: Tue, 4 Mar 2025 14:19:02 +0800 Subject: [PATCH] Update DebugX.base.cs --- Runtime/Gizmos/DebugX.base.cs | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/Runtime/Gizmos/DebugX.base.cs b/Runtime/Gizmos/DebugX.base.cs index fd1cf06..989412d 100644 --- a/Runtime/Gizmos/DebugX.base.cs +++ b/Runtime/Gizmos/DebugX.base.cs @@ -484,7 +484,6 @@ namespace DCFApixels { _material = material; _materialPropertyBlock = new MaterialPropertyBlock(); - _drawDatas = PinnedArray.Pin(DummyArray.Get()); } public virtual int ExecuteOrder => _material.GetExecuteOrder(); @@ -523,20 +522,17 @@ namespace DCFApixels public void Render(CommandBuffer cb) { Mesh mesh = _mesh.GetMesh(); - _materialPropertyBlock.Clear(); - - _jobHandle.Complete(); - if (IsSupportsComputeShaders) { Material material = _material.GetMaterial_SupportCumputeShaders(); + _jobHandle.Complete(); _graphicsBuffer.SetData(_drawDatas.Array); - _materialPropertyBlock.SetBuffer(_BufferPropertyID, _graphicsBuffer); cb.DrawMeshInstancedProcedural(mesh, 0, material, -1, _prepareCount, _materialPropertyBlock); } else { Material material = _material.GetMaterial_Default(); + _jobHandle.Complete(); for (int i = 0; i < _prepareCount; i++) { _materialPropertyBlock.SetColor(ColorPropertyID, _drawDatas.Ptr[i].Color); @@ -547,7 +543,9 @@ namespace DCFApixels private void AllocateGraphicsBuffer(int capacity) { _graphicsBuffer?.Dispose(); + _materialPropertyBlock.Clear(); _graphicsBuffer = new GraphicsBuffer(GraphicsBuffer.Target.Structured, capacity, Marshal.SizeOf()); + _materialPropertyBlock.SetBuffer(_BufferPropertyID, _graphicsBuffer); } } #endregion