Skip to content

KiK0S/3d-framework

Repository files navigation

3d rendering from scratch

Амеличев Константин, под руководством Трушина Дмитрия, ФКН

Amelichev Konstantin, with Dmitry Trushin mentorship, CS HSE

Components

  • World
  • Camera
  • Screen
  • Objects
  • Renderer

What it can do:

  • 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

Demo

Есть тесторое приложение с возможностью изучить объект со всех сторон в пространстве со следующим управлением: поворот камеры по WASD + QE, сдвиг камеры по стрелочкам + ZX, объекты двигаются по IJKL + UO.

Есть тестовая игрушка с управлением камером мышкой и хождением по стрелочкам.

Have a look:

Демо игры

Output sample

Демо приложения для изучения объекта

Output sample

Кадры приложения изучения объектов с off-моделями

Output sample Output sample Output sample Output sample

Рекомендую дополнительно сделать 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.

About

library to draw 3d objects

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages