Fermat
Namespaces | Functions
ggx_common.h File Reference

Defines the GGX BSDF. More...

#include <cugar/linalg/vector.h>
#include <cugar/basic/numbers.h>
#include <cugar/bsdf/differential_geometry.h>

Go to the source code of this file.

Namespaces

 cugar
 Define a vector_view POD type and plain_view() for std::vector.
 

Functions

CUGAR_FORCEINLINE CUGAR_HOST_DEVICE Vector3f cugar::microfacet (const Vector3f V, const Vector3f L, const Vector3f N, const float inv_eta)
 
CUGAR_FORCEINLINE CUGAR_HOST_DEVICE Vector3f cugar::vndf_microfacet (const Vector3f V, const Vector3f L, const Vector3f N, const float inv_eta)
 
CUGAR_FORCEINLINE CUGAR_HOST_DEVICE float cugar::hvd_ggx_eval (const float2 &inv_alpha, const float nh, const float ht, const float hb)
 
CUGAR_FORCEINLINE CUGAR_HOST_DEVICE float3 cugar::hvd_ggx_sample (const float2 &samples, const float inv_alpha)
 
CUGAR_FORCEINLINE CUGAR_HOST_DEVICE float3 cugar::hvd_ggx_sample (const float2 &samples, const float2 &inv_alpha)
 
CUGAR_FORCEINLINE CUGAR_HOST_DEVICE Vector2f cugar::ggx::Fu (const float u, const float2 ia, const float2 b)
 
CUGAR_FORCEINLINE CUGAR_HOST_DEVICE Vector2f cugar::ggx::Ju (const float u, const float2 ia, const float2 b)
 
CUGAR_FORCEINLINE CUGAR_HOST_DEVICE bool cugar::ggx::refine_solution (float &u, const float2 ia, const float2 b)
 
CUGAR_FORCEINLINE CUGAR_HOST_DEVICE bool cugar::ggx::invert (float &u, const float2 ia, const float2 b)
 
CUGAR_FORCEINLINE CUGAR_HOST_DEVICE float2 cugar::hvd_ggx_invert (const float3 H, const float2 inv_alpha)
 
CUGAR_FORCEINLINE CUGAR_HOST_DEVICE float3 cugar::vndf_ggx_smith_sample (const float2 samples, const float2 alpha, const Vector3f _V)
 
CUGAR_FORCEINLINE CUGAR_HOST_DEVICE float2 cugar::vndf_ggx_smith_invert (const Vector3f _N, const float2 alpha, const Vector3f _V)
 

Detailed Description

Defines the GGX BSDF.

This module provides a GGX BSDF implementation