Changeset View
Changeset View
Standalone View
Standalone View
source/blender/sequencer/intern/render.c
| Show First 20 Lines • Show All 128 Lines • ▼ Show 20 Lines | if (false) { | ||||
| ibuf->channels, | ibuf->channels, | ||||
| from_colorspace, | from_colorspace, | ||||
| to_colorspace); | to_colorspace); | ||||
| } | } | ||||
| else { | else { | ||||
| /* We perform conversion to a float buffer so we don't worry about | /* We perform conversion to a float buffer so we don't worry about | ||||
| * precision loss. | * precision loss. | ||||
| */ | */ | ||||
| imb_addrectfloatImBuf(ibuf); | imb_addrectfloatImBuf(ibuf, 4); | ||||
| IMB_colormanagement_transform_from_byte_threaded(ibuf->rect_float, | IMB_colormanagement_transform_from_byte_threaded(ibuf->rect_float, | ||||
| (unsigned char *)ibuf->rect, | (unsigned char *)ibuf->rect, | ||||
| ibuf->x, | ibuf->x, | ||||
| ibuf->y, | ibuf->y, | ||||
| ibuf->channels, | ibuf->channels, | ||||
| from_colorspace, | from_colorspace, | ||||
| to_colorspace); | to_colorspace); | ||||
| /* We don't need byte buffer anymore. */ | /* We don't need byte buffer anymore. */ | ||||
| ▲ Show 20 Lines • Show All 1,355 Lines • ▼ Show 20 Lines | else { | ||||
| * When rendering from command line renderer is called from main thread, in this | * When rendering from command line renderer is called from main thread, in this | ||||
| * case it's always safe to render scene here | * case it's always safe to render scene here | ||||
| */ | */ | ||||
| if (!is_thread_main || is_rendering == false || is_background || context->for_render) { | if (!is_thread_main || is_rendering == false || is_background || context->for_render) { | ||||
| if (re == NULL) { | if (re == NULL) { | ||||
| re = RE_NewSceneRender(scene); | re = RE_NewSceneRender(scene); | ||||
| } | } | ||||
| RE_RenderFrame( | const float subframe = frame - floorf(frame); | ||||
| re, context->bmain, scene, have_comp ? NULL : view_layer, camera, frame, 0.0f, false); | |||||
| RE_RenderFrame(re, | |||||
| context->bmain, | |||||
| scene, | |||||
| have_comp ? NULL : view_layer, | |||||
| camera, | |||||
| floorf(frame), | |||||
| subframe, | |||||
| false); | |||||
| /* restore previous state after it was toggled on & off by RE_RenderFrame */ | /* restore previous state after it was toggled on & off by RE_RenderFrame */ | ||||
| G.is_rendering = is_rendering; | G.is_rendering = is_rendering; | ||||
| } | } | ||||
| for (int view_id = 0; view_id < totviews; view_id++) { | for (int view_id = 0; view_id < totviews; view_id++) { | ||||
| SeqRenderData localcontext = *context; | SeqRenderData localcontext = *context; | ||||
| RenderResult rres; | RenderResult rres; | ||||
| ▲ Show 20 Lines • Show All 680 Lines • Show Last 20 Lines | |||||