ПрограммированиеФорумОбщее

Реализация процедурных текстур методом Шума Перлина. (Комментарии к статье)

Страницы: 1 2 3 Следующая »
#0
22:40, 18 янв 2004

Комментарий к Статье Реализация процедурных текстур методом Шума Перлина

Статья повествует от построении процедурных текстур методом Шума Перлина на примере динамических облаков. Пояснения демонстрируются исходным кодом.

#1
22:40, 18 янв 2004

Не вдаваясь в мат. подробности, одна из лучших статей на gamedev.ru.
Тока вот с инлайнами автор немного перемудрил :)

Все это имхо.

#2
11:02, 19 янв 2004

Немного буквоедство, но: слово шум, написаное с большой буквы, дает понять, что возможно, речь идет о неком Шуме Ивановиче Перлине, который изобрел какой-то супер метод. :)

#3
18:25, 19 янв 2004

Разве Perlin читается как Перлин?! Всегда думал, что Перлен.

#4
0:04, 20 янв 2004

Я не понял одну вещ:

я читал собственно текст Perlin'а,  и  по ней, Perlin Noise это только про использование его  "интерполирующей" функции и стабильного генератора нойса . При использовании других функций,это не Perlin Noise.  А сложение многих шумов вроде до него придумали.
Так что я теперь вовсе не знаю что есть Perlin Noise а что нет.

#5
6:08, 21 янв 2004

First
:-))
Coriolan
AFAIK - Перлин  читается ...Если хочеш иди на www.google.com или на www.yandex.ru и попробуй поискать "Кен Перлен".

Dmytry
я тоже читал текст Кена...Главная фишка Шума придуманого им это его когерентность + сложение слоев шума.
А еще надо сказать что оригинальный шум был придуман 1983.Много воды с тех пор утекло...
Например вот Кен усовершенствовал шум(Improved Noise)
http://mrl.nyu.edu/~perlin/noise/index1.html -там даже есть Java апплет Бамп+шум Перлина рилтайм...
Шумом Перлина иногда называют просто тот шум который складывается с несколиких слоев...Это не есть совсем правильно..

CyberDemon
thnx, за инлайны я знаю , плохо их использовать , но ШП не есть самый быстрый алгоритм, точнее он совсем медленный...
Можна бы было убрать "_inline" (кстати какая разница от "inline"?) но это ИМХО бы нарушыло структурный вид програмы...

#6
23:19, 27 янв 2004

1)Может я чего-то не понял, но в скачаном примере я вижу хаотически меняющиеся облака, а на небе они должы "перетекать" друг в друга. Смотрится красиво, но на бегущие облака не похоже. Может выложишь полноценное небо? хотелось бы посмотреть.
2)извините за ламерский вопрос, но "конергентность" - это что?

#7
1:47, 28 янв 2004

JK Viking
>2)извините за ламерский вопрос, но "конергентность" - это что?
Да, это у меня всё руки не доходили поправить.

#8
6:49, 29 янв 2004

В скачаном примере есть файл Readme.txt в не м описано все управление, там можно немного настроить  это перетикание, "бегущие" облака было  сделано простым добавлением  некоторого числа для смещения текстуры.


"конергентность" это ошибка ворда для спелчека орфографии ;-) это слово должно звучать как "когерентность" и означает постояность значения шума для одного и тоже элемента...

Полноценое небо это какое в твоем понимании :-) ?

#9
13:18, 29 янв 2004

по моему когерентность должна означать что один элемент статистически связан с другим... чето типа этого.Типа просто заполнить все постоянным рандомом,некогерентно.А добавить к рандому фильтр 1/f (амплитуд)
(например при помощи FFT) , и он уже когерентный вродебы...
По поводу неба: Сходным способом делаются облака в моем voxel world. ,но уже давно(до статьи) ,и там складываются,вычитаются,итп друг-с-другом многооктавные шумы, притом отнють не перлиновские. Ну это не суть как важно,перлинские они или нет.

Кстати,Перлин взял идею про сумму из идеи преобразования Фурье.Так-что, не думаю что заслуга Перлина именно в суммировании.

#10
23:06, 29 янв 2004

to WDW:
  а ты пробовал сравнивать fps для многооктавных шумов и обычной анимированной текстуры? Я имею ввиду, что если я захочу использовать для своих облаков десяток заранее нарисованных текстур, которые будут сменять друг-друга (изображая клубящиеся облака)+ изменение координат (для имитации движения). То насколько твой метод окажется быстрее?

#11
23:25, 29 янв 2004

По моему(пардон,я кон. не WDW это раз,и не делал точно по статье это два),тут как всегда:можно сделать так,что намного быстрее.Можно и так,что не намного. Можно сделать промежуточный,складывать пару,тройку,итд анимаций,так что тут четкой границы нет.

#12
23:46, 29 янв 2004

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

#13
12:07, 1 фев 2004

JK Viking
Начнем с того что анимированые текстуры-СТАТИЧНЫ это раз, а счас все больше и больше людей стремятся к уникальности своего игрового мира
http://www.gamedev.ru/forum/?action=showtopic&group=9&topic=1114
Два это то что их надо разроботать перед тем как вводить в проект  это требует времени еще до работи программы.Шум требует времени только на разработку алгоритма , а потом с его помощю можно делать не только облака...
Три это то что анимированые текстуры занимают память - но правда шум занимает проц .
Скорость зависит очень сильно от разшырения текстуры и от количества октав - а от этого зависит и качество текстур.
Я не знаю насколько быстр твой метод аним. текстур, но я считаю что скорость качественого шума может немного отставать по нескольким причинам .1)это то что проц будет зайнят в то время когда регенерируются текстуры
(правда я розтянул процес реге-цыи на все время роботы программы-чтобы не было резких падений fps ) 2)это то что у меня еще есть алгоритмы удаления шва.
По скорости шум может немного отставать но по качеству - уникальности  шум форева...

#14
11:44, 27 фев 2004

А как сделать так, чтобы при использовании метода генерации шума указанного в статье, полученные текстуры можно было бы тайлить. Например в фотошопе, эффект render->clouds сгенерирует тайлющуюся текстуру если размер текстуры будет степень двойки. Может быть есть другой алгоритм?

Страницы: 1 2 3 Следующая »
ПрограммированиеФорумОбщее

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