$darkmode
Suckless OGL 1.0.0
A lean, high-performance C11 PBR Renderer
sh_probe.glsl File Reference

Data Structures

struct  LightProbe
 

Macros

#define USE_SH_BAKE_FACTORS
 

Functions

 layout (location=15) uniform vec3 u_ProbeGridMin
 
 layout (binding=8) uniform sampler3D u_SHTexture0
 
 layout (std430, binding=3) readonly buffer ProbeBuffer
 
vec3 eval_sh_irradiance_packed (vec3 normal, vec4 t0, vec4 t1, vec4 t2, vec4 t3, vec4 t4, vec4 t5, vec4 t6)
 
vec3 eval_sh_irradiance_ssbo (vec3 normal, vec3 worldPos)
 
vec3 get_probe_irradiance (vec3 N, vec3 worldPos)
 

Variables

const float Y00 = 0.28209479177387814347
 
const float Y1n1 = 0.48860251190291992159
 
const float Y10 = 0.48860251190291992159
 
const float Y11 = 0.48860251190291992159
 
const float Y2n2 = 1.09254843059207907054
 
const float Y2n1 = 1.09254843059207907054
 
const float Y20 = 0.31539156525251999825
 
const float Y21 = 1.09254843059207907054
 
const float Y22 = 0.54627421529603953527
 
const float A0 = 3.14159265359
 
const float A1 = 2.09439510239
 
const float A2 = 0.78539816339
 

Macro Definition Documentation

◆ USE_SH_BAKE_FACTORS

#define USE_SH_BAKE_FACTORS

Function Documentation

◆ eval_sh_irradiance_packed()

vec3 eval_sh_irradiance_packed ( vec3  normal,
vec4  t0,
vec4  t1,
vec4  t2,
vec4  t3,
vec4  t4,
vec4  t5,
vec4  t6 
)

◆ eval_sh_irradiance_ssbo()

vec3 eval_sh_irradiance_ssbo ( vec3  normal,
vec3  worldPos 
)

◆ get_probe_irradiance()

vec3 get_probe_irradiance ( vec3  N,
vec3  worldPos 
)
Here is the call graph for this function:

◆ layout() [1/3]

layout ( binding  = 8)

◆ layout() [2/3]

layout ( location  = 15)

◆ layout() [3/3]

layout ( std430  ,
binding  = 3 
)

Variable Documentation

◆ A0

const float A0 = 3.14159265359

◆ A1

const float A1 = 2.09439510239

◆ A2

const float A2 = 0.78539816339

◆ Y00

const float Y00 = 0.28209479177387814347

◆ Y10

const float Y10 = 0.48860251190291992159

◆ Y11

const float Y11 = 0.48860251190291992159

◆ Y1n1

const float Y1n1 = 0.48860251190291992159

◆ Y20

const float Y20 = 0.31539156525251999825

◆ Y21

const float Y21 = 1.09254843059207907054

◆ Y22

const float Y22 = 0.54627421529603953527

◆ Y2n1

const float Y2n1 = 1.09254843059207907054

◆ Y2n2

const float Y2n2 = 1.09254843059207907054