-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path_tfx_params_ubo.glsl
More file actions
41 lines (37 loc) · 1.42 KB
/
_tfx_params_ubo.glsl
File metadata and controls
41 lines (37 loc) · 1.42 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
// NOTE: rust packing has problems with raw floats (packing?) - use vec4
layout(binding = 3)
uniform TfxParamsUniformBuffer {
mat4 u_modelMatrix;
vec4 u_generalSettings;
// geometry
vec4 u_geometry;
vec4 u_centerOfGravity;
// material
vec4 u_albedo;
vec4 u_specular1;
vec4 u_specular2;
vec4 u_material;
} TfxParamsUbo;
// u_specular1, u_specular2
#define u_specularColor1 (TfxParamsUbo.u_specular1.rgb)
#define u_specularColor2 (TfxParamsUbo.u_specular2.rgb)
#define u_specularPower1 (TfxParamsUbo.u_specular1.a)
#define u_specularPower2 (TfxParamsUbo.u_specular2.a)
// u_geometry
#define u_thinTip (TfxParamsUbo.u_geometry.x)
#define u_fiberRadius (TfxParamsUbo.u_geometry.y)
#define u_followHairSpreadRoot (TfxParamsUbo.u_geometry.z)
#define u_followHairSpreadTip (TfxParamsUbo.u_geometry.w)
// u_material
#define u_primaryShift (TfxParamsUbo.u_material.x)
#define u_secondaryShift (TfxParamsUbo.u_material.y)
#define u_specularStrength1 (TfxParamsUbo.u_material.z)
#define u_specularStrength2 (TfxParamsUbo.u_material.w)
// u_generalSettings
#define u_tfxOpacity (TfxParamsUbo.u_generalSettings.x)
#define u_numVerticesPerStrand (readConfigUint(TfxParamsUbo.u_generalSettings.y))
#define u_tfxAoStrength (TfxParamsUbo.u_generalSettings.z)
#define u_tfxAoExp (TfxParamsUbo.u_generalSettings.w)
vec3 calculateHairNormal(vec3 positionWorldSpace) {
return normalize(positionWorldSpace - TfxParamsUbo.u_centerOfGravity.xyz);
}