# [−][src]Module pbrt::core::reflection

When light is incident on the surface, the surface scatters the light, reflecting some of it back into the environment. There are two main effects that need to be described to model this reflection: the spectral distribution of the reflected light and its directional distribution.

## Structs

Bsdf | |

DisneyFresnel | Specialized Fresnel function used for the specular component, based on a mixture between dielectric and the Schlick Fresnel approximation. |

FourierBSDF | |

FourierBSDFTable | |

FresnelBlend | |

FresnelConductor | |

FresnelDielectric | |

FresnelNoOp | |

FresnelSpecular | |

LambertianReflection | |

LambertianTransmission | |

MicrofacetReflection | |

MicrofacetTransmission | |

NoBxdf | |

OrenNayar | |

SpecularReflection | |

SpecularTransmission |

## Enums

Bxdf | |

BxdfType | |

Fresnel |

## Functions

abs_cos_theta | Utility function to calculate the absolute value of the cosine via spherical coordinates. |

cos_2_phi | Utility function to calculate square cosine via spherical coordinates. |

cos_2_theta | Utility function to calculate the square cosine via spherical coordinates. |

cos_d_phi | Utility function to calculate the cosine of the angle between two vectors in the shading coordinate system. |

cos_phi | Utility function to calculate cosine via spherical coordinates. |

cos_theta | Utility function to calculate cosine via spherical coordinates. |

fr_conductor | Computes the Fresnel reflectance at the boundary between a conductor and a dielectric medium. |

fr_dielectric | Computes the Fresnel reflection formula for dielectric materials and unpolarized light. |

fr_schlick | |

reflect | Computes the reflection direction given an incident direction and a surface normal. |

refract | Computes the refraction direction given an incident direction, a surface normal, and the ratio of indices of refraction (incident and transmitted). |

sin_2_phi | Utility function to calculate square sine via spherical coordinates. |

sin_2_theta | Utility function to calculate the square sine via spherical coordinates. |

sin_phi | Utility function to calculate sine via spherical coordinates. |

sin_theta | Utility function to calculate sine via spherical coordinates. |

tan_2_theta | Utility function to calculate the square tangent via spherical coordinates. |

tan_theta | Utility function to calculate the tangent via spherical coordinates. |

vec3_same_hemisphere_vec3 | Check that two vectors lie on the same side of of the surface. |