tag:blogger.com,1999:blog-3779956188045272690.post6638531408430566430..comments2024-03-22T01:46:59.425-04:00Comments on Procedural World: Thinking about voxelsMiguel Ceperohttp://www.blogger.com/profile/17586513342346629237noreply@blogger.comBlogger7125tag:blogger.com,1999:blog-3779956188045272690.post-29498661390110943692018-11-22T17:57:10.955-05:002018-11-22T17:57:10.955-05:00It is a good question. A voxel is just a region of...It is a good question. A voxel is just a region of space. You could put anything you wanted inside. For instance a 100MB SQL database could be used to describe the contents of a single voxel. That of course is an exaggeration, but helps illustrate the point. In practice, we try to make voxels as simple as possible. When designing a voxel system, you would like to find the smallest and hardware friendliest representation that can carry your content. In our engine Voxel Farm, you need 8 voxels to make a single cube. A single voxel won't do much for you, there is no way to produce anything visual with just one voxel, let alone any complex geometry.Miguel Ceperohttps://www.blogger.com/profile/17586513342346629237noreply@blogger.comtag:blogger.com,1999:blog-3779956188045272690.post-70150244742123221762018-11-07T20:06:10.011-05:002018-11-07T20:06:10.011-05:00Thanks for the article.
A thing I don't unders...Thanks for the article.<br />A thing I don't understand with voxels is how you represent more detailed geometry or meshes within one voxel. I do get one voxel cube is divided up into 5 tetrahedrons, but if I'm not mistaken I've seen you represent way more complex geometry within one voxel cube than what 5 tetrahedrons would allow. Or have you just subdivided the voxel cube into smaller cubes to allow the higher resolution?<br />Maybe you could use the image in the article and add visible voxel cube outlines as to illustrate this.<br />Please enlighten me if you have the time :)Patrikhttps://www.blogger.com/profile/05659190597005406292noreply@blogger.comtag:blogger.com,1999:blog-3779956188045272690.post-16616175514440553412018-11-07T19:58:56.678-05:002018-11-07T19:58:56.678-05:00This comment has been removed by the author.Patrikhttps://www.blogger.com/profile/05659190597005406292noreply@blogger.comtag:blogger.com,1999:blog-3779956188045272690.post-34758745561156422362018-10-12T13:21:17.523-04:002018-10-12T13:21:17.523-04:00The new architecture NVidia announced along with T...The new architecture NVidia announced along with Turin makes working with voxels a breeze. NVidia acknowledges that in the second slide of their official presentation. It is pretty clear they have designed it with this in mind. Making the pipeline voxel friendly is not the same as having the hardware perform the critical operations, as the tensor cores do for AI.<br />It only you will have a better time writing your voxel shaders and that you will get decent performance.<br /><br />I'm not sure everyone needs voxel hardware. As I see it, it is more a problem anyone producing or managing the content will have, not end users necessarily. If you are making an MMO world or operating a mine site, you should definitively adopt voxels at a large scale.Miguel Ceperohttps://www.blogger.com/profile/17586513342346629237noreply@blogger.comtag:blogger.com,1999:blog-3779956188045272690.post-37967428658643114012018-10-12T13:11:22.307-04:002018-10-12T13:11:22.307-04:00Yes, a programmable voxel hardware pipeline would ...Yes, a programmable voxel hardware pipeline would be fantastic.<br /><br />The GPU, when working with triangles, does two main things for you: it maps your triangle primitives to your final pixel output, and it interpolates the different vertex attributes you have defined inside your triangle.<br /><br />Working with voxels is very similar to this. The GPU would need to convert your voxel into a bunch of fragments/pixels. The hardware would take care of producing the contour surface and from the surface the fragments. It would also interpolate any attributes you have defined inside the voxel.<br /><br />For some weird reason, when it comes to rendering, most people identify voxels with raytracing, while in fact, voxels are very amenable to rasterization as well. Adding GPU support for voxel rasterization is not as hard as hardware raytracing support. Rasterization even for voxels remains a very coherent operation.<br /><br />The new pipeline architecture unveiled by NVidia with Turin gets us much closer to this, but the contouring and attribute interpolation still happens in the shaders, the hardware does not provide it.<br /><br />As for killer applications, if you are in the geospatial industry:<br /><br />- Produce data as the real-time mashup of multiple datasets<br />- Compute complex volumetric operations between datasets<br />- Track changes over time<br />- Use implicit modeling to have complex algorithms produce data in real time<br /><br />If you are in the entertainment industry:<br /><br />- Ease production by placing content in multiple layers<br />- Source control (see who has done what, approve or revert changes)<br />- Create procedural layers that take a fraction of the data<br />- Allow your players to modify the game world in real time<br />Miguel Ceperohttps://www.blogger.com/profile/17586513342346629237noreply@blogger.comtag:blogger.com,1999:blog-3779956188045272690.post-34536194229442253052018-10-12T04:12:19.509-04:002018-10-12T04:12:19.509-04:00How about "voxel is a small piece of 3D space...How about "voxel is a small piece of 3D space"? I feel like most people won't care about its shape.<br /><br />Are modern GPUs well suited for voxel processing or would it help for them to be redesigned? People are using them to calculate physics, neural networks and much more I'm sure, but there was a push to make it possible in the past. Will such push happen for voxels?Piotrhttps://www.blogger.com/profile/14640796587430542268noreply@blogger.comtag:blogger.com,1999:blog-3779956188045272690.post-48990397960610163902018-10-11T20:57:51.334-04:002018-10-11T20:57:51.334-04:00You express how GPUs made triangles work WAY bette...You express how GPUs made triangles work WAY better, do you imagine a similar new type of hardware for voxels? Or is that not necessary because voxels won't be visible until processed through triangles etc?<br /><br />Also, please, do feel free to enumerate the various Holy Grail solutions =D. Kamicahttps://www.blogger.com/profile/09074839497845172950noreply@blogger.com