Differential D16826 Diff 59819 source/blender/draw/engines/workbench/shaders/workbench_prepass_hair_vert.glsl
Changeset View
Changeset View
Standalone View
Standalone View
source/blender/draw/engines/workbench/shaders/workbench_prepass_hair_vert.glsl
| Show First 20 Lines • Show All 62 Lines • ▼ Show 20 Lines | void main() | ||||
| vec3 nor = workbench_hair_random_normal(tan, binor, hair_rand); | vec3 nor = workbench_hair_random_normal(tan, binor, hair_rand); | ||||
| view_clipping_distances(world_pos); | view_clipping_distances(world_pos); | ||||
| uv_interp = hair_get_customdata_vec2(au); | uv_interp = hair_get_customdata_vec2(au); | ||||
| normal_interp = normalize(normal_world_to_view(nor)); | normal_interp = normalize(normal_world_to_view(nor)); | ||||
| workbench_material_data_get(resource_handle, color_interp, alpha_interp, _roughness, metallic); | workbench_material_data_get(resource_handle, | ||||
| hair_get_customdata_vec3(ac), | |||||
| if (materialIndex == 0) { | color_interp, | ||||
| color_interp = hair_get_customdata_vec3(ac); | alpha_interp, | ||||
| } | _roughness, | ||||
| metallic); | |||||
| /* Hairs have lots of layer and can rapidly become the most prominent surface. | /* Hairs have lots of layer and can rapidly become the most prominent surface. | ||||
| * So we lower their alpha artificially. */ | * So we lower their alpha artificially. */ | ||||
| alpha_interp *= 0.3; | alpha_interp *= 0.3; | ||||
| workbench_hair_random_material(hair_rand, color_interp, _roughness, metallic); | workbench_hair_random_material(hair_rand, color_interp, _roughness, metallic); | ||||
| object_id = int(uint(resource_handle) & 0xFFFFu) + 1; | object_id = int(uint(resource_handle) & 0xFFFFu) + 1; | ||||
| } | } | ||||