view-obj-3d
Описание
View - лёгкое автономное приложение для просмотра 3D-моделей под Windows, написанное на чистом C. Загружает модели в формате Wavefront.obj (с материалами.mtl и текстурами) и отображает их в реальном времени на классическом конвейере OpenGL (fixed-function pipeline).
Проект - десктопное приложение с одной задачей: вы передаёте ему файл модели, и он открывает окно, в котором модель отображается - освещённая, с текстурами и медленно вращающаяся. Никаких меню, UI-фреймворков и внешних 3D-библиотек: только Win32 API, классический OpenGL и собственный загрузчик моделей. При запуске модель автоматически центрируется в окне, масштабируется под размер окна и ориентируется так, чтобы её наибольшая размерность была направлена вверх. Затем модель непрерывно вращается вокруг вертикальной оси (36°/с). Зажатая левая кнопка мыши останавливает авто-вращение и позволяет свободно облетать модель; после отпускания вращение возобновляется.
Технологии
- C (компиляция MinGW-w64)
- Win32 API (класс окна, цикл сообщений, WinMain)
- Классический OpenGL - fixed-function pipeline, клиентские vertex arrays
- stb_image (однофайловая библиотека, public domain) - загрузка изображений
- Формат моделей Wavefront OBJ + MTL (собственный парсер, без внешних 3D-библиотек)
- Сборка: MinGW-w64 gcc, -O2 -mwindows, линковка opengl32 и gdi32
- Платформа: Windows