Merge branch 'master' into blender2.8
# Conflicts: # tests/gtests/alembic/abc_export_test.cc
This commit is contained in:
@@ -346,7 +346,7 @@ void BlenderSession::do_write_update_render_tile(RenderTile& rtile, bool do_upda
|
|||||||
update_render_result(b_rr, b_rlay, rtile);
|
update_render_result(b_rr, b_rlay, rtile);
|
||||||
}
|
}
|
||||||
|
|
||||||
end_render_result(b_engine, b_rr, true, highlight, true);
|
end_render_result(b_engine, b_rr, true, highlight, false);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
/* write result */
|
/* write result */
|
||||||
|
@@ -118,7 +118,8 @@ typedef struct RenderPart {
|
|||||||
enum {
|
enum {
|
||||||
PART_STATUS_NONE = 0,
|
PART_STATUS_NONE = 0,
|
||||||
PART_STATUS_IN_PROGRESS = 1,
|
PART_STATUS_IN_PROGRESS = 1,
|
||||||
PART_STATUS_READY = 2
|
PART_STATUS_RENDERED = 2,
|
||||||
|
PART_STATUS_MERGED = 3
|
||||||
};
|
};
|
||||||
|
|
||||||
/* controls state of render, everything that's read-only during render stage */
|
/* controls state of render, everything that's read-only during render stage */
|
||||||
|
@@ -300,7 +300,7 @@ void RE_engine_end_result(RenderEngine *engine, RenderResult *result, int cancel
|
|||||||
RenderPart *pa = get_part_from_result(re, result);
|
RenderPart *pa = get_part_from_result(re, result);
|
||||||
|
|
||||||
if (pa) {
|
if (pa) {
|
||||||
pa->status = PART_STATUS_READY;
|
pa->status = (merge_results)? PART_STATUS_MERGED: PART_STATUS_RENDERED;
|
||||||
}
|
}
|
||||||
else if (re->result->do_exr_tile) {
|
else if (re->result->do_exr_tile) {
|
||||||
/* if written result does not match any tile and we are using save
|
/* if written result does not match any tile and we are using save
|
||||||
@@ -311,7 +311,7 @@ void RE_engine_end_result(RenderEngine *engine, RenderResult *result, int cancel
|
|||||||
|
|
||||||
if (!cancel || merge_results) {
|
if (!cancel || merge_results) {
|
||||||
if (re->result->do_exr_tile) {
|
if (re->result->do_exr_tile) {
|
||||||
if (!cancel) {
|
if (!cancel && merge_results) {
|
||||||
render_result_exr_file_merge(re->result, result, re->viewname);
|
render_result_exr_file_merge(re->result, result, re->viewname);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -1152,7 +1152,7 @@ static void *do_part_thread(void *pa_v)
|
|||||||
BLI_rw_mutex_unlock(&R.resultmutex);
|
BLI_rw_mutex_unlock(&R.resultmutex);
|
||||||
}
|
}
|
||||||
|
|
||||||
pa->status = PART_STATUS_READY;
|
pa->status = PART_STATUS_MERGED;
|
||||||
|
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
@@ -1258,7 +1258,7 @@ static int sort_and_queue_parts(Render *re, int minx, ThreadQueue *workqueue)
|
|||||||
|
|
||||||
/* find center of rendered parts, image center counts for 1 too */
|
/* find center of rendered parts, image center counts for 1 too */
|
||||||
for (pa = re->parts.first; pa; pa = pa->next) {
|
for (pa = re->parts.first; pa; pa = pa->next) {
|
||||||
if (pa->status == PART_STATUS_READY) {
|
if (pa->status >= PART_STATUS_RENDERED) {
|
||||||
centx += BLI_rcti_cent_x(&pa->disprect);
|
centx += BLI_rcti_cent_x(&pa->disprect);
|
||||||
centy += BLI_rcti_cent_y(&pa->disprect);
|
centy += BLI_rcti_cent_y(&pa->disprect);
|
||||||
tot++;
|
tot++;
|
||||||
|
@@ -1063,7 +1063,7 @@ void render_result_save_empty_result_tiles(Render *re)
|
|||||||
IMB_exr_clear_channels(rl->exrhandle);
|
IMB_exr_clear_channels(rl->exrhandle);
|
||||||
|
|
||||||
for (pa = re->parts.first; pa; pa = pa->next) {
|
for (pa = re->parts.first; pa; pa = pa->next) {
|
||||||
if (pa->status != PART_STATUS_READY) {
|
if (pa->status != PART_STATUS_MERGED) {
|
||||||
int party = pa->disprect.ymin - re->disprect.ymin + pa->crop;
|
int party = pa->disprect.ymin - re->disprect.ymin + pa->crop;
|
||||||
int partx = pa->disprect.xmin - re->disprect.xmin + pa->crop;
|
int partx = pa->disprect.xmin - re->disprect.xmin + pa->crop;
|
||||||
IMB_exrtile_write_channels(rl->exrhandle, partx, party, 0, re->viewname);
|
IMB_exrtile_write_channels(rl->exrhandle, partx, party, 0, re->viewname);
|
||||||
|
@@ -5,8 +5,8 @@
|
|||||||
#include "intern/abc_exporter.h"
|
#include "intern/abc_exporter.h"
|
||||||
|
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#include "BKE_global.h"
|
|
||||||
#include "BLI_utildefines.h"
|
#include "BLI_utildefines.h"
|
||||||
|
#include "BKE_library.h"
|
||||||
#include "BLI_math.h"
|
#include "BLI_math.h"
|
||||||
#include "DNA_scene_types.h"
|
#include "DNA_scene_types.h"
|
||||||
}
|
}
|
||||||
@@ -44,6 +44,7 @@ protected:
|
|||||||
Scene scene;
|
Scene scene;
|
||||||
TestableAbcExporter *exporter;
|
TestableAbcExporter *exporter;
|
||||||
EvaluationContext eval_ctx;
|
EvaluationContext eval_ctx;
|
||||||
|
Main *bmain;
|
||||||
|
|
||||||
virtual void SetUp()
|
virtual void SetUp()
|
||||||
{
|
{
|
||||||
@@ -54,18 +55,21 @@ protected:
|
|||||||
scene.r.frs_sec = 50;
|
scene.r.frs_sec = 50;
|
||||||
scene.r.frs_sec_base = 2;
|
scene.r.frs_sec_base = 2;
|
||||||
|
|
||||||
|
bmain = BKE_main_new();
|
||||||
|
|
||||||
exporter = NULL;
|
exporter = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual void TearDown()
|
virtual void TearDown()
|
||||||
{
|
{
|
||||||
|
BKE_main_free(bmain);
|
||||||
delete exporter;
|
delete exporter;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Call after setting up the settings.
|
// Call after setting up the settings.
|
||||||
void createExporter()
|
void createExporter()
|
||||||
{
|
{
|
||||||
exporter = new TestableAbcExporter(G.main, &scene, "somefile.abc", settings);
|
exporter = new TestableAbcExporter(bmain, &scene, "somefile.abc", settings);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user