3D viewport render preview:

- Put it available as a default now (no debug value needed)
- Fixed viewport size error, viewport was badly set
  (visible with border render, property regions)
- Fixed hanging lock in conflict between drawing and initialize
  new renders.
This commit is contained in:
2013-05-12 13:15:41 +00:00
parent 40535f5ef3
commit 5fcf9b1d2f
6 changed files with 17 additions and 18 deletions

View File

@@ -115,18 +115,6 @@ RenderEngineType *RE_engines_find(const char *idname)
type = BLI_findstring(&R_engines, idname, offsetof(RenderEngineType, idname));
if (!type)
type = &internal_render_type;
/* XXX Hack to make this a debug-only option, remove section to make it available default */
if (type == &internal_render_type) {
static RenderEngineType rtype;
if (type->view_update == NULL)
rtype = internal_render_type;
else if (G.debug_value != -1) {
type = &rtype;
}
}
/* XXX end hack */
return type;
}

View File

@@ -348,6 +348,13 @@ void RE_ResultGet32(Render *re, unsigned int *rect)
RE_ReleaseResultImage(re);
}
/* caller is responsible for allocating rect in correct size! */
/* Only for acquired results, for lock */
void RE_AcquiredResultGet32(Render *re, RenderResult *result, unsigned int *rect)
{
render_result_rect_get_pixels(result, rect, re->rectx, re->recty, &re->scene->view_settings, &re->scene->display_settings);
}
RenderStats *RE_GetStats(Render *re)
{
return &re->i;
@@ -2446,7 +2453,7 @@ static int do_write_image_or_movie(Render *re, Main *bmain, Scene *scene, bMovie
if (ibuf->rect == NULL) {
ibuf->rect = MEM_mapallocN(sizeof(int) * rres.rectx * rres.recty, "temp 32 bits rect");
ibuf->mall |= IB_rect;
RE_ResultGet32(re, ibuf->rect);
RE_AcquiredResultGet32(re, &rres, ibuf->rect);
do_free = TRUE;
}