A software rasterizer based on the classical OpenGL graphics pipeline made for educational purposes. It is meant to both render ascii art and 3D images.
The .obj files are expected to follow a right-handed (-Z forward) Y up coordinate system. See
this
for details on converting between coordinate systems.
Optionally install libsdl2-dev to pre-build the required SDL dependency.
Clone this repository:
git clone --depth=1 https://github.com/abxh/asciirastBuild in release mode preferably for preview:
cmake -DCMAKE_BUILD_TYPE=Release -B build_release
cmake --build build_release -j $(nproc)Then the executables will be visible in build_release/bin directory. Use -j %NUMBER_OF_PROCESSORS% on windows.
Alternatively, build in debug mode with asserts and debug symbols on:
cmake -DCMAKE_BUILD_TYPE=Debug -B build
cmake --build build -j $(nproc) - How Do Computers Display 3D on a 2D Screen?: https://www.youtube.com/watch?v=eoXn6nwV694
- Introduction to Computer Graphics: https://www.youtube.com/watch?v=vLSphLtKQ0o&list=PLplnkTzzqsZTfYh4UbhLGpI5kGd5oW_Hh
- Perspective Projection Matrix: https://www.youtube.com/watch?v=EqNcqBdrNyI