Экспериментирую с увеличением детализации генерируемых планетарных текстур. Раньше для каждой планеты генерировалась небольшая текстурка, всего 5х8 пикселей, содержащая цветовую палитру: по одной оси цвет в зависимости от высоты/широты, по второй - в зависимости от наклона. Шейдер генератора процедурных текстур использовал эту текстурку для определения цвета пикселя поверхности планеты (т.е. цвета пикселя генерируемой текстуры). Для достижения большой детализации необходимо существенно увеличить число октав различных шумовых функций, а также написать функции для генерации текстур разных материалов (например, в версии 0.94 можно увидеть слои на склонах гор - это пример такой функции).
Теперь текстура палитры превратилась в текстуру "идентификаторов материала". Т.е. значение, считанное шейдером из этой текстуры - это индекс в текстурный атлас. Тексутрный атлас - это одна большая текстура, состоящая из нескольких зацикленных текстур (тайлов) с изображениями разных типов поверхности: трава, песок, скалы и т.д. Я использую два атласа по 8х8 тайлов, всего получается 128 тайлов. Теперь шейдер генератора текстур считывает пиксели из одного из тайлов атласа, на который указывает индекс в индексной текстуре. Это сразу существенно увеличивает детализацию и реалистичность поверхности планеты, как видно на скриншотах ниже.
Детализация поверхности планет около одного метра на пиксель (это значит что ближе 100 метров от поверхности заметна её пикселизация). Это ограничение движка, обусловленное пределом точности float. Дальше я планирую устранить это ограничение и достичь детализации 0.1-1.0 см на пиксель.
Эффект осыпания - это термальная эрозия. Я в принципе придумал способ, как её в небольших пределах осуществить (скажем, 50 итераций). Но возможно это существенно увеличит время генерации рельефа - в десятки раз. Надо экспериментировать.
>Почему не сделать заранее просчитанные планеты? Скажем штук этак 500? С какой детализацией? С такой, при которой будет видна эрозия на горах? Тогда каждая планета займёт терабайт 20
>Почему-то когда я гляжу на звезды (с Земли) никаких крестиков не вижу? К чему бы это? Может мне показаться к окулисту? Посмотри не на звезду, а на электросварку издалека. Видишь лучи? Человек обычно видит 6-лучевую структуру с кучей вторичных лучиков. Зеркальный телескоп "видит" 4-лучевую дифракционную стркутуру, если вторичное зеркало поддерживается 4 опорами, или 6-лучевую, если опор 6. Этот эффект проявляется только при достаточно ярком источнике.