[Bf-committers] Google Summer of Code Idea

Scott Johnson scottj at cs.und.edu
Mon Apr 24 19:04:00 CEST 2006


> Does this really need raytracing? It is quite an advanced shader, and
> certainly the derivations and numerical experiments take ray reflections
> at multiple layers into account, but the final formula seems to only need
> the normal, incident angle, etc, things that are available in rasterization.

Well my main objective would be implementation using OpenGL.  
Specifically, integration into the game engine and on-the-fly rendering.

> I  think this would be neat to have in Blender. But although the shader is
> quite complicated, I don't think implementing it would take more than a
> week. It mainly involves directly using the formulas in the paper, and
> figuring out how exactly to do the specialized rgb <-> spectral conversion.
> If I understood the paper correctly, that is.

Yes, the implementation probably wouldn't be that difficult.  However, 
I have done extensive work with implementing know algorithms using 
structured software engineering techniques.  My goal would be more than 
the implementation of the project, but also the modeling of related 
interfaces, as well as full documentation.  I feel that in estimating 
the time necessary to accomplish these things, based on prior 
experience, I think that 3 months is a fairly reasonable estimate.  
This assumes roughly the following timetable:

WEEKS 1-2   - Familiarization with the code of Blender (as I haven't 
developed for Blender yet, so I would need to become familiar with 
existing APIs/documentation)

WEEK 3  - Background research & development of structured requirements 
(The requirements will be specified in the initial proposal that is 
developed, but refinement will happen here).  In addition, this will 
give me the chance to look at other papers on similar topics, as I 
would like to implement shadings at diffraction gratings as well as 
interference, something not covered in the source I gave in the last 
email.

WEEKS 4-6  - Development of algorithms not covered in the paper.  Also, 
conversion of existing algorithms to generic C code for inclusion as an 
external library.

WEEKS 7-8 - Integration of previously developed algorithms into Blender 
main source.

WEEKS 8-9 - Implementation of graphical interface to access new features.

WEEKS 10-11 - Testing & Debugging

WEEKS 11-12 - Creation of full documentation of above mentioned 
additions.  This includes in-source documentation, header/api 
documentation (both in .h files as comments, as well as web/multimedia 
"how-to" guide), and user documentation online.

There is some overlap, in the event that some part of the project takes 
longer than another.

> Doing a realtime implementation for the game engine would add some
> extra time needed also, but would all this really need 3 months of work?

Yes, this is something I planned on implementing.  A full 
implementation of this would include BOTH the still/movie rendering, 
and the game engine implementation.  My focus would be on the game 
engine, as I feel that would take more work, but they will be 
implemented together.  As a software engineer, I also feel that 
documentation is extremely important.  I have calculated into the time 
I feel necessary to complete this project a large amount of time to 
document everything I did.  This will make updating/maintenence easier, 
as well as providing a place for users to find out how the system 
works, and what to do to get it to work the way they want.

I definitely have thought about whether it will take the full 3 months, 
but my view on the idea is that based on my previous software 
engineering projects I have done, that sometimes projects you estimate 
to take a week and a half can take up to a month.  I would not like to 
start on a project I feel will take 3 months, and end up not finishing 
it.  I really want to hear other input, though.  I really think this 
could benefit the Blender software to have something like this 
incorporated into it, but if the community feels that time could be 
better spent on a different project, I would like to know before 
submitting a proposal.

Thanks!

~Scott

PAPER REFERENCES FOLLOW

>> If you would like to see the full article, please see:
>>
>> **
>> 	Sun, Yinlong.  *Rendering biological iridescences with RGB-based 
>> renderers*.
>> ACM Transactions on Graphics (TOG) archive 
>> <http://portal.acm.org/toc.cfm?id=J778&type=periodical&coll=Portal&dl=ACM&CFID=70020832&CFTOKEN=50962267>
>> Volume 25 ,  Issue 1  (January 2006) table of contents 
>> <http://portal.acm.org/toc.cfm?id=1122501&type=issue&coll=Portal&dl=ACM&CFID=70020832&CFTOKEN=50962267>
>> Pages: 100 - 129  Year of Publication: 2006
>> ISSN:0730-0301
>>

Direct link to the pdf:
http://www.acm.org/tog/tog-05-0079.pdf




More information about the Bf-committers mailing list