Voxels?!? Sounds magical

Well in my previous post I stated that during my research period I would be working on our
Voxel Engine and then I posted this fancy video underneath without explaining anything else.

I guess that wasn’t quite fair.

So in this post I want to explain a bit more about our “Voxel Engine”, what it is and what it does.

Before we can get into the meat of the Voxel Engine I want to try to explain what voxels are (or at least how I’ve understood it).

Check out this video it’s sort of a visual representation of what Voxels are:

A Voxel is a “Volumetric Pixel” essentially a 3d pixel. A regular 2d pixel has an x and y co-ordinate and a colour where as a Voxel has a x, y, and z co-ordinate and possibly a colour.

So essentially the voxel engine is just a different type of 3d engine. You might be asking why would you want to use Voxels over vertices and triangles to draw 3d models? In theory with Voxels you can have a greater level of detail than you could get with triangles. This is why most medical imagery is made up of Voxels and not triangles.

You may have noticed above I stated “in theory with voxels you can have a greater level of detail”. Well you definately can get a higher level of detail with voxels however you definately need hardware accelaration in order to get to this level of detail and obviously we do not have hardware accelaration in Flash.

Here are two very cool videos of Voxels being rendered using hardware accelaration:

High resolution medical imagery:

Animated Voxels (particlized):

So why build a voxel engine in Flash at all?

Well we can still get quite a high level of detail using voxels in Flash however if we take these Voxels and start moving them around we essentially have a 3d particle engine that is based off voxels. I call this process “Particlization”. Just like the Voxel Fluid Driven Particles video above, this is where the cool stuff happens.

Our Voxel engine will support the following:

  • Parsing different Voxel file formats
  • Rendering voxel models (duh)
  • Different rendering modes (setPixel, copyPixel, fillRect)
  • Particlizing voxel models (my own term for turning Voxels into particles)
  • Etc. (which means anything else that we can think of)

Check out these other resources on Voxels:

http://en.wikipedia.org/wiki/Voxel <- Wikipedia entry on Voxels
http://www.volumegraphics.com/solutions/voxels.html <- Nice explanation from a medical imagery site
http://www.3d-coat.com/voxel-sculpting/ <- Interesting Voxel modeling app

_Posted in R&D, Voxel Engine

No Comments

Look ma I’m on R&D!

Coinciding with the start of the Jam3 labs blog I’ll be going into a Jam3 Research and Development period. So watch out for quite a few posts coming from me in the next few months.

During my research period I’ve decided to heavily focus on my Voxel Engine. Of course there maybe some other small projects here and there but my major focus will be on the Voxel engine. I’ve actually started working on my Voxel Engine previously but now we’ll be taking it to the next level.

You can see some previous progress of the Voxel Engine here on my blog:
http://www.mikkoh.com/blog/

Here is a small preview of what’s to come:

_Posted in R&D, Voxel Engine

No Comments

Welcome to the Jam3 Labs blog

Hello citizen of the interwebs, welcome to our humble yet magnificent dev blog. More to come!

_Posted in Category==Null

No Comments