bool fcExrContext::endFrame() { if (m_exr == nullptr) { return false; } // beginFrame() されてない m_tex_prev = nullptr; fcExrFrameData *exr = m_exr; m_exr = nullptr; ++m_active_task_count; m_tasks.run([this, exr](){ endFrameTask(exr); --m_active_task_count; }); return true; }
bool fcExrContext::endFrame() { if (m_task == nullptr) { fcDebugLog("fcExrContext::endFrame(): maybe beginFrame() is not called."); return false; } m_frame_prev = nullptr; fcExrTaskData *exr = m_task; m_task = nullptr; ++m_active_task_count; m_tasks.run([this, exr](){ endFrameTask(exr); --m_active_task_count; }); return true; }