From 74aa6afb05c3cb71e5833ab98221f6af0a48b31d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E6=9B=BE?= <442739441@qq.com> Date: Thu, 7 Feb 2019 10:55:48 +0800 Subject: [PATCH] Update PrimitiveData.hpp --- src/gltf/properties/PrimitiveData.hpp | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/src/gltf/properties/PrimitiveData.hpp b/src/gltf/properties/PrimitiveData.hpp index 16bf7e9..7b305cd 100644 --- a/src/gltf/properties/PrimitiveData.hpp +++ b/src/gltf/properties/PrimitiveData.hpp @@ -49,15 +49,19 @@ struct PrimitiveData { componentCount * draco::DataTypeLength(attribute.dracoComponentType), 0); - const int dracoAttId = dracoMesh->AddAttribute(att, true, attribArr.size()); + const int dracoAttId = dracoMesh->AddAttribute(att, false, attribArr.size()); draco::PointAttribute* attPtr = dracoMesh->attribute(dracoAttId); - std::vector buf(sizeof(T)); - for (uint32_t ii = 0; ii < attribArr.size(); ii++) { - uint8_t* ptr = &buf[0]; - attribute.glType.write(ptr, attribArr[ii]); - attPtr->SetAttributeValue(attPtr->mapped_index(draco::PointIndex(ii)), ptr); + //std::vector buf(sizeof(T)); + //for (uint32_t ii = 0; ii < attribArr.size(); ii++) { + // uint8_t* ptr = &buf[0]; + // attribute.glType.write(ptr, attribArr[ii]); + // attPtr->SetAttributeValue(draco::AttributeValueIndex(ii)), ptr); + //} + for (uint32_t ii = 0; ii < attribArr.size(); ii++) { + attPtr->SetAttributeValue(draco::AttributeValueIndex(ii), attribArr[ii].data_); } + dracoAttributes[attribute.gltfName] = dracoAttId; }