[Bf-committers] True Volumetrics for Blender

echelon at infomail.upr.edu.cu echelon at infomail.upr.edu.cu
Tue Apr 1 20:48:44 CEST 2008

(sorry for my english, is not my native language :()

:) Hello all:

   I am currently developing a Volumetric Rendering Raycaster  for
Blender.The raycaster already works at 50%, I'll posts picures
somewhere soon, I dont know of other developers doing something similar
for blender rigth now. But this is a feature that i long ago have
waiting , and decide to implement it myself.

(Next year will be my graduation thesis of informatic engeeniering, and if
the proyect have a good aceptance I would like to propose it as my thesis,
and then i would have much more time for it

 I'ts now official:
  This proyect has being aproved as my graduation thesis in the University
"Hnos Zais", so accepted or not from the devs community (I would like
the first one :)) i will go on with the proyect : "Volumetrics Rendering
for Blender"
   The proyect, in orther to be accepted as my thesis, had to have a
"scientific" side other than purely artistic contribution to blender,
so the comunity could gain a side effect feature of the completion of
the proyect: Scientific data visualization inside of Blender (ej:
Hypervolume visualization from datasets,nD data visualization,
(allthough the main artistic contributuion will came from the 3D
volumetric rendering ))
 I design the renderer as modular as i can, so anyone that want to extend
it with others algorithms or shading or proyection/mapping techniques
could do it easily.
I'm primary focused on artistic freedom == more user control.
I have not an active conection to internet , so my work is 80 % offline,
when i make a stable version of the renderer I'll upload the files
somewhere. (Hope this change soon)
 I'm also want to develop more 3D procedurals textures.
   Currently working:
1-the Raycaster itself (principal algotithm, with early ray termination)
1.1-Some testing Hypervolume Visualization (4D domains).But this will be
the final step of integrating into render pipeline.
2-some naives shading algorithms (need more work on this)
3-a Pre-Shading algorithm (a texture control the shading itself, more
artistic freedom)
4-volumetric integration with the procedural stack of textures works at 70%
5-volumetric integration with the shader nodes works at 70%
6-the objects inner volumetrics depend on surface alpha, full opaque
object will not do any volumetric calculation, full transparent object
with volumetric flag on , will do a full volumetric calculation
   1-volumetrics from file (not only from procedurals functions, also from
imput data) (Need more research on this,filletring methods etc)
   2-volumetrics from particles
   3-volumetric from simulations??? (will need more dev time and extra
help) (non critical functionality)
  4-Full and robust shading
  5-Shadow casting (as Ztransp do)
  6-interception with other objects/volumetrics (hot issue!!)
  8-Help docs and tutorials.

I need research and help on where are the best place to plug the Raycater
to the render pipeline of blender (I choose a raycaster over other 
algorithms as splatters,shear warp factorizations, etc because the natural
integration of ray cast methods with ray trace and because of quality)
I'll preciate any feedback , feature request or help the comunity give me.

I know this is an ambitious proyect, because off the scope, the many
different approach to volumetrics, and the rendering code in Blender.
but I have some time (from now to  june 2009), its official in my carrer
so there's no way back (or I implement it or I'm dead :), it's good to be
forced on something you like)and I have the will. Im profficient in
C/C++/Python and with the help of the community i think i could make it.

True volumetrics allow endless creativity posiblities, from guided data
visualization/scientific interpretation of data to simple beatifull
exploration. This is something I owed to Blender.

Mentoring are more than welcome, and in the case of complete the proyect
and be integrated in bf-Blender theres no mention the big plus
for the thesis to be implemented in a real-life
software/open-source/worldwide.(I repeat: this is not a MUST, if the final
user don't like it simply drop it)

  PD: the things I already implemeted had to be done tweaking the UI
(because I'm currently not proficient in this area and because I will
make it once the inner engine work relatively well)
 I will need to make the entire thesis proyect papers to:
   Use Cases, Diagrams,software engeeniering...
   so comunity opinions will be usefull for this papers.

PD2: This year I finally make Blender the main educational soft for
Computer graphics in my University (Previously they were using 3Ds Max)
It's now official in the study plan.
This was an informative report, expect soon implementation questions
 and progress reports to.

                                       Farsthary (Raul Fernandez)
                                echelon at infomail.upr.edu.cu

More information about the Bf-committers mailing list