0

This is entirely a theoretical question because I understand the time it would take to do such a thing would be ridiculous

I've been working with "voxels" a lot lately and the only way I can display them to a user is to either triangulate the visible surfaces or make a CPU ray-tracer but both come with their own problems.

Simply put, if we dismiss the storage space needed for voxel meshs and targeted a very specific GPU would someone who was wanting to create a graphics API like OpenGL but with "true" voxel primitives that don't need to be converted be able to make such thing or are GPUs designed specifically for triangles with no way to introduce a new base primitive?

Beans
  • 1
  • 1
  • Obviously it's theoretically possible to build hardware + software for almost anything. If you're talking about new software on existing hardware, then IDK. Most of the programmable parts of modern GPUs are very flexible, but there's probably some fixed-function hardware designed around triangles. – Peter Cordes May 21 '20 at 17:56

1 Answers1

1

Its possible and it was already done many times

  • games like Minecraft,SpaceEngineers...
  • 3D printing tools and slicers
  • MRI/PET scans tools

Yes rendering on GPU is possible with the two base methods you mention. Games usually use the transform to boundary representation 3D geometry. With rise of shaders even ray tracers are now possible here mine:

using native OpenGL architecture and passing geometry as 3D texture. In order to obtain speed you need to add BVH or similar spatial subdivision of geometry...

However voxel based tools have been here for quite some time. For example many isometric games/engines are voxel based (tile is a voxel) like this one:

Also do you remember UFO ? It was playable on x286 and it was also "voxel/tile" based isometric.

Spektre
  • 49,595
  • 11
  • 110
  • 380