Амеличев Константин, под руководством Трушина Дмитрия, ФКН
Amelichev Konstantin, with Dmitry Trushin mentorship, CS HSE
- World
- Camera
- Screen
- Objects
- Renderer
- Load .off-object as 3d object
- Decompose objects into triangles
- Projective transform
- Rotate, translate camera
- Draw shadows
- It is even possible to develop a game on top of this rendering engine
Есть тесторое приложение с возможностью изучить объект со всех сторон в пространстве со следующим управлением: поворот камеры по WASD + QE, сдвиг камеры по стрелочкам + ZX, объекты двигаются по IJKL + UO.
Есть тестовая игрушка с управлением камером мышкой и хождением по стрелочкам.
Рекомендую дополнительно сделать checkout на последний тег из доступных.
Инструкция по запуску на Linux:
# опционально, чтобы поставить нужные пакеты на систему, так собирается в 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
Пререквизиты: пакеты из списка:
- freetype
- x11
- xrandr
- udev
- opengl
- flac
- ogg
- vorbis
- vorbisenc
- vorbisfile
- openal
- pthread
Если что-то не работает, есть смысл свериться с Dockerfile.