1
edit
Changes
no edit summary
************************ 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
* 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
* necessarily 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 ==
*
* Input Effective Range
* power 0.0 -1000
*
* Makes objects look plastic
*
* Input Effective Range
* power 0.0 -1000
*
* Like Phong, but uses less instructions, also gives objects a plastic look
*
* Input Effective Range
* roughness 0.0 -15.0 * index of refraction 0.0 -10.0
*
* Gives objects a metallic look
*
* Input Effective Range
* roughness 0.0 -2.0
*
* Diffuse only model, good for making objects look rough
*
* Input Effective Range
* roughness 0.0 - 12.0 * power 0.0 - 12.0
*
* Allows the manipulation of specular lobe (change its shape)
* 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