Asher Norland
Asher Norland
To determine the signature of a callable the event manager, `EventManager.h` specifically, uses Boost callable_traits . This header only library, while nice, uses boost and Soul engine only uses a...
The "ParallelFor" function should divide a for loop into chucks which are each their own job. These jobs then execute through the fiber scheduler. Take a look at `Soul Engine\Source\Parallelism\Fiber\Scheduler.h/.cpp`...
The code of conduct lacks behaviors which the community should strive for.
The pooled signal and slot system that is the EventManager does not currently handle return values when `Emit` is called. Aggregate this values and make them available to the caller...
The Fiber scheduler uses a default allocator provided by the library. Unify this with the allocator used by Soul Engine
The current GPUBuffer is not easily accessible from the GPU. Nested pointers, `[]` operator, and a different frontend makes management hard.
Keep a difference bit list along with each GPUBuffer. Only data that has modified should be transferred. This will cut down on transfer costs for huge buffers.
All CUDA buffers are sent to kernels with a pointer. All these should be abstracted into GPUBuffer objects. Find and replace all instances
Treat a camera as a non-existing particle that will be queried as the initial ray starting point