DirectX 9: источник атрибутов вершинного шейдера - PullRequest
1 голос
/ 10 июля 2009

Это о DirectX 9.

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

Теперь, если используемому вершинному шейдеру нужен какой-то атрибут (например, с D3DDECLUSAGE_NORMAL и UsageIndex 1 или 2), но в предоставленном объявлении вершины этот атрибут не включен (то есть данные, предоставленные в источниках потока, не включить этот атрибут), и вызывается DrawPrimitive, где DirectX получает значение для этого атрибута?

Ответы [ 2 ]

0 голосов
/ 25 октября 2010

"Если данные в потоке вершин содержат меньше компонентов, чем соответствующий тип данных шейдера, отсутствующие компоненты будут инициализированы равными 0 (кроме w, которое инициализировано равным 1)."

Взято из "Графической документации Windows DirectX (август 2009 г.)"

Содержание> HLSL> Руководство по программированию> Написание шейдеров HLSL в Direct3D 9> Различные входы и семантика шейдеров

0 голосов
/ 10 июля 2009

Спецификация DirectX 9 определяет значения по умолчанию для необъявленных атрибутов, обычно (0,0,0,1). Их создает драйвер устройства или графический процессор.

...