[Bf-committers] GSoC 2009 Application (draft)

Jingyuan Huang jingyuan.huang at gmail.com
Sun Mar 22 21:51:29 CET 2009


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