C++ C++ C# C# ASP.NET Security ASP.NET Security ASM ASM Скачать Скачать Поиск Поиск Хостинг Хостинг  
  Программа для работы с LPT портом...
Язык: .NET — ©Alexey...
  "ASP.NET Atlas" – AJAX в исполнении Micro...
Язык: .NET — ©legigor@mail.ru...
  "Невытесняющая" Многопоточность...
Язык: C/C++ — ©...
  01.05.2010 — Update World C++: Сборник GPL QT исходников
  15.12.2007 — Весь сайт целиком можно загрузить по ссылкам из раздела Скачать
Хостинг:
Windows 2003, ASP.NET 2.0
бесплатный и от 80 руб./мес


   Отправить письмо
Кулабухов Артем, Беларусь




 14 - Используем буфер глубины (Z-буфер) / Direct3D / Microsoft DirectX

Шаг 14 - Используем буфер глубины (Z-буфер)

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

Перейдем в конструктор главного окна CMainWnd::CMainWnd() найдем там присвоение параметров отображения (d3dpp) и добавим еще два значения:

d3dpp.EnableAutoDepthStencil = true;
d3dpp.AutoDepthStencilFormat = D3DFMT_D32;

Для более подробной информации смотрите "Шаг 11 - Описание структуры D3DPRESENT_PARAMETERS" и какие можно назначать форматы глубины "Шаг 19 - Описание перечисляемого типа D3DFORMAT".

Также добавим в функцию Transform3D перед закрывающей скобкой:

p_d3d_Device->SetRenderState (D3DRS_ZENABLE, D3DZB_TRUE);

Для более подробной информации смотрите "Шаг 54 - Описание перечисляемого типа D3DRENDERSTATETYPE".

И не забудем в функции OnPaint() изменить параметры Clear:

p_d3d_Device->Clear (0, NULL, D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER,
	D3DCOLOR_XRGB (128, 128, 0), 1.0f, 0);

Для более подробной информации смотрите "Шаг 8 - IDirect3DDevice8::Clear". Число 1.0 говорит о том, что мы будем очищать весь буфер глубины.

Собственно и все, мы получили то что хотели, результат на лицо :) Круто, но мало, остальное все в следующих шагах :)


Загрузить проект | | |
Автор Хавов Евгений Валерьевич.
[AD]