Skip to content

Latest commit

 

History

History
72 lines (55 loc) · 2.13 KB

File metadata and controls

72 lines (55 loc) · 2.13 KB

3DViewer

Описание

  • Высокопроизводительный 3D рендерер на C++17, Qt6 и MVC, поддерживающий .obj файлы.

Цель

  • Эффективная визуализация 3D моделей с возможностью трансформации и кастомизации.

Архитектура

  • MVC (Model, View, Controller)
  • Паттерны
    • Facade (Manipulation)
    • Strategy (Parser, Affine Transformations)
    • Singleton (Controller)

Требования

  • C++17
  • Qt6.

Установка (macOS)

  1. git clone <repository_url>
  2. cd 3D Viewer_v2.0/src
  3. make
  4. open ./3D Viewer/3d Viewer.app

Функциональность

  • Загрузка .obj
  • Аффинные трансформации
    • Перенос
    • Вращение
    • Масштабирование
  • Настройка внешнего вида
    • Линии
    • Вершины
    • Цвет
    • Проекция
  • Экспорт в BMP/JPEG
  • Создание GIF анимаций
  • Сохранение настроек
  • Юнит-тесты
  • Google C++ Style Guide.

Скриншоты и GIF

  • Интерфейс доступен после выбора корректной модели через кнопку Choose File: img_1
  • Также, возможно сохранить скриншот в любую выбранную папку: img_2
    Окно после сохранения
    img_3
    Сделанный скриншот
  • После нажатия на кнопку GIF, будут записаны любые манипуляции с моделью img_4
    Окно появится после записи
    img_5
    Результат записанных манипуляций в GIF

Авторы

Анастасия(@nanali96), Касим(@Sckroll), Эмилия(@liaaemi)