Compartilhar via


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

XMVector3Unproject