Тесселяция и визуализация поверхностей планет

С выходом версии 3.0.118 WinStars использует тесселяцию с целью улучшения отображения поверхности планет. Эта технология, введенная со стандартом OpenGL 4.0, значительно увеличивает количество треугольников, на которые разбивается объект, в результате чего его трехмерное представление становится более сложным. Прежде рельеф планеты симулировался в WinStars игрой светотеней и перспективы. Текстуры, модифицированные применением технологии occlusion mapping, накладывались на простые геометрические формы (как правило, на десяток треугольников).

Технология occlusion mapping, использующая игру света и тени для симуляции неровностей на поверхности объекта

Здесь активирован каркасный режим. Поверхность на самом деле остается очень простой с точки зрения геометрии.

С использованием тесселяции количество полигонов, используемых для отображения деталей на объекте, значительно возрастает. Возвышенные и пониженные участки представляются теперь в трех измерениях, а не симулируются.

В каркасном режиме видна намного более сложная сетка поверхности. Здесь насчитываются тысячи треугольников.

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

В этом видео от Gamoniac очень хорошо объясняется польза от этой технологии, используемой в индустрии видеоигр:

В WinStars тесселяция реализована для Марса и Луны и на данный момент работает только в настольных версиях программы (Linux, MacOS и Windows). Отображение поверхности Марса менее качественно, чем для Луны, из-за остающегося низким качества его текстур. Я все еще нахожусь в поиске более лучших текстур, чтобы обеспечить сравнимое качество визуализации.