DRTVWR-542 WIP Fixed Stride
parent
833a82f859
commit
66ba1c4c8e
|
|
@ -44,18 +44,17 @@ void LLMeshOptimizer::generateShadowIndexBuffer(U16 *destination,
|
|||
const U16 *indices,
|
||||
U64 index_count,
|
||||
const LLVector4a *vertex_positions,
|
||||
U64 vertex_count
|
||||
U64 vertex_count,
|
||||
U64 vertex_positions_stride
|
||||
)
|
||||
{
|
||||
const size_t vertex_stride = 4; // should be either 0 or 4
|
||||
|
||||
meshopt_generateShadowIndexBuffer<unsigned short>(destination,
|
||||
indices,
|
||||
index_count,
|
||||
(const float*)vertex_positions, // verify that it is correct to convert to float
|
||||
vertex_count,
|
||||
sizeof(LLVector4a),
|
||||
vertex_stride
|
||||
vertex_positions_stride
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -65,19 +64,19 @@ U64 LLMeshOptimizer::simplify(U16 *destination,
|
|||
U64 index_count,
|
||||
const LLVector4a *vertex_positions,
|
||||
U64 vertex_count,
|
||||
U64 vertex_positions_stride,
|
||||
U64 target_index_count,
|
||||
F32 target_error,
|
||||
F32* result_error
|
||||
)
|
||||
{
|
||||
const size_t vertex_stride = 4; // should be either 0 or 4
|
||||
|
||||
return meshopt_simplify<unsigned short>(destination,
|
||||
indices,
|
||||
index_count,
|
||||
(const float*)vertex_positions, // verify that it is correct to convert to float
|
||||
(const float*)vertex_positions,
|
||||
vertex_count,
|
||||
vertex_stride,
|
||||
vertex_positions_stride,
|
||||
target_index_count,
|
||||
target_error,
|
||||
result_error
|
||||
|
|
@ -90,18 +89,18 @@ U64 LLMeshOptimizer::simplifySloppy(U16 *destination,
|
|||
U64 index_count,
|
||||
const LLVector4a *vertex_positions,
|
||||
U64 vertex_count,
|
||||
U64 vertex_positions_stride,
|
||||
U64 target_index_count,
|
||||
F32 target_error,
|
||||
F32* result_error
|
||||
)
|
||||
{
|
||||
const size_t vertex_stride = 4; // should be either 0 or 4
|
||||
return meshopt_simplifySloppy<unsigned short>(destination,
|
||||
indices,
|
||||
index_count,
|
||||
(const float*)vertex_positions, // verify that it is correct to convert to float
|
||||
(const float*)vertex_positions,
|
||||
vertex_count,
|
||||
vertex_stride,
|
||||
vertex_positions_stride,
|
||||
target_index_count,
|
||||
target_error,
|
||||
result_error
|
||||
|
|
|
|||
|
|
@ -36,12 +36,13 @@ public:
|
|||
LLMeshOptimizer();
|
||||
~LLMeshOptimizer();
|
||||
|
||||
static void LLMeshOptimizer::generateShadowIndexBuffer(
|
||||
static void generateShadowIndexBuffer(
|
||||
U16 *destination,
|
||||
const U16 *indices,
|
||||
U64 index_count,
|
||||
const LLVector4a *vertex_positions,
|
||||
U64 vertex_count);
|
||||
U64 vertex_count,
|
||||
U64 vertex_positions_stride);
|
||||
|
||||
// returns amount of indices in destiantion
|
||||
// result_error returns how far from original the model is in % if not NULL
|
||||
|
|
@ -51,6 +52,7 @@ public:
|
|||
U64 index_count,
|
||||
const LLVector4a *vertex_positions,
|
||||
U64 vertex_count,
|
||||
U64 vertex_positions_stride,
|
||||
U64 target_index_count,
|
||||
F32 target_error,
|
||||
F32* result_error);
|
||||
|
|
@ -63,6 +65,7 @@ public:
|
|||
U64 index_count,
|
||||
const LLVector4a *vertex_positions,
|
||||
U64 vertex_count,
|
||||
U64 vertex_positions_stride,
|
||||
U64 target_index_count,
|
||||
F32 target_error,
|
||||
F32* result_error);
|
||||
|
|
|
|||
|
|
@ -1869,6 +1869,7 @@ void LLModelPreview::genMeshOptimizerLODs(S32 which_lod, U32 decimation, bool en
|
|||
num_indices,
|
||||
face.mPositions,
|
||||
face.mNumVertices,
|
||||
LLVertexBuffer::sTypeSize[LLVertexBuffer::TYPE_VERTEX],
|
||||
target_indices,
|
||||
lod_error_threshold,
|
||||
&result_code);
|
||||
|
|
@ -1882,6 +1883,7 @@ void LLModelPreview::genMeshOptimizerLODs(S32 which_lod, U32 decimation, bool en
|
|||
num_indices,
|
||||
face.mPositions,
|
||||
face.mNumVertices,
|
||||
LLVertexBuffer::sTypeSize[LLVertexBuffer::TYPE_VERTEX],
|
||||
target_indices,
|
||||
lod_error_threshold,
|
||||
&result_code);
|
||||
|
|
|
|||
Loading…
Reference in New Issue