Skip to content

Instantly share code, notes, and snippets.

@bhouston
Created October 19, 2015 17:13
Show Gist options
  • Save bhouston/739934f7749442b6a904 to your computer and use it in GitHub Desktop.
Save bhouston/739934f7749442b6a904 to your computer and use it in GitHub Desktop.
Simplified PBRT Specification
Utilities used by the BxDFs:
Fresnel functions:
FresnelDielectric( iorI, iorT )
FresnelConductor( iorI, iorT, kappa )
FresnelNoOp()
Microfacet distributions:
BeckmannDistribution ( uRoughness, vRoughness );
TrowbridgeReitzDistribution( uRoughness, vRoughness )
List of all BxDFs used by PBRT:
Diffuse BxDFs:
OrenNayarReflection( diffuse )
LambertianReflection( diffuse )
LambertianTransmission( diffuse )
Fresnel BxDFs:
FresnelSpecular( reflectance, transmittance, iorI, iorT )
FresnelBlend( diffuse, specular, microfacetDistribution )
Perfect Specular BxDFs:
SpecularReflection( reflectance, fresnel ) // perfect specular
SpecularTransmission( transmittance, iorI, iorT )
Microfacet Specular BxDFs:
MicrofacetReflection( reflectance, microfacetDistribution, fresnel ) -> equivalent to VRay Reflection
MicrofacetTransmission( reflectance, microfacetDistribution, iorI, iorT ) -> equivalent to VRay Refraction
Hair BxDFs:
KayijaKay( diffuse, specular, roughness )
Utility BxDFs:
ScaledBxDF( bsdf, color )
FourierBSDF( table );
Subsurface BxDFs:
TabulatedBSSRDF( mode, ior, sigmaA, sigmaB )
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment