Drawing point clouds

I need to draw a point cloud in the engine with something like 80,000 points. glDrawArrays(GL_POINTS,…) is the obvious choice, but I’m not finding any support for this in the engine. I’m I missing something, or do I need to implement GL_POINT support myself ? Any alternatives I should try ?

I set about abusing the DrawDebugPoint to see what it could manage, pleasantly surprised that it could handle 10k points at 30hz.



I haven’t looked at it, but I bet there’s a way to tell a CustomMeshRenderer to use the points rendering mode. Then you’d just need to give it a vertex buffer. Might be wrong though, because I haven’t actually looked into it. But if I were trying to do this that’s where I’d start.

If it doesn’t already support drawing a custom mesh as points, it should be doable to extend it so that it does.

Did a little more digging. FMeshBatch has a Type field which can be set to PT_Point (along with triangle, triangle list, quad etc). However it looks like CustomMeshComponent will need to be extended to add support for it.

Or just create your own component, scene proxy and vertex factory, that way you can do your own rendering and set the FMeshBatch to PT_Point.

I’m facing the same problem, has anyone figured it out yet?