[Bf-blender-cvs] [186d74020e5] master: Fix T72156: Render Viewport Animation Meta Data
Jeroen Bakker
noreply at git.blender.org
Wed Dec 4 15:05:13 CET 2019
Commit: 186d74020e50f894982fb678434716dc2646171b
Author: Jeroen Bakker
Date: Wed Dec 4 15:02:31 2019 +0100
Branches: master
https://developer.blender.org/rB186d74020e50f894982fb678434716dc2646171b
Fix T72156: Render Viewport Animation Meta Data
When using Render Viewport Animation the meta data
was only stamped when a float buffer was used. In recent changes it was
possible to use a char buffer for the result.
This commit will also support stamping of metadata using a char buffer.
===================================================================
M source/blender/editors/render/render_opengl.c
===================================================================
diff --git a/source/blender/editors/render/render_opengl.c b/source/blender/editors/render/render_opengl.c
index 0d0e183e480..ad5f8ba6834 100644
--- a/source/blender/editors/render/render_opengl.c
+++ b/source/blender/editors/render/render_opengl.c
@@ -286,6 +286,7 @@ static void screen_opengl_render_doit(const bContext *C, OGLRender *oglrender, R
const short view_context = (v3d != NULL);
bool draw_sky = (scene->r.alphamode == R_ADDSKY);
float *rectf = NULL;
+ unsigned char *rect = NULL;
const char *viewname = RE_GetActiveRenderView(oglrender->re);
ImBuf *ibuf_result = NULL;
@@ -400,7 +401,12 @@ static void screen_opengl_render_doit(const bContext *C, OGLRender *oglrender, R
if (ibuf_view) {
ibuf_result = ibuf_view;
- rectf = (float *)ibuf_view->rect_float;
+ if (ibuf_view->rect_float) {
+ rectf = ibuf_view->rect_float;
+ }
+ else {
+ rect = (unsigned char *)ibuf_view->rect;
+ }
}
else {
fprintf(stderr, "%s: failed to get buffer, %s\n", __func__, err_out);
@@ -409,7 +415,7 @@ static void screen_opengl_render_doit(const bContext *C, OGLRender *oglrender, R
if (ibuf_result != NULL) {
if ((scene->r.stamp & R_STAMP_ALL) && (scene->r.stamp & R_STAMP_DRAW)) {
- BKE_image_stamp_buf(scene, camera, NULL, NULL, rectf, rr->rectx, rr->recty, 4);
+ BKE_image_stamp_buf(scene, camera, NULL, rect, rectf, rr->rectx, rr->recty, 4);
}
RE_render_result_rect_from_ibuf(rr, &scene->r, ibuf_result, oglrender->view_id);
IMB_freeImBuf(ibuf_result);
More information about the Bf-blender-cvs
mailing list