Skip to content

JerryYan97/Gardener

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Gardener Fiber-Based Job System

Inspired by the Game Engine Architecture book and Naughty Dog's fiber-based job system slides on GDC, this project aims to serve as an implementation reference and a personal game engine building block.

Architecture

Example

class CustomTask
{
    static void MyTaskFunc(CustomTask* pThisTask){...}
    uint64_t m_taskId;
}
void main()
{
    ...
    Gardener::JobSystem jobSys(runThreadNum);
    CustomTask task;
    jobSys.AddAJob(&task->MyTaskFunc, &task, tasks.m_taskId);
    ...
    jobSys.WaitJobsComplete();
    ...
}

Build

This project relies on Boost C++ and currently only works on WindowOS. Please install the boost library before using this repo.

There are three examples project under the example folder. In the project folder, you can use the following building command to generate the project:

cmake -B build -G "Visual Studio 16 2019" -DBOOST_ROOT=C:\boost_1_81_0

Please let me know if you need any help. Discord Server: https://discord.gg/ZmXaZUJzvF

Reference

About

Fiber Based Job System

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published