Текущий архив: 2003.05.22;
Скачать: CL | DM;
Вниз
!!! нужен совет Найти похожие ветки
← →
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;
Скачать: CL | DM;
Память: 0.44 MB
Время: 0.006 c