[Bf-blender-cvs] [0dbbedbf0f7] greasepencil-object: Cleanup code
Antonio Vazquez
noreply at git.blender.org
Fri Jun 29 10:58:31 CEST 2018
Commit: 0dbbedbf0f7176eff4c7a607917f9c3a725a8d6d
Author: Antonio Vazquez
Date: Fri Jun 29 10:58:17 2018 +0200
Branches: greasepencil-object
https://developer.blender.org/rB0dbbedbf0f7176eff4c7a607917f9c3a725a8d6d
Cleanup code
===================================================================
M source/blender/draw/engines/gpencil/gpencil_render.c
===================================================================
diff --git a/source/blender/draw/engines/gpencil/gpencil_render.c b/source/blender/draw/engines/gpencil/gpencil_render.c
index 0afb4e9af63..2e27a92bc74 100644
--- a/source/blender/draw/engines/gpencil/gpencil_render.c
+++ b/source/blender/draw/engines/gpencil/gpencil_render.c
@@ -253,13 +253,13 @@ void GPENCIL_render_to_image(void *vedata, RenderEngine *engine, struct RenderLa
int imgsize = BLI_rcti_size_x(rect) * BLI_rcti_size_y(rect);
/* save previous render data */
- RenderPass *rp_color_src = RE_pass_find_by_name(render_layer, RE_PASSNAME_COMBINED, viewname);
- RenderPass *rp_depth_src = RE_pass_find_by_name(render_layer, RE_PASSNAME_Z, viewname);
- float *rect_color_src = NULL;
- float *rect_depth_src = NULL;
- if ((rp_color_src) && (rp_depth_src) && (rp_color_src->rect) && (rp_depth_src->rect)) {
- rect_color_src = MEM_dupallocN(rp_color_src->rect);
- rect_depth_src = MEM_dupallocN(rp_depth_src->rect);
+ RenderPass *rpass_color_src = RE_pass_find_by_name(render_layer, RE_PASSNAME_COMBINED, viewname);
+ RenderPass *rpass_depth_src = RE_pass_find_by_name(render_layer, RE_PASSNAME_Z, viewname);
+ float *src_rect_color_data = NULL;
+ float *src_rect_depth_data = NULL;
+ if ((rpass_color_src) && (rpass_depth_src) && (rpass_color_src->rect) && (rpass_depth_src->rect)) {
+ src_rect_color_data = MEM_dupallocN(rpass_color_src->rect);
+ src_rect_depth_data = MEM_dupallocN(rpass_depth_src->rect);
}
else {
/* TODO: put this message in a better place */
@@ -297,52 +297,53 @@ void GPENCIL_render_to_image(void *vedata, RenderEngine *engine, struct RenderLa
}
/* merge previous render image with new GP image */
- if (rect_color_src) {
- RenderPass *rp_color_gp = RE_pass_find_by_name(render_layer, RE_PASSNAME_COMBINED, viewname);
- RenderPass *rp_depth_gp = RE_pass_find_by_name(render_layer, RE_PASSNAME_Z, viewname);
- float *rect_color_gp = rp_color_gp->rect;
- float *rect_depth_gp = rp_depth_gp->rect;
- float *gp_rgba;
- float *gp_depth;
- float *src_rgba;
- float *src_depth;
+ if (src_rect_color_data) {
+ RenderPass *rpass_color_gp = RE_pass_find_by_name(render_layer, RE_PASSNAME_COMBINED, viewname);
+ RenderPass *rpass_depth_gp = RE_pass_find_by_name(render_layer, RE_PASSNAME_Z, viewname);
+ float *gp_rect_color_data = rpass_color_gp->rect;
+ float *gp_rect_depth_data = rpass_depth_gp->rect;
+ float *gp_pixel_rgba;
+ float *gp_pixel_depth;
+ float *src_pixel_rgba;
+ float *src_pixel_depth;
float tmp[4];
for (int i = 0; i < imgsize; i++) {
- gp_rgba = &rect_color_gp[i * 4];
- gp_depth = &rect_depth_gp[i];
- src_rgba = &rect_color_src[i * 4];
- src_depth = &rect_depth_src[i];
+ gp_pixel_rgba = &gp_rect_color_data[i * 4];
+ gp_pixel_depth = &gp_rect_depth_data[i];
+
+ src_pixel_rgba = &src_rect_color_data[i * 4];
+ src_pixel_depth = &src_rect_depth_data[i];
/* check grease pencil render transparency */
- if (gp_rgba[3] > 0.0f) {
- copy_v4_v4(tmp, gp_rgba);
- if (src_rgba[3] > 0.0f) {
+ if (gp_pixel_rgba[3] > 0.0f) {
+ copy_v4_v4(tmp, gp_pixel_rgba);
+ if (src_pixel_rgba[3] > 0.0f) {
/* copy source color on back */
- copy_v4_v4(gp_rgba, src_rgba);
+ copy_v4_v4(gp_pixel_rgba, src_pixel_rgba);
/* check z-depth */
- if (gp_depth[0] > src_depth[0]) {
+ if (gp_pixel_depth[0] > src_pixel_depth[0]) {
/* copy source z-depth */
- gp_depth[0] = src_depth[0];
+ gp_pixel_depth[0] = src_pixel_depth[0];
/* blend gp render */
- blend_pixel(tmp, gp_rgba);
+ blend_pixel(tmp, gp_pixel_rgba);
/* blend object on top */
- blend_pixel(src_rgba, gp_rgba);
+ blend_pixel(src_pixel_rgba, gp_pixel_rgba);
}
else {
/* blend gp render */
- blend_pixel(tmp, gp_rgba);
+ blend_pixel(tmp, gp_pixel_rgba);
}
}
}
else {
- copy_v4_v4(gp_rgba, src_rgba);
- gp_depth[0] = src_depth[0];
+ copy_v4_v4(gp_pixel_rgba, src_pixel_rgba);
+ gp_pixel_depth[0] = src_pixel_depth[0];
}
}
/* free memory */
- MEM_SAFE_FREE(rect_color_src);
- MEM_SAFE_FREE(rect_depth_src);
+ MEM_SAFE_FREE(src_rect_color_data);
+ MEM_SAFE_FREE(src_rect_depth_data);
}
}
More information about the Bf-blender-cvs
mailing list