Difference between revisions of "User:Akopytov"
Line 6: | Line 6: | ||
************************ Lighting Documentation v1.00 ************************ | ************************ Lighting Documentation v1.00 ************************ | ||
− | |||
* Lighting with the programmable graphics pipeline currently requires the use of | * Lighting with the programmable graphics pipeline currently requires the use of | ||
* the effects framework and works on the object level. This means the algorithm | * the effects framework and works on the object level. This means the algorithm | ||
Line 15: | Line 14: | ||
* To avoid bloating the object class, three variables will be used across the various | * To avoid bloating the object class, three variables will be used across the various | ||
* algorithms in different ways. It is very important to note that an algorithm may not | * algorithms in different ways. It is very important to note that an algorithm may not | ||
− | * | + | * neccesarily use all three variables in its calculations. Also, each algorithm may |
* accept different ranges of values from each of the variables it does use. The | * accept different ranges of values from each of the variables it does use. The | ||
* lighting algorithms available for use in the framework are described below: | * lighting algorithms available for use in the framework are described below: | ||
+ | * | ||
+ | * Functions | ||
+ | * --------- | ||
+ | * power(), setPower(float) | ||
+ | * getRoughness(), setRoughness(float) | ||
+ | * getIndexOfRefraction, setIndexOfRefraction(float) | ||
+ | * getAlgorithm(), setAlgorithm(LightAlgorithm) | ||
+ | * | ||
+ | * Inputs for setAlgorithm() | ||
+ | * PHONG | ||
+ | * BLINN_PHONG | ||
+ | * COOK_TORRANCE | ||
+ | * OREN_NAYAR | ||
+ | * WARD_ANISO | ||
+ | * ASH_SHIRLEY | ||
* | * | ||
* == Phong == | * == Phong == | ||
Line 23: | Line 37: | ||
* | * | ||
* Input Effective Range | * Input Effective Range | ||
− | * power 0.0 - | + | * power 0.0 - 1000 |
* | * | ||
* Makes objects look plastic | * Makes objects look plastic | ||
Line 31: | Line 45: | ||
* | * | ||
* Input Effective Range | * Input Effective Range | ||
− | * power 0.0 - | + | * power 0.0 - 1000 |
* | * | ||
* Like Phong, but uses less instructions, also gives objects a plastic look | * Like Phong, but uses less instructions, also gives objects a plastic look | ||
Line 39: | Line 53: | ||
* | * | ||
* Input Effective Range | * Input Effective Range | ||
− | * roughness 0.0 - | + | * roughness 0.0 - 15.0 |
− | * index of refraction 0.0 - | + | * index of refraction 0.0 - 10.0 |
* | * | ||
* Gives objects a metallic look | * Gives objects a metallic look | ||
Line 48: | Line 62: | ||
* | * | ||
* Input Effective Range | * Input Effective Range | ||
− | * roughness 0.0 - | + | * roughness 0.0 - 2.0 |
* | * | ||
* Diffuse only model, good for making objects look rough | * Diffuse only model, good for making objects look rough | ||
Line 56: | Line 70: | ||
* | * | ||
* Input Effective Range | * Input Effective Range | ||
− | * roughness 0.0 - | + | * roughness 0.0 - 2.0 |
− | * power 0.0 - | + | * power 0.0 - 2.0 |
* | * | ||
* Allows the manipulation of specular lobe (change its shape) | * Allows the manipulation of specular lobe (change its shape) | ||
Line 67: | Line 81: | ||
* roughness 0 - 10000 | * roughness 0 - 10000 | ||
* power 0 - 10000 | * power 0 - 10000 | ||
− | * index of refraction 0.0 - | + | * index of refraction 0.0 - 10.0 |
* | * | ||
* Good for making objects look metal or plastic, and can manipulate specular lobe | * Good for making objects look metal or plastic, and can manipulate specular lobe |
Revision as of 12:04, 8 April 2011
Contact Information
Name: Andrei Kopytov
Seneca e-mail address: akopytov@learn.senecac.on.ca
************************ Lighting Documentation v1.00 ************************ * Lighting with the programmable graphics pipeline currently requires the use of * the effects framework and works on the object level. This means the algorithm * with which you wish to illuminate your object will work on the entire object, not * a subset of that object. The inputs for the algorithm also work on the object level, * meaning all subsets will use the same values. * * To avoid bloating the object class, three variables will be used across the various * algorithms in different ways. It is very important to note that an algorithm may not * neccesarily use all three variables in its calculations. Also, each algorithm may * accept different ranges of values from each of the variables it does use. The * lighting algorithms available for use in the framework are described below: * * Functions * --------- * power(), setPower(float) * getRoughness(), setRoughness(float) * getIndexOfRefraction, setIndexOfRefraction(float) * getAlgorithm(), setAlgorithm(LightAlgorithm) * * Inputs for setAlgorithm() * PHONG * BLINN_PHONG * COOK_TORRANCE * OREN_NAYAR * WARD_ANISO * ASH_SHIRLEY * * == Phong == * Isotropic * * Input Effective Range * power 0.0 - 1000 * * Makes objects look plastic * ========================================================================== * == Blinn-Phong == * Isotropic * * Input Effective Range * power 0.0 - 1000 * * Like Phong, but uses less instructions, also gives objects a plastic look * ========================================================================== * == Cook-Torrance == * Isotropic * * Input Effective Range * roughness 0.0 - 15.0 * index of refraction 0.0 - 10.0 * * Gives objects a metallic look * ========================================================================== * == Oren-Nayar == * Isotropic * * Input Effective Range * roughness 0.0 - 2.0 * * Diffuse only model, good for making objects look rough * ========================================================================== * == Ward Anisotropic == * Anisotropic * * Input Effective Range * roughness 0.0 - 2.0 * power 0.0 - 2.0 * * Allows the manipulation of specular lobe (change its shape) * ========================================================================== * == Ashikhmin-Shirley == * Anisotropic * * Input Effective Range * roughness 0 - 10000 * power 0 - 10000 * index of refraction 0.0 - 10.0 * * Good for making objects look metal or plastic, and can manipulate specular lobe * ========================================================================== * * For more information on lighting, check out: http://wiki.gamedev.net/index.php/D3DBook:Lighting