[Bf-committers] GSoC 2009 Application (draft)
Christopher Cherrett
stuff at trackingsolutions.ca
Sun Mar 22 21:35:08 CET 2009
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
>
More information about the Bf-committers
mailing list