This is the core repository for cooperation RT project. Originally commits are based on several open source repositories. They are:
- https://github.com/msu-graphics-group/LiteMath
- https://github.com/msu-graphics-group/scenes
- https://github.com/Ray-Tracing-Systems/HydraCore
The repository consists of:
- 'core' directory -- implements Ray Tracing on CPU
- 'core/builders' -- CPU and GPU based builders
- 'core/builders/cbvh.h' -- API for builders
- 'core/builders/lbvh.h' -- API for lbvh builder
- 'core/builders_tests' -- some internals tets for CPU builders
- 'core/builders' -- CPU and GPU based builders
- 'examples' which uses RT implemantation for testing and other purposes;
- 'examples/01_eye_rays' -- implementation of ray tracing for primary rays
- 'examples/02_rtao' -- implementation of ray tracing for Ray Traced Ambient Occlusion
- Add your own implementation of 'ISceneObject' interface ('CrossRT.h') in some file (lets call it "MyRT.cpp");
- Create factory function 'ISceneObject* CreateMyRT(const char* a_implName)' that should return a pointer to your implementation;
- Add declaration of your function 'CreateMyRT' inside FactoryRT.cpp;
- Add check for you class name inside 'CreateSceneRT' function in FactoryRT.cpp;
- You are done!
- Add your own implementation of 'IRenderer' interface ('IRenderer.h') in some file (lets call it "MyRenderer.cpp");
- Create factory function 'IRenderer* CreateMyRenderer(const char* a_implName)' that should return a pointer to your implementation;
- Add declaration of your function 'CreateMyRenderer' inside RenderFactory.cpp;
- Add check for you class name inside 'CreateRender' function in RenderFactory.cpp;
- You are done!
- TBD
We sincerely thank Huawei and Huawei Moscow Graphics Team for contribution to this Open Source project. Guys, you are the best!