TerrainDetail terrain,detail_level[,vertex_morph]

Параметры

terrain - указатель ландшафта
detail_level - детализация ландшафта
vertex_morph (не обязательно) - True - разрешить преобразование вершин ландшафта. По умолчанию False.

Описание

Устанавливает степень детализации ландшафта. Это количество треугольников, используемое для представления ландшафта. Типичное значение 2000.

Необязательный параметр vertex_morph включает режим перестройки вершин(морфинг), когда дальние части ландшафта упрощаются, а ближние, напротив, усложняются (для них используется больше треугольников).

Пример

; Пример TerrainDetail
; ---------------------

Graphics3D 640,480
SetBuffer BackBuffer()

camera=CreateCamera()
PositionEntity camera,1,1,1

light=CreateLight()
RotateEntity light,90,0,0

; Загружаем ландшафт
terrain=LoadTerrain( "media/height_map.bmp" )

; Масштабируем его
ScaleEntity terrain,1,50,1

; и текстурируем
grass_tex=LoadTexture( "media/mossyground.bmp" )
EntityTexture terrain,grass_tex,0,1

; Установим детализацию
terra_detail=4000

; разрешим перестройку вершин
vertex_morph=True

While Not KeyDown( 1 )

; клавишами меняем детализацию
If KeyDown(26) Then terra_detail=terra_detail-10
If KeyDown(27) Then terra_detail=terra_detail+10

; переключаем параметр vertex_ morph пробелом
If KeyHit(57)=True Then vertex_morph=1-vertex_morph

; Применим полученные параметры
TerrainDetail terrain,terra_detail,vertex_morph

If KeyDown( 203 )=True Then x#=x#-0.1
If KeyDown( 205 )=True Then x#=x#+0.1
If KeyDown( 208 )=True Then y#=y#-0.1
If KeyDown( 200 )=True Then y#=y#+0.1
If KeyDown( 44 )=True Then z#=z#-0.1
If KeyDown( 30 )=True Then z#=z#+0.1

If KeyDown( 205 )=True Then TurnEntity camera,0,-1,0
If KeyDown( 203 )=True Then TurnEntity camera,0,1,0
If KeyDown( 208 )=True Then MoveEntity camera,0,0,-0.1
If KeyDown( 200 )=True Then MoveEntity camera,0,0,0.1

x#=EntityX(camera)
y#=EntityY(camera)
z#=EntityZ(camera)

terra_y#=TerrainY(terrain,x#,y#,z#)+5

PositionEntity camera,x#,terra_y#,z#

RenderWorld

Text 0,0,"Use cursor keys to move about the terrain"
Text 0,20,"Use [ and ] keys to change terrain detail level"
Text 0,40,"Press spacebar to enable/disable vertex morphing"
Text 0,60,"Terrain Detail: "+terra_detail
If vertex_morph=True Then Text 0,80,"Vertex Morphing: True" Else Text 0,80,"Vertex Morphing: False"

Flip

Wend

End

Главная страница

Нажмите сюда, чтобы увидеть последнюю версию этой страницы в интернете