Función D3DXUVAtlasPartition
Cree un atlas UV para una malla.
Sintaxis
HRESULT D3DXUVAtlasPartition(
_In_ LPD3DXMESH pMesh,
_In_ UINT dwMaxChartNumber,
_In_ FLOAT fMaxStretch,
_In_ DWORD dwTextureIndex,
_In_ const DWORD *pdwAdjacency,
const DWORD *pdwFalseEdges,
_In_ FLOAT *pfIMTArray,
_In_ LPD3DXUVATLASCB pCallback,
_In_ FLOAT fCallbackFrequency,
_In_ LPVOID pUserContent,
_In_ DWORD dwOptions,
_In_ LPD3DXMESH *ppMeshOut,
_Out_ LPD3DXBUFFER pFacePartitioning,
_Out_ LPD3DXBUFFER *ppVertexRemapArray,
LPD3DXBUFFER *ppPartitionResultAdjacency,
_Out_ FLOAT *pfMaxStretchOut,
_Out_ UINT *pdwNumChartsOut
);
Parámetros
-
pMesh [in]
-
Tipo: LPD3DXMESH
Puntero a una malla de entrada (vea ID3DXMesh) que contiene la geometría del objeto para calcular el atlas. Como mínimo, la malla debe contener datos de posición y coordenadas de textura 2D.
-
dwMaxChartNumber [in]
-
Tipo: UINT
Número máximo de gráficos en los que se va a particionar la malla. Vea los comentarios sobre los modos de creación de particiones. Use 0 para indicar a D3DX que el atlas debe parametrizarse en función de la extensión.
-
fMaxStretch [in]
-
Tipo: FLOAT
Cantidad de extensión permitida. 0 significa que no se permite ningún extendido, 1 significa que se puede utilizar cualquier cantidad de extensión.
-
dwTextureIndex [in]
-
Tipo: DWORD
Índice de coordenadas de textura de base cero que identifica qué conjunto de coordenadas de textura se van a usar.
-
pdwAdjacency [in]
-
Tipo: const DWORD*
Puntero a una matriz de datos de adyacencia con 3 DWORD por cara, lo que indica qué triángulos están adyacentes entre sí (vea ID3DXBaseMesh::GenerateAdjacency).
-
pdwFalseEdges
-
Tipo: const DWORD*
Matriz con 3 DWORDS por cara. Cada cara indica si un borde es false o no. Un borde distinto de false se indica mediante -1, cualquier otro valor indica un borde falso. Esto permite la parametrización de una malla de quads donde los bordes a la mitad de cada cuadrilátero no se cortarán.
-
pfIMTArray [in]
-
Tipo: FLOAT*
Puntero a una matriz de tensores de métricas integrados que describe cómo estirar un triángulo (consulte IntegratedMetricTensor).
-
pCallback [in]
-
Tipo: LPD3DXUVATLASCB
Puntero a una función de devolución de llamada (consulte LPD3DXUVATLASCB) que es útil para supervisar el progreso.
-
fCallbackFrequency [in]
-
Tipo: FLOAT
Especifique la frecuencia con la que D3DX llamará a la devolución de llamada; un valor predeterminado razonable es 0,0001f.
-
pUserContent [in]
-
Tipo: LPVOID
Puntero a un valor definido por el usuario que se pasa a la función de devolución de llamada; Normalmente, una aplicación usa para pasar un puntero a una estructura de datos que proporciona información de contexto para la función de devolución de llamada.
-
dwOptions [in]
-
Tipo: DWORD
Especifique la calidad de los gráficos generados mediante la combinación de una o varias marcas D3DXUVATLAS .
-
ppMeshOut [in]
-
Tipo: LPD3DXMESH*
Puntero a la malla creada con el atlas (consulte ID3DXMesh).
-
pFacePartitioning [out]
-
Tipo: LPD3DXBUFFER
Puntero a una matriz de los datos finales de creación de particiones faciales. Cada elemento contiene un DWORD por cara (vea ID3DXBuffer).
-
ppVertexRemapArray [out]
-
Tipo: LPD3DXBUFFER*
Puntero a una matriz de vértices reasignados. Cada elemento de matriz identifica el vértice original del que procede cada vértice final (si el vértice se dividió durante la reasignación). Cada elemento de matriz contiene un DWORD por vértice.
-
ppPartitionResultAdjacency
-
Tipo: LPD3DXBUFFER*
Dirección de un puntero a una interfaz ID3DXBuffer . Este búfer contendrá una matriz de tres DWORD por cara que especifique los tres vecinos para cada cara de la malla de salida. Este parámetro no debe ser NULL, porque la llamada posterior a D3DXUVAtlasPack() la requiere.
-
pfMaxStretchOut [out]
-
Tipo: FLOAT*
Puntero al valor máximo de extensión generado por el algoritmo atlas. El intervalo está comprendido entre 0,0 y 1,0.
-
pdwNumChartsOut [out]
-
Tipo: UINT*
Puntero al número de gráficos creados por el algoritmo atlas. Si dwMaxChartNumber es demasiado bajo, este parámetro devolverá el número mínimo de gráficos necesarios para crear un atlas.
Valor devuelto
Tipo: HRESULT
Si la función se ejecuta correctamente, el valor devuelto es D3D_OK; de lo contrario, el valor es D3DERR_INVALIDCALL.
Comentarios
D3DXUVAtlasPartition es similar a D3DXUVAtlasCreate, salvo que D3DXUVAtlasPartition no realiza el paso de empaquetado final.
Requisitos
Requisito | Value |
---|---|
Encabezado |
|
Biblioteca |
|
Consulte también