Интерактивная компьютерная графика
Программирование 3D-рендеринга реального времени
Real-Time Graphics Programming
CGI-программирование
Ассеты для 3D-движков и фреймворков
... в разделе портфолио «Низкополигональное 3D-моделирование и текстурирование»
enVision
cmodule.mp4 (42,2 МБ)
Оптимизирован для real-time рендеринга и тестирования моделей в среде окружения
Движок для визуализации и анализа 3D-моделей с поддержкой low-poly сеток и текстурированных объектов. Поддерживает загрузку моделей в формате ASE (ASCII Scene Exporter), содержащем геометрию, UV-развёртки, материалы и базовые трансформации
- импорт и обработка ASE-моделей с парсингом геометрических структур и материалов
- рендеринг UV-развёрток с возможностью отладки текстурных координат
- управление освещением с поддержкой динамических источников, кастомизация теней (hard/soft shadow mapping), работа с картами отражений (environment mapping)
- визуализацию в режимах wireframe, bounding box и полноценных текстурированных рендеров
- переключаемый bump-mapping с реализацией нормалей через карты высот
- cвободное управление камерой и моделями: WASD + Shift для линейного перемещения, переменная FOV, вращение на орбите в координатах Эйлера (Yaw, Pitch, Roll), масштабирование (scroll), панорамирование (middle mouse drag)
ai.mp4 (3,32 МБ)
Механика основана на базовых алгоритмах поиска пути без сложных элементов искусственного интеллекта
Система поиска пути и навигации в интерактивной среде с двумя автономными агентами: преследователем и уклоняющимся объектом
- поиск пути (pathfinding) с построением маршрута к целевым точкам
- скаутинг энергетических источников с запоминанием координат найденных объектов
- контекстно-зависимое перемещение: уклоняющийся агент избегает преследования, используя нелинейные траектории и манёвры дезориентации, не давая себя загнать в угол или блокировать доступ к батареям
- пространственный анализ: преследователь использует детекцию в поле зрения (view frustum culling) для обнаружения цели и инициирования погоне
- динамическое изменение поведения в зависимости от уровня заряда, позиции объектов окружения и активности противника
- финальное состояние — полное истощение энергии и отключение уклоняющегося агента
underwater.mp4 (2,78 МБ)
Предельная оптимизация кода и процедурных алгоритмов для обеспечения полноценного рендеринга сцены в жёстко ограниченном объёме памяти
Интерактивная сцена с процедурной генерацией подводного окружения и анимацией при экстремально ограниченном размере исполняемого файла (≤11,7 КБ)
- полностью процедурная генерация геометрии, текстур и анимации без загрузки внешних ресурсов
- реалистичная симуляция подводной среды с учётом рассеивания света, глубинного затухания и волновых эффектов
- жёсткие ограничения по размеру файла: полный рендеринг сцены, включая код и данные, упакован в ≤11 988 байт
Низкоуровневые оптимизации на x86 ASM и C/C++, включая:
- слияние секций PE-заголовка, удаление стандартных библиотек, минимизацию загружаемого образа
- ручное управление стеком, памятью и регистрами
- оптимизированные математические вычисления (x87 FPU, SSE/MMX, inline ASM)
- техники компрессии и упаковки данных для минимизации финального размера бинарного файла
Фреймворк для игр с механикой раннера
bugslife.mp4 (21,3 МБ)
Для демонстрации фреймворка создан игровой прототип Bugslife с базовой механикой
Фреймворк для реализации runner-механики с динамически генерируемым игровым пространством
- процедурная генерация уровней с размещением препятствий и ограничивающих объектов
- система управления игроком с адаптацией к скорости и положению
- рендеринг отражений и постобработка графики
- модель столкновений и обработка взаимодействий с окружением
- полноценная игровая логика: счётчик очков, система жизней, UI-элементы
- внутри-игровое меню и лаунчер с возможностью параметризации рендеринга и настроек
- загрузочные экраны и асинхронная подгрузка ресурсов
Инструментарий разработки и тестирования шейдеров
thelab.mp4 (82,1 МБ)
Для демонстрации используется автоматически сгенерированное дерево с полупрозрачной листвой, построенное по модели Фибоначчи или алгоритмам генерации реалистичной растительности. Камера движется по сцене в автоматическом режиме для сохранения фокусировки на тестируемых шейдерах
Shader Development Toolkit — инструмент для интерактивного управления параметрами шейдеров, компиляции и применения в реальном времени с возможностью анализа их влияния на сцену
- манипуляции с параметрами матриц фильтрации (размытие, весовые коэффициенты смешивания, текстурное скалирование)
- динамическое изменение гамма-коррекции и цветовых параметров
- просмотр промежуточных текстурных буферов до финального рендеринга, включая этапы формирования изображения
- автоматическая или ручная навигация камеры: линейные и интерполяционные траектории, контроль анимации пролётов
- система предустановок шейдерных параметров с возможностью сброса и тонкой настройки
Фреймворк для игры типа «Арканоид»


Представляет собой модульную основу для разработки вариативных версий аркадных игр с аналогичной механикой
Игровой фреймворк для реализации механики brick-wall breakout с полной симуляцией взаимодействия объектов
- физическая модель столкновений с точным расчётом отскоков мяча
- обработка управления ракеткой, динамическое изменение скорости и угла отскока
- рендеринг и анимация разрушения объектов, эффекты деформации и частиц
- игровая логика: уровни сложности, прогрессивное ускорение, учёт очков
- реализация на Adobe Flash (ActionScript) с оптимизированным кодом обработки событий
Использованные технологии
Языки программирования
- Assembly (x86, x86-64)
- C
- C++
- ActionScript 2.0 / 3.0
Фреймворки и SDK
- DirectX SDK
- Adobe Flash SDK
- NVIDIA Cg Toolkit
- ATI RenderMonkey (Shader Development Environment)
- ATI Ashli (High-Level Shader Compilation & Optimization)
Графические API и шейдерные технологии
- OpenGL
- GLSL (OpenGL Shading Language)
- Direct3D
- HLSL (High-Level Shader Language)
- Cg (C for Graphics)
- Ashli (ATI High-Level Shading Language)
- Direct3D Shader Assembly Language (D3D ASM)
- ARB Assembly Language (ARB_vertex_program, ARB_fragment_program)
Библиотеки и динамически подключаемые модули
- cg.dll (NVIDIA Cg runtime library)
- cgGL.dll (NVIDIA Cg OpenGL interface)
- Fmod.dll (FMOD Sound System, звуковой движок)
- glew32.dll (OpenGL Extension Wrangler Library, поддержка расширений OpenGL)
- ijl15.dll (Intel JPEG Library, обработка изображений)
Инструменты разработки и отладки
- Microsoft Visual Studio
- MASM (Microsoft Macro Assembler)
- GCC (GNU Compiler Collection)
- WinDbg (отладка низкоуровневого кода)
Операционные системы
- Microsoft Windows