Changeset View
Changeset View
Standalone View
Standalone View
source/blender/draw/engines/workbench/workbench_opaque.c
| Show First 20 Lines • Show All 85 Lines • ▼ Show 20 Lines | for (int infront = 0; infront < 2; infront++) { | ||||
| for (int hair = 0; hair < 2; hair++) { | for (int hair = 0; hair < 2; hair++) { | ||||
| wpd->prepass[opaque][infront][hair].material_hash = BLI_ghash_ptr_new(__func__); | wpd->prepass[opaque][infront][hair].material_hash = BLI_ghash_ptr_new(__func__); | ||||
| sh = workbench_shader_opaque_get(wpd, hair); | sh = workbench_shader_opaque_get(wpd, hair); | ||||
| wpd->prepass[opaque][infront][hair].common_shgrp = grp = DRW_shgroup_create(sh, pass); | wpd->prepass[opaque][infront][hair].common_shgrp = grp = DRW_shgroup_create(sh, pass); | ||||
| DRW_shgroup_uniform_block(grp, "material_block", wpd->material_ubo_curr); | DRW_shgroup_uniform_block(grp, "material_block", wpd->material_ubo_curr); | ||||
| DRW_shgroup_uniform_int_copy(grp, "materialIndex", -1); | DRW_shgroup_uniform_int_copy(grp, "materialIndex", -1); | ||||
fclem: I think you need it here too. | |||||
rjgAuthorUnsubmitted Done Inline ActionsAs far as I could tell, it worked fine when adding it only to the vertex color shader group. There's no harm adding it here as well though. rjg: As far as I could tell, it worked fine when adding it only to the vertex color shader group. | |||||
| wpd->prepass[opaque][infront][hair].vcol_shgrp = grp = DRW_shgroup_create(sh, pass); | wpd->prepass[opaque][infront][hair].vcol_shgrp = grp = DRW_shgroup_create(sh, pass); | ||||
| DRW_shgroup_uniform_block_persistent(grp, "material_block", wpd->material_ubo_curr); | DRW_shgroup_uniform_block_persistent(grp, "material_block", wpd->material_ubo_curr); | ||||
| DRW_shgroup_uniform_int_copy(grp, "materialIndex", 0); /* Default material. (uses vcol) */ | DRW_shgroup_uniform_int_copy(grp, "materialIndex", 0); /* Default material. (uses vcol) */ | ||||
| DRW_shgroup_uniform_bool_copy(grp, "useMatcap", use_matcap); | |||||
| sh = workbench_shader_opaque_image_get(wpd, hair, false); | sh = workbench_shader_opaque_image_get(wpd, hair, false); | ||||
| wpd->prepass[opaque][infront][hair].image_shgrp = grp = DRW_shgroup_create(sh, pass); | wpd->prepass[opaque][infront][hair].image_shgrp = grp = DRW_shgroup_create(sh, pass); | ||||
| DRW_shgroup_uniform_block_persistent(grp, "material_block", wpd->material_ubo_curr); | DRW_shgroup_uniform_block_persistent(grp, "material_block", wpd->material_ubo_curr); | ||||
| DRW_shgroup_uniform_int_copy(grp, "materialIndex", 0); /* Default material. */ | DRW_shgroup_uniform_int_copy(grp, "materialIndex", 0); /* Default material. */ | ||||
| DRW_shgroup_uniform_bool_copy(grp, "useMatcap", use_matcap); | DRW_shgroup_uniform_bool_copy(grp, "useMatcap", use_matcap); | ||||
| ▲ Show 20 Lines • Show All 59 Lines • Show Last 20 Lines | |||||
I think you need it here too.