?

Log in

No account? Create an account
17 июл, 2008 @ 03:20 DirectX 10 SDK

Автор: Джо | Joe's CG

Чем дальше в изучении DirectX 10 я продвигаюсь, тем больше удивляюсь, насколько Direct3D 10 плохо документирован.

После чтения спеков расширений OpenGL, где всё разжёвано по самое не могу, есть issues и история изменений в документации, чтение DX SDK оставляет какой-то неприятный осадок очень сжатого изложения материала. Информации явно не хватает, и приходится лазить по коду и шейдерам демок из SDK, чтобы понять, как реализовать тот или иной функционал. В спеках расширений OpenGL всё наоборот - обычно всё разжёвано, а для сложных расширений в конце приводится краткий пример их использования.

Кроме того, чем дальше в лес, тем больше я нахожу неточностей в документации.
Вот например раздел Configuring Depth-Stencil Functionality (Direct3D 10), Bind Depth-Stencil Data to the OM Stage:

Bind the depth-stencil resource using a view.

D3D10_DEPTH_STENCIL_VIEW_DESC descDSV;
descDSV.Format = DXGI_FORMAT_D32_FLOAT;
descDSV.ResourceType = D3D10_RESOURCE_TEXTURE2D;
descDSV.Texture2D.FirstArraySlice = 0;
descDSV.Texture2D.ArraySize = 1;
descDSV.Texture2D.MipSlice = 0;

Если попытаться вставить этот код в проект, то он не скомпилируется, т. к. структура D3D10_DEPTH_STENCIL_VIEW_DESC вместо поля ResourceType теперь содержит ViewDimension, а структура D3D10_TEX2D_DSV больше не содержит полей FirstArraySlice и ArraySize. Похоже, документация писалась параллельно с рефакторингом API, а не после того, как он был утверждён окончательно.

Есть и другие неточности, но все их сейчас вспоминать и приводить не хочется.

Ссылка

gdrobot:
Для этой записи комментарии отключены.