Войти
ПрограммированиеФорумГрафика

Генерация динамического пейзажа в реалтайм (5 стр)

Страницы: 1 2 3 4 5 6 Следующая »
#60
21:23, 9 июня 2010

Mikle
> Неужели найти и считать с диска выбранную картинку быстрее?
Конечно быстрее. Список всех файлов формируется в момент старта программы, чтение идет в отдельном треде - на рендеринге это не сказывается да и меняется картинка только раз в 10 секунд. Формулу пришлось бы считать каждый кадр. А так все что требуется это сделать на шейдере фаддинг двух текстур.  Фактически никаких накладных расходов.


#61
22:51, 9 июня 2010

san
> картинка только раз в 10 секунд. Формулу пришлось бы считать каждый кадр
Почему? Не вижу связи. Что если так же каждые 10 секунд генерировать картинку по формуле, и так же смешивать со старой?

#62
23:23, 9 июня 2010

Mikle
> Почему? Не вижу связи. Что если так же каждые 10 секунд генерировать картинку
> по формуле, и так же смешивать со старой?

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

#63
1:23, 10 июня 2010

san
- у кого-то слишком узкие двери!
- а по-моему кто-то слишком много ест!! (с)

P.S. и таки да, процедурные текстуры ушли очень далеко от перлина.

Правка. Возвращаясь к нашим баранам:
http://www.gamedev.ru/files/?id=55007
Это обычный шум перлина 2к*2к.

Можешь с него шоты сделать? Для эксперимента что ли..

#64
6:20, 10 июня 2010

fanat
> Можешь с него шоты сделать? Для эксперимента что ли..

А зачем? Мне ничего доказывать не надо. Хороший файл. Ну сгенерировал ты эту текстуру, ну сохрани ее в фолдере. А потом кроме этой засунь туда еще сотню разных. По этому же алгоритму сделанных или по другому или вообще руками нарисованных.  Для моего метода это безразлично. Зачем каждый раз генерировать когда намного проще комбинировать пейзаж из заранее подготовленных текстур? Их же может быть сколько угодно и каких угодно. Твоя генерация порождает только один характер пейзажа в то время как мой метод ничем не лимитирован.

А про процедурные текстуры мне не надо рассказывать, вон я их сколько нагенерировал в свое время: http://www.sanbasestudio.com/gallery.htm  :)

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

#65
9:51, 10 июня 2010

san
Зачем доказывать)верю.раз метод живет, значит он справляется.
Я имел ввиду, что если тебя не затруднит (и если технически это возможно), то я был бы очень признателен за возможность посмотреть шум в деле. Не в абстрактной демке,а именно в твоем продукте.
P.S. Тем более, ты сам говорил, исходная картинка в папке и получаемое 3d разнятся значительно.
P.P.P. Пока ничего грандиозного выжать из перлина в плане ландшафта мне не удалось. Либо это ограничения самого метода, либо использую его не так. Поможешь продвинуться к истине?)

#66
16:47, 10 июня 2010

fanat
Шум красивый, качественный, но не для ландшафта. Слишком равномерно распределены мелкие детали. Сделай хотя бы квадрат текущего значения, чтобы неровность зависела от высоты.

#67
17:08, 10 июня 2010

fanat
> Я имел ввиду, что если тебя не затруднит (и если технически это возможно), то я
> был бы очень признателен за возможность посмотреть шум в деле. Не в абстрактной
> демке,а именно в твоем продукте.

Да ради Бога. Не проблема. Сегодня и попробую. Только для тебя это наверно завтра получится.

>P.S. Тем более, ты сам говорил, исходная картинка в папке и получаемое 3d разнятся значительно.

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


> P.P.P. Пока ничего грандиозного выжать из перлина в плане ландшафта мне не
> удалось. Либо это ограничения самого метода, либо использую его не так.

Да там ничего грандиозного не может быть по определению. Шум он и есть шум. Он никакой информации не несет, везде более-менее однороден. Перлин хорош когда рябь на воде надо делать, поскольку она тоже по сути случайный процесс (не волны а именно рябь). Если делать так горы, то это будет сплошной горный массив. Может оно и неплохо, но горы интересны когда они с долинами перемежаются и когда "профиль" гор разный, то утес какой, то гора поросшая лесом и т.п. Тогда есть за что глазом уцепиться. Потому я и использую готовые текстуры которые можно просто в Фотошопе нарисовать. А програмно только из них куски вытаскивать.

Mikle
> Шум красивый, качественный, но не для ландшафта. Слишком равномерно
> распределены мелкие детали. Сделай хотя бы квадрат текущего значения, чтобы
> неровность зависела от высоты.

Так это проще уже в программе скорректировать. Текстуру можно не трогать а менять параметры ее интерпретации. И быстрее и нагляднее.

#68
5:41, 11 июня 2010

san
> > был бы очень признателен за возможность посмотреть шум в деле. Не в
> > абстрактной
> > демке,а именно в твоем продукте.

Вот смотри. Это твой шум:

Изображение

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

А это на той же программе но с моими родными текстурами:

Изображение

Тут я только лес включил, а то на твоей он плохо ложится . Основное отличие - пейзаж более разнообразный.

#69
9:23, 11 июня 2010

Спасибо)

#70
12:44, 11 июня 2010

а сами текстуры посмотреть можно?

#71
15:31, 11 июня 2010

Так их у меня больше тысячи, я сам не знаю какие в данный моменты выбраны. Потом картинка формируется из 8 текстур а не из одной.
Вот так: surface=surface_tex(coord.x+coord.y*8.0,coord); Первый аргумент это номер текстуры (0-7), если значение не кратно 1, то тогда они смешиваются, например 2.5 это mix(texture2,texture3,0.5);
Сами текстуры это мои же картины, вот тут они лежат: http://www.sanbasestudio.com/gallery.htm

Прошло более 1 года
#72
22:32, 14 мар. 2012

Прошло уже около года, так вот последние достижения в пейзажетворчестве. Задача была сделать лес, поскольку это пожалуй самое сложное что можно представить. Листочки пока не потянул, но что-то похожее на можжевельник уже получается. Вот картинки:


Изображение

Изображение

Тут надо добавить, что это скриншоты СТЕРЕОСКОПИЧЕСКОЙ картины, т.е это левый глаз (делаю в формате 3DBD). Вообще это надо смотреть на 3D телевизоре. Вот там СИЛЬНО впечатляет, поскольку можно подьехать к каждой веточке, а их тут миллионы, и все обьемное. В принципе в такой мир можно вводить и обычные 3D модели - у меня есть трехмерные координаты каждого пикселя на экране. Но тут реалтайм пока близко не лежал, пока на 480GTX тянет где-то 3-5 фраймов в секунду. Но если будет молоток побольше...

Забыл добавить: я сейчас полностью перешел на трассировку лучей. А весь "мир" генерируется одной формулой, решетки нет вообще. Т.е все что вы видите - это ОДНА формула которая считается на пиксельном шейдере. И не такая сложная, кстати. Но весь шейдер (вместе с трассировкой лучей и тенями) тянет на 8000 инструкций.

#73
22:36, 14 мар. 2012

                    О_О


Первое, что пришло в голову - Z-Fighting, незнаю почему...
#74
22:58, 14 мар. 2012

san
> что-то похожее на можжевельник уже получается
Скорее на лишайник. Впечатляет.

Страницы: 1 2 3 4 5 6 Следующая »
ПрограммированиеФорумГрафика

Тема в архиве.