Meshoptimizer: Sync with upstream commit f5d83e8
This commit is contained in:
parent
364ea7f280
commit
9f37456743
|
@ -367,7 +367,7 @@ File extracted from upstream release tarball:
|
||||||
## meshoptimizer
|
## meshoptimizer
|
||||||
|
|
||||||
- Upstream: https://github.com/zeux/meshoptimizer
|
- Upstream: https://github.com/zeux/meshoptimizer
|
||||||
- Version: 0.16 (95893c0566646434dd675b708d293fcb2d526d08, 2021)
|
- Version: git (f5d83e879c48f8664783a69b4f50711d27549b66, 2021)
|
||||||
- License: MIT
|
- License: MIT
|
||||||
|
|
||||||
Files extracted from upstream repository:
|
Files extracted from upstream repository:
|
||||||
|
|
|
@ -120,8 +120,13 @@ struct PositionHasher
|
||||||
{
|
{
|
||||||
const unsigned int* key = reinterpret_cast<const unsigned int*>(vertex_positions + index * vertex_stride_float);
|
const unsigned int* key = reinterpret_cast<const unsigned int*>(vertex_positions + index * vertex_stride_float);
|
||||||
|
|
||||||
|
// scramble bits to make sure that integer coordinates have entropy in lower bits
|
||||||
|
unsigned int x = key[0] ^ (key[0] >> 17);
|
||||||
|
unsigned int y = key[1] ^ (key[1] >> 17);
|
||||||
|
unsigned int z = key[2] ^ (key[2] >> 17);
|
||||||
|
|
||||||
// Optimized Spatial Hashing for Collision Detection of Deformable Objects
|
// Optimized Spatial Hashing for Collision Detection of Deformable Objects
|
||||||
return (key[0] * 73856093) ^ (key[1] * 19349663) ^ (key[2] * 83492791);
|
return (x * 73856093) ^ (y * 19349663) ^ (z * 83492791);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool equal(unsigned int lhs, unsigned int rhs) const
|
bool equal(unsigned int lhs, unsigned int rhs) const
|
||||||
|
@ -1160,7 +1165,7 @@ struct IdHasher
|
||||||
|
|
||||||
struct TriangleHasher
|
struct TriangleHasher
|
||||||
{
|
{
|
||||||
unsigned int* indices;
|
const unsigned int* indices;
|
||||||
|
|
||||||
size_t hash(unsigned int i) const
|
size_t hash(unsigned int i) const
|
||||||
{
|
{
|
||||||
|
@ -1375,9 +1380,10 @@ static float interpolate(float y, float x0, float y0, float x1, float y1, float
|
||||||
} // namespace meshopt
|
} // namespace meshopt
|
||||||
|
|
||||||
#ifndef NDEBUG
|
#ifndef NDEBUG
|
||||||
unsigned char* meshopt_simplifyDebugKind = 0;
|
// Note: this is only exposed for debug visualization purposes; do *not* use these in debug builds
|
||||||
unsigned int* meshopt_simplifyDebugLoop = 0;
|
MESHOPTIMIZER_API unsigned char* meshopt_simplifyDebugKind = 0;
|
||||||
unsigned int* meshopt_simplifyDebugLoopBack = 0;
|
MESHOPTIMIZER_API unsigned int* meshopt_simplifyDebugLoop = 0;
|
||||||
|
MESHOPTIMIZER_API unsigned int* meshopt_simplifyDebugLoopBack = 0;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
size_t meshopt_simplify(unsigned int* destination, const unsigned int* indices, size_t index_count, const float* vertex_positions_data, size_t vertex_count, size_t vertex_positions_stride, size_t target_index_count, float target_error, float* out_result_error)
|
size_t meshopt_simplify(unsigned int* destination, const unsigned int* indices, size_t index_count, const float* vertex_positions_data, size_t vertex_count, size_t vertex_positions_stride, size_t target_index_count, float target_error, float* out_result_error)
|
||||||
|
|
Loading…
Reference in New Issue