While I got a nice grade in my Computer Graphics intro course back in the day - I have not done any CG since. I have a dumb question:
Why is it better render small cubes, then to render triangles (or polygons)? I mean, a cube is, eventually, 6 squares, or 12 triangles, in a certain formation, right? So is the entire benefit captured by this 1/12 ratio? Or is there a deeper motivation for this pseudo-rasterization?
Not sure I'm fully understanding your question but the primary reason for the voxel engines is interactibility. They're trying to be Minecraft 2, not Crysis 5.
All of these demos are surely using the same rendering engine underneath as a classic mesh 3D, but voxels let you smash stuff up easier than trying to figure out where to make breaks in meshes and close the holes.
As Lin says "Universe = voxels" .. insinuating that atoms are essentially voxels.
Unlike general meshes, the low-level triangles used to represent voxel surfaces can be easily computed in a shader rather than stored explicitly, and even per-voxel data can sometimes be recomputed on the fly because of procedural generation.
This might profit from some context: This is written by "John Lin", who is famous for his impressive voxel videos on social Media. He became a hallmark name in voxel discussions. See for example his youtube: https://www.youtube.com/channel/UCM2RhfMLoLqG24e_DYgTQeA
Hm, do you have a source for that? It's possible that you're mixing it up with his decision to shelf "micro-voxels" in favor of the traditional, chunkier voxel art style.
From what I've read (the pinned comment in the aforementioned video), he just decided to ditch high resolution voxels for lower resolution ones, as the feedbacks said they preferred a more pixelated art style. But still voxels.
But looking at his latest blog post, it seems that he's not focused on voxels at the moment yet. Or maybe got hired and can't talk about it, who knows ¯\_(ツ)_/¯
Are voxels the goto method for easy mesh manipulation without worrying about vertices? I’ve been trying to research ways to 3d model without worrying about topology. So far all I’ve found is CSG and voxels.
It depends on the representation. SDFs can be pure mathematical functions, in which case there is no grid, or they can be a grid of values representing distances to the implicit surface, in which case they do use a grid. The latter representation, to my knowledge, is rarely used in 3d, but it is used in 2d for SDF fonts for example.
From what I can find this depends on the definition, as there is a difference between a Signed Distance Function [0], and a Signed Distance Field, where the latter does get defined as a grid of values:
> A signed distance field is represented as a grid sampling of the closest distance to the surface of an object represented as a polygonal model. [1]
and
> Signed Distance Fields (SDF) are 3D textures where each texel stores the distance from the surface of an object. By convention, this distance is negative inside the object and positive outside. [2]
But that grid of values gets generated from either mathematical formulas, e.g. spheres, or from another representation of geometry such as a mesh or a vector shape.
Hijacking the thread: I'm looking to compute sciency stuff on a grid of truncated octahedrons, and rendering that to voxels. Does anyone know a good way to do that??
https://www.youtube.com/@GabeRundlett (open source engine in C++ with e.g. Rust bindings via C)
https://www.youtube.com/@DouglasDwyer (proprietary, using Rust and WGPU but interesting videos)
https://www.youtube.com/@xima1 (afaik proprietary, using WebGPU and typescript)
Open source stuff:
https://github.com/ria8651/alex (Rust) https://github.com/davids91/shocovox (Rust)
There is a myriad more, many discords...