Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Не рисуется треугольник=(

7.0K
21 сентября 2007 года
pink master
79 / / 21.10.2006
Только начинаю учить. На уроке с преобразованными вершинами
В программе я вывожу квадрат из 2ух треугольников.
Вот вершины:
CUSTOMVERTEX Vershin[] =
{
{ 300.0f, 300.0f, 0.5f, 1.0f, 0x00000fff, }, // А
{ 150.0f, 300.0f, 0.5f, 1.0f, 0x00000fff, }, // В
{ 150.0f, 150.0f, 0.5f, 1.0f, 0x00000fff, }, // С
{ 150.0f, 150.0f, 0.5f, 1.0f, 0x00000fff, }, // D
{ 300.0f, 150.0f, 0.5f, 1.0f, 0x00000fff, }, // E
{ 300.0f, 300.0f, 0.5f, 1.0f, 0x00000fff, }, // F
// x y z rhw цвет

};

Далее создаю буфер и записываю в них вершины. Вывожу с помощью функции:
pDirect3DDevice->SetStreamSource( 0, pBufferVershin, 0, sizeof(CUSTOMVERTEX) );
pDirect3DDevice->SetFVF( D3DFVF_CUSTOMVERTEX );
pDirect3DDevice->DrawPrimitive( D3DPT_TRIANGLELIST , 0, 2 );
Но если поменять точки Д и Е местами, то рисуется только один треугольник(первый). Не могу этого понять. В чем разница???
353
22 сентября 2007 года
Nixus
840 / / 04.01.2007
Причина в backface culling.
7.0K
23 сентября 2007 года
pink master
79 / / 21.10.2006
То есть он рисуется, но потом отсекается? А почему=)?
391
23 сентября 2007 года
Archie
562 / / 03.02.2005
Потому что у него нормаль направлена от камеры => это не лицевая грань. Вектор нормали задается порядком указания вершин треугольника.
7.0K
23 сентября 2007 года
pink master
79 / / 21.10.2006
Спасибо=) Стало понятней.
18K
11 октября 2007 года
FerdoPerdoz@
13 / / 24.03.2007
а в каком порядке дожны быть вершины? если вектор нормали (0,0,-1), для обратной поверхности(0,0,1) и чтобы было видно видимую и обратную поверхность?:(
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог