Войти
ПрограммированиеФорумГрафика

Наложение объектов друг на друга

#0
22:42, 5 сен. 2013

Есть вектор ( std::vector) объектов в фабрики. Все они отрисовываюся по очереди, предварительно устанавливая для каждого свою матрицу трансформации, но при наложении друг на друга, они не проникают друг в друга, а один накладывается на другой  по принципу: тот который последним отрисовывался тот и ближе к экрану. Как сделать привычное "застрял в текстурах", "провалился один в другой" и т.д. ?


#1
22:54, 5 сен. 2013

depth test должен быть включен

#2
23:01, 5 сен. 2013

SetRenderState или пользовательская функция?

device_->SetRenderState(D3DRS_ZENABLE, TRUE);  
тестирую...

#3
23:08, 5 сен. 2013

haper
У меня включен D3DRS_ZENABLE но они по прежнему не проваливаются. У меня ортогональная проекция и передняя плоскость отсечения zn = 0 слышал по этому может быть или врядли?
Заполнение d3dp:

+ Показать
#4
23:20, 5 сен. 2013

D3DRS_ZFUNC -> D3DCMP_LESSEQUAL

#5
23:35, 5 сен. 2013

Mr F
Появились артефакты:

+ Показать

Видеокарта GTS250 DirectX 9
#6
23:51, 5 сен. 2013

чистить его тоже нужно

#7
23:56, 5 сен. 2013

Mikey
В конце отрисовки сцены?

#8
23:58, 5 сен. 2013

vbloodv
В начале, вместе с очисткой цвета.

#9
0:10, 6 сен. 2013

Роман Шувалов
Спасибо большое ))
А так-же всем кто откликнулся...

device->Clear( 0, NULL, D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER, D3DCOLOR_XRGB( 0, 0, 255 ), 1.0f, 0 );
Стиль ваших ответов максимально точен и короток, очень профессионально !
ПрограммированиеФорумГрафика

Тема в архиве.

Тема закрыта.