Clay: Improve loading time.
Only compile hair shader if we need it.
This commit is contained in:
parent
e9f048052f
commit
651ea84471
|
@ -426,12 +426,6 @@ static void clay_engine_init(void *vedata)
|
|||
e_data.copy_sh = DRW_shader_create_fullscreen(datatoc_clay_copy_glsl, NULL);
|
||||
}
|
||||
|
||||
if (!e_data.hair_sh) {
|
||||
e_data.hair_sh = DRW_shader_create(
|
||||
datatoc_clay_particle_vert_glsl, NULL, datatoc_clay_particle_strand_frag_glsl,
|
||||
"#define MAX_MATERIAL 512\n");
|
||||
}
|
||||
|
||||
if (!stl->storage) {
|
||||
stl->storage = MEM_callocN(sizeof(CLAY_Storage), "CLAY_Storage");
|
||||
}
|
||||
|
@ -604,6 +598,12 @@ static DRWShadingGroup *CLAY_hair_shgroup_create(DRWPass *pass, int id)
|
|||
{
|
||||
CLAY_ViewLayerData *sldata = CLAY_view_layer_data_get();
|
||||
|
||||
if (!e_data.hair_sh) {
|
||||
e_data.hair_sh = DRW_shader_create(
|
||||
datatoc_clay_particle_vert_glsl, NULL, datatoc_clay_particle_strand_frag_glsl,
|
||||
"#define MAX_MATERIAL 512\n");
|
||||
}
|
||||
|
||||
DRWShadingGroup *grp = DRW_shgroup_create(e_data.hair_sh, pass);
|
||||
DRW_shgroup_uniform_texture(grp, "matcaps", e_data.matcap_array);
|
||||
DRW_shgroup_uniform_block(grp, "material_block", sldata->mat_ubo);
|
||||
|
|
Loading…
Reference in New Issue