DifferentialGeometry Struct Reference

#include <shape.h>

List of all members.

Public Member Functions

 DifferentialGeometry ()
 DifferentialGeometry (const Point &P, const Vector &DPDU, const Vector &DPDV, const Vector &DNDU, const Vector &DNDV, float uu, float vv, const Shape *sh)
void ComputeDifferentials (const RayDifferential &r) const

Public Attributes

Point p
Normal nn
float u
float v
const Shapeshape
Vector dpdu
Vector dpdv
Normal dndu
Normal dndv
Vector dpdx
Vector dpdy
float dudx
float dvdx
float dudy
float dvdy


Detailed Description

Definition at line 19 of file shape.h.


Constructor & Destructor Documentation

DifferentialGeometry::DifferentialGeometry (  )  [inline]

Definition at line 20 of file shape.h.

DifferentialGeometry::DifferentialGeometry ( const Point P,
const Vector DPDU,
const Vector DPDV,
const Vector DNDU,
const Vector DNDV,
float  uu,
float  vv,
const Shape sh 
)

Definition at line 24 of file shape.cpp.

References Cross(), dpdu, dpdv, dudx, dudy, dvdx, dvdy, nn, Normalize(), Shape::reverseOrientation, shape, Shape::transformSwapsHandedness, u, and v.


Member Function Documentation

void DifferentialGeometry::ComputeDifferentials ( const RayDifferential r  )  const

Definition at line 39 of file shape.cpp.

References Ray::d, Dot(), dpdu, dpdv, dpdx, dpdy, dudx, dudy, dvdx, dvdy, RayDifferential::hasDifferentials, nn, Ray::o, p, RayDifferential::rx, RayDifferential::ry, SolveLinearSystem2x2(), Normal::x, Point::x, Normal::y, Point::y, Normal::z, and Point::z.

Referenced by Intersection::GetBSDF().


Member Data Documentation

Point DifferentialGeometry::p

Definition at line 28 of file shape.h.

Referenced by Material::Bump(), ComputeDifferentials(), Checkerboard3D< T >::Evaluate(), Checkerboard2D< T >::Evaluate(), BidirIntegrator::generatePath(), Triangle::GetShadingGeometry(), IrradianceCache::IndirectLo(), InstancePrimitive::Intersect(), Intersection::Le(), WhittedIntegrator::Li(), PhotonIntegrator::Li(), PathIntegrator::Li(), IrradianceCache::Li(), IGIIntegrator::Li(), ExPhotonIntegrator::Li(), DirectLighting::Li(), PhotonIntegrator::LPhoton(), ExPhotonIntegrator::LPhoton(), IdentityMapping3D::Map(), PlanarMapping2D::Map(), CylindricalMapping2D::Map(), SphericalMapping2D::Map(), PhotonIntegrator::Preprocess(), and ExPhotonIntegrator::Preprocess().

Normal DifferentialGeometry::nn

Definition at line 29 of file shape.h.

Referenced by BSDF::BSDF(), Material::Bump(), ComputeDifferentials(), DifferentialGeometry(), BidirIntegrator::generatePath(), UberMaterial::GetBSDF(), Translucent::GetBSDF(), Substrate::GetBSDF(), Skin::GetBSDF(), ShinyMetal::GetBSDF(), Primer::GetBSDF(), Plastic::GetBSDF(), Mirror::GetBSDF(), Matte::GetBSDF(), Glass::GetBSDF(), Felt::GetBSDF(), Clay::GetBSDF(), BrushedMetal::GetBSDF(), BluePaint::GetBSDF(), Triangle::GetShadingGeometry(), IrradianceCache::IndirectLo(), InstancePrimitive::Intersect(), Intersection::Le(), WhittedIntegrator::Li(), PhotonIntegrator::Li(), PathIntegrator::Li(), IrradianceCache::Li(), IGIIntegrator::Li(), ExPhotonIntegrator::Li(), DirectLighting::Li(), DebugIntegrator::Li(), PhotonIntegrator::LPhoton(), ExPhotonIntegrator::LPhoton(), Shape::Pdf(), PhotonIntegrator::Preprocess(), IGIIntegrator::Preprocess(), and ExPhotonIntegrator::Preprocess().

float DifferentialGeometry::u

Definition at line 30 of file shape.h.

Referenced by Material::Bump(), DifferentialGeometry(), Checkerboard3D< T >::Evaluate(), Checkerboard2D< T >::Evaluate(), Triangle::GetShadingGeometry(), DebugIntegrator::Li(), and UVMapping2D::Map().

float DifferentialGeometry::v

Definition at line 30 of file shape.h.

Referenced by Material::Bump(), DifferentialGeometry(), Checkerboard3D< T >::Evaluate(), Checkerboard2D< T >::Evaluate(), Triangle::GetShadingGeometry(), DebugIntegrator::Li(), and UVMapping2D::Map().

const Shape* DifferentialGeometry::shape

Definition at line 31 of file shape.h.

Referenced by Material::Bump(), DifferentialGeometry(), and Triangle::GetShadingGeometry().

Vector DifferentialGeometry::dpdu

Definition at line 32 of file shape.h.

Referenced by BSDF::BSDF(), Material::Bump(), ComputeDifferentials(), DifferentialGeometry(), Triangle::GetShadingGeometry(), and InstancePrimitive::Intersect().

Vector DifferentialGeometry::dpdv

Definition at line 32 of file shape.h.

Referenced by Material::Bump(), ComputeDifferentials(), DifferentialGeometry(), and InstancePrimitive::Intersect().

Normal DifferentialGeometry::dndu

Definition at line 33 of file shape.h.

Referenced by Material::Bump(), InstancePrimitive::Intersect(), WhittedIntegrator::Li(), PhotonIntegrator::Li(), IrradianceCache::Li(), IGIIntegrator::Li(), ExPhotonIntegrator::Li(), and DirectLighting::Li().

Normal DifferentialGeometry::dndv

Definition at line 33 of file shape.h.

Referenced by Material::Bump(), InstancePrimitive::Intersect(), WhittedIntegrator::Li(), PhotonIntegrator::Li(), IrradianceCache::Li(), IGIIntegrator::Li(), ExPhotonIntegrator::Li(), and DirectLighting::Li().

Vector DifferentialGeometry::dpdx [mutable]

Definition at line 34 of file shape.h.

Referenced by ComputeDifferentials(), Checkerboard3D< T >::Evaluate(), Checkerboard2D< T >::Evaluate(), Triangle::GetShadingGeometry(), WhittedIntegrator::Li(), PhotonIntegrator::Li(), IrradianceCache::Li(), IGIIntegrator::Li(), ExPhotonIntegrator::Li(), DirectLighting::Li(), IdentityMapping3D::Map(), PlanarMapping2D::Map(), CylindricalMapping2D::Map(), and SphericalMapping2D::Map().

Vector DifferentialGeometry::dpdy [mutable]

Definition at line 34 of file shape.h.

Referenced by ComputeDifferentials(), Checkerboard3D< T >::Evaluate(), Checkerboard2D< T >::Evaluate(), Triangle::GetShadingGeometry(), WhittedIntegrator::Li(), PhotonIntegrator::Li(), IrradianceCache::Li(), IGIIntegrator::Li(), ExPhotonIntegrator::Li(), DirectLighting::Li(), IdentityMapping3D::Map(), PlanarMapping2D::Map(), CylindricalMapping2D::Map(), and SphericalMapping2D::Map().

float DifferentialGeometry::dudx [mutable]

Definition at line 35 of file shape.h.

Referenced by Material::Bump(), ComputeDifferentials(), DifferentialGeometry(), Checkerboard3D< T >::Evaluate(), Checkerboard2D< T >::Evaluate(), Triangle::GetShadingGeometry(), WhittedIntegrator::Li(), PhotonIntegrator::Li(), IrradianceCache::Li(), IGIIntegrator::Li(), ExPhotonIntegrator::Li(), DirectLighting::Li(), and UVMapping2D::Map().

float DifferentialGeometry::dvdx [mutable]

Definition at line 35 of file shape.h.

Referenced by Material::Bump(), ComputeDifferentials(), DifferentialGeometry(), Checkerboard3D< T >::Evaluate(), Checkerboard2D< T >::Evaluate(), Triangle::GetShadingGeometry(), WhittedIntegrator::Li(), PhotonIntegrator::Li(), IrradianceCache::Li(), IGIIntegrator::Li(), ExPhotonIntegrator::Li(), DirectLighting::Li(), and UVMapping2D::Map().

float DifferentialGeometry::dudy [mutable]

Definition at line 35 of file shape.h.

Referenced by Material::Bump(), ComputeDifferentials(), DifferentialGeometry(), Checkerboard3D< T >::Evaluate(), Checkerboard2D< T >::Evaluate(), Triangle::GetShadingGeometry(), WhittedIntegrator::Li(), PhotonIntegrator::Li(), IrradianceCache::Li(), IGIIntegrator::Li(), ExPhotonIntegrator::Li(), DirectLighting::Li(), and UVMapping2D::Map().

float DifferentialGeometry::dvdy [mutable]

Definition at line 35 of file shape.h.

Referenced by Material::Bump(), ComputeDifferentials(), DifferentialGeometry(), Checkerboard3D< T >::Evaluate(), Checkerboard2D< T >::Evaluate(), Triangle::GetShadingGeometry(), WhittedIntegrator::Li(), PhotonIntegrator::Li(), IrradianceCache::Li(), IGIIntegrator::Li(), ExPhotonIntegrator::Li(), DirectLighting::Li(), and UVMapping2D::Map().


The documentation for this struct was generated from the following files:
Generated on Wed Sep 26 14:01:24 2007 for pbrt by  doxygen 1.5.1