Morkins: correct but do note that Carmack's original plan for id Tech 6 is/was a hybrid solution of SVO for static world geometry + traditional polygon/shaders for animated/dynamic geometry.
It's not that simple. Vertices in polygon graphics are just simply projected to the screen as a part of the rasterization process. You can move vertices freely, since the structure is just a simple array, and there is no location dependence.There is no real technical reason why you can't transform voxels using a skeleton like you do with vertices. Conceptualy each voxel could be treated the same as a vertex as far as transformations go.
Relevant document:
http://bautembach.de/wordpress/wp-content/uploads/asvo.pdf
There's an error in that document however, since a voxel is NOT a little cube. (neither cuboïd...)
thesis said:Voxels are inappropriate for representing flat surfaces, which can be found in architecture and furniture for example. Such surfaces can be modeled with very few triangles, whereas voxel models must always have maximal resolution to appear smooth - no matter the kind of shape they represent. This is the main reason why one should not stick to one technology exclusively but mix both, tapping their full potential.
Morkins: correct but do note that Carmack's original plan for id Tech 6 is/was a hybrid solution of SVO for static world geometry + traditional polygon/shaders for animated/dynamic geometry.
IEven something as simple as a sphere or a pipe could become problematic if the level of detail (size of voxels) is not sufficient. Polygons let you match vertex density to the curvature of the surface to maintain a constant level of smoothness, you can't do that with voxels and octrees.
But yeah, animation looks to be a much more important problem to solve.
since a voxel is NOT a little cube.
Characters are quite obviously polygons, but software rendered and with a form of bump mapping.
Some years ago there's been extensive information available online about the various techniques they were using for water, shadows and so on. I can't seem to find the web pages now, though...
That statement will keep Alvy Ray Smith happy.:smile:There's an error in that document however, since a voxel is NOT a little cube. (neither cuboïd...)
Note that this is only true if you don't have the storage capability to have voxels smaller than screen-size pixels. Once you reach that point, a sphere or whatever constructed with voxels would be just as "round" as any poly-based sphere, because in both cases, rasterised pixels still form a non-circular silhouette.
Are voxels axis-aligned?
If yes you will have severe problems with surface-cuvature, as like expressed in normals. I can only imagine that voxels are better treated as sampled positions (as in a heightfield) and that you reconstruct the surface by connecting the samples along the surface by fe. a quad-patch. Though that is then some form of sample-volume to (again) polygon conversion in the (let's say) vertex shader.
I mean there are a lot of attributes which express sub-pixel information, I don't doubt you can reconstruct those via voxels, but the storage cost becomes then extreme prohibitive (position + orientation + extend + ...) and the back-end (renderer) more than traditional ... no?