Графическая демострация и изучение на практике дискретных функций для генерации ладшафта на языке C# с применением техник ООП.
- Сергей Харитонов ФТ-202
- Руслан Сиражетдинов ФТ-201
- Пользователь хочет увидеть графическое представление сгенерированного шума, для этого в приложении он указывает параметры генерации шума и запускает проект.
- Пользователь хочет изучить особенности процедурной генерации ландшафта, для этого в приложении он может управлять игрком и перемещаться в пространстве, рассматривая местность.
- Создание собственных миров, генерация ландшафта: с помощью наследования от универсального базового класса WorldBase и интерфейса ITerrainGenerator. Добавление элементов окружения на этапе постобработки, интерфес IEnvironmentGenerator.
- Гибкая настройка и расширение процесса текстуризации компонентов окружения с помощью добавления холстов текстур и назначения изображения, подмоделей, состояний, идентификаторов конкретному компоненту в конфигураторе.
- Возможность добавления собственных шейдеров, с помощью удобного базового класса
Идеи для точек расширения:
- Использование библиотек сторонних разработчиков для построения функции шумов и последующая генерация ладшафта на их основе.
- Реализовать генератор руд, шахт, наследовав интерфейс IEnvironmentGenerator, который контейнер автоматически подключит и скомпилирует
- Добавить реализацию шейдера, с трассировкой лучей и тенями. Позволит унаследование от Shader
- Графический движок системы - непосредственно взаимодействие с OpenGL, работа с трёхмерной компьютерной графикой, работа с неуправляемыми ресурсами, а также моделями объектов для рендеринга. Данная компонента может быть отнесена к инфраструктуре и может повторно использоваться вне контекста проекта
- Ядро системы - это контроль и обновление состояния приложения. Обработка и обновление состояния объектов, приправленная небольшой щепоткой физики.
- Графический интерфейс пользователя - объединение ядра и графики для последующего ввода/вывода.