AddTriangle ( surface,v0,v1,v2 )

Параметры

surface - указатель поверхности
v0 - первая вершина треугольника
v1 - вторая вершина треугольника
v2 - третья вершина треугольника

Описание

Добавляет треугольник к поверхности и возвращает индексное число (номер) треугольника, начинающееся от 0.

Параметры v0, v1 и v2 - вершины, созданных с использованием AddVertex.

В зависимости от того, как вершины упорядочены, треугольник будет видим с определенной стороны. Представьте, что вершины треугольника повернуты к Вам и каждая пронумерована v0, v1, v2. Если эти точки, начинающиеся с v0, формируются по часовой стрелке относительно плоскости просмотра, то треугольник будет видим. Если эти точки формируются против часовой стрелки, то треугольник будет невидим.

Причина того, что треугольники односторонние - то, что это сокращает количество треугольников, которые должны отображаться, т.е мы можем видеть только одну сторону поверхности, а другая просто не отображается (типа внутренней части шара бильярда). Однако, если Вы желаете, чтобы треугольник был двусторонним, тогда Вы можете или создать два треугольника, используя тот же самый набор вершин для обеих, но назначая их в противоположном порядке, или Вы можете использовать CopyEntity и FlipMesh вместе.

 

Пример

Graphics3D 640,480
SetBuffer BackBuffer()

mesh = CreateMesh()
surf = CreateSurface(mesh)

v0 = AddVertex (surf, -5,-5,0, 0 ,0)
v1 = AddVertex (surf, 5,-5,0, 1 ,0)
v2 = AddVertex (surf, 0, 5,0, 0.5,1)

tri = AddTriangle (surf,v0,v2,v1)

cam = CreateCamera()
MoveEntity cam, 0,0,-7

RenderWorld
Flip

WaitKey
End

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

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