[Bf-blender-cvs] [36a1694e0ec] temp-gpu-image-engine: Added sub shading groups.
Jeroen Bakker
noreply at git.blender.org
Fri Dec 3 10:15:09 CET 2021
Commit: 36a1694e0ec3760ab8b1e3384435683d2af19344
Author: Jeroen Bakker
Date: Wed Dec 1 15:24:37 2021 +0100
Branches: temp-gpu-image-engine
https://developer.blender.org/rB36a1694e0ec3760ab8b1e3384435683d2af19344
Added sub shading groups.
===================================================================
M source/blender/draw/engines/image/image_drawing_mode_screen_space.hh
===================================================================
diff --git a/source/blender/draw/engines/image/image_drawing_mode_screen_space.hh b/source/blender/draw/engines/image/image_drawing_mode_screen_space.hh
index bad319ba4b0..e251b91fc10 100644
--- a/source/blender/draw/engines/image/image_drawing_mode_screen_space.hh
+++ b/source/blender/draw/engines/image/image_drawing_mode_screen_space.hh
@@ -163,6 +163,12 @@ class ScreenSpaceDrawingMode : public AbstractDrawingMode {
GPUBatch *geom = DRW_cache_quad_get();
GPUShader *shader = IMAGE_shader_image_get(false);
+ DRWShadingGroup *shgrp = DRW_shgroup_create(shader, psl->image_pass);
+ DRW_shgroup_uniform_vec2_copy(shgrp, "farNearDistances", sh_params.far_near);
+ DRW_shgroup_uniform_vec4_copy(shgrp, "color", ShaderParameters::color);
+ DRW_shgroup_uniform_vec4_copy(shgrp, "shuffle", sh_params.shuffle);
+ DRW_shgroup_uniform_int_copy(shgrp, "drawFlags", sh_params.flags);
+ DRW_shgroup_uniform_bool_copy(shgrp, "imgPremultiplied", sh_params.use_premul_alpha);
float image_mat[4][4];
unit_m4(image_mat);
for (int i = 0; i < SCREEN_SPACE_DRAWING_MODE_TEXTURE_LEN; i++) {
@@ -173,17 +179,10 @@ class ScreenSpaceDrawingMode : public AbstractDrawingMode {
image_mat[0][0] = pd->screen_space.texture_infos[i].clipping_bounds.xmax;
image_mat[1][1] = pd->screen_space.texture_infos[i].clipping_bounds.ymax;
- // TODO: use subgroup.
- DRWShadingGroup *shgrp = DRW_shgroup_create(shader, psl->image_pass);
+ DRWShadingGroup *shgrp_sub = DRW_shgroup_create_sub(shgrp);
DRW_shgroup_uniform_texture_ex(
- shgrp, "imageTexture", txl->screen_space.textures[i], GPU_SAMPLER_DEFAULT);
- DRW_shgroup_uniform_vec2_copy(shgrp, "farNearDistances", sh_params.far_near);
- DRW_shgroup_uniform_vec4_copy(shgrp, "color", ShaderParameters::color);
- DRW_shgroup_uniform_vec4_copy(shgrp, "shuffle", sh_params.shuffle);
- DRW_shgroup_uniform_int_copy(shgrp, "drawFlags", sh_params.flags);
- DRW_shgroup_uniform_bool_copy(shgrp, "imgPremultiplied", sh_params.use_premul_alpha);
-
- DRW_shgroup_call_obmat(shgrp, geom, image_mat);
+ shgrp_sub, "imageTexture", txl->screen_space.textures[i], GPU_SAMPLER_DEFAULT);
+ DRW_shgroup_call_obmat(shgrp_sub, geom, image_mat);
}
}
More information about the Bf-blender-cvs
mailing list