Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Игры";
Текущий архив: 2003.05.22;
Скачать: [xml.tar.bz2];

Вниз

!!! нужен совет   Найти похожие ветки 

 
MRB_SPB   (2002-12-15 17:47) [0]

Мужики (ну если найдутся девушки будет вдвойне приятно)
Кто сталкиваля с проблемой рендиринга поверхности какой либо месности
знает что даже относительно небольшая карта высот 1000*1000 заёмёт с учётом предварительного расчёта нормалей и цвета точки(либо текстурной координаты) примерно (4*7*10000/1024/1024) 27 мегабайт родной и любимой памяти компьютера (неважно оперативной или видио) при написании 2D или изометрических игрушек используются таленные спрайты набор которых позволяет изобразить игровое пространство. Есть идея по сазданию таких же "спрайтов"-карт высот примерно 32*32 около 76 штук 28 кб * 76 что около 2 мб из которых теоретически можно будет построить любую поверхность и хранит информацию о ней в компактном виде.
Просто я не сталкиволся с информацией по такому способу построения и былобы интересно узнать мнение других по поводу плюсов и минусов такой реализации.


 
Ev_genus   (2002-12-15 22:41) [1]

Сделай ф-цию f(x,y) которая будет генерить каким-то образом карту фиксированого размера (10*10). Можно сделать набор заранее сделаных картинок (карт высот). Затем для каждого участка вновь генерим карту способом g(x,y). Тоесть, если есть картинки (10*10) 10 штук f[i] i:=0..9 .

function get(Xpos, Ypos:real; i:byte);
...
result:=f[i][trunc(Xpos), trunc(Xpos)]*L1+
f[g[trunc(Xpos), trunc(Xpos)]][round(frac(Xpos)*10), round(frac(Xpos)*10)]*L2;

L1-вариация первого уровня высоты.
L2-вариация второго уровня высоты.
L1>L2 иначе получится не ландшафт а шум.

В обшем случае g равно некоторой f[i]. Функций (законов) g может быть несколько. Удобно сделать ф-цию get рекурсивной. Для генерации ладшафта 1000*1000 потребуется всего 3 итерации. На всё потребуется ~ 10*10*10*2=2 кб. :)

Могу написать подробнее.


 
MRB_SPB   (2002-12-16 10:47) [2]

Ты наверно имел ввиду fBm(фрактальное Броунорское движение) она достаточно быстрая но
для неё заранее не расчитать сглаживающих нормалей без них смотрится плоховато а ссчитаются они не очень быстро
и генерация вершин будет плохо предсказуема нехотелост бы получить на месте которое по дезайну уровня должно быть абсолютно плоское пару ямочек



Страницы: 1 вся ветка

Форум: "Игры";
Текущий архив: 2003.05.22;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.007 c
3-70184
Инна
2003-05-02 19:14
2003.05.22
ADODataSet


1-70201
Mir
2003-05-08 06:43
2003.05.22
Как поместить главное меню в ToolBar?


1-70208
MAX22
2003-05-10 21:53
2003.05.22
Как досрочно завершить процедуру?


3-70121
Натик
2003-04-29 15:23
2003.05.22
Ускорение обработки записей


1-70378
OpoloXAI
2003-05-10 17:46
2003.05.22
mainForm.Hide





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский