Amelichev Konstantin, with Dmitry Trushin mentorship, CS HSE
- World
- Camera
- Screen
- Objects
- Renderer
- Load .off-object as 3d object
- Decompose objects into triangles
- Perform projective transformation
- Rotate, translate camera
- Apply diffusal lighting
Camera rotations: WASD + QE Camera translations: arrows + ZX Move objects: IJKL + UO.
There is also a test first-person "game" with mouse-controlled camera and walking using arrows.
# this is optional as done in github actions
# apt-get -y install \
# cxxtest \
# libsfml-dev
git clone --recurse-submodules git@github.com:kik0s/3d-framework.git
cd 3d-framework
mkdir build && cd build
cmake ..
make
./3d-drawer
Also probably these packages should be installed:
- freetype
- x11
- xrandr
- udev
- opengl
- flac
- ogg
- vorbis
- vorbisenc
- vorbisfile
- openal
- pthread
Если что-то не работает, есть смысл свериться с Dockerfile.