[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