4
\$\begingroup\$

I stumbled across the following article on Wikipedia regarding voxels that says:

One such problem cited by Carmack is the lack of graphics cards designed specifically for such rendering requiring them to be software rendered, which still remains an issue with the technology to this day.

Does anyone know why this is the case and why voxels are not supported or optimized on a hardware level by graphics cards?

\$\endgroup\$
3
  • 3
    \$\begingroup\$ You kind of do not need to develop special hardware for these sorts of things anymore. Stuff that might have required special fixed-function hardware in years past can be implemented using compute shaders these days. The only truly special stuff I can think of for voxel rendering would be new hardware hidden surface removal techniques, but that can be implemented much more flexibly with compute shaders now. Unless there's a really big push for this stuff, and standardized data structures, etc. compute shaders are the best way to push these non-traditional rendering applications onto the GPU. \$\endgroup\$ Apr 28, 2014 at 15:57
  • 1
    \$\begingroup\$ A couple of years ago the Unlimited Detail video sparked some conversation on voxel engines. Link after this sentence has a brief summary, and more links to some related comments from Carmack and Notch. The main idea being that a lot of the really cool techniques in polygon rendering have no voxel equivalent, lighting being a big thing. nwn.blogs.com/nwn/2011/08/… \$\endgroup\$
    – LLL79
    Apr 28, 2014 at 17:54
  • \$\begingroup\$ I remember when that video came out with the "Unlimited Detail", it seems suspect to me that something like that would be achievable, especially since they have not been heard from since the first trailer was shown. \$\endgroup\$ Apr 29, 2014 at 0:18

3 Answers 3

6
\$\begingroup\$

Primarily because, as of this writing, hardware vendors likely don't have a reason to implement such a thing. Mainly because there isn't any benefit to doing so.

The majority of games and 3D software applications are based heavily around the traditional scan-line rasterization model, and would see no benefit (and in fact, likely significant drawbacks) to adopting a voxel-based model.

Further, there are no emerging standards for software-side APIs for voxel rendering that are backed by significant industry powerhouses (like already exist with D3D and OpenGL).

With ATI starting to explore the direction of moving away from industry-standard APIs towards something proprietary (Mantle), and the possibility of VR headset technology actually becoming a realizable commodity technology via Oculus Rift, there is a slightly greater possibility of seeing something like this in the next few decades.

But up until now, and likely for quite some time yet, the cost/benefit ratio for all parties concerned is just not favorable.

\$\endgroup\$
4
  • \$\begingroup\$ a very good answer thanks for the concise explanation! Hopefully there is some movement in this area as there are some very interesting applications for voxels. \$\endgroup\$ Apr 28, 2014 at 5:14
  • 2
    \$\begingroup\$ Indeed, it's a chicken/egg problem. There are no serious voxel-based graphic engines, so there is no need to develop a voxel-optimized GPU, and as long as there are no voxel-optimized GPUs, nobody will create voxel-based engines. \$\endgroup\$
    – Philipp
    Apr 28, 2014 at 10:53
  • \$\begingroup\$ @MatthewPigram - don't forget to accept this answer if you feel that it's the best one. \$\endgroup\$ Apr 28, 2014 at 20:06
  • \$\begingroup\$ @JimmyShelter I was going to wait and see if others came with alternate explanations, I have accepted the answer now \$\endgroup\$ Apr 29, 2014 at 0:16
2
\$\begingroup\$

It's a chicken/egg problem. There are no serious voxel-based graphic engines, so there is no need to develop a voxel-optimized GPU, and as long as there are no voxel-optimized GPUs, nobody will create voxel-based engines.

However, the quote by Carmack was specific to Quake III which is 15 years old by now. While it is true that there is still no standardized abstraction layer for voxel-based graphics which could be compared to OpenGL or Direct3d, GPUs have become a lot more flexible in the past years. Today, a hardware-accelerated compute-shader can be useful to speed up various voxel-operations.

One might wonder why we still see so few serious voxel-engines outside of the demoscene then. The reason is that while the development of voxel-based rendering essentially stopped in the 90s, polygon-based graphics made a trendemous development since then. The voxel technology first needs to get over this huge research gap before it can again compete visually.

\$\endgroup\$
0
\$\begingroup\$

There's a company that claims to be seriously developing a point-data engine, and that it somehow gets by on software rendering. They had previously stated that graphics hardware developers were uninterested in non-polygon methods of rendering, so they've more recently begun pursuing geospatial applications.

This technology description gives no technical details, though various pitch videos claim that they "only load the point data required for the render", "can work with a total pool including terabytes of data", and "have overcome the problem of frequent, tiny disk-reads".

That last claim is the most suspect to me. If they've overcome file I/O latency, that is a bigger accomplishment than their point-data render. Their demo may be a complete fabrication, but they seem to be very persistent if only perpetrating a hoax. On the other hand, they seem to be rendering not "unlimited data", but rather "unlimited instances of flat-shaded algorithmic geometry".

Interesting, nonetheless. https://www.youtube.com/channel/UCI9bdH0LDRCVxeeAFC1Sk3w

\$\endgroup\$
1
  • \$\begingroup\$ I did come across that video at the time is was released, they have not been heard from for a while and seemed quite suspect. Still if even half of what they claimed was true voxels could have some interesting applications \$\endgroup\$ Apr 29, 2014 at 0:15

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .