Трабл с паралелепипедом

Работа с 2D и 3D графикой, видео, звуком.

Модератор: Mikle

StimorolD3DX
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 293
Зарегистрирован: 03.04.2007 (Вт) 18:19
Откуда: Kiev city

Трабл с паралелепипедом

Сообщение StimorolD3DX » 10.04.2007 (Вт) 16:07

Люди хелп кто знает а то я уже запарился. Вообщем нужно построить паралелепипед, построил включил куллинг D3DCULL_CCW все работает, но только одна часть паралелепипеда отображает текстуру нормально, все остальные то верх-ногами то задом наперед то повернутые на 90 градусов я уже не знаю что делать. Вообщем вот код где я иниц. паралелепипед.

Код: Выделить всё
'Нижняя часть куба
Map(MapVertexNum).Vertex(0) = CreateVertex(X, Y, Z, TexSizeX, TexSizeY)
Map(MapVertexNum).Vertex(1) = CreateVertex(X, Y, Z2, TexSizeX, 0)
Map(MapVertexNum).Vertex(2) = CreateVertex(X2, Y, Z2, 0, 0)
Map(MapVertexNum).Vertex(3) = CreateVertex(X, Y, Z, TexSizeX, TexSizeY)
Map(MapVertexNum).Vertex(4) = CreateVertex(X2, Y, Z2, 0, 0)
Map(MapVertexNum).Vertex(5) = CreateVertex(X2, Y, Z, 0, TexSizeY)

'Верхняя часть куба
Map(MapVertexNum).Vertex(6) = CreateVertex(X, Y2, Z, TexSizeX, TexSizeY)
Map(MapVertexNum).Vertex(7) = CreateVertex(X, Y2, Z2, TexSizeX, 0)
Map(MapVertexNum).Vertex(8) = CreateVertex(X2, Y2, Z2, 0, 0)
Map(MapVertexNum).Vertex(9) = CreateVertex(X, Y2, Z, TexSizeX, TexSizeY)
Map(MapVertexNum).Vertex(10) = CreateVertex(X2, Y2, Z2, 0, 0)
Map(MapVertexNum).Vertex(11) = CreateVertex(X2, Y2, Z, 0, TexSizeY)

'Задняя часть куба
Map(MapVertexNum).Vertex(12) = CreateVertex(X, Y, Z, TexSizeX, TexSizeY)
Map(MapVertexNum).Vertex(13) = CreateVertex(X, Y, Z2, TexSizeX, 0)
Map(MapVertexNum).Vertex(14) = CreateVertex(X, Y2, Z2, 0, 0)
Map(MapVertexNum).Vertex(15) = CreateVertex(X, Y, Z, TexSizeX, TexSizeY)
Map(MapVertexNum).Vertex(16) = CreateVertex(X, Y2, Z2, 0, 0)
Map(MapVertexNum).Vertex(17) = CreateVertex(X, Y2, Z, 0, TexSizeY)

'Передняя часть куба
Map(MapVertexNum).Vertex(18) = CreateVertex(X2, Y2, Z, TexSizeX, TexSizeY)
Map(MapVertexNum).Vertex(19) = CreateVertex(X2, Y2, Z2, TexSizeX, 0)
Map(MapVertexNum).Vertex(20) = CreateVertex(X2, Y, Z2, 0, 0)
Map(MapVertexNum).Vertex(21) = CreateVertex(X2, Y2, Z, TexSizeX, TexSizeY)
Map(MapVertexNum).Vertex(22) = CreateVertex(X2, Y, Z2, 0, 0)
Map(MapVertexNum).Vertex(23) = CreateVertex(X2, Y, Z, 0, TexSizeY)

'Левая часть куба
Map(MapVertexNum).Vertex(27) = CreateVertex(X, Y2, Z2, TexSizeX, TexSizeY)
Map(MapVertexNum).Vertex(28) = CreateVertex(X, Y, Z2, TexSizeX, 0)
Map(MapVertexNum).Vertex(29) = CreateVertex(X2, Y, Z2, 0, 0)
Map(MapVertexNum).Vertex(24) = CreateVertex(X, Y2, Z2, TexSizeX, TexSizeY)
Map(MapVertexNum).Vertex(25) = CreateVertex(X2, Y, Z2, 0, 0)
Map(MapVertexNum).Vertex(26) = CreateVertex(X2, Y2, Z2, 0, TexSizeY)

'Правая часть куба
Map(MapVertexNum).Vertex(30) = CreateVertex(X, Y, Z, TexSizeX, TexSizeY)
Map(MapVertexNum).Vertex(31) = CreateVertex(X, Y2, Z, TexSizeX, 0)
Map(MapVertexNum).Vertex(32) = CreateVertex(X2, Y2, Z, 0, 0)
Map(MapVertexNum).Vertex(33) = CreateVertex(X, Y, Z, TexSizeX, TexSizeY)
Map(MapVertexNum).Vertex(34) = CreateVertex(X2, Y2, Z, 0, 0)
Map(MapVertexNum).Vertex(35) = CreateVertex(X2, Y, Z, 0, TexSizeY)


Уточню правильно работает только "Правая часть куба" :?

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4148
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Сообщение Mikle » 10.04.2007 (Вт) 18:34

StimorolD3DX
Ну а в чем проблема?
CreateVertex(X2, Y, Z2, tu, tv)
tu и tv не должны быть одинаковыми у всех шести сторон, подбери нужное, и все.


Вернуться в Мультимедиа

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 19

    TopList