Covellite++  Version: 2.3.0 Revision: 2580 Platform: x64 Build: 15:23 16.10.2020
Кроссплатформенный фреймворк для разработки приложений на С++
Демонстрационная версия

Режим предназначен для демонстрации возможностей рендеринга, характерных для 3D игр, а также оценки скорости и надежности работы фреймворка:

  • Lansdcape.
  • Animation.
  • Shadows.
  • Help - переход к экрану описания режима.
  • Exit - возврат на главный экран программы.
Заметки
Во всех случаях возможно изменение размеров окна программы в любой момент времени, это не должно приводить к проблемам и артефактам изображения.

Lansdcape

  • При стартовой загрузке сцены отображается прогресс-бар, отображающий результат загрузки объектов сцены.
  • В основном режиме отображается сцена, состоящая из скайбокса, поверхности из шестигранников, расположенные на них трава, камни и деревья, а также вода (полупрозрачная, сквозь нее должно быть видно дно); в исходной точке отображаются поднимающиеся из воды частицы.
  • На удаленные от камеры объекты накладывается эффект тумана.
  • В ночном режиме рендеринг производится с большим (сотни в кадре) количеством точечных источников света.
  • Размеры игровой сцены ничем не отграничены, при перемещении поверхность и объекты на ней подгружаются и выгружаются автоматически.
  • По поверхности можно перемещаться, используя кнопки клавиатуры QWEASDZXC (Windows) или жесты (в Windows - нажать левую кнопку мыши и двигать мышь, на Android'e - то же самое пальцем по экрану); жесты в правой части окна программы позволяют перемещаться вдоль поверхности, в левой - поднимать/опускать камеру. Перемещение производится плавно по ячейкам поверхности, повороты - на 60 градосов.
  • При рендеринге сцены проигрывается фоновый звук, разный в зависимости от режима день/ночь.
  • В настройках программы (Settings.exe) можно:
    • IsAutoRun - включить режим автоматического перемещения (используется для запуска программы на сутки для проверки надежности работы кода).
    • IsNightMode - переключить режим день/ночь.
    • IsParticleInstance - переключить режим отображения частиц (инстансинг или единый вертексный буфер).
    • ParticlesCount - количество частиц.
    • PointLightPercent - количество (в процентах) точечных источников света от общего количества ячеек поверхности в ночном режиме.

Animation

Рендеринг большого числа шагающих на месте людей; камера вращается вокруг сцены, показывая 'толпу' с разных сторон.

Для рендеринга всех объектов используется одна и та же модель и анимация, однако для каждого объекта сцены анимация просчитывается отдельно и визуально должно быть видно, что люди двигаются не синхронно; также для удаленных от камеры объектов анимация просчитывается с пропуском кадров, поэтому следует обращать внимание на то, что удаленные объекты движутся рывками.

Shadows

Демонстрация рендеринга в несколько проходов, реализующая концепцию отложенного освещения и затенения.

Рендерится сцена из нескольких камней (набор камней и их размеры генерируются случайным образом при каждом запуске программы), камера вращается вокруг центра сцены, демонстрируя ее с разных сторон.

  • Направленный источник света вращается вокруг сцены, камни должны отбрасывать от него тени друг на друга и поверхность; также следует обращать внимание, что освещенная сторона камня должна находиться на стороне, противоположной той, куда он отбрасывает тень.
  • Объект под курсором подсвечивается с попиксельной точностью.
  • Элементы управления с левой стороны позволяют установить размеры внеэкранной поверхности, в которую производится основной проход рендеринга:
    • x1 - размеры внеэкранной поверхности совпадают с размерами окна программы.
    • x0.25 - размеры внеэкранной поверхности в 4 раза меньше, чем размеры окна программы.
    • 1024x1024 - размеры внеэкранной поверхности имеют фиксированный размер, не зависящий от размеров окна программы.