I'd like to request functions to get the handles of vertex and index buffers of surfaces.
I assume that whenever AddVertex and AddTriangle are called, these buffers are locked and unlocked. By giving users access to these buffers, we can signifigantly cut down on the amount of calls to these methods per modification of surface.
I can't say how much this would increase speed, but it would likely be faster than locking and unlocking them 3,000 times per frame.
Basically, give people these functions:
LockVertexBuffer(Surface)
UnlockVertexBuffer(Surface)
LockVertexBuffer(Surface)
UnlockVertexBuffer(Surface)
GetVertexBufferGraphicsStream(Surface)
GetIndexBufferGraphicsStream(Surface)
SetVertexCount(Surface,Count)
SetTriangleCount(Surface,Count)
Then we could use the IO functions on the streams to read and write data to these buffers.
I don't know how plausible this sounds to you, but I think it's completely doable.
I assume that whenever AddVertex and AddTriangle are called, these buffers are locked and unlocked. By giving users access to these buffers, we can signifigantly cut down on the amount of calls to these methods per modification of surface.
I can't say how much this would increase speed, but it would likely be faster than locking and unlocking them 3,000 times per frame.
Basically, give people these functions:
LockVertexBuffer(Surface)
UnlockVertexBuffer(Surface)
LockVertexBuffer(Surface)
UnlockVertexBuffer(Surface)
GetVertexBufferGraphicsStream(Surface)
GetIndexBufferGraphicsStream(Surface)
SetVertexCount(Surface,Count)
SetTriangleCount(Surface,Count)
Then we could use the IO functions on the streams to read and write data to these buffers.
I don't know how plausible this sounds to you, but I think it's completely doable.