6. The Surface - Cosmetics for our building blocks
Every object has a surface associated with it. The surface defines how light
interacts with the object. The following section describes the various surface
parameters which can be used to describe the various kind of surfaces.
- A plethora of coefficients - kd,ks,n,kt,kr,color,ri : Reflection, Refraction & Color -
Surfaces are described using a list of parameters which govern how the
surface interacts with light. The parameters are -
- kd : Diffuse Reflection Coefficient, Range 0.0 - 1.0, Default value 1.0
- ks : Specular Reflection Coefficient, Range 0.0 - 1.0, Default value 0.2
- n : Specular Shine Coefficient, Range 0.0 - Inf, Default value 1.0
- kt : Global Trasparency Coefficient, Range 0.0 - 1.0, Default value 0.0
- kr : Global Reflection Coefficient, Range 0.0 - 1.0, Default value 0.2
- color : Surface Color, Range 0.0 - 1.0 for R,G,B each , Default value - Not Specified, so it has to be given by the user
- ri : Refractive Index, Range 0.0 - Inf, Default value 1.0
These parameters are used in the rendering equation to calculate intensity at
any point. Note that a few combinations of these parameters may not make any
sense, for eg. an object having kt = 0.0 (an opaque object) will have no use of
the ri parameter. A few examples of the effects of varying these parameters
is given.
|
|
|
|
|
|
kd 0.5 |
ks 0.5 |
n 30 |
kt 0.5 |
kr 0.5 |
ri 1.0 |
|
|
|
|
|
|
kd 1.0 |
ks 1.0 |
n 300 |
kt 1.0 |
kr 1.0 |
ri 1.55 |
- Texture Maps -
Texture mapping allows us to map textures on the surface of objects by
parameterizing the surface in (u,v) coordiantes. Colors for the object's
surface are picked up from the corresponding point on the texture. Textures may
be specified in the form of images (type 1 texture maps) or procedural textures.
Procedural textures have not been implemented yet !!
Textures are
specified in the following manner -
- `texmap' texture_type (This is 1 for Image textures)
- texture image file name
|
|
Texture 1 |
Texture 2 |
- Bump Maps -
Bump mapping allows us to perturb the surface normals as per a bump map,
producing an illusion of a bumped surface. Bump maps may be specified
as intensity (grayscale) images (type 1 bumpmaps) or procedural textures.
Procedural bumpmaps have not been implemented yet !!
Textures are
specified in the following manner -
- `bmpmap' bumpmap_type (This is 1 for Image bumpmaps)
- bumpmap image file name
|
|
Bump Map 1 |
Bump Map 2 |
- Alpha Maps -
Alpha mapping allows us to vary the transparency of the surface. Alpha maps
may be specified as intensity (grayscale) images (type 1 alphamaps) or
procedural alphamaps. Procedural alphamaps have not been implemented yet !! Alphamap are specified in the following manner -
- `alphamap' alphamap_type (This is 1 for Image alphamaps)
- alphamap image file name
|
Alpha Map |
[ Back ]
Page last updated on 04 October, 2005.
|
AT cse.iitd.ac.in
|
© Parag Chaudhuri , 2009
|
|