Skip to content
This repository has been archived by the owner on Sep 12, 2022. It is now read-only.
/ Landscaper Public archive

Графическая демострация и изучение на практике дискретных функций для генерации ладшафта на языке C# с применением техник ООП.

Notifications You must be signed in to change notification settings

hariton27sy/Landscaper

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 

Repository files navigation

Landscaper

Графическая демострация и изучение на практике дискретных функций для генерации ладшафта на языке C# с применением техник ООП.

Screenshot 2020-05-31 at 17 22 29

Список студентов-участников:

  1. Сергей Харитонов ФТ-202
  2. Руслан Сиражетдинов ФТ-201

Задача

  1. Пользователь хочет увидеть графическое представление сгенерированного шума, для этого в приложении он указывает параметры генерации шума и запускает проект.
  2. Пользователь хочет изучить особенности процедурной генерации ландшафта, для этого в приложении он может управлять игрком и перемещаться в пространстве, рассматривая местность.

Точки расширения:

  1. Создание собственных миров, генерация ландшафта: с помощью наследования от универсального базового класса WorldBase и интерфейса ITerrainGenerator. Добавление элементов окружения на этапе постобработки, интерфес IEnvironmentGenerator.
  2. Гибкая настройка и расширение процесса текстуризации компонентов окружения с помощью добавления холстов текстур и назначения изображения, подмоделей, состояний, идентификаторов конкретному компоненту в конфигураторе.
  3. Возможность добавления собственных шейдеров, с помощью удобного базового класса

Идеи для точек расширения:

  1. Использование библиотек сторонних разработчиков для построения функции шумов и последующая генерация ладшафта на их основе.
  2. Реализовать генератор руд, шахт, наследовав интерфейс IEnvironmentGenerator, который контейнер автоматически подключит и скомпилирует
  3. Добавить реализацию шейдера, с трассировкой лучей и тенями. Позволит унаследование от Shader

Основные компоненты системы:

  1. Графический движок системы - непосредственно взаимодействие с OpenGL, работа с трёхмерной компьютерной графикой, работа с неуправляемыми ресурсами, а также моделями объектов для рендеринга. Данная компонента может быть отнесена к инфраструктуре и может повторно использоваться вне контекста проекта
  2. Ядро системы - это контроль и обновление состояния приложения. Обработка и обновление состояния объектов, приправленная небольшой щепоткой физики.
  3. Графический интерфейс пользователя - объединение ядра и графики для последующего ввода/вывода.

About

Графическая демострация и изучение на практике дискретных функций для генерации ладшафта на языке C# с применением техник ООП.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published