С Днем защитника Отечества!

Поздравляю с праздником друзей, знакомых и читателей моего блога!

И представляю вашему вниманию, обновление, ко дню защитника отечества.

webgl-realistic-planet

На этот раз это поверхность планет. Процедурные планеты и поверхность созданы без использования текстур. Вы сразу можете возразить, как?! Ответ очень прост, в реальности не используются текстуры для отображения гор вообще. Расчет цвета для каждого пикселя гор осуществляется в момент вывода его на экран, по заданным координатам. Но такой подход, требует наличия, далеко не слабой видеокарты. Ведь каждый кадр, поверхность строится по новой. И чем больше разрешение экрана, тем выше требования. Но и это еще не всё, без использования текстур, повышается сложность создания реалистичной поверхности планет. Ведь нам придется писать формулы для каждого типа поверхности (трава, камни, снег, вода, земля). А это сложно и требует много времени. Так какие же преимущества и недостатки в итоге.

webgl-procedutal-terrain

Преимущества планет без текстур:

  • Не требуется память для хранения кусков текстур
  • Уникальный вид поверхности
  • Возможность задания разных свойств материалов
  • Изменение поверхности в реальном времени (лава, рост травы, обледенение и т.п.)

Недостатки тоже есть:

  • Требуется хорошая видеокарта
  • Высокая сложность создания новых типов поверхности (камни, песок, трава)
  • Постоянный просчет пикселей без возможности кеширования

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

webgl-procedutal-planet

Я специально ограничил размер планеты до 13км, удалил из кода куски для работы полноразмерных планет, оставил только одну форму планеты. Так же убрал камни и траву. А чтобы планета выводилась у большего числа людей, ограничил число проходов шума, до четырех. Конечно качество картинки резко ухудшилось, но даст большему числу людей с комфортом посмотреть на планету.

Почему?!

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

Обновление доступно по адресу: play.dg8.ru
Управление в режиме «Реалистичная Планета»:
W,A,S,D — для перемещения камеры
Q,E — наклон камеры
Левой кнопкой мышки на экран и двигать — вращение камеры

Визуальный язык программирования

Визуальный редактор скриптов был создан около двух лет назад. Он является основной частью процедурного моделирования в редакторе Dreams 3D, именно на нем производится основная часть расчетов. Задается логика поведения, условия при которых генератор выбирает правильный путь построения. Изначально визуальный редактор скриптов создавался для игры Space Soldiers, для управления логикой игры, но в ходе разработки было принято решение расширить его возможности.
Читать дальше

Visual Studio Community 2015

Интересное решение предложили разработчики Microsoft. Бесплатная версия Visual Studio.

Плюс — она бесплатна и нацелена для OpenSource проектов.

Минус — как всегда в ней чего-то не хватает.

Но главное работает и бесплатно. Проекты переход пережили успешно. Вроде всё работает. Компиляция, если сравнивать с 2013 версией, то ускорилась на чуть-чуть. На первый взгляд особой разницы нет между 2013 и 2015, но она есть и большая. Очень понравился инструмент отладки потребления памяти. Появились визуальные средства (графики) для тестирования скорости работы и потребления памяти. Остальные прибавки для меня оказались не столь значительны, да приятно что стандарт с++ всё ближе к нормальному (с++14/17). Особенно порадовало constexpr, а то костыли для компиляции проектов под Windows были не так удобны.