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.


  1. 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 -
    1. kd : Diffuse Reflection Coefficient, Range 0.0 - 1.0, Default value 1.0
    2. ks : Specular Reflection Coefficient, Range 0.0 - 1.0, Default value 0.2
    3. n : Specular Shine Coefficient, Range 0.0 - Inf, Default value 1.0
    4. kt : Global Trasparency Coefficient, Range 0.0 - 1.0, Default value 0.0
    5. kr : Global Reflection Coefficient, Range 0.0 - 1.0, Default value 0.2
    6. 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
    7. 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


  2. 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 -
    1. `texmap' texture_type (This is 1 for Image textures)
    2. texture image file name

    Texture 1 Texture 2

  3. 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 -
    1. `bmpmap' bumpmap_type (This is 1 for Image bumpmaps)
    2. bumpmap image file name

    Bump Map 1 Bump Map 2

  4. 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 -
    1. `alphamap' alphamap_type (This is 1 for Image alphamaps)
    2. alphamap image file name

    Alpha Map


[ Back ]




Page last updated on 04 October, 2005. pialpharhoalphagammaAT cse.iitd.ac.in © Parag Chaudhuri , 2009
DCSE, IIT Delhi Valid HTML 4.0! Valid CSS! yahoo