Показать сообщение отдельно
Старый 06.03.2010, 12:48   #1
voron
Нуждающийся
 
Регистрация: 10.09.2006
Сообщений: 77
Написано 3 полезных сообщений
(для 3 пользователей)
Проблема с созданием меша

Создаю меш в форме прямоугольника


Function Create_Start_Relief(razmer_x,razmer_y,relief_mesh)

; Создание меша
relief_mesh=CreateMesh()

; Создание поверхности
relief_surf=CreateSurface(relief_mesh)

; Создание вершин
x=0
y=0
Repeat
u_tex#=Float(x)/razmer_x
w_tex#=1-Float(y)/razmer_y
vertex=AddVertex (relief_surf,x,0,y,u_tex#,w_tex#)
x=x+1
If x=razmer_x+1 Then
y=y+1
x=0
EndIf
Until y=razmer_y+1

; Создание треугольников
x=razmer_x
y=razmer_y*(razmer_x+1)
Repeat
tri_1=AddTriangle(relief_surf,x+y-1,x+y,x+y-razmer_x-1)
tri_2=AddTriangle(relief_surf,x+y-razmer_x-1,x+y-razmer_x-2,x+y-1)
x=x-1
If x=0 Then
x=razmer_x
y=y-razmer_x-1
EndIf
Until y<razmer_x+1

; Возвращает указатель на поверхность
Return relief_surf

End Function


Проблема в том, что если оставляю только одну из строчек
tri_1=AddTriangle(relief_surf,x+y-1,x+y,x+y-razmer_x-1) или
tri_2=AddTriangle(relief_surf,x+y-razmer_x-1,x+y-razmer_x-2,x+y-1),
то меш отображается полностью (в смысле половина треугольников, но отображается во всю длину), если обе вместе, то вдалеке видна узкая полоска и треугольники появляются, как снизу, так и сверху.
В чём причина?
(Offline)
 
Ответить с цитированием