Chess2RT 
A raytracer renderer, written in D, which will eventually be used for a
3d rendered chess game (and/or a variation of it).

( Cubemap skybox courtesy of: http://www.custommapmakers.org/skyboxes.php )
What works
- Simple geometry objects: spheres, cubes and a horizontal plane.
- CSG combinations of supported geometry objects (including CSG objects).
- Procedural textures.
- Lambert and Phong shading.
- Loading scenes from
.sdlor.jsonfiles. You can find sample scene files indata/. - Interactive camera movement (
←,↑,→,↓for movement,Shift + ←,Shift + ↓,Shift + →,Shift + ↓for mouse look,Ctrl + ←,Ctrl + →for rotation andCtrl + ↑,Ctrl + ↓for up and down moving).
Performance statistics
Available here.
Build Instructions
-
Install what's needed (if you haven't yet):
-
Git clone:
git clone https://github.com/ZombineDev/Chess2RT.git -
Run DUB:
cd ./Chess2RT dub
Scene files
Scene files are written in SDLang or JSON and are usually put in the data/ folder.
To render a specific scene you can either:
-
call the app from the command-line like this:
./Chess2RT/bin/<OS>/chess2rt --file=data/scene1.sdl -
place the path to scene you wish to load in
data/default_scene.pathand call chess2rt without arguments.
Compatibility
| Linux | Windows | |
|---|---|---|
| DMD 64 | ||
| DMD 32 | ||
| LDC 64 |
- DMD (reference D compiler) >=
2.071.1 - LDC (LLVM D Compiler) >=
1.1.0-beta2.
Acknowledgement
I developed this project for the 3D Graphics and Raytracing course at fmi.uni-sofia.
Most of the code in ./source/rt/ is based on https://github.com/anrieff/trinity/.
This project uses:
- SDL 2 (SDL 2.0.3 binaries for Windows x86 and x86_64
are included inlib/) - GFM (package on http://code.dlang.org)
- SDLang-D (package on http://code.dlang.org)