[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