Neptune
300-400 метров вроде ифолдер принимает забесплатно.... может, народ...
Ладно, уговорили, выкладываю демку.
http://narod.ru/disk/22020758000/SpaceEngine%200.74b.7z.html (335 Мб)
Минимальные системные требования: GeForce 6200 (проверено!:)), CPU от 1 GHz, RAM от 1Gb, video RAM от 128 Mb. Рекомендуемые: GeForce 9800 (100% должно работать), CPU 2.8 GHz, RAM 2 Gb, video RAM 1 Gb. Объём видеопамяти очень важен, планеты весма активно её жрут. На радеонах к сожалению ни разу не тестил. Если ваша видеокарта не дай Бог не поддерживает фреймбуфферы, лучше сразу отключите рендеринг галактик и туманностей, а то получите слайд-шоу (правьте конфиг config/user.cfg). То же, если у вас медленные флоат текстуры или 3D текстуры, тогда отключите атмосферы.
Структура папок:
config - файлы конфигурации. Пред запуском откройте perf_med.cfg, найдите параметры r_MaxTextureMemory и r_MaxMeshMemory и установите их так, чтобы их сумма равнялась примерно 80% вашей видеопамяти. r_MaxImageMemory - размер кэша текстур в оперативной памяти.
data - данные о Вселенной для движка:) data/catalogs - каталоги объектов, все текстовые файлы, кроме stars120k.dat, data/models - бинарные данные для моделей атмосфер и текстовые описания моделей туманностей и галактик, data/shaders - исходники стандартных шейдеров на Cg, data/textures - текстуры галактик, туманностей, планет. Многие планеты - в виде тайловых кубических текстур, о чём я уже рассказывал.
cache - эту папку программа создаст при первом запуске, и будет сохранять туда сгенерированные модели галактик и туманностей, и также сгенерированные и откомпилированные шейдеры. Все данные платформенно-зависимые, поэтому перед запуском на другой машине удалите эту папку.
screenshots - сюда сохраняются скриншоты.
readme07.txt - информация о клавишах.
se.log - лог. Если прога падает, присылайте его мне на почту () с кратким описанием того, при каких ваших действиях прога упала.
PS: Демка без гигантских текстур: Земля, Марс, Венера, некоторые спутники планет - до 3 уровня, т.е. 8192х4096. Европа не блестит как на видео, потому что текстура без альфа-канала. Земля с альфой, поэтому в png, а не jpg, поэтому весит больше чем все остальные планеты вместе взятые:) Если кто захочет сконвертить целую Blue Marble - качайте тулзу http://www.gamedev.ru/code/forum/?id=127615, и разбирайтесь))
PPS: Завтра я узжаю в отпуск, где вряд ли доберусь до компа и инета, так что может быть не буду отвечать где-то с месяц. Надеюсь прога запустится хоть у кого-то))) Если у вас не стоит вижуал студия и прога не запускается, попробуйте её установить, может быть я впопыхах криво скомпилил ехе-шник. Возможно, ещё надо будет установить Cg Toolkit. Об очевидных причинах краха можно будет узнать из лога.
Ну-ка, ща затестим!!!!
PPPS: Если кому не влом, сделайте модельки галактик и вышлите мне на мыло (). Делаются они так. Модель галактики состоит из светлых (emission) и пылевых (absorption) спрайтов и одной большой текстуры (FrontTexture) в плоскости диска, блендящейся со спрайтами. Эта главная текстура берётся откуда-нибудь из инета, вид на фотке должен быть "плашмя". В фотошопе или ещё где-нибудь удаляются фоновые звёзды, в альфа-канал помещается маска межзвёздной пыли. Далее, в папке data\models\galaxies лежат файлы со скриптами, описывающими всякие параметры спрайтовой модели, в т.ч. пути к текстурам, по которым она генерится. Смысл параметров думаю понятен из их названия. Параметры с префиксом em относятся к светящимся спрайтам диска, abs - пылевым, b - к светящимся спрайтам балджа (ядра) галактики. Для генерации модели нужны 4 текстуры - вид плашмя (front) и сбоку (side), для светящихся спрайтов и для пылевых. Текстуры front делаются из главной текстуры, side можно взять одну из стандартных или нарисовать. Ещё одна текстура SysTexture получается путём обработки главной, и содержит в синем канале плотность распределения звёзд в рукавах галактики, в зелёном - звёздных скоплений, в красном - туманностей. По этой текстуре двиком генерирутся звёзды, скопления и туманности. Править параметры модели можно при запущенном движке, перейдите в режим edit (два раза нажать звёздночку *), кликните по редактируемой галактике, и тогда нажатием F5 можно перезагрузить модель. Кстати, в других режимах (нормальный и edit) нажатие F5 приводит к перекомпиляции сгенерированных шейдеров, лежащих в папке cache\shaders\cg.
Буду признателен за переделанные стандартные модели (Sa, Sb и т.д.) и несколько других красивых галактик, как M51 на давнишнем видео)))
клево.
А чего при попадании в фокус яркого объекта все фоновые звезды, галактики и т.п. резко изчезают?
Отправил лог вылета на почту :)
koaa310
> А чего при попадании в фокус яркого объекта все фоновые звезды, галактики и
> т.п. резко изчезают?
дак это автоэкспозиция)) отключется shift-v
ATI FireGL V5200 (аналог X1800) - есть атмосфера Земли, больше ничего нет :)
Не влазим в 512 арифм. инструкций шейдера, как минимум.
GF 8600 - вроде работает. Не тормозит. Красиво. Через пару минут полетов сквозь милки вей падает, в логе ничего криминального нет.
Попозже проверю на ATI HD3450 и Intel X4500MHD и приложу логи, а то башка разболелась сейчас..
Neptune
> дак это автоэкспозиция))
Это она делает поверхность планеты темнее, когда зумаешь поближе? Воспринимается как что-то неправильное.
Даааа, не знал про такой косяк с ATI... Чё ж они отстают от прогресса... И как, спрашивается, быть? Многопроходный рендер использовать?
Автоэкспозиция да, неправильно работает, я её в последний день перед отъездом делал, приеду - исправлю)
Как смотрится ландшафт у Земли, Марса и т.д.? Кольца Сатурна вблизи? Планеты у других звёзд? Сами звёзды вблизи? Сделал недавно вычисление цвета пикселя поверхности звезды по температуре и потемнение к краю. Попробуйте найти тесную двойную звезду и увидеть, как звёзды нагревают друг друга:) Туманности пока чисто символические, не ругайте сильно. Зато Ring Nebula уже прикольно смотрится)
Падает скорее всего из-за звёздных скоплений, попробуйте отключить их в меню.
Neptune
А где можно почитать по-подробнее про рендеринг планет методом, которые ты использовал?
Я так понимаю, что каждая сторона куба представляет собой отдельное quadtree. Эти деревья рекурсивно сплитятся в зависимости от позиции наблюдателя. Что бы соседние патчи стыковались без разрывов, соседние патчи тоже приводятся к соответствующему лоду. В общем, стандартное quadtree. Но я не пойму, как без разрывов стыковать два quadtree, соответствующие соседним граням куба.
А поверхность планет пока еще не рисуется?
..... блин, как же это все круто выглядит :)
А у меня падает прога. Щас в настройках копаюсь...
Neptune
Ты на elite-games.ru демку не выкладывал? А то там у них вроде полно космических художников и музыкантов тусуется, наверняка будет какой нибудь профит. :)
Да и просто пусть народ пофапает :D
У меня прога периодически зависала и падала.
ЗЫ: А где там край вселенной?