A 3D render engine from scratch, using CUDA/C++.
Perspective Projection, and Rotation, demonstrating coordinate transforms. | Flat Shading on Surfaces of Complex Polygons |
---|---|
Ensure you meet the requirements before attempting to build and run.
Cloning the repository:
git clone https://github.com/Sundance636/Raster3D.git
- CUDA-Compatible GPU (Nvidia to play it safe)
- CUDA-toolkit
- SDL2 libs
Using your package manager of choice install the required packages
sudo pacman -S cuda && sudo pacman -S sdl2
Once the packages are installed, go to the root of the repo and run the makefile, running make
will just build the project while make profile
will build and run with nvprof
to profile the runtime:
make profile
You can manually Run the executable with:
./Engine
(Coming soon, probably)
When the program is started you will be presented to a scene where the camera is centered at the origin, you may move around to observe, and the terminal continuously will display some information about the current scene.
Controls | |
---|---|
Arrow Keys | Pan the camera in the respective direction |
W | Rotate camera up |
A | Rotate camera left |
S | Rotate camera down |
D | Rotate camera right |
E | Move camera forward |
Q | Move camera backwards |
(More options and user controls coming soon) |
Frustum.Culling.mp4
High Poly Cat