Difference between revisions of "User:Akopytov"

From CDOT Wiki
Jump to: navigation, search
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
  * necessarily use all three variables in its calculations. Also, each algorithm may
+
  * 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 - 1.0
+
  * roughness            0.0 - 2.0
  * power                0.0 - 1.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 13: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