HRESULT OptimizeFaces(
_In_reads_(nFaces * 3) const uint16_t* indices, _In_ size_t nFaces,
_In_reads_(nFaces * 3) const uint32_t* adjacency,
_Out_writes_(nFaces) uint32_t* faceRemap,
_In_ uint32_t vertexCache = OPTFACES_V_DEFAULT,
_In_ uint32_t restart = OPTFACES_R_DEFAULT);
HRESULT OptimizeFaces(
_In_reads_(nFaces * 3) const uint32_t* indices, _In_ size_t nFaces,
_In_reads_(nFaces * 3) const uint32_t* adjacency,
_Out_writes_(nFaces) uint32_t* faceRemap,
_In_ uint32_t vertexCache = OPTFACES_V_DEFAULT,
_In_ uint32_t restart = OPTFACES_R_DEFAULT);
HRESULT OptimizeFacesLRU(
_In_reads_(nFaces * 3) const uint16_t* indices, _In_ size_t nFaces,
_Out_writes_(nFaces) uint32_t* faceRemap,
_In_ uint32_t lruCacheSize = OPTFACES_LRU_DEFAULT);
HRESULT OptimizeFacesLRU(
_In_reads_(nFaces * 3) const uint32_t* indices, _In_ size_t nFaces,
_Out_writes_(nFaces) uint32_t* faceRemap,
_In_ uint32_t lruCacheSize = OPTFACES_LRU_DEFAULT);
HRESULT OptimizeFacesEx(
_In_reads_(nFaces * 3) const uint16_t* indices, _In_ size_t nFaces,
_In_reads_(nFaces * 3) const uint32_t* adjacency,
_In_reads_(nFaces) const uint32_t* attributes,
_Out_writes_(nFaces) uint32_t* faceRemap,
_In_ uint32_t vertexCache = OPTFACES_V_DEFAULT,
_In_ uint32_t restart = OPTFACES_R_DEFAULT);
HRESULT OptimizeFacesEx(
_In_reads_(nFaces * 3) const uint32_t* indices, _In_ size_t nFaces,
_In_reads_(nFaces * 3) const uint32_t* adjacency,
_In_reads_(nFaces) const uint32_t* attributes,
_Out_writes_(nFaces) uint32_t* faceRemap,
_In_ uint32_t vertexCache = OPTFACES_V_DEFAULT,
_In_ uint32_t restart = OPTFACES_R_DEFAULT);
HRESULT OptimizeFacesLRUEx(
_In_reads_(nFaces * 3) const uint16_t* indices, _In_ size_t nFaces,
_In_reads_(nFaces) const uint32_t* attributes,
_Out_writes_(nFaces) uint32_t* faceRemap,
_In_ uint32_t lruCacheSize = OPTFACES_LRU_DEFAULT);
HRESULT OptimizeFacesLRUEx(
_In_reads_(nFaces * 3) const uint32_t* indices, _In_ size_t nFaces,
_In_reads_(nFaces) const uint32_t* attributes,
_Out_writes_(nFaces) uint32_t* faceRemap,
_In_ uint32_t lruCacheSize = OPTFACES_LRU_DEFAULT);
Strictly speaking these APIs don't look up things by index, but without the value we can't add bounds validation for these methods.
These eight functions all take indices but do not have a
nVertsto validate against.Strictly speaking these APIs don't look up things by index, but without the value we can't add bounds validation for these methods.