Pregunta

Eso es alrededor de DirectX 9.

En caso típico de representación con shader vértice, hay una o más fuentes de corriente fijados en el dispositivo, y el formato de los datos de origen se define utilizando declaración vértice.

Ahora, si un shader de vértice utilizado necesita algún atributo (por ejemplo, uno con D3DDECLUSAGE_NORMAL y UsageIndex 1 o 2), pero declaración vértice que se proporciona no tiene ese atributo incluido (es decir. Los datos proporcionados en las fuentes de corriente no hace incluir ese atributo), y DrawPrimitive se llama, ¿de dónde viene DirectX conseguir el valor para ese atributo?

¿Fue útil?

Solución

"Si los datos en la corriente de vértice contiene menos componentes que el correspondiente tipo de datos de sombreado, los componentes que faltan se inicializa a 0 (excepto para w, que se inicializa a 1)."

Tomado de "Windows DirectX Gráficos Documentación (agosto de 2009)"

Contenido> HLSL> Guía de programación> Escribir shaders HLSL en Direct3D 9> variando Shader entradas y Semántica

Otros consejos

La especificación DirectX 9 define los valores "por defecto" para los atributos no declarados, por lo general (0,0,0,1). El controlador de dispositivo o GPU los crea.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top