|
|
@@ -802,14 +802,22 @@ inline void Texture::Read(Value& obj, Asset& r)
|
|
|
namespace {
|
|
|
inline void SetTextureProperties(Asset& r, Value* prop, TextureInfo& out) {
|
|
|
if (r.extensionsUsed.KHR_texture_transform) {
|
|
|
- if (Value *extensions = FindObject(*prop, "extensions")) {
|
|
|
+ out.scale[0] = 1;
|
|
|
+ out.scale[1] = 1;
|
|
|
+ out.offset[0] = 0;
|
|
|
+ out.offset[1] = 0;
|
|
|
+ out.rotation = 0;
|
|
|
+ if (Value *extensions = FindObject(*prop, "extensions")) {
|
|
|
if (Value *pKHR_texture_transform = FindObject(*extensions, "KHR_texture_transform")) {
|
|
|
if (Value *array = FindArray(*pKHR_texture_transform, "offset")) {
|
|
|
out.offset[0] = (*array)[0].GetFloat();
|
|
|
out.offset[1] = (*array)[1].GetFloat();
|
|
|
}
|
|
|
ReadMember(*pKHR_texture_transform, "rotation", out.rotation);
|
|
|
- ReadMember(*pKHR_texture_transform, "scale", *out.scale);
|
|
|
+ if (Value *array = FindArray(*pKHR_texture_transform, "scale")) {
|
|
|
+ out.scale[0] = (*array)[0].GetFloat();
|
|
|
+ out.scale[1] = (*array)[1].GetFloat();
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|