in packages/gltf-gen/src/vertexattributes.ts [47:79]
private static _sizeof(compType: AccessorComponentType, type: AccessorType = AccessorType.Scalar): number {
let compSize: number;
switch (compType) {
case AccessorComponentType.Byte:
case AccessorComponentType.UByte:
compSize = 1;
break;
case AccessorComponentType.Short:
case AccessorComponentType.UShort:
compSize = 2;
break;
case AccessorComponentType.UInt:
case AccessorComponentType.Float:
compSize = 4;
break;
default:
compSize = 1;
}
let count: number;
switch (type) {
case AccessorType.Scalar: count = 1; break;
case AccessorType.Vec2: count = 2; break;
case AccessorType.Vec3: count = 3; break;
case AccessorType.Vec4: count = 4; break;
case AccessorType.Mat2: count = 4; break;
case AccessorType.Mat3: count = 9; break;
case AccessorType.Mat4: count = 16; break;
default: count = 1;
}
return compSize * count;
}