[Bf-committers] GSoC 2009 Application (draft)

Jingyuan Huang jingyuan.huang at gmail.com
Mon Mar 23 15:33:33 CET 2009


Hi all,
I updated my proposal and uploaded it to my website. It's now
available here:
http://www.cgl.uwaterloo.ca/~j23huang/projects/shlight/proposal.pdf
As I mentioned in my proposal, I have already started some preliminary
work and keep a log here:
http://www.cgl.uwaterloo.ca/~j23huang/projects/shlight/worklog.html. I
have updated my design based on Ton's suggestions, so the final
deliverable would look very different from the screenshots you see on
the website. I'm just trying to work out the core algorithms at this
point.


Best Wishes
Jingyuan Huang
------------------------------------
Computer Graphics Lab
University of Waterloo




On Sun, Mar 22, 2009 at 4:51 PM, Jingyuan Huang
<jingyuan.huang at gmail.com> wrote:
> Thank you!
>
> Ton gave me some suggestions on IRC. I will make some modifications
> and post another draft soon. :-)
>
>
> Best Wishes
> Jingyuan Huang
> ------------------------------------
> Computer Graphics Lab
> University of Waterloo
>
>
>
>
> On Sun, Mar 22, 2009 at 4:35 PM, Christopher Cherrett
> <stuff at trackingsolutions.ca> wrote:
>> Jinyuan,
>>
>> This would be a welcome addition!
>>
>> I hope it all works out for you.
>>
>> Thanks!
>>
>> -------- Original Message  --------
>> Subject: [Bf-committers] GSoC 2009 Application (draft)
>> From: Jingyuan Huang <jingyuan.huang at gmail.com>
>> To: bf-committers at blender.org
>> Date: 03/22/09 11:43
>>>        Google Summer of Code: Blender Illumination Brush using
>>>                                        Spherical Harmonics
>>>                                              Jingyuan Huang
>>>                                        jingyuan.huang at gmail.com
>>>                                     www.cgl.uwaterloo.ca/~j23huang
>>>                            David R. Cheriton School of Computer Science
>>>                                           University of Waterloo
>>>                                               March 22, 2009
>>> 1     Synopsis
>>> Creating the desired lighting effect in 3D modeling tools can be
>>> time-consuming. Inspired by Illumination
>>> Brush [1], this project aims to create an interactive tool for Blender
>>> to preview and modify image-based
>>> lighting effects. This tool will be integrated with the existing
>>> image-based rendering routines in Blender in
>>> order to help artists determine the final renderings. Since the
>>> algorithm uses Spherical Harmonics, the tool
>>> is named as ShLight.
>>>
>>> 2     Benefits to the Blender Community
>>> With such an interactive tool in place, artists can select a part of
>>> the scene and apply the desired colours to
>>> it without manually changing objects’ BRDF or locating another high
>>> dynamic range image that can achieve
>>> better rendering results. The tool will facilitate the rendering
>>> process, which matches the goal of Blender:
>>> to help artists design and create content effectively.
>>>
>>> 3     Deliverables
>>> A separate editor space will be added to Blender to allow users to
>>> view and manipulate the lighting en-
>>> vironment. The editor space will allow users to specify an HDR image
>>> as lighting environment or use the
>>> HDR image specified as the environment map in the rendering options.
>>> Since the algorithm uses spherical
>>> harmonics, the editor space will also provide widgets to allow users
>>> to change some of the parameters.
>>> Users can rotate the models in ShLight space to examine lighting
>>> without changing actual transforms, but
>>> they still have the option to set the transforms if they find a better
>>> orientation. The tool will also provide
>>> two ways to change the lighting environment. First is to pick a colour
>>> in the brush colour panel and click
>>> on the window to select the vertices to apply the colour to. The tool
>>> will update the HDR data to best
>>> match the desired colour. The second way is to drag the shadows to
>>> rotate the lighting environment. The
>>> tool will estimate the rotation and update the HDR data. These changes
>>> will be stored and applied for the
>>> final rendering.
>>>
>>> 4     Project Details
>>> 4.1    Spherical Harmonics
>>> Precomputed radiance transfer using Spherical Harmonics was first
>>> introduced by Sloan et al. [2]. Spherical
>>> Harmonic Lighting: The Gritty Details by Robin Green offers good
>>> explanations of the basic concepts [3],
>>> however the implementation provided in the tutorial is naive and slow
>>> since it aims for explanation rather
>>> than performance. A faster algorithm was proposed by Ian G. Lisle and
>>> S.-L. Tracy Huang [4], and is the
>>> base of my implementation.
>>> 4.2    Estimating Colour Change in Lighting Environment
>>> Algorithm described in Illumination Brush [1] will be used for
>>> calculating lighting environment changes after
>>> users specify colours on the scene. The new light coefficients will be
>>> calculated by solving a least square
>>> problem for the linear system. The constraints described in [1] will
>>> be applied as well.
>>> 4.3     Lighting Environment Rotation
>>> Ian G. Lisle and S.-L. Tracy Huang’s implementation [4] already
>>> provides Wigner matrices for scenes rotating
>>> relative to the lighting environment. The same matrix can be used to
>>> rotate the lighting environment
>>> relative to the scene. The amount of rotation is calculated based on
>>> mouse movement, which is described in
>>> Illumination Brush [1].
>>>
>>> 5   Project Schedule
>>>   • March 23 – April 15
>>>     Implement basic features with minimum dependence on Blender. This
>>> means that I won’t use the
>>>     existing Blender routines for HDR image loading and writing, or
>>> ray trace routines for shadow inter-
>>>     section. My goal in this period of time is to quickly get
>>> something to show up on the screen and work
>>>     out the core algorithms.
>>>   • April 16 – April 26
>>>     This is my yearly vacation in China. I will be around Chengdu and
>>> Tibet for these days with my mom
>>>     so I won’t be able to code.
>>>   • April 27 – May 22
>>>     This is Google’s community bounding period. I plan to continue
>>> developing some of the algorithms
>>>     that I may not be able to finish in the first period and listing
>>> out the parts that shall be integrated
>>>     with Blender. I’d also like to get some suggestions on the overall
>>> design and UI layout at the end of
>>>     this period. I will be in Shanghai from April 27 to May 6 and fly
>>> back to Waterloo on May 6. I will
>>>     be able to work on the project when I’m in Shanghai.
>>>   • May 23 – July 6
>>>     This period is the main iterative cycle. Work involved in this
>>> period includes Blender integration,
>>>     improvements based on previous reviews and suggestions, and
>>> testing. Google’s midterm review will
>>>     be done at the end of this period.
>>>   • July 7 – August 1
>>>     Midterm review shall be submitted by the beginning of the period.
>>> This period is another iteration
>>>     cycle, including minor design changes (no big changes should
>>> happen at this point), integration, testing,
>>>     and documentation.
>>>   • August 2 – August 9
>>>     SIGGRAPH! I applied for student volunteer but I won’t know the
>>> results till the end of April. For
>>>     now let’s assume that I won’t be available during this period.
>>>   • August 10 – August 21
>>>     This period is dedicated to bug fixing and documentation. Proper
>>> Wiki pages should be added to
>>>     explain the work flow and UI controls. Problems and issues shall
>>> also be documented.
>>>
>>> 6   Extensions after GSoC
>>> many possibilities (I'm still writing)
>>>
>>> 7      Bio
>>> I’m a Master’s student in The David R. Cheriton School of Computer
>>> Science at University of Waterloo. I
>>> completed my Bachelor degree in Software Engineering at University of
>>> Waterloo as well. I’m very comfort-
>>> able with C/C++ development, and I’ve used Python quite often since
>>> 2006 (my baby Ada compiler was
>>> written in Python). You can find my resume and some of my past
>>> projects on my website.
>>> I used Blender for my ray tracer project in 2007
>>> (www.cgl.uwaterloo.ca/ ̃j23huang/projects/fray/fray.html)
>>> and I’ve been following the dev mailing list since. I understand
>>> Blender’s basic code structure, however, I
>>> haven’t been able to make real contributions to the Blender community yet.
>>> My thesis topic is image-based relighting. This project is partly
>>> related to (or might be a part of) my
>>> research work. I hope that my research can bring some thoughts to the
>>> development of this project (and
>>> maybe benefit from it as well). I will focus on my thesis topic this
>>> summer and not take any courses. Since
>>> this project is related to my research, I will be able to work on both
>>> as a unity instead of two separate
>>> projects.
>>>
>>>
>>> References
>>> [1] M. Okabe, Y. Matsushita, T. Igarashi, and H.-Y. Shum,
>>> “Illumination brush: interactive design of image-
>>>     based lighting,” in SIGGRAPH ’06: ACM SIGGRAPH 2006 Research
>>> posters, (New York, NY, USA),
>>>     p. 141, ACM, 2006.
>>> [2] P.-P. Sloan, J. Kautz, and J. Snyder, “Precomputed radiance
>>> transfer for real-time rendering in dynamic,
>>>     low-frequency lighting environments,” ACM Trans. Graph., vol. 21,
>>> no. 3, pp. 527–536, 2002.
>>> [3] R. Green, “Spherical harmonic lighting: The gritty details.”
>>> http://www.research.scea.com/gdc2003/
>>>     spherical-harmonic-lighting.html, 2003.
>>> [4] I. G. Lisle and S.-L. T. Huang, “Algorithms for spherical harmonic
>>> lighting,” in GRAPHITE ’07: Pro-
>>>     ceedings of the 5th international conference on Computer graphics
>>> and interactive techniques in Australia
>>>     and Southeast Asia, (New York, NY, USA), pp. 235–238, ACM, 2007.
>>>
>>>
>>> Best Wishes
>>> Jingyuan Huang
>>> ------------------------------------
>>> Computer Graphics Lab
>>> University of Waterloo
>>> _______________________________________________
>>> Bf-committers mailing list
>>> Bf-committers at blender.org
>>> http://lists.blender.org/mailman/listinfo/bf-committers
>>>
>>
>>
>> _______________________________________________
>> Bf-committers mailing list
>> Bf-committers at blender.org
>> http://lists.blender.org/mailman/listinfo/bf-committers
>>
>


More information about the Bf-committers mailing list