BMSTU IU7, semester 5 — computer graphics coursework.
A 3D Lego-style building editor in Qt with its own software renderer: no OpenGL, the whole pipeline — projection, rasterisation, shadow mapping — is written by hand.
| Path | Contents |
|---|---|
lego-course-work/renderer.* |
Rendering pipeline |
lego-course-work/shadow_map.* |
Shadow mapping |
lego-course-work/scene3d.* |
Scene, camera, interaction |
lego-course-work/grid_system.h |
Build grid with distance-based fade |
lego-course-work/model.* |
Model and its serialisation |
lego-course-work/*element.h, brick*, plate*, rooftile.h |
Part types |
lego-course-work/selection_manager.h |
Selecting and moving placed parts |
lego-course-work/demo* |
Demo recording and playback |
lego-course-work/tests |
Tests |
Parts snap to a grid; models are saved and reloaded through
model_serializer, and a demo mode records a build session and replays it.
cd lego-course-work
qmake lego-course-work.pro && makeC++, Qt, software rendering