OCaml OpenGL renderer
- Тема: Просмотр моделей через OpenGL
- Преподаватель: Пенской Александр Владимирович
- Выполнил: Горляков Даниил Петрович, 367165
- ИТМО, Санкт-Петербург, 2025
Данная лабораторная работа направлена на изучение основ 3D графики и применение функционального программирования для создания графических приложений.
Основные компоненты:
- Система рендеринга с использованием современного OpenGL
- Загрузка и отображение 3D моделей через библиотеку ASSIMP
- Реализация камеры и управления сценой
- Система шейдеров и текстурирования
- bin/ — основная точка входа в приложение
- lib/ — основные модули
- render/ — модули рендеринга (шейдеры, текстуры, модели)
- math/ — математические утилиты (векторы, матрицы, камера)
- test/ — тесты для проверки функциональности
- resources/ — ресурсы (модели, текстуры)
opam install tgls stb_image assimp ppx_inline_test
dune build
dune exec _build/default/bin/main.exe
- W/A/S/D: Движение камеры
- Левая кнопка мыши + перемещение: Осмотр сцены
- Прокрутка мыши: Масштабирование
- ESC: Выход
Разработка 3D приложения на OCaml с использованием OpenGL позволила глубже понять как основы компьютерной графики, так и особенности функционального программирования при работе с графикой. Основные наблюдения:
- OCaml ПЛОХО подходит для создания графических приложений
- Что и правда выручило, система типов OCaml помогает избежать многих ошибок на этапе компиляции
MIT License
opam:
glfw-ocaml 3.3.1-2
tgls 0.8.6
ocaml 5.0.0
dune 3.17.2