Changeset View
Changeset View
Standalone View
Standalone View
source/blender/render/intern/source/external_engine.c
| Show First 20 Lines • Show All 419 Lines • ▼ Show 20 Lines | |||||
| bool RE_bake_has_engine(Render *re) | bool RE_bake_has_engine(Render *re) | ||||
| { | { | ||||
| RenderEngineType *type = RE_engines_find(re->r.engine); | RenderEngineType *type = RE_engines_find(re->r.engine); | ||||
| return (type->bake != NULL); | return (type->bake != NULL); | ||||
| } | } | ||||
| bool RE_bake_engine( | bool RE_bake_engine( | ||||
| Render *re, Object *object, const BakePixel pixel_array[], | Render *re, Object *object, const BakePixel pixel_array[], | ||||
| const int num_pixels, const int depth, | const size_t width, const size_t height, const int depth, | ||||
| const ScenePassType pass_type, float result[]) | const ScenePassType pass_type, float result[]) | ||||
| { | { | ||||
| RenderEngineType *type = RE_engines_find(re->r.engine); | RenderEngineType *type = RE_engines_find(re->r.engine); | ||||
| RenderEngine *engine; | RenderEngine *engine; | ||||
| int persistent_data = re->r.mode & R_PERSISTENT_DATA; | int persistent_data = re->r.mode & R_PERSISTENT_DATA; | ||||
| /* set render info */ | /* set render info */ | ||||
| re->i.cfra = re->scene->r.cfra; | re->i.cfra = re->scene->r.cfra; | ||||
| Show All 20 Lines | bool RE_bake_engine( | ||||
| engine->tile_x = re->partx; | engine->tile_x = re->partx; | ||||
| engine->tile_y = re->party; | engine->tile_y = re->party; | ||||
| /* update is only called so we create the engine.session */ | /* update is only called so we create the engine.session */ | ||||
| if (type->update) | if (type->update) | ||||
| type->update(engine, re->main, re->scene); | type->update(engine, re->main, re->scene); | ||||
| if (type->bake) | if (type->bake) | ||||
| type->bake(engine, re->scene, object, pass_type, pixel_array, num_pixels, depth, result); | type->bake(engine, re->scene, object, pass_type, pixel_array, width, height, depth, result); | ||||
| engine->tile_x = 0; | engine->tile_x = 0; | ||||
| engine->tile_y = 0; | engine->tile_y = 0; | ||||
| engine->flag &= ~RE_ENGINE_RENDERING; | engine->flag &= ~RE_ENGINE_RENDERING; | ||||
| /* re->engine becomes zero if user changed active render engine during render */ | /* re->engine becomes zero if user changed active render engine during render */ | ||||
| if (!persistent_data || !re->engine) { | if (!persistent_data || !re->engine) { | ||||
| RE_engine_free(engine); | RE_engine_free(engine); | ||||
| ▲ Show 20 Lines • Show All 208 Lines • Show Last 20 Lines | |||||