Material.cpp File Reference

Abstract representation of a surface Material, defined without respect to the underlying surface (loose coupling between Shapes and Materials from the point-of-view of a Material, but all Shapes know about their surface Material). Materials subclass PropertyMap, and it is through this interface that Material properties may be set (ex: diffuse color, texture/bump/color map(s), index of refraction of interior volume, etc.). More...

#include "Material.h"
#include <materials.h>
#include <filters.h>
#include <ResourceManager.h>
#include <Camera.h>
#include <GL/gl.h>
#include <QtCore>

Go to the source code of this file.


Detailed Description

Abstract representation of a surface Material, defined without respect to the underlying surface (loose coupling between Shapes and Materials from the point-of-view of a Material, but all Shapes know about their surface Material). Materials subclass PropertyMap, and it is through this interface that Material properties may be set (ex: diffuse color, texture/bump/color map(s), index of refraction of interior volume, etc.).

Author:
Travis Fischer (fisch0920@gmail.com)

Matthew Jacobs (jacobs.mh@gmail.com)

Date:
Fall 2008
Reflectivity, emittance, and sensor response (BSDFs, Emitters, and Sensors respectively) are three properties of a material that are defined at a single point on a surface. A Material encapsulates BSDF, Emitter, and Sensor properties defined over its surface, where specific instances of BSDF, Emitter, and Sensor are allowed to have their inputs vary with respect to position along the surface. In this respect, Materials represent a mapping from surface position to associated BSDF, Emitter, and Sensor functions, where the underlying functions themselves remain constant along the surface, and only the inputs vary among the different instances / surface points. For example, a Material may have a DiffuseBSDF over its entire surface, but a specific DiffuseBSDF instance obtained by getBSDF or implicitly in initSurfacePoint (which fills in the SurfacePoint's BSDF), is allowed to have its 'kd' parameter (diffuse albedo) vary with respect to the given surface point via lookup in an associated 'kd' texture map defined over the UV coordinates of the surface.

Definition in file Material.cpp.


Generated on 28 Feb 2009 for Milton by doxygen 1.5.6