ZBrushCentral

Difference between pixols and voxels?

I picked up the demo of Zbrush two days ago, and I was having a conversation with a friend of mine earlier about how sexy pixols were when he asked the difference bewteen them and voxels. I didn’t really have enough info on either to distinquish the difference between the two. Anyone have any insight they’d care to share?

From an online dictionary

voxel :

Short for volume pixel, the smallest distinguishable box-shaped part of a three-dimensional image.

Voxelization is the process of adding depth to an image using a set of cross-sectional images known as a volumetric dataset. These cross-sectional images (or slices) are made up of pixels. The space between any two pixels in one slice is referred to as interpixel distance, which represents a real-world distance. And, the distance between any two slices is referred to as interslice distance, which represents a real-world depth.

The dataset is processed when slices are stacked in computer memory based on interpixel and interslice distances to accurately reflect the real-world sampled volume.

Next, additional slices are created and inserted between the dataset’s actual slices so that the entire volume is represented as one solid block of data.

Now that the dataset exists as a solid block of data, the pixels in each slice have taken on volume and are now voxels.

For a true 3D image, voxels must undergo opacity transformation. Opacity transformation gives voxels different opacity values. This is important when it is crucial to expose interior details of an image that would otherwise be hidden by darker more opaque outside-layer voxels.

Voxel images are primarily used in the field of medicine and are applied to X-Rays, CAT (Computed Axial Tomography) Scans, and MRIs (Magnetic Resonance Imaging) so professionals can obtain accurate 3D models of the human body.

Voxel imaging is also being used to create computer games, so 3D acceleration is not necessary.

I may be mistaken but it seems like a pixol and a voxel are not disimilar. It seems like a voxel is more enviroment dependent than a pixol. In other words its a pixel with depth like a pixol but it also has to consider what is in the layer below it where as I am not sure if that is so with a pixol.

someone far more knowledgeable will surely correct me.

a pixol is a 2d pixel with additonal information. shading and depth.
a voxel is more akin to true 3d geometry. basicly it’s a small 3d box in a larger volume.
when zbrush does skinning like with alpha’s, it uses a voxel type approach to make the mesh. this is why at low resolutions it may be boxy. that is the result of voxels.
any 3d object can be represented by a volume of voxels. the smaller the voxel resolution, the finer the details.

Anybody wanna add to that?

pixols are sexy??? :smiley: :smiley: :smiley: :smiley: :smiley: :smiley: lolololol

Sex pistols :smiley:
Pilou
ps Manual said “smart pixel” (see follow)


From the Manual of ZB
:slight_smile:
Pilou

Yes, very sexy =)

Thanks for the feedback guys, very much appreciated.

image of voxels

software using voxels

Yet Gived by Fouad in the Free Bees :slight_smile:
Name Piloubrush by Fouad :smiley:
Pilou

Game Master 770, Good image of voxels.

The ones shown in the dog.png are more like binary voxels than the type of voxels found in MRI scans or the like. When I say binary, I mean they either exist or don’t exist. MRI scans and most voxel data is really a 3D array of density values. Using algorithms such as Marching Cubes a mesh can be extracted from the density values and displayed more effectively with modern hardware. Here is a pic of a voxel engine I wrote myself. It also used binary voxels at one point but applied mesh smoothing to make it less “blocky”.

There is also another varation known as height maps that have great exposure in video games. Instead of a 3D array of density values you have a 2D array of height values. For a given coordinate (x,y) the array defines how high the “terrain” is at that point. This image shows an example of height maps generated using the ROAM algorithm. Height maps are quite popular because they require much less memory than a full 3D voxel representation.

i just posted about this elsewhere but yah, voxels are an old technology that passed away when hardware acceleration of polys came into the limelight.

but just like fast processors and smart programming gave life to another old technology, VERTEX COLORING (ala nintendo 64!) , to give us zb’s POLY PAINTING, it looks like modern multicore cpus and general function capabilities of modern graphics cards (“gpu”, cuda, etc) is bringing back voxels… compare the previous example:

http://www.everygraph.com/product/voxel3d/pic/dog.png

with

http://3d-coat.com/v3_voxel_sculpting.html

is it wrong for me to hope we’re gonna eventually take our pixols and end up with something like that too? not sure how it “feels” when you sculpt with it but first impressions are impressive!

: )

jin

as for technically, what exactly a PIXOL is, i’ve never heard anyone from pixologic address that definitively.

i always just assumed it was just a pixel (x + y + color) with extra attributes (normal + material) per pixel.

but the more i play with it, the less it seems to me that the depth effects i’m see is just a normal being mapped onto every pixel… though i think it COULD be…

there DOES seem to be a genuine Z component as opposed to just a normal vector.


my best guess would be that pixols ARE voxels but with a very limited/predefined voxel space. the back end of the voxel space is the canvas and the “top” (or “front”, the one end extending from canvas towards us on z) of the voxel space is of limited height.

so the x and y of voxel space is determined by your canvas resolution and if i had to guess, i’d say the z is half one of those dimensions. and of course, all of this exists in a layout where the “camera” faces into voxel space (probably orthographically) and there is no provision for rotating the camera.

actually, come to think of it, i think that’s a pretty good guess dontcha think? would also account for how you can doodle something as pixols and then convert that into a 3d mesh (marching cubes and all that).

but then i would wonder about what exactly is happening when you draw a pixol stroke and then use the manipulator to ROTATE that stroke… if you rotate on the y axis something really weird happens visually and i’m not sure what would account for it… maybe the “front” of the stroke extending past the “front” of the voxel space as it comes at you?

if that’s the case, it should be pretty easy to convert that very strict voxel space into something more open to give us true voxel sculpting ala 3d coat.

jin

If it’s of any use, I leave here a link to convert any 3D mesh to voxel, respecting the texture.