Função XMVector3UnprojectStream (directxmath.h)
Transforma um fluxo de vetores 3D do espaço de tela para o espaço do objeto.
Sintaxe
XMFLOAT3 *XM_CALLCONV XMVector3UnprojectStream(
[out] XMFLOAT3 *pOutputStream,
[in] size_t OutputStride,
[in] const XMFLOAT3 *pInputStream,
[in] size_t InputStride,
[in] size_t VectorCount,
[in] float ViewportX,
[in] float ViewportY,
[in] float ViewportWidth,
[in] float ViewportHeight,
[in] float ViewportMinZ,
[in] float ViewportMaxZ,
[in] FXMMATRIX Projection,
[in] CXMMATRIX View,
[in] CXMMATRIX World
) noexcept;
Parâmetros
[out] pOutputStream
Endereço do primeiro XMFLOAT3 no fluxo de destino.
[in] OutputStride
Passo a passo, em bytes, entre vetores no fluxo de destino.
[in] pInputStream
Endereço do primeiro XMFLOAT3 no fluxo a ser transformado. X,Y estão em pixels, enquanto Z é 0.0 (em ViewportMinZ) a 1.0 (em ViewportMaxZ).
[in] InputStride
Passo a passo, em bytes, entre vetores no fluxo de entrada.
[in] VectorCount
Número de vetores a serem transformados.
[in] ViewportX
Coordenada de pixel do canto superior esquerdo do visor. A menos que você queira renderizar para um subconjunto da superfície, esse parâmetro pode ser definido como 0.
[in] ViewportY
Coordenada de pixel do canto superior esquerdo do visor na superfície de destino de renderização. A menos que você queira renderizar para um subconjunto da superfície, esse parâmetro pode ser definido como 0.
[in] ViewportWidth
Dimensão de largura do volume de clipe, em pixels. A menos que você esteja renderizando apenas para um subconjunto da superfície, esse parâmetro deve ser definido como a dimensão de largura da superfície de destino de renderização.
[in] ViewportHeight
Dimensão de altura do volume de clipe, em pixels. A menos que você esteja renderizando apenas para um subconjunto da superfície, esse parâmetro deve ser definido como a dimensão de altura da superfície de destino de renderização.
[in] ViewportMinZ
Junto com ViewportMaxZ, valor que descreve o intervalo de valores de profundidade nos quais uma cena deve ser renderizada, os valores mínimo e máximo do volume de clipe. A maioria dos aplicativos define esse valor como 0,0f. O recorte é executado após a aplicação da matriz de projeção.
[in] ViewportMaxZ
Junto com MinZ, valor que descreve o intervalo de valores de profundidade em que uma cena deve ser renderizada, os valores mínimo e máximo do volume de clipe. A maioria dos aplicativos define esse valor como 1,0f. O recorte é executado após a aplicação da matriz de projeção.
[in] Projection
Matriz de projeção.
[in] View
Exibir matriz.
[in] World
Matriz mundial.
Valor retornado
Retorna o endereço do primeiro XMFLOAT3 no fluxo de destino.
Comentários
Os parâmetros ViewportX, ViewportY, ViewportWidth e ViewportHeight descrevem a posição e as dimensões do visor na superfície de destino de renderização. Normalmente, os aplicativos são renderizados para toda a superfície de destino; ao renderizar em uma superfície 640*480, esses parâmetros devem ser 0, 0, 640 e 480, respectivamente. O ViewportMinZ e o ViewportMaxZ normalmente são definidos como 0,0f e 1,0f, mas podem ser definidos como outros valores para obter efeitos específicos.
Requisitos da plataforma
Microsoft Visual Studio 2010 ou Microsoft Visual Studio 2012 com o SDK do Windows para Windows 8. Com suporte para aplicativos da área de trabalho Win32, aplicativos da Windows Store e aplicativos Windows Phone 8.Requisitos
Plataforma de Destino | Windows |
Cabeçalho | directxmath.h (inclua DirectXMath.h) |
Confira também
Funções de transformação de vetor 3D da Biblioteca DirectXMath