Консультация № 137944
27.05.2008, 04:30
0.00 руб.
0 1 1
Мне нужно отобразить рисунок на заднем плане. Как сделать рисунок задним фоном в DirectX3D?

Заранее благодарю!

Обсуждение

Неизвестный
27.05.2008, 11:36
общий
это ответ
Здравствуйте, Шафиков Альфред Равилович!
Рисунок на заднем плане надо нарисовать в первую очередь, с отключенным буфером глубины. Тогда все последующие объекты сцены будут поверх.
Например, так:
1. Очищаем буфер кадра и буфер глубины (Z-Buffer)
pd3dDevice->Clear(0, NULL, D3DCLEAR_TARGET|D3DCLEAR_ZBUFFER, 0xFF000000, 1.0f, 0);
pd3dDevice->BeginScene();
2. Отключаем буфер глубины (Z-Buffer)
pd3dDevice->SetRenderState(D3DRS_ZENABLE, FALSE);
3. Рисуем прямоугольник с текстурой рисунка во весь экран
4. После этого включаем Z-Buffer и выводим обычным методом всю сцену

ps: буфер кадра можно не очищать, если фоновое изображение будет на весь экран
pps: выводить изображение в п.3 удобнее, если использовать ортогональную проекцию
Форма ответа