diff options
author | Clément Foucault <foucault.clem@gmail.com> | 2018-08-20 17:21:44 +0300 |
---|---|---|
committer | Clément Foucault <foucault.clem@gmail.com> | 2018-08-20 17:21:44 +0300 |
commit | 1c7119a33616f35c2afb172765cb494e5faab689 (patch) | |
tree | 78578fab2dc34a57e1b2d5ab8bd0f16698164410 /source/blender/draw/engines/workbench/workbench_forward.c | |
parent | 47d43c5a00aed963cc59eee35e263e4d3eb9f66d (diff) |
Wrokbench: Add support for maximum drawtype OB_TEXTURE
Diffstat (limited to 'source/blender/draw/engines/workbench/workbench_forward.c')
-rw-r--r-- | source/blender/draw/engines/workbench/workbench_forward.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/source/blender/draw/engines/workbench/workbench_forward.c b/source/blender/draw/engines/workbench/workbench_forward.c index 211cfa4ab8c..c31164447db 100644 --- a/source/blender/draw/engines/workbench/workbench_forward.c +++ b/source/blender/draw/engines/workbench/workbench_forward.c @@ -176,11 +176,11 @@ static WORKBENCH_MaterialData *get_or_create_material_data( DRW_shgroup_uniform_vec2(grp, "invertedViewportSize", DRW_viewport_invert_size_get(), 1); } - workbench_material_shgroup_uniform(wpd, grp, material); + workbench_material_shgroup_uniform(wpd, grp, material, ob); material->shgrp = grp; /* Depth */ - if (workbench_material_determine_color_type(wpd, material->ima) == V3D_SHADING_TEXTURE_COLOR) { + if (workbench_material_determine_color_type(wpd, material->ima, ob) == V3D_SHADING_TEXTURE_COLOR) { material->shgrp_object_outline = DRW_shgroup_create( e_data.object_outline_texture_sh, psl->object_outline_pass); GPUTexture *tex = GPU_texture_from_blender(material->ima, NULL, GL_TEXTURE_2D, false, 0.0f); @@ -419,7 +419,7 @@ static void workbench_forward_cache_populate_particles(WORKBENCH_Data *vedata, O Image *image = NULL; Material *mat = give_current_material(ob, part->omat); ED_object_get_active_image(ob, part->omat, &image, NULL, NULL, NULL); - int color_type = workbench_material_determine_color_type(wpd, image); + int color_type = workbench_material_determine_color_type(wpd, image, ob); WORKBENCH_MaterialData *material = get_or_create_material_data(vedata, ob, mat, image, color_type); struct GPUShader *shader = (color_type != V3D_SHADING_TEXTURE_COLOR) @@ -431,7 +431,7 @@ static void workbench_forward_cache_populate_particles(WORKBENCH_Data *vedata, O shader); workbench_material_set_normal_world_matrix(shgrp, wpd, e_data.normal_world_matrix); DRW_shgroup_uniform_block(shgrp, "world_block", wpd->world_ubo); - workbench_material_shgroup_uniform(wpd, shgrp, material); + workbench_material_shgroup_uniform(wpd, shgrp, material, ob); DRW_shgroup_uniform_vec4(shgrp, "viewvecs[0]", (float *)wpd->viewvecs, 3); /* Hairs have lots of layer and can rapidly become the most prominent surface. * So lower their alpha artificially. */ |