#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().
1.6.3