Изменение пределов буфера глубины для предварительно преобразованной сетки в DirectX 9.0c - PullRequest
0 голосов
/ 17 апреля 2011

Я пишу небольшое приложение, которое получает предварительно преобразованные вершины и отображает их на экране.

FVF для вершины определяется как (и я не могу ее изменить)

#define MY_FVF D3DFVF_XYZRHW | D3DFVF_DIFFUSE | D3DFVF_SPECULAR | D3DFVF_TEX1

Z-буфер создается через поля D3DPRESENT_PARAMETERS (это можно изменить)

d3dpp.EnableAutoDepthStencil = TRUE;
d3dpp.AutoDepthStencilFormat = D3DFMT_D24S8;

Проблема в том, что я получаю очень короткую плоскость отсечения (каждая сетка обрезается на 1.0f от камеры). Я не могу использовать матричную проекцию (как я уже сказал, у меня уже есть предварительно преобразованные вершины). Есть ли способ установить предел буфера глубины? Или есть какой-нибудь другой способ иметь z-буфер с длинной дальней плоскостью отсечения на предварительно преобразованных вершинах?

1 Ответ

0 голосов
/ 18 апреля 2011

Решено, проблема скрывалась в другом месте: сетка, которую я получал от внешнего источника, была обрезана при 1.0f

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...