MCPcopy Create free account
hub / github.com/CesiumGS/cesium-native / decodeBufferView

Function decodeBufferView

CesiumGltfReader/src/decodeMeshOpt.cpp:82–109  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

80}
81
82int decodeBufferView(
83 void* data,
84 const std::span<const std::byte>& buffer,
85 const ExtensionBufferViewExtMeshoptCompression& meshOpt) {
86 if (meshOpt.mode ==
87 ExtensionBufferViewExtMeshoptCompression::Mode::ATTRIBUTES) {
88 return meshopt_decodeVertexBuffer(
89 data,
90 static_cast<size_t>(meshOpt.count),
91 static_cast<size_t>(meshOpt.byteStride),
92 reinterpret_cast<const unsigned char*>(buffer.data()),
93 buffer.size());
94 } else {
95 if (meshOpt.byteStride == sizeof(std::uint16_t)) {
96 return decodeIndices(
97 reinterpret_cast<std::uint16_t*>(data),
98 buffer,
99 meshOpt);
100 } else if (meshOpt.byteStride == sizeof(std::uint32_t)) {
101 return decodeIndices(
102 reinterpret_cast<std::uint32_t*>(data),
103 buffer,
104 meshOpt);
105 } else {
106 return -1;
107 }
108 }
109}
110} // namespace
111
112void decodeMeshOpt(Model& model, CesiumGltfReader::GltfReaderResult& readGltf) {

Callers 1

decodeMeshOptFunction · 0.85

Calls 3

decodeIndicesFunction · 0.70
dataMethod · 0.45
sizeMethod · 0.45

Tested by

no test coverage detected