draco icon indicating copy to clipboard operation
draco copied to clipboard

how to correctly close deduplication

Open MovingZ opened this issue 3 years ago • 7 comments

I try close deduplication by removing the definition DRACO_ATTRIBUTE_INDICES_DEDUPLICATION_SUPPORTED and DRACO_ATTRIBUTE_VALUES_DEDUPLICATION_SUPPORTED

but I get bad compress result: I set qp - 11 qt - 10 qn -0 qg - 0 the compress seems ok when cl is between -5 to -10. when cl is set to -0 to -4 I get very big .dro file, about 106% the size of the original file

MovingZ avatar Apr 08 '22 08:04 MovingZ

@MovingZ Are you using draco_encoder and passing negative flag values? Please note the text from the application usage:

Use negative quantization values to skip the specified attribute

tomfinegan avatar Apr 19 '22 17:04 tomfinegan

@MovingZ Are you using draco_encoder and passing negative flag values? Please note the text from the application usage:

Use negative quantization values to skip the specified attribute

Already solved the problem by set deduplicate_input_values_ of obj_decoder to false. Thanks

By the way, can different attributes share the same point mapping?

MovingZ avatar Apr 26 '22 08:04 MovingZ

I made a new decoder for the my mesh data format. Compared with LZMA, the average compress rate is 32%, but the rate of some meshes is only about 9%. I wonder how I can get a better compression.

MovingZ avatar Apr 26 '22 09:04 MovingZ

I use SetUseBuiltInAttributeCompression(false) and use LZMA on the top of draco. It works better, but still not good enough on some meshes, compared with using LZMA directly

MovingZ avatar Apr 27 '22 02:04 MovingZ

Can you share your model and all options that you used to compress it?

ondys avatar Apr 27 '22 19:04 ondys

For some reason I can't share the model. But I can give the model info and data format:

IndexCount: 12786 VertexCount: 12690 VertexFormat: P3F_N4B_T2F + T4H_B4H + W4B_I4B (7 attributes: P3F - position, T2F - texcoord, others(including normal) - generic

The description of the mesh is stored in another xml file, the mesh data ONLY include mesh indices and vertices.

A: The mesh data is a bin file with raw data: indices and vertices. I use LZMA to compress it.

B: I write a new encoder to read my xml file and mesh data file. put those raw data into 7 draco attributes. Each attributes has the same indices map. Here are the options I encode with draco: -cl 6 -qp 11 -qt 10 -qn 0 -qg 11 (because my normal data is not float, I put it into generic)

After some tests, I also set SetUseBuiltInAttributeCompression(false) and use LZMA on the top of draco to improve the compression

MovingZ avatar Apr 28 '22 01:04 MovingZ

image

MovingZ avatar Apr 28 '22 01:04 MovingZ