[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
 TODO:
   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!!)
  7-GUI
  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)
                                                                     Thank
you
in
advance
  :)


  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