Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

UPBGE: Allow asynchronous mesh libload. #897

Open
wants to merge 1 commit into
base: ge_libload_status_cb
Choose a base branch
from

Commits on Oct 20, 2018

  1. UPBGE: Allow asynchronous mesh libload.

    Previously only scene supported asynchronous libloading.
    But the loading of meshes and scenes are similar in the point
    that they both use a scene converter but with a different
    procedure on the data to convert and register to this scene
    converter.
    
    This commit introduce a more flexible KX_LibLoadStatus
    with the usage of a lambda function which receive as argument
    one of the scene converted listed in KX_LibLoadStatus and
    process the conversion.
    
    This lambda is created in BL_Converter::LinkBlendFile
    in the same time than a list of scenes used to create the
    scene converters is built. KX_LibLoadStatus is constructed
    passing the function and the scene list.
    
    BL_Converter also replaced the usage of blender task scheduler
    by TBB. A tbb::task_group and a std::mutex is now hold.
    The function BL_Converter::ConvertLibraryTask is in charge to
    call the conversion function and this function can be called
    by a task group or manually which help to reuse code.
    As before BL_Converter::LinkBlendFile, is reponsible to
    do a direct conversion or launch a conversion asynchronous task.
    
    Fix issue: #533.
    panzergame committed Oct 20, 2018
    Configuration menu
    Copy the full SHA
    eeead30 View commit details
    Browse the repository at this point in the history