Если задана дискретная карта высот, то можно найти высоту в любой точке {ax, az}, не находящейся в узле следующим образом:
x0, z0 : integer;
x1, z1 : integer;
dx, dz : float
Получаем узловые точки (clamp для того, чтобы не выйти за пределы карты)
x0 = clamp( trunc(ax), 0, MAP_SIZE );
z0 = clamp( trunc(az), 0, MAP_SIZE );
x1 = clamp( x0+1, 0, MAP_SIZE );
z1 = clamp( z0+1, 0, MAP_SIZE );
Получаем смещение
dx = ax - x0;
dz = az - z0
Теперь рассмотри два случая:
1.
Читать | Комментарии [10]
18 ноя. 2008
Q>В чём принципиальное различие между языками программирования, и какой язык лучше использовать для создания современных игр?
A>Существует очень много языков программирования. Часть из них применима для написания движка, часть — для написания игры, часть — для скриптинга, часть — для каких-то специальных целей (например, кое-кому удобно хранить настройки в файлах на Lisp). Выбор языка зависит также и от платформы — для мобильных платформ придётся писать на Java, для XBOX360/PS3 существуют только компиляторы Си/C++, и т. д.
Читать | Комментарии [24]
30 июня 2008