Render API: Rename render > render_to_image; view_draw > render_to_view
This is part of the new draw manager design. Any engine (even clay, eevee, ...) should be able to draw to the viewport, as well as render to an image directly. Changing the API names to conform to that.
This commit is contained in:
@@ -79,7 +79,7 @@ class CyclesRender(bpy.types.RenderEngine):
|
||||
else:
|
||||
engine.reset(self, data, scene)
|
||||
|
||||
def render(self, depsgraph):
|
||||
def render_to_image(self, depsgraph):
|
||||
engine.render(self, depsgraph)
|
||||
|
||||
def bake(self, scene, obj, pass_type, pass_filter, object_id, pixel_array, num_pixels, depth, result):
|
||||
@@ -92,7 +92,7 @@ class CyclesRender(bpy.types.RenderEngine):
|
||||
context.region, context.space_data, context.region_data)
|
||||
engine.update(self, context.blend_data, context.scene)
|
||||
|
||||
def view_draw(self, context):
|
||||
def render_to_view(self, context):
|
||||
engine.draw(self, context.depsgraph, context.region, context.space_data, context.region_data)
|
||||
|
||||
def update_script_node(self, node):
|
||||
|
||||
@@ -574,6 +574,6 @@ void ED_render_internal_init(void)
|
||||
RenderEngineType *ret = RE_engines_find(RE_engine_id_BLENDER_RENDER);
|
||||
|
||||
ret->view_update = render_view3d_update;
|
||||
ret->view_draw = render_view3d_draw;
|
||||
ret->render_to_view = render_view3d_draw;
|
||||
|
||||
}
|
||||
|
||||
@@ -757,7 +757,7 @@ static bool view3d_draw_render_draw(const bContext *C, Scene *scene,
|
||||
|
||||
type = RE_engines_find(scene->r.engine);
|
||||
|
||||
if (!(type->view_update && type->view_draw))
|
||||
if (!(type->view_update && type->render_to_view))
|
||||
return false;
|
||||
|
||||
engine = RE_engine_create_ex(type, true);
|
||||
@@ -794,7 +794,7 @@ static bool view3d_draw_render_draw(const bContext *C, Scene *scene,
|
||||
|
||||
/* render result draw */
|
||||
type = rv3d->render_engine->type;
|
||||
type->view_draw(rv3d->render_engine, C);
|
||||
type->render_to_view(rv3d->render_engine, C);
|
||||
|
||||
if (clip_border) {
|
||||
/* restore scissor as it was before */
|
||||
|
||||
@@ -2182,7 +2182,7 @@ static bool view3d_main_region_do_render_draw(Scene *scene)
|
||||
{
|
||||
RenderEngineType *type = RE_engines_find(scene->r.engine);
|
||||
|
||||
return (type && type->view_update && type->view_draw);
|
||||
return (type && type->view_update && type->render_to_view);
|
||||
}
|
||||
|
||||
bool ED_view3d_calc_render_border(Scene *scene, View3D *v3d, ARegion *ar, rcti *rect)
|
||||
@@ -2244,7 +2244,7 @@ static bool view3d_main_region_draw_engine(const bContext *C, Scene *scene,
|
||||
|
||||
type = RE_engines_find(scene->r.engine);
|
||||
|
||||
if (!(type->view_update && type->view_draw))
|
||||
if (!(type->view_update && type->render_to_view))
|
||||
return false;
|
||||
|
||||
engine = RE_engine_create_ex(type, true);
|
||||
@@ -2285,7 +2285,7 @@ static bool view3d_main_region_draw_engine(const bContext *C, Scene *scene,
|
||||
|
||||
/* render result draw */
|
||||
type = rv3d->render_engine->type;
|
||||
type->view_draw(rv3d->render_engine, C);
|
||||
type->render_to_view(rv3d->render_engine, C);
|
||||
|
||||
if (v3d->flag & V3D_DISPBGPICS)
|
||||
view3d_draw_bgpic_test(scene, ar, v3d, true, true);
|
||||
|
||||
@@ -167,15 +167,15 @@ static void engine_update(RenderEngine *engine, Main *bmain, Depsgraph *graph, S
|
||||
RNA_parameter_list_free(&list);
|
||||
}
|
||||
|
||||
static void engine_render(RenderEngine *engine, struct Depsgraph *depsgraph)
|
||||
static void engine_render_to_image(RenderEngine *engine, struct Depsgraph *depsgraph)
|
||||
{
|
||||
extern FunctionRNA rna_RenderEngine_render_func;
|
||||
extern FunctionRNA rna_RenderEngine_render_to_image_func;
|
||||
PointerRNA ptr;
|
||||
ParameterList list;
|
||||
FunctionRNA *func;
|
||||
|
||||
RNA_pointer_create(NULL, engine->type->ext.srna, engine, &ptr);
|
||||
func = &rna_RenderEngine_render_func;
|
||||
func = &rna_RenderEngine_render_to_image_func;
|
||||
|
||||
RNA_parameter_list_create(&list, &ptr, func);
|
||||
RNA_parameter_set_lookup(&list, "depsgraph", &depsgraph);
|
||||
@@ -229,15 +229,15 @@ static void engine_view_update(RenderEngine *engine, const struct bContext *cont
|
||||
RNA_parameter_list_free(&list);
|
||||
}
|
||||
|
||||
static void engine_view_draw(RenderEngine *engine, const struct bContext *context)
|
||||
static void engine_render_to_view(RenderEngine *engine, const struct bContext *context)
|
||||
{
|
||||
extern FunctionRNA rna_RenderEngine_view_draw_func;
|
||||
extern FunctionRNA rna_RenderEngine_render_to_view_func;
|
||||
PointerRNA ptr;
|
||||
ParameterList list;
|
||||
FunctionRNA *func;
|
||||
|
||||
RNA_pointer_create(NULL, engine->type->ext.srna, engine, &ptr);
|
||||
func = &rna_RenderEngine_view_draw_func;
|
||||
func = &rna_RenderEngine_render_to_view_func;
|
||||
|
||||
RNA_parameter_list_create(&list, &ptr, func);
|
||||
RNA_parameter_set_lookup(&list, "context", &context);
|
||||
@@ -338,10 +338,10 @@ static StructRNA *rna_RenderEngine_register(Main *bmain, ReportList *reports, vo
|
||||
RNA_struct_blender_type_set(et->ext.srna, et);
|
||||
|
||||
et->update = (have_function[0]) ? engine_update : NULL;
|
||||
et->render = (have_function[1]) ? engine_render : NULL;
|
||||
et->render_to_image = (have_function[1]) ? engine_render_to_image : NULL;
|
||||
et->bake = (have_function[2]) ? engine_bake : NULL;
|
||||
et->view_update = (have_function[3]) ? engine_view_update : NULL;
|
||||
et->view_draw = (have_function[4]) ? engine_view_draw : NULL;
|
||||
et->render_to_view = (have_function[4]) ? engine_render_to_view : NULL;
|
||||
et->update_script_node = (have_function[5]) ? engine_update_script_node : NULL;
|
||||
et->collection_settings_create = (have_function[6]) ? engine_collection_settings_create : NULL;
|
||||
|
||||
@@ -465,7 +465,7 @@ static void rna_def_render_engine(BlenderRNA *brna)
|
||||
RNA_def_pointer(func, "depsgraph", "Depsgraph", "", "");
|
||||
RNA_def_pointer(func, "scene", "Scene", "", "");
|
||||
|
||||
func = RNA_def_function(srna, "render", NULL);
|
||||
func = RNA_def_function(srna, "render_to_image", NULL);
|
||||
RNA_def_function_ui_description(func, "Render scene into an image");
|
||||
RNA_def_function_flag(func, FUNC_REGISTER_OPTIONAL | FUNC_ALLOW_WRITE);
|
||||
RNA_def_pointer(func, "desgraph", "Depsgraph", "", "");
|
||||
@@ -499,7 +499,7 @@ static void rna_def_render_engine(BlenderRNA *brna)
|
||||
RNA_def_function_flag(func, FUNC_REGISTER_OPTIONAL | FUNC_ALLOW_WRITE);
|
||||
RNA_def_pointer(func, "context", "Context", "", "");
|
||||
|
||||
func = RNA_def_function(srna, "view_draw", NULL);
|
||||
func = RNA_def_function(srna, "render_to_view", NULL);
|
||||
RNA_def_function_ui_description(func, "Draw viewport render");
|
||||
RNA_def_function_flag(func, FUNC_REGISTER_OPTIONAL);
|
||||
RNA_def_pointer(func, "context", "Context", "", "");
|
||||
|
||||
@@ -701,7 +701,7 @@ static int rna_SpaceView3D_viewport_shade_get(PointerRNA *ptr)
|
||||
View3D *v3d = (View3D *)ptr->data;
|
||||
int drawtype = v3d->drawtype;
|
||||
|
||||
if (drawtype == OB_RENDER && !(type && type->view_draw))
|
||||
if (drawtype == OB_RENDER && !(type && type->render_to_view))
|
||||
return OB_SOLID;
|
||||
|
||||
return drawtype;
|
||||
@@ -731,7 +731,7 @@ static EnumPropertyItem *rna_SpaceView3D_viewport_shade_itemf(bContext *UNUSED(C
|
||||
RNA_enum_items_add_value(&item, &totitem, rna_enum_viewport_shade_items, OB_TEXTURE);
|
||||
RNA_enum_items_add_value(&item, &totitem, rna_enum_viewport_shade_items, OB_MATERIAL);
|
||||
|
||||
if (type && type->view_draw)
|
||||
if (type && type->render_to_view)
|
||||
RNA_enum_items_add_value(&item, &totitem, rna_enum_viewport_shade_items, OB_RENDER);
|
||||
|
||||
RNA_enum_item_end(&item, &totitem);
|
||||
|
||||
@@ -93,13 +93,13 @@ typedef struct RenderEngineType {
|
||||
int flag;
|
||||
|
||||
void (*update)(struct RenderEngine *engine, struct Main *bmain, struct Depsgraph *depsgraph, struct Scene *scene);
|
||||
void (*render)(struct RenderEngine *engine, struct Depsgraph *depsgraph);
|
||||
void (*render_to_image)(struct RenderEngine *engine, struct Depsgraph *depsgraph);
|
||||
void (*bake)(struct RenderEngine *engine, struct Scene *scene, struct Object *object, const int pass_type,
|
||||
const int pass_filter, const int object_id, const struct BakePixel *pixel_array, const int num_pixels,
|
||||
const int depth, void *result);
|
||||
|
||||
void (*view_update)(struct RenderEngine *engine, const struct bContext *context);
|
||||
void (*view_draw)(struct RenderEngine *engine, const struct bContext *context);
|
||||
void (*render_to_view)(struct RenderEngine *engine, const struct bContext *context);
|
||||
|
||||
void (*update_script_node)(struct RenderEngine *engine, struct bNodeTree *ntree, struct bNode *node);
|
||||
|
||||
|
||||
@@ -147,7 +147,7 @@ RenderEngineType *RE_engines_find(const char *idname)
|
||||
bool RE_engine_is_external(Render *re)
|
||||
{
|
||||
RenderEngineType *type = RE_engines_find(re->r.engine);
|
||||
return (type && type->render);
|
||||
return (type && type->render_to_image);
|
||||
}
|
||||
|
||||
/* Create, Free */
|
||||
@@ -616,7 +616,7 @@ int RE_engine_render(Render *re, int do_all)
|
||||
bool persistent_data = (re->r.mode & R_PERSISTENT_DATA) != 0;
|
||||
|
||||
/* verify if we can render */
|
||||
if (!type->render)
|
||||
if (!type->render_to_image)
|
||||
return 0;
|
||||
if ((re->r.scemode & R_BUTS_PREVIEW) && !(type->flag & RE_USE_PREVIEW))
|
||||
return 0;
|
||||
@@ -708,8 +708,8 @@ int RE_engine_render(Render *re, int do_all)
|
||||
re->draw_lock(re->dlh, 0);
|
||||
}
|
||||
|
||||
if (type->render) {
|
||||
type->render(engine, re->depsgraph);
|
||||
if (type->render_to_image) {
|
||||
type->render_to_image(engine, re->depsgraph);
|
||||
}
|
||||
|
||||
engine->tile_x = 0;
|
||||
|
||||
Reference in New Issue
Block a user