a raytrace voxel renderer made in Houdini

EDI_all_fin01

As a fan of pixel- and voxel-art I present a raytrace renderer written in Vex inside Houdini dedicated to rendering voxel based geometry.

 

 

 



Most voxelart is rendered with a traditional pixel based approach. Voxels are shaded like boxes; each side (and each micropolygon) independently. This always bothered me as it introduces problems (geometry can get visually noisy) and to me looses some of its simplistic charme.

The renderer raytraces diffuse illumination, reflections and refractions and merges the results into one value per voxel. This reduces the visual noise per voxel as each side gets the same shading, making it resemble 2D voxelart and sprites while still receiving physically plausible shading.

diagonalShading_voxel
voxel shading (left) vs. pixel shading (right) – the box edges on the right create a lot of visual noise and the texture is barely readable

The code is written in Vex inside an attribute wrangle in Houdini. It works with any point cloud, but for ease of use I created my models with MagicaVoxel and imported the files with a custom python importer.

controls

My dream is it to eventually do a whole short movie in this artstyle: animations, effects, … everything would be voxel based. For now this is still far away. Next steps for the renderer would be to make it slimmer, optimize the import process and maybe turn it into a digital asset for others to use.

Other features I want to implement are volumetric lights as well as depth of field. Especially the latter could prove to be quite interesting – still the whole effect would of course produce nothing but shaded voxels and wouldn’t look „smooth“ like one would expect.

celeste_voxel_fin01

Kategorien:Allgemein, CGISchlagwörter:, , , , , ,

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden /  Ändern )

Google Foto

Du kommentierst mit Deinem Google-Konto. Abmelden /  Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden /  Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden /  Ändern )

Verbinde mit %s