Función D3DXSimplifyMesh
Genera una malla simplificada con los pesos proporcionados que se acercan lo más posible al valor MinValue especificado.
Sintaxis
HRESULT D3DXSimplifyMesh(
_In_ LPD3DXMESH pMesh,
_In_ const DWORD *pAdjacency,
_In_ const D3DXATTRIBUTEWEIGHTS *pVertexAttributeWeights,
_In_ const FLOAT *pVertexWeights,
_In_ DWORD MinValue,
_In_ DWORD Options,
_Out_ LPD3DXMESH *ppMesh
);
Parámetros
-
pMesh [in]
-
Tipo: LPD3DXMESH
Puntero a una interfaz ID3DXMesh , que representa la malla de origen.
-
pAdjacency [in]
-
Tipo: const DWORD*
Puntero a una matriz de tres DWORD por cara que especifican los tres vecinos para cada cara de la malla que se va a simplificar.
-
pVertexAttributeWeights [in]
-
Tipo: const D3DXATTRIBUTEWEIGHTS*
Puntero a una estructura D3DXATTRIBUTEWEIGHTS , que contiene el peso de cada componente de vértice. Si este parámetro se establece en NULL, se usa una estructura predeterminada. Vea la sección Comentarios.
-
pVertexWeights [in]
-
Tipo: const FLOAT*
Puntero a una matriz de pesos de vértices. Si este parámetro se establece en NULL, todos los pesos de vértice se establecen en 1,0.
-
MinValue [in]
-
Tipo: DWORD
Número de vértices o caras, según la marca establecida en el parámetro Options , por el que se simplificará la malla de origen.
-
Opciones [in]
-
Tipo: DWORD
Especifica las opciones de simplificación de la malla. Se puede establecer una de las marcas de D3DXMESHSIMP .
-
ppMesh [out]
-
Tipo: LPD3DXMESH*
Dirección de un puntero a una interfaz ID3DXMesh , que representa la malla de simplificación devuelta.
Valor devuelto
Tipo: HRESULT
Si la función se ejecuta correctamente, el valor devuelto es D3D_OK. Si se produce un error en la función, el valor devuelto puede ser uno de los siguientes: D3DERR_INVALIDCALL, D3DXERR_INVALIDDATA, E_OUTOFMEMORY.
Comentarios
Esta función genera una malla que tiene vértices MinValue o caras.
Si el proceso de simplificación no puede reducir la malla a MinValue, la llamada sigue funcionando porque MinValue es un mínimo deseado, no un mínimo absoluto.
Si pVertexAttributeWeights está establecido en NULL, los valores siguientes se asignan a la estructura D3DXATTRIBUTEWEIGHTS predeterminada.
D3DXATTRIBUTEWEIGHTS AttributeWeights;
AttributeWeights.Position = 1.0;
AttributeWeights.Boundary = 1.0;
AttributeWeights.Normal = 1.0;
AttributeWeights.Diffuse = 0.0;
AttributeWeights.Specular = 0.0;
AttributeWeights.Tex[8] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
Esta estructura predeterminada es la que la mayoría de las aplicaciones deben usar porque solo considera el ajuste geométrico y normal. Solo en casos especiales se deben modificar los demás campos de miembro.
Requisitos
Requisito | Value |
---|---|
Encabezado |
|
Biblioteca |
|
Consulte también