Bevy Shader Explorer
Search across packages, versions, files, declarations, and comments. Use multiple terms to narrow results (AND), and add @vertex, @fragment, or @compute to filter by shader stage.
Packages
›
bevy_solari
0.20.0
0.17.0
0.17.1
0.17.2
0.17.3
0.18.0
0.18.1
0.19.0
0.19.1
›
brdf.wesl
Save
Structures
EvaluateAndSampleBrdfResult
#
struct
EvaluateAndSampleBrdfResult
{
wi:
vec3
<
f32
>
,
throughput:
vec3
<
f32
>
,
pdf:
f32
,
diffuse_selected:
bool
,
}
LobeReflectances
#
struct
LobeReflectances
{
specular:
vec3
<
f32
>
,
diffuse:
vec3
<
f32
>
,
}
Functions
lobe_reflectances
#
Hemispherical reflectance of each lobe
fn
lobe_reflectances
(
F0_metal:
vec3
<
f32
>
,
F0_dielectric:
vec3
<
f32
>
,
material:
ResolvedMaterial
,
F_ab:
vec2
<
f32
>
)
->
LobeReflectances
specular_lobe_sampling_probability
#
fn
specular_lobe_sampling_probability
(
rho:
LobeReflectances
,
perceptual_roughness:
f32
)
->
f32
evaluate_and_sample_brdf
#
fn
evaluate_and_sample_brdf
(
wo:
vec3
<
f32
>
,
world_normal:
vec3
<
f32
>
,
material:
ResolvedMaterial
,
F_ab:
vec2
<
f32
>
,
rng:
ptr
<function,
u32
>
)
->
EvaluateAndSampleBrdfResult
evaluate_brdf
#
fn
evaluate_brdf
(
wo:
vec3
<
f32
>
,
wi:
vec3
<
f32
>
,
world_normal:
vec3
<
f32
>
,
material:
ResolvedMaterial
,
F_ab:
vec2
<
f32
>
)
->
vec3
<
f32
>
evaluate_diffuse_brdf
#
fn
evaluate_diffuse_brdf
(
wo:
vec3
<
f32
>
,
wi:
vec3
<
f32
>
,
world_normal:
vec3
<
f32
>
,
material:
ResolvedMaterial
,
F_ab:
vec2
<
f32
>
)
->
vec3
<
f32
>
evaluate_specular_brdf
#
fn
evaluate_specular_brdf
(
wo:
vec3
<
f32
>
,
wi:
vec3
<
f32
>
,
world_normal:
vec3
<
f32
>
,
material:
ResolvedMaterial
,
F_ab:
vec2
<
f32
>
)
->
vec3
<
f32
>
brdf_pdf
#
fn
brdf_pdf
(
wo:
vec3
<
f32
>
,
wi:
vec3
<
f32
>
,
world_normal:
vec3
<
f32
>
,
material:
ResolvedMaterial
,
F_ab:
vec2
<
f32
>
)
->
f32
fresnel
#
fn
fresnel
(
f0:
vec3
<
f32
>
,
LdotH:
f32
)
->
vec3
<
f32
>
F_AB
#
Scale/bias approximation
fn
F_AB
(
perceptual_roughness:
f32
,
NdotV:
f32
)
->
vec2
<
f32
>
Contents
Structures
EvaluateAndSampleBrdfResult
LobeReflectances
Functions
lobe_reflectances
specular_lobe_sampling_probability
evaluate_and_sample_brdf
evaluate_brdf
evaluate_diffuse_brdf
evaluate_specular_brdf
brdf_pdf
fresnel
F_AB
Hemispherical reflectance of each lobe