Программа разработана для визуализации 3D объектов на экране через загрузку из файла
- Добавлена поддержка до 5 фигур, которые могут одновременно находится на сцене
- Переработано взаимодействие со светом: на сцене находится один фоновый и до 5 направленных источников освещения
- Функционал камеры вынесен в отдельный класс
- Добавлены материалы для фигур
- Добавлено освещение с помощью трассировки лучей
- Добавлено отображение пола
- Каждый вид отрисовки сцены вынесен в отдельную шейдерную программу
- Добавлен предпросмотр созданного скриншота в окне диалога
Поддерживаемый функционал:
- Изменение цвета, размера и способа представления вершин
- Изменение цвета, размера и способа представления ребер
- Изменение цвета фона
- Изменение проекции (ортографическая/параллельная)
- Настройка положения и цвета базового источника освещения
- Выбор типа представления фигуры через отдельное действие в верхней части меню
- Различные типы освещения (плоское и мягкое)
- Управление мышью
-
Фигура уточки и черепа в режиме мягкого затенения с заданными материалами

-
Мяч и тетраэдр, отрисованные с помощью трассировки лучей. Изображение сделано с помощью действия Запись -> Скриншот

Чтобы приложение заработало, необходимо установить следующие инструменты:
Debian/Ubuntu
sudo apt install libfontconfig1-dev libfreetype-dev libgtk-3-dev libx11-dev libx11-xcb-dev libxcb-cursor-dev libxcb-glx0-dev libxcb-icccm4-dev libxcb-image0-dev libxcb-keysyms1-dev libxcb-randr0-dev libxcb-render-util0-dev libxcb-shape0-dev libxcb-shm0-dev libxcb-sync-dev libxcb-util-dev libxcb-xfixes0-dev libxcb-xkb-dev libxcb1-dev libxext-dev libxfixes-dev libxi-dev libxkbcommon-dev libxkbcommon-x11-dev libxrender-dev
sudo apt install cpp g++ gcc build-essential libgl1-mesa-dev cmake ninja-buildСкопировать код из репозитория
git clone https://github.com/exodess/3DViewer.gitЧтобы установить программу, необходимо ввести команду:
cmake -S . -B build
cmake --build build --target 3DViewerИ запустить:
./build/3DViewerЕсли необходимо удалить программу, то
rm -rf build



