#include <diffgeom.h>
Public Member Functions | |
DifferentialGeometry () | |
DifferentialGeometry (const Point &P, const Vector &DPDU, const Vector &DPDV, const Normal &DNDU, const Normal &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 Shape * | shape |
Vector | dpdu |
Vector | dpdv |
Normal | dndu |
Normal | dndv |
Vector | dpdx |
Vector | dpdy |
float | dudx |
float | dvdx |
float | dudy |
float | dvdy |
Definition at line 36 of file diffgeom.h.
DifferentialGeometry::DifferentialGeometry | ( | ) | [inline] |
Definition at line 37 of file diffgeom.h.
DifferentialGeometry::DifferentialGeometry | ( | const Point & | P, | |
const Vector & | DPDU, | |||
const Vector & | DPDV, | |||
const Normal & | DNDU, | |||
const Normal & | DNDV, | |||
float | uu, | |||
float | vv, | |||
const Shape * | sh | |||
) |
Definition at line 32 of file diffgeom.cpp.
References Cross(), dpdu, dpdv, dudx, dudy, dvdx, dvdy, nn, Normalize(), Shape::ReverseOrientation, shape, Shape::TransformSwapsHandedness, u, and v.
void DifferentialGeometry::ComputeDifferentials | ( | const RayDifferential & | r | ) | const |
Definition at line 50 of file diffgeom.cpp.
References Dot(), dpdu, dpdv, dpdx, dpdy, dudx, dudy, dvdx, dvdy, RayDifferential::hasDifferentials, nn, p, RayDifferential::rxDirection, RayDifferential::rxOrigin, RayDifferential::ryDirection, RayDifferential::ryOrigin, SolveLinearSystem2x2(), Normal::x, Point::x, Normal::y, Point::y, Normal::z, and Point::z.
Referenced by Intersection::GetBSDF(), and Intersection::GetBSSRDF().
Definition at line 51 of file diffgeom.h.
Referenced by Material::Bump(), TransformedPrimitive::Intersect(), SpecularReflect(), and SpecularTransmit().
Definition at line 51 of file diffgeom.h.
Referenced by Material::Bump(), TransformedPrimitive::Intersect(), SpecularReflect(), and SpecularTransmit().
Definition at line 50 of file diffgeom.h.
Referenced by BSDF::BSDF(), Material::Bump(), ComputeDifferentials(), DifferentialGeometry(), Triangle::GetShadingGeometry(), and TransformedPrimitive::Intersect().
Definition at line 50 of file diffgeom.h.
Referenced by Material::Bump(), ComputeDifferentials(), DifferentialGeometry(), and TransformedPrimitive::Intersect().
Vector DifferentialGeometry::dpdx [mutable] |
Definition at line 52 of file diffgeom.h.
Referenced by ComputeDifferentials(), Triangle::GetShadingGeometry(), IrradianceCacheIntegrator::Li(), IdentityMapping3D::Map(), PlanarMapping2D::Map(), CylindricalMapping2D::Map(), SphericalMapping2D::Map(), SpecularReflect(), and SpecularTransmit().
Vector DifferentialGeometry::dpdy [mutable] |
Definition at line 52 of file diffgeom.h.
Referenced by ComputeDifferentials(), Triangle::GetShadingGeometry(), IrradianceCacheIntegrator::Li(), IdentityMapping3D::Map(), PlanarMapping2D::Map(), CylindricalMapping2D::Map(), SphericalMapping2D::Map(), SpecularReflect(), and SpecularTransmit().
float DifferentialGeometry::dudx [mutable] |
Definition at line 53 of file diffgeom.h.
Referenced by Material::Bump(), ComputeDifferentials(), DifferentialGeometry(), Triangle::GetShadingGeometry(), UVMapping2D::Map(), SpecularReflect(), and SpecularTransmit().
float DifferentialGeometry::dudy [mutable] |
Definition at line 53 of file diffgeom.h.
Referenced by Material::Bump(), ComputeDifferentials(), DifferentialGeometry(), Triangle::GetShadingGeometry(), UVMapping2D::Map(), SpecularReflect(), and SpecularTransmit().
float DifferentialGeometry::dvdx [mutable] |
Definition at line 53 of file diffgeom.h.
Referenced by Material::Bump(), ComputeDifferentials(), DifferentialGeometry(), Triangle::GetShadingGeometry(), UVMapping2D::Map(), SpecularReflect(), and SpecularTransmit().
float DifferentialGeometry::dvdy [mutable] |
Definition at line 53 of file diffgeom.h.
Referenced by Material::Bump(), ComputeDifferentials(), DifferentialGeometry(), Triangle::GetShadingGeometry(), UVMapping2D::Map(), SpecularReflect(), and SpecularTransmit().
Definition at line 47 of file diffgeom.h.
Referenced by BSDF::BSDF(), Material::Bump(), ComputeDifferentials(), DifferentialGeometry(), GeneratePath(), UberMaterial::GetBSDF(), TranslucentMaterial::GetBSDF(), SubsurfaceMaterial::GetBSDF(), SubstrateMaterial::GetBSDF(), PlasticMaterial::GetBSDF(), MirrorMaterial::GetBSDF(), MetalMaterial::GetBSDF(), MeasuredMaterial::GetBSDF(), MatteMaterial::GetBSDF(), KdSubsurfaceMaterial::GetBSDF(), GlassMaterial::GetBSDF(), Triangle::GetShadingGeometry(), TransformedPrimitive::Intersect(), MetropolisRenderer::Lbidir(), Intersection::Le(), WhittedIntegrator::Li(), UseRadianceProbes::Li(), PhotonIntegrator::Li(), PathIntegrator::Li(), IrradianceCacheIntegrator::Li(), IGIIntegrator::Li(), DirectLightingIntegrator::Li(), DipoleSubsurfaceIntegrator::Li(), DiffusePRTIntegrator::Li(), AmbientOcclusionIntegrator::Li(), MetropolisRenderer::Lpath(), LPhoton(), main(), IrradianceCacheIntegrator::pathL(), Shape::Pdf(), IGIIntegrator::Preprocess(), CreateRadianceProbes::Render(), SurfacePointTask::Run(), PhotonShootingTask::Run(), ShapeSet::Sample(), SpecularReflect(), and SpecularTransmit().
Definition at line 46 of file diffgeom.h.
Referenced by Material::Bump(), ComputeDifferentials(), GeneratePath(), Triangle::GetShadingGeometry(), TransformedPrimitive::Intersect(), MetropolisRenderer::Lbidir(), Intersection::Le(), WhittedIntegrator::Li(), UseRadianceProbes::Li(), PhotonIntegrator::Li(), PathIntegrator::Li(), IrradianceCacheIntegrator::Li(), IGIIntegrator::Li(), GlossyPRTIntegrator::Li(), DirectLightingIntegrator::Li(), DipoleSubsurfaceIntegrator::Li(), DiffusePRTIntegrator::Li(), AmbientOcclusionIntegrator::Li(), MetropolisRenderer::Lpath(), LPhoton(), IdentityMapping3D::Map(), PlanarMapping2D::Map(), CylindricalMapping2D::Map(), SphericalMapping2D::Map(), IrradianceCacheIntegrator::pathL(), IGIIntegrator::Preprocess(), CreateRadianceProbes::Render(), SurfacePointTask::Run(), PhotonShootingTask::Run(), SpecularReflect(), and SpecularTransmit().
const Shape* DifferentialGeometry::shape |
Definition at line 49 of file diffgeom.h.
Referenced by Material::Bump(), DifferentialGeometry(), and Triangle::GetShadingGeometry().
float DifferentialGeometry::u |
Definition at line 48 of file diffgeom.h.
Referenced by Material::Bump(), DifferentialGeometry(), Triangle::GetShadingGeometry(), and UVMapping2D::Map().
float DifferentialGeometry::v |
Definition at line 48 of file diffgeom.h.
Referenced by Material::Bump(), DifferentialGeometry(), Triangle::GetShadingGeometry(), and UVMapping2D::Map().