public VertexBuffer(int id, int size, bool needDoubleBuffering) { m_Id = id; var noOfBuffers = needDoubleBuffering ? 2 : 1; m_Buffers = new NativeByteArray[noOfBuffers]; for (var i = 0; i < noOfBuffers; i++) { m_Buffers[i] = new NativeByteArray(new NativeArray <byte>(size, Allocator.Persistent, NativeArrayOptions.UninitializedMemory)); } }
internal NativeByteArray GetDeformedVertices(int spriteVertexCount) { if (sprite != null) { if (m_CurrentDeformVerticesLength != spriteVertexCount) { m_TransformsHash = 0; m_CurrentDeformVerticesLength = spriteVertexCount; } } else { m_CurrentDeformVerticesLength = 0; } m_DeformedVertices = BufferManager.instance.GetBuffer(GetInstanceID(), m_CurrentDeformVerticesLength); return(m_DeformedVertices); }
private void ResizeBuffer(int bufferId, int newSize) { m_Buffers[bufferId].Dispose(); m_Buffers[bufferId] = new NativeByteArray(new NativeArray <byte>(newSize, Allocator.Persistent, NativeArrayOptions.UninitializedMemory)); }