Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClément Foucault <foucault.clem@gmail.com>2018-08-20 17:21:44 +0300
committerClément Foucault <foucault.clem@gmail.com>2018-08-20 17:21:44 +0300
commit1c7119a33616f35c2afb172765cb494e5faab689 (patch)
tree78578fab2dc34a57e1b2d5ab8bd0f16698164410 /source/blender/draw/engines/workbench/workbench_forward.c
parent47d43c5a00aed963cc59eee35e263e4d3eb9f66d (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.c8
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. */