Fermat
Public Methods | Public Members | List of all members
cugar::GGXSmithMicrofacetDistribution Struct Reference

Detailed description

Implements the GGX microfacet distribution with the Smith shadow-masking model, as described in:

https://hal.archives-ouvertes.fr/hal-01509746/document

#include <ggx_smith.h>

Public Methods

CUGAR_FORCEINLINE CUGAR_HOST_DEVICE GGXSmithMicrofacetDistribution (const float _roughness)
 
CUGAR_FORCEINLINE CUGAR_HOST_DEVICE float SmithG1V (const float NoV) const
 
CUGAR_FORCEINLINE CUGAR_HOST_DEVICE float p (const Vector3f V, const Vector3f H) const
 
CUGAR_FORCEINLINE CUGAR_HOST_DEVICE Vector3f sample (const Vector3f u, const Vector3f V, float *p=NULL) const
 
CUGAR_FORCEINLINE CUGAR_HOST_DEVICE float p (const DifferentialGeometry &geometry, const Vector3f V, const Vector3f H) const
 
CUGAR_FORCEINLINE CUGAR_HOST_DEVICE Vector3f sample (const Vector3f u, const DifferentialGeometry &geometry, const Vector3f V, float *p=NULL) const
 

Public Members

float roughness
 
float inv_roughness
 

Member Function Documentation

◆ p() [1/2]

CUGAR_FORCEINLINE CUGAR_HOST_DEVICE float cugar::GGXSmithMicrofacetDistribution::p ( const Vector3f  V,
const Vector3f  H 
) const
inline

evaluate the pdf of sampling H given V, p(H|V) = p(V,H) - in the local surface frame

◆ p() [2/2]

CUGAR_FORCEINLINE CUGAR_HOST_DEVICE float cugar::GGXSmithMicrofacetDistribution::p ( const DifferentialGeometry geometry,
const Vector3f  V,
const Vector3f  H 
) const
inline

evaluate the pdf of sampling H given V, p(H|V) = p(V,H)

◆ sample() [1/2]

CUGAR_FORCEINLINE CUGAR_HOST_DEVICE Vector3f cugar::GGXSmithMicrofacetDistribution::sample ( const Vector3f  u,
const Vector3f  V,
float *  p = NULL 
) const
inline

sample H given V and return the pdf p - in the local surface frame

◆ sample() [2/2]

CUGAR_FORCEINLINE CUGAR_HOST_DEVICE Vector3f cugar::GGXSmithMicrofacetDistribution::sample ( const Vector3f  u,
const DifferentialGeometry geometry,
const Vector3f  V,
float *  p = NULL 
) const
inline

sample H given V and return the pdf p


The documentation for this struct was generated from the following file: