Changes

Jump to: navigation, search

GAM670/DPS905 Weekly Schedule 20111

734 bytes added, 09:18, 3 February 2011
This Week
== Week 4 - Jan 30 ==
=== This Week ===
* [http://msdn.microsoft.com/en-us/library/bb147178%28v=VS.85%29.aspx Mathematics of Lighting]
* Vertex Shaders
* Lighting in Vertex Shaders
**: C<sub>d</sub> - material diffuse color
**: C<sub>s</sub> - material specular color
**: Atten<sub>i</sub> - attenuation of light i
**:: d<sub>i</sub> - distance from light i
**::: d<sub>i</sub> = |L<sub>dir<sub>i</sub></sub>|
**:: a<sub>0</sub> - constant attenuation factor
**:: a<sub>1</sub> - linear attenuation factor
**:: a<sub>2</sub> - quadratic attenuation factor
**:: Atten<sub>i</sub> = 1/(a<sub>0</sub> + a<sub>1</sub> d<sub>i</sub> + a<sub>2</sub> d<sub>i</sub><sup>2</sup>)
**:: Atten<sub>i</sub> = [0, 1]
**: Spot<sub>i</sub> - spot factor of light i
**::
**: L<sub>a<sub>i</sub></sub> - ambient color of light i
**: L<sub>d<sub>i</sub></sub> - diffuse color of light i
**: L<sub>dir<sub>i</sub></sub> - direction vector of light i
**: N - normal to the surface at the vertex
*** [http://msdn.microsoft.com/en-us/library/bb172279%28v=VS.85%29.aspx Attenuation and Spotlight Factors]
**** Atten<sub>i</sub> - attenuation of light i
***: d<sub>i</sub> - distance from light i
***:: d<sub>i</sub> = |L<sub>dir<sub>i</sub></sub>|
***: a<sub>0</sub> - constant attenuation factor
***: a<sub>1</sub> - linear attenuation factor
***: a<sub>2</sub> - quadratic attenuation factor
***: Atten<sub>i</sub> = 1/(a<sub>0</sub> + a<sub>1</sub> d<sub>i</sub> + a<sub>2</sub> d<sub>i</sub><sup>2</sup>)
***: Atten<sub>i</sub> = [0, 1]
**** Spot<sub>i</sub> - spot factor of light i
***: Spot<sub>i</sub> = {[r<sub>i</sub> - cos(phi<sub>i</sub>/2)]/[cos(theta<sub>i</sub>/2) - cos(phi<sub>i</sub>/2)]}<sup>f<sub>i</sub></sup>
***: r<sub>i</sub> - cosine of angle from axis of spotlight<sub>i</sub>
***:: r<sub>i</sub> = norm(- light direction in camera space) . norm(L<sub>dir<sub>i</sub></sub>)
***: phi<sub>i</sub> - penumbra (exterior cone) angle of spotlight<sub>i</sub>
***: theta<sub>i</sub> - umbra (interior cone) angle of spotlight<sub>i</sub>
***: f<sub>i</sub> - falloff factor of spotlight<sub>i</sub>
** [http://en.wikipedia.org/wiki/Blinn%E2%80%93Phong_shading_model Blinn-Phong and Phong]
**: V - viewpoint vector
**:: V = norm(Camera<sub>position</sub> - Vertex<sub>position</sub>)
** Phong - account accurately for position of viewer
**: Specular reflectance = (R<sub>i</sub> . V)<sup>p<sub>i</sub></sup>
**: R<sub>i</sub> - reflection vector
**:: R<sub>i</sub> = 2 * (N . L<sub>dir<sub>i</sub></sub>) N - L<sub>dir<sub>i</sub></sub>
**: p<sub>i</sub> - true specular power of light i
**:
** Blinn-Phong - use halfway vector instead of reflection vector - adjust power to compensate
**: Specular reflectance = (N . H<sub>i</sub>)<sup>p'<sub>i</sub></sup>
**:: H<sub>i</sub> = norm([0,0,1] + L<sub>dir<sub>i</sub></sub>) - less computationally intensive - assumes that camera is at infinity along z axis
**: p'<sub>i</sub> - adjusted specular power of light i
** Phong - account accurately for position of viewer
**: Specular reflectance = (R<sub>i</sub> . V)<sup>p<sub>i</sub></sup>
**: R<sub>i</sub> - reflection vector
**:: R<sub>i</sub> = 2 * (N . L<sub>dir<sub>i</sub></sub>) N - L<sub>dir<sub>i</sub></sub>
**: p<sub>i</sub> - true specular power of light i
**:
** [http://msdn.microsoft.com/en-us/library/bb172256%28v=VS.85%29.aspx Ambient]

Navigation menu