Created
June 2, 2020 08:49
-
-
Save AlexApps99/44a457f025a781d28c026c16334f37e5 to your computer and use it in GitHub Desktop.
A demonstration of PR #289 to https://github.com/gltf-rs/gltf (KHR_texture_transform) using https://github.com/KhronosGroup/glTF-Sample-Models/tree/master/2.0/TextureTransformTest
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Gltf { | |
document: Document( | |
Root { | |
accessors: [ | |
Accessor { | |
buffer_view: Some( | |
0, | |
), | |
byte_offset: 0, | |
count: 4, | |
component_type: Valid( | |
GenericComponentType( | |
F32, | |
), | |
), | |
extensions: None, | |
extras: None, | |
type_: Valid( | |
Vec3, | |
), | |
min: Some( | |
Array([ | |
Number( | |
-0.5, | |
), | |
Number( | |
-0.5, | |
), | |
Number( | |
0.0, | |
), | |
]), | |
), | |
max: Some( | |
Array([ | |
Number( | |
0.5, | |
), | |
Number( | |
0.5, | |
), | |
Number( | |
0.0, | |
), | |
]), | |
), | |
name: Some( | |
"Positions", | |
), | |
normalized: false, | |
sparse: None, | |
}, | |
Accessor { | |
buffer_view: Some( | |
1, | |
), | |
byte_offset: 0, | |
count: 4, | |
component_type: Valid( | |
GenericComponentType( | |
F32, | |
), | |
), | |
extensions: None, | |
extras: None, | |
type_: Valid( | |
Vec2, | |
), | |
min: None, | |
max: None, | |
name: Some( | |
"UV0", | |
), | |
normalized: false, | |
sparse: None, | |
}, | |
Accessor { | |
buffer_view: Some( | |
2, | |
), | |
byte_offset: 0, | |
count: 4, | |
component_type: Valid( | |
GenericComponentType( | |
F32, | |
), | |
), | |
extensions: None, | |
extras: None, | |
type_: Valid( | |
Vec2, | |
), | |
min: None, | |
max: None, | |
name: Some( | |
"UV1", | |
), | |
normalized: false, | |
sparse: None, | |
}, | |
Accessor { | |
buffer_view: Some( | |
3, | |
), | |
byte_offset: 0, | |
count: 6, | |
component_type: Valid( | |
GenericComponentType( | |
U32, | |
), | |
), | |
extensions: None, | |
extras: None, | |
type_: Valid( | |
Scalar, | |
), | |
min: None, | |
max: None, | |
name: Some( | |
"Indices", | |
), | |
normalized: false, | |
sparse: None, | |
}, | |
], | |
animations: [], | |
asset: Asset { | |
copyright: None, | |
extensions: None, | |
extras: None, | |
generator: None, | |
min_version: None, | |
version: "2.0", | |
}, | |
buffers: [ | |
Buffer { | |
byte_length: 136, | |
name: None, | |
uri: Some( | |
"TextureTransformTest.bin", | |
), | |
extensions: None, | |
extras: None, | |
}, | |
], | |
buffer_views: [ | |
View { | |
buffer: 0, | |
byte_length: 48, | |
byte_offset: None, | |
byte_stride: None, | |
name: Some( | |
"Positions", | |
), | |
target: None, | |
extensions: None, | |
extras: None, | |
}, | |
View { | |
buffer: 0, | |
byte_length: 32, | |
byte_offset: Some( | |
48, | |
), | |
byte_stride: None, | |
name: Some( | |
"UV0", | |
), | |
target: None, | |
extensions: None, | |
extras: None, | |
}, | |
View { | |
buffer: 0, | |
byte_length: 32, | |
byte_offset: Some( | |
80, | |
), | |
byte_stride: None, | |
name: Some( | |
"UV1", | |
), | |
target: None, | |
extensions: None, | |
extras: None, | |
}, | |
View { | |
buffer: 0, | |
byte_length: 24, | |
byte_offset: Some( | |
112, | |
), | |
byte_stride: None, | |
name: Some( | |
"Indices", | |
), | |
target: None, | |
extensions: None, | |
extras: None, | |
}, | |
], | |
scene: Some( | |
0, | |
), | |
extensions: None, | |
extras: None, | |
extensions_used: [ | |
"KHR_texture_transform", | |
], | |
extensions_required: [], | |
cameras: [], | |
images: [ | |
Image { | |
buffer_view: None, | |
mime_type: None, | |
name: None, | |
uri: Some( | |
"UV.png", | |
), | |
extensions: None, | |
extras: None, | |
}, | |
Image { | |
buffer_view: None, | |
mime_type: None, | |
name: None, | |
uri: Some( | |
"Arrow.png", | |
), | |
extensions: None, | |
extras: None, | |
}, | |
Image { | |
buffer_view: None, | |
mime_type: None, | |
name: None, | |
uri: Some( | |
"Correct.png", | |
), | |
extensions: None, | |
extras: None, | |
}, | |
Image { | |
buffer_view: None, | |
mime_type: None, | |
name: None, | |
uri: Some( | |
"NotSupported.png", | |
), | |
extensions: None, | |
extras: None, | |
}, | |
Image { | |
buffer_view: None, | |
mime_type: None, | |
name: None, | |
uri: Some( | |
"Error.png", | |
), | |
extensions: None, | |
extras: None, | |
}, | |
], | |
materials: [ | |
Material { | |
alpha_cutoff: AlphaCutoff( | |
0.5, | |
), | |
alpha_mode: Valid( | |
Opaque, | |
), | |
double_sided: false, | |
name: Some( | |
"Offset U", | |
), | |
pbr_metallic_roughness: PbrMetallicRoughness { | |
base_color_factor: PbrBaseColorFactor( | |
[ | |
1.0, | |
1.0, | |
1.0, | |
1.0, | |
], | |
), | |
base_color_texture: Some( | |
Info { | |
index: 0, | |
tex_coord: 0, | |
extensions: Some( | |
Info { | |
texture_transform: Some( | |
TextureTransform { | |
offset: TextureTransformOffset( | |
[ | |
0.5, | |
0.0, | |
], | |
), | |
rotation: TextureTransformRotation( | |
0.0, | |
), | |
scale: TextureTransformScale( | |
[ | |
1.0, | |
1.0, | |
], | |
), | |
tex_coord: None, | |
extras: None, | |
}, | |
), | |
}, | |
), | |
extras: None, | |
}, | |
), | |
metallic_factor: StrengthFactor( | |
0.0, | |
), | |
roughness_factor: StrengthFactor( | |
1.0, | |
), | |
metallic_roughness_texture: None, | |
extensions: None, | |
extras: None, | |
}, | |
normal_texture: None, | |
occlusion_texture: None, | |
emissive_texture: None, | |
emissive_factor: EmissiveFactor( | |
[ | |
0.0, | |
0.0, | |
0.0, | |
], | |
), | |
extensions: None, | |
extras: None, | |
}, | |
Material { | |
alpha_cutoff: AlphaCutoff( | |
0.5, | |
), | |
alpha_mode: Valid( | |
Opaque, | |
), | |
double_sided: false, | |
name: Some( | |
"Offset V", | |
), | |
pbr_metallic_roughness: PbrMetallicRoughness { | |
base_color_factor: PbrBaseColorFactor( | |
[ | |
1.0, | |
1.0, | |
1.0, | |
1.0, | |
], | |
), | |
base_color_texture: Some( | |
Info { | |
index: 0, | |
tex_coord: 0, | |
extensions: Some( | |
Info { | |
texture_transform: Some( | |
TextureTransform { | |
offset: TextureTransformOffset( | |
[ | |
0.0, | |
0.5, | |
], | |
), | |
rotation: TextureTransformRotation( | |
0.0, | |
), | |
scale: TextureTransformScale( | |
[ | |
1.0, | |
1.0, | |
], | |
), | |
tex_coord: None, | |
extras: None, | |
}, | |
), | |
}, | |
), | |
extras: None, | |
}, | |
), | |
metallic_factor: StrengthFactor( | |
0.0, | |
), | |
roughness_factor: StrengthFactor( | |
1.0, | |
), | |
metallic_roughness_texture: None, | |
extensions: None, | |
extras: None, | |
}, | |
normal_texture: None, | |
occlusion_texture: None, | |
emissive_texture: None, | |
emissive_factor: EmissiveFactor( | |
[ | |
0.0, | |
0.0, | |
0.0, | |
], | |
), | |
extensions: None, | |
extras: None, | |
}, | |
Material { | |
alpha_cutoff: AlphaCutoff( | |
0.5, | |
), | |
alpha_mode: Valid( | |
Opaque, | |
), | |
double_sided: false, | |
name: Some( | |
"Offset UV", | |
), | |
pbr_metallic_roughness: PbrMetallicRoughness { | |
base_color_factor: PbrBaseColorFactor( | |
[ | |
1.0, | |
1.0, | |
1.0, | |
1.0, | |
], | |
), | |
base_color_texture: Some( | |
Info { | |
index: 0, | |
tex_coord: 0, | |
extensions: Some( | |
Info { | |
texture_transform: Some( | |
TextureTransform { | |
offset: TextureTransformOffset( | |
[ | |
0.5, | |
0.5, | |
], | |
), | |
rotation: TextureTransformRotation( | |
0.0, | |
), | |
scale: TextureTransformScale( | |
[ | |
1.0, | |
1.0, | |
], | |
), | |
tex_coord: None, | |
extras: None, | |
}, | |
), | |
}, | |
), | |
extras: None, | |
}, | |
), | |
metallic_factor: StrengthFactor( | |
0.0, | |
), | |
roughness_factor: StrengthFactor( | |
1.0, | |
), | |
metallic_roughness_texture: None, | |
extensions: None, | |
extras: None, | |
}, | |
normal_texture: None, | |
occlusion_texture: None, | |
emissive_texture: None, | |
emissive_factor: EmissiveFactor( | |
[ | |
0.0, | |
0.0, | |
0.0, | |
], | |
), | |
extensions: None, | |
extras: None, | |
}, | |
Material { | |
alpha_cutoff: AlphaCutoff( | |
0.5, | |
), | |
alpha_mode: Valid( | |
Opaque, | |
), | |
double_sided: false, | |
name: Some( | |
"Rotation", | |
), | |
pbr_metallic_roughness: PbrMetallicRoughness { | |
base_color_factor: PbrBaseColorFactor( | |
[ | |
1.0, | |
1.0, | |
1.0, | |
1.0, | |
], | |
), | |
base_color_texture: Some( | |
Info { | |
index: 1, | |
tex_coord: 0, | |
extensions: Some( | |
Info { | |
texture_transform: Some( | |
TextureTransform { | |
offset: TextureTransformOffset( | |
[ | |
0.0, | |
0.0, | |
], | |
), | |
rotation: TextureTransformRotation( | |
0.3926991, | |
), | |
scale: TextureTransformScale( | |
[ | |
1.0, | |
1.0, | |
], | |
), | |
tex_coord: None, | |
extras: None, | |
}, | |
), | |
}, | |
), | |
extras: None, | |
}, | |
), | |
metallic_factor: StrengthFactor( | |
0.0, | |
), | |
roughness_factor: StrengthFactor( | |
1.0, | |
), | |
metallic_roughness_texture: None, | |
extensions: None, | |
extras: None, | |
}, | |
normal_texture: None, | |
occlusion_texture: None, | |
emissive_texture: None, | |
emissive_factor: EmissiveFactor( | |
[ | |
0.0, | |
0.0, | |
0.0, | |
], | |
), | |
extensions: None, | |
extras: None, | |
}, | |
Material { | |
alpha_cutoff: AlphaCutoff( | |
0.5, | |
), | |
alpha_mode: Valid( | |
Opaque, | |
), | |
double_sided: false, | |
name: Some( | |
"Scale", | |
), | |
pbr_metallic_roughness: PbrMetallicRoughness { | |
base_color_factor: PbrBaseColorFactor( | |
[ | |
1.0, | |
1.0, | |
1.0, | |
1.0, | |
], | |
), | |
base_color_texture: Some( | |
Info { | |
index: 1, | |
tex_coord: 0, | |
extensions: Some( | |
Info { | |
texture_transform: Some( | |
TextureTransform { | |
offset: TextureTransformOffset( | |
[ | |
0.0, | |
0.0, | |
], | |
), | |
rotation: TextureTransformRotation( | |
0.0, | |
), | |
scale: TextureTransformScale( | |
[ | |
1.5, | |
1.5, | |
], | |
), | |
tex_coord: None, | |
extras: None, | |
}, | |
), | |
}, | |
), | |
extras: None, | |
}, | |
), | |
metallic_factor: StrengthFactor( | |
0.0, | |
), | |
roughness_factor: StrengthFactor( | |
1.0, | |
), | |
metallic_roughness_texture: None, | |
extensions: None, | |
extras: None, | |
}, | |
normal_texture: None, | |
occlusion_texture: None, | |
emissive_texture: None, | |
emissive_factor: EmissiveFactor( | |
[ | |
0.0, | |
0.0, | |
0.0, | |
], | |
), | |
extensions: None, | |
extras: None, | |
}, | |
Material { | |
alpha_cutoff: AlphaCutoff( | |
0.5, | |
), | |
alpha_mode: Valid( | |
Opaque, | |
), | |
double_sided: false, | |
name: Some( | |
"All", | |
), | |
pbr_metallic_roughness: PbrMetallicRoughness { | |
base_color_factor: PbrBaseColorFactor( | |
[ | |
1.0, | |
1.0, | |
1.0, | |
1.0, | |
], | |
), | |
base_color_texture: Some( | |
Info { | |
index: 1, | |
tex_coord: 0, | |
extensions: Some( | |
Info { | |
texture_transform: Some( | |
TextureTransform { | |
offset: TextureTransformOffset( | |
[ | |
-0.2, | |
-0.1, | |
], | |
), | |
rotation: TextureTransformRotation( | |
0.3, | |
), | |
scale: TextureTransformScale( | |
[ | |
1.5, | |
1.5, | |
], | |
), | |
tex_coord: None, | |
extras: None, | |
}, | |
), | |
}, | |
), | |
extras: None, | |
}, | |
), | |
metallic_factor: StrengthFactor( | |
0.0, | |
), | |
roughness_factor: StrengthFactor( | |
1.0, | |
), | |
metallic_roughness_texture: None, | |
extensions: None, | |
extras: None, | |
}, | |
normal_texture: None, | |
occlusion_texture: None, | |
emissive_texture: None, | |
emissive_factor: EmissiveFactor( | |
[ | |
0.0, | |
0.0, | |
0.0, | |
], | |
), | |
extensions: None, | |
extras: None, | |
}, | |
Material { | |
alpha_cutoff: AlphaCutoff( | |
0.5, | |
), | |
alpha_mode: Valid( | |
Opaque, | |
), | |
double_sided: false, | |
name: Some( | |
"Correct", | |
), | |
pbr_metallic_roughness: PbrMetallicRoughness { | |
base_color_factor: PbrBaseColorFactor( | |
[ | |
1.0, | |
1.0, | |
1.0, | |
1.0, | |
], | |
), | |
base_color_texture: Some( | |
Info { | |
index: 2, | |
tex_coord: 0, | |
extensions: None, | |
extras: None, | |
}, | |
), | |
metallic_factor: StrengthFactor( | |
0.0, | |
), | |
roughness_factor: StrengthFactor( | |
1.0, | |
), | |
metallic_roughness_texture: None, | |
extensions: None, | |
extras: None, | |
}, | |
normal_texture: None, | |
occlusion_texture: None, | |
emissive_texture: None, | |
emissive_factor: EmissiveFactor( | |
[ | |
0.0, | |
0.0, | |
0.0, | |
], | |
), | |
extensions: None, | |
extras: None, | |
}, | |
Material { | |
alpha_cutoff: AlphaCutoff( | |
0.5, | |
), | |
alpha_mode: Valid( | |
Opaque, | |
), | |
double_sided: false, | |
name: Some( | |
"NotSupported", | |
), | |
pbr_metallic_roughness: PbrMetallicRoughness { | |
base_color_factor: PbrBaseColorFactor( | |
[ | |
1.0, | |
1.0, | |
1.0, | |
1.0, | |
], | |
), | |
base_color_texture: Some( | |
Info { | |
index: 3, | |
tex_coord: 0, | |
extensions: None, | |
extras: None, | |
}, | |
), | |
metallic_factor: StrengthFactor( | |
0.0, | |
), | |
roughness_factor: StrengthFactor( | |
1.0, | |
), | |
metallic_roughness_texture: None, | |
extensions: None, | |
extras: None, | |
}, | |
normal_texture: None, | |
occlusion_texture: None, | |
emissive_texture: None, | |
emissive_factor: EmissiveFactor( | |
[ | |
0.0, | |
0.0, | |
0.0, | |
], | |
), | |
extensions: None, | |
extras: None, | |
}, | |
Material { | |
alpha_cutoff: AlphaCutoff( | |
0.5, | |
), | |
alpha_mode: Valid( | |
Opaque, | |
), | |
double_sided: false, | |
name: Some( | |
"Error", | |
), | |
pbr_metallic_roughness: PbrMetallicRoughness { | |
base_color_factor: PbrBaseColorFactor( | |
[ | |
1.0, | |
1.0, | |
1.0, | |
1.0, | |
], | |
), | |
base_color_texture: Some( | |
Info { | |
index: 4, | |
tex_coord: 0, | |
extensions: None, | |
extras: None, | |
}, | |
), | |
metallic_factor: StrengthFactor( | |
0.0, | |
), | |
roughness_factor: StrengthFactor( | |
1.0, | |
), | |
metallic_roughness_texture: None, | |
extensions: None, | |
extras: None, | |
}, | |
normal_texture: None, | |
occlusion_texture: None, | |
emissive_texture: None, | |
emissive_factor: EmissiveFactor( | |
[ | |
0.0, | |
0.0, | |
0.0, | |
], | |
), | |
extensions: None, | |
extras: None, | |
}, | |
], | |
meshes: [ | |
Mesh { | |
extensions: None, | |
extras: None, | |
name: Some( | |
"Offset U", | |
), | |
primitives: [ | |
Primitive { | |
attributes: { | |
Valid( | |
Positions, | |
): 0, | |
Valid( | |
TexCoords( | |
0, | |
), | |
): 2, | |
}, | |
extensions: None, | |
extras: None, | |
indices: Some( | |
3, | |
), | |
material: Some( | |
0, | |
), | |
mode: Valid( | |
Triangles, | |
), | |
targets: None, | |
}, | |
], | |
weights: None, | |
}, | |
Mesh { | |
extensions: None, | |
extras: None, | |
name: Some( | |
"Offset V", | |
), | |
primitives: [ | |
Primitive { | |
attributes: { | |
Valid( | |
TexCoords( | |
0, | |
), | |
): 2, | |
Valid( | |
Positions, | |
): 0, | |
}, | |
extensions: None, | |
extras: None, | |
indices: Some( | |
3, | |
), | |
material: Some( | |
1, | |
), | |
mode: Valid( | |
Triangles, | |
), | |
targets: None, | |
}, | |
], | |
weights: None, | |
}, | |
Mesh { | |
extensions: None, | |
extras: None, | |
name: Some( | |
"Offset UV", | |
), | |
primitives: [ | |
Primitive { | |
attributes: { | |
Valid( | |
Positions, | |
): 0, | |
Valid( | |
TexCoords( | |
0, | |
), | |
): 2, | |
}, | |
extensions: None, | |
extras: None, | |
indices: Some( | |
3, | |
), | |
material: Some( | |
2, | |
), | |
mode: Valid( | |
Triangles, | |
), | |
targets: None, | |
}, | |
], | |
weights: None, | |
}, | |
Mesh { | |
extensions: None, | |
extras: None, | |
name: Some( | |
"Rotation", | |
), | |
primitives: [ | |
Primitive { | |
attributes: { | |
Valid( | |
TexCoords( | |
0, | |
), | |
): 1, | |
Valid( | |
Positions, | |
): 0, | |
}, | |
extensions: None, | |
extras: None, | |
indices: Some( | |
3, | |
), | |
material: Some( | |
3, | |
), | |
mode: Valid( | |
Triangles, | |
), | |
targets: None, | |
}, | |
], | |
weights: None, | |
}, | |
Mesh { | |
extensions: None, | |
extras: None, | |
name: Some( | |
"Scale", | |
), | |
primitives: [ | |
Primitive { | |
attributes: { | |
Valid( | |
TexCoords( | |
0, | |
), | |
): 1, | |
Valid( | |
Positions, | |
): 0, | |
}, | |
extensions: None, | |
extras: None, | |
indices: Some( | |
3, | |
), | |
material: Some( | |
4, | |
), | |
mode: Valid( | |
Triangles, | |
), | |
targets: None, | |
}, | |
], | |
weights: None, | |
}, | |
Mesh { | |
extensions: None, | |
extras: None, | |
name: Some( | |
"All", | |
), | |
primitives: [ | |
Primitive { | |
attributes: { | |
Valid( | |
TexCoords( | |
0, | |
), | |
): 1, | |
Valid( | |
Positions, | |
): 0, | |
}, | |
extensions: None, | |
extras: None, | |
indices: Some( | |
3, | |
), | |
material: Some( | |
5, | |
), | |
mode: Valid( | |
Triangles, | |
), | |
targets: None, | |
}, | |
], | |
weights: None, | |
}, | |
Mesh { | |
extensions: None, | |
extras: None, | |
name: Some( | |
"Correct Marker", | |
), | |
primitives: [ | |
Primitive { | |
attributes: { | |
Valid( | |
Positions, | |
): 0, | |
Valid( | |
TexCoords( | |
0, | |
), | |
): 1, | |
}, | |
extensions: None, | |
extras: None, | |
indices: Some( | |
3, | |
), | |
material: Some( | |
6, | |
), | |
mode: Valid( | |
Triangles, | |
), | |
targets: None, | |
}, | |
], | |
weights: None, | |
}, | |
Mesh { | |
extensions: None, | |
extras: None, | |
name: Some( | |
"Not Supported Marker", | |
), | |
primitives: [ | |
Primitive { | |
attributes: { | |
Valid( | |
Positions, | |
): 0, | |
Valid( | |
TexCoords( | |
0, | |
), | |
): 1, | |
}, | |
extensions: None, | |
extras: None, | |
indices: Some( | |
3, | |
), | |
material: Some( | |
7, | |
), | |
mode: Valid( | |
Triangles, | |
), | |
targets: None, | |
}, | |
], | |
weights: None, | |
}, | |
Mesh { | |
extensions: None, | |
extras: None, | |
name: Some( | |
"Error Marker", | |
), | |
primitives: [ | |
Primitive { | |
attributes: { | |
Valid( | |
Positions, | |
): 0, | |
Valid( | |
TexCoords( | |
0, | |
), | |
): 1, | |
}, | |
extensions: None, | |
extras: None, | |
indices: Some( | |
3, | |
), | |
material: Some( | |
8, | |
), | |
mode: Valid( | |
Triangles, | |
), | |
targets: None, | |
}, | |
], | |
weights: None, | |
}, | |
], | |
nodes: [ | |
Node { | |
camera: None, | |
children: None, | |
extensions: None, | |
extras: None, | |
matrix: None, | |
mesh: Some( | |
0, | |
), | |
name: Some( | |
"Offset U", | |
), | |
rotation: None, | |
scale: None, | |
translation: Some( | |
[ | |
-1.1, | |
0.55, | |
0.0, | |
], | |
), | |
skin: None, | |
weights: None, | |
}, | |
Node { | |
camera: None, | |
children: None, | |
extensions: None, | |
extras: None, | |
matrix: None, | |
mesh: Some( | |
1, | |
), | |
name: Some( | |
"Offset V", | |
), | |
rotation: None, | |
scale: None, | |
translation: Some( | |
[ | |
0.0, | |
0.55, | |
0.0, | |
], | |
), | |
skin: None, | |
weights: None, | |
}, | |
Node { | |
camera: None, | |
children: None, | |
extensions: None, | |
extras: None, | |
matrix: None, | |
mesh: Some( | |
2, | |
), | |
name: Some( | |
"Offset UV", | |
), | |
rotation: None, | |
scale: None, | |
translation: Some( | |
[ | |
1.1, | |
0.55, | |
0.0, | |
], | |
), | |
skin: None, | |
weights: None, | |
}, | |
Node { | |
camera: None, | |
children: Some( | |
[ | |
4, | |
5, | |
6, | |
], | |
), | |
extensions: None, | |
extras: None, | |
matrix: None, | |
mesh: Some( | |
3, | |
), | |
name: Some( | |
"Rotation", | |
), | |
rotation: None, | |
scale: None, | |
translation: Some( | |
[ | |
-1.1, | |
-0.55, | |
0.0, | |
], | |
), | |
skin: None, | |
weights: None, | |
}, | |
Node { | |
camera: None, | |
children: None, | |
extensions: None, | |
extras: None, | |
matrix: None, | |
mesh: Some( | |
6, | |
), | |
name: Some( | |
"Rotation - Correct", | |
), | |
rotation: None, | |
scale: Some( | |
[ | |
0.15, | |
0.15, | |
0.15, | |
], | |
), | |
translation: Some( | |
[ | |
-0.079048224, | |
-0.5162675, | |
0.01, | |
], | |
), | |
skin: None, | |
weights: None, | |
}, | |
Node { | |
camera: None, | |
children: None, | |
extensions: None, | |
extras: None, | |
matrix: None, | |
mesh: Some( | |
7, | |
), | |
name: Some( | |
"Rotation - Not Supported", | |
), | |
rotation: None, | |
scale: Some( | |
[ | |
0.15, | |
0.15, | |
0.15, | |
], | |
), | |
translation: Some( | |
[ | |
0.27781746, | |
-0.27781746, | |
0.01, | |
], | |
), | |
skin: None, | |
weights: None, | |
}, | |
Node { | |
camera: None, | |
children: None, | |
extensions: None, | |
extras: None, | |
matrix: None, | |
mesh: Some( | |
8, | |
), | |
name: Some( | |
"Rotation - Error", | |
), | |
rotation: None, | |
scale: Some( | |
[ | |
0.15, | |
0.15, | |
0.15, | |
], | |
), | |
translation: Some( | |
[ | |
0.5162675, | |
0.079048224, | |
0.01, | |
], | |
), | |
skin: None, | |
weights: None, | |
}, | |
Node { | |
camera: None, | |
children: Some( | |
[ | |
8, | |
9, | |
], | |
), | |
extensions: None, | |
extras: None, | |
matrix: None, | |
mesh: Some( | |
4, | |
), | |
name: Some( | |
"Scale", | |
), | |
rotation: None, | |
scale: None, | |
translation: Some( | |
[ | |
0.0, | |
-0.55, | |
0.0, | |
], | |
), | |
skin: None, | |
weights: None, | |
}, | |
Node { | |
camera: None, | |
children: None, | |
extensions: None, | |
extras: None, | |
matrix: None, | |
mesh: Some( | |
6, | |
), | |
name: Some( | |
"Scale - Correct", | |
), | |
rotation: None, | |
scale: Some( | |
[ | |
0.1, | |
0.1, | |
0.1, | |
], | |
), | |
translation: Some( | |
[ | |
0.018544972, | |
-0.018544972, | |
0.01, | |
], | |
), | |
skin: None, | |
weights: None, | |
}, | |
Node { | |
camera: None, | |
children: None, | |
extensions: None, | |
extras: None, | |
matrix: None, | |
mesh: Some( | |
7, | |
), | |
name: Some( | |
"Scale - Not Supported", | |
), | |
rotation: None, | |
scale: Some( | |
[ | |
0.15, | |
0.15, | |
0.15, | |
], | |
), | |
translation: Some( | |
[ | |
0.27781746, | |
-0.27781746, | |
0.01, | |
], | |
), | |
skin: None, | |
weights: None, | |
}, | |
Node { | |
camera: None, | |
children: Some( | |
[ | |
11, | |
], | |
), | |
extensions: None, | |
extras: None, | |
matrix: None, | |
mesh: Some( | |
5, | |
), | |
name: Some( | |
"All", | |
), | |
rotation: None, | |
scale: None, | |
translation: Some( | |
[ | |
1.1, | |
-0.55, | |
0.0, | |
], | |
), | |
skin: None, | |
weights: None, | |
}, | |
Node { | |
camera: None, | |
children: None, | |
extensions: None, | |
extras: None, | |
matrix: None, | |
mesh: Some( | |
6, | |
), | |
name: Some( | |
"All - Correct", | |
), | |
rotation: None, | |
scale: Some( | |
[ | |
0.1, | |
0.1, | |
0.1, | |
], | |
), | |
translation: Some( | |
[ | |
-0.07, | |
-0.25, | |
0.01, | |
], | |
), | |
skin: None, | |
weights: None, | |
}, | |
], | |
samplers: [ | |
Sampler { | |
mag_filter: Some( | |
Valid( | |
Linear, | |
), | |
), | |
min_filter: Some( | |
Valid( | |
Linear, | |
), | |
), | |
name: None, | |
wrap_s: Valid( | |
ClampToEdge, | |
), | |
wrap_t: Valid( | |
ClampToEdge, | |
), | |
extensions: None, | |
extras: None, | |
}, | |
], | |
scenes: [ | |
Scene { | |
extensions: None, | |
extras: None, | |
name: None, | |
nodes: [ | |
0, | |
1, | |
2, | |
3, | |
7, | |
10, | |
], | |
}, | |
], | |
skins: [], | |
textures: [ | |
Texture { | |
name: None, | |
sampler: Some( | |
0, | |
), | |
source: 0, | |
extensions: None, | |
extras: None, | |
}, | |
Texture { | |
name: None, | |
sampler: Some( | |
0, | |
), | |
source: 1, | |
extensions: None, | |
extras: None, | |
}, | |
Texture { | |
name: None, | |
sampler: None, | |
source: 2, | |
extensions: None, | |
extras: None, | |
}, | |
Texture { | |
name: None, | |
sampler: None, | |
source: 3, | |
extensions: None, | |
extras: None, | |
}, | |
Texture { | |
name: None, | |
sampler: None, | |
source: 4, | |
extensions: None, | |
extras: None, | |
}, | |
], | |
}, | |
), | |
blob: None, | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"accessors": [ | |
{ | |
"bufferView": 0, | |
"byteOffset": 0, | |
"count": 4, | |
"componentType": 5126, | |
"type": "VEC3", | |
"min": [ | |
-0.5, | |
-0.5, | |
0.0 | |
], | |
"max": [ | |
0.5, | |
0.5, | |
0.0 | |
], | |
"name": "Positions" | |
}, | |
{ | |
"bufferView": 1, | |
"byteOffset": 0, | |
"count": 4, | |
"componentType": 5126, | |
"type": "VEC2", | |
"name": "UV0" | |
}, | |
{ | |
"bufferView": 2, | |
"byteOffset": 0, | |
"count": 4, | |
"componentType": 5126, | |
"type": "VEC2", | |
"name": "UV1" | |
}, | |
{ | |
"bufferView": 3, | |
"byteOffset": 0, | |
"count": 6, | |
"componentType": 5125, | |
"type": "SCALAR", | |
"name": "Indices" | |
} | |
], | |
"asset": { | |
"version": "2.0" | |
}, | |
"buffers": [ | |
{ | |
"byteLength": 136, | |
"uri": "TextureTransformTest.bin" | |
} | |
], | |
"bufferViews": [ | |
{ | |
"buffer": 0, | |
"byteLength": 48, | |
"name": "Positions" | |
}, | |
{ | |
"buffer": 0, | |
"byteLength": 32, | |
"byteOffset": 48, | |
"name": "UV0" | |
}, | |
{ | |
"buffer": 0, | |
"byteLength": 32, | |
"byteOffset": 80, | |
"name": "UV1" | |
}, | |
{ | |
"buffer": 0, | |
"byteLength": 24, | |
"byteOffset": 112, | |
"name": "Indices" | |
} | |
], | |
"scene": 0, | |
"extensionsUsed": [ | |
"KHR_texture_transform" | |
], | |
"images": [ | |
{ | |
"uri": "UV.png" | |
}, | |
{ | |
"uri": "Arrow.png" | |
}, | |
{ | |
"uri": "Correct.png" | |
}, | |
{ | |
"uri": "NotSupported.png" | |
}, | |
{ | |
"uri": "Error.png" | |
} | |
], | |
"materials": [ | |
{ | |
"alphaCutoff": 0.5, | |
"alphaMode": "OPAQUE", | |
"doubleSided": false, | |
"name": "Offset U", | |
"pbrMetallicRoughness": { | |
"baseColorFactor": [ | |
1.0, | |
1.0, | |
1.0, | |
1.0 | |
], | |
"baseColorTexture": { | |
"index": 0, | |
"texCoord": 0, | |
"extensions": { | |
"KHR_texture_transform": { | |
"offset": [ | |
0.5, | |
0.0 | |
], | |
"rotation": 0.0, | |
"scale": [ | |
1.0, | |
1.0 | |
], | |
"texCoord": null | |
} | |
} | |
}, | |
"metallicFactor": 0.0, | |
"roughnessFactor": 1.0 | |
}, | |
"emissiveFactor": [ | |
0.0, | |
0.0, | |
0.0 | |
] | |
}, | |
{ | |
"alphaCutoff": 0.5, | |
"alphaMode": "OPAQUE", | |
"doubleSided": false, | |
"name": "Offset V", | |
"pbrMetallicRoughness": { | |
"baseColorFactor": [ | |
1.0, | |
1.0, | |
1.0, | |
1.0 | |
], | |
"baseColorTexture": { | |
"index": 0, | |
"texCoord": 0, | |
"extensions": { | |
"KHR_texture_transform": { | |
"offset": [ | |
0.0, | |
0.5 | |
], | |
"rotation": 0.0, | |
"scale": [ | |
1.0, | |
1.0 | |
], | |
"texCoord": null | |
} | |
} | |
}, | |
"metallicFactor": 0.0, | |
"roughnessFactor": 1.0 | |
}, | |
"emissiveFactor": [ | |
0.0, | |
0.0, | |
0.0 | |
] | |
}, | |
{ | |
"alphaCutoff": 0.5, | |
"alphaMode": "OPAQUE", | |
"doubleSided": false, | |
"name": "Offset UV", | |
"pbrMetallicRoughness": { | |
"baseColorFactor": [ | |
1.0, | |
1.0, | |
1.0, | |
1.0 | |
], | |
"baseColorTexture": { | |
"index": 0, | |
"texCoord": 0, | |
"extensions": { | |
"KHR_texture_transform": { | |
"offset": [ | |
0.5, | |
0.5 | |
], | |
"rotation": 0.0, | |
"scale": [ | |
1.0, | |
1.0 | |
], | |
"texCoord": null | |
} | |
} | |
}, | |
"metallicFactor": 0.0, | |
"roughnessFactor": 1.0 | |
}, | |
"emissiveFactor": [ | |
0.0, | |
0.0, | |
0.0 | |
] | |
}, | |
{ | |
"alphaCutoff": 0.5, | |
"alphaMode": "OPAQUE", | |
"doubleSided": false, | |
"name": "Rotation", | |
"pbrMetallicRoughness": { | |
"baseColorFactor": [ | |
1.0, | |
1.0, | |
1.0, | |
1.0 | |
], | |
"baseColorTexture": { | |
"index": 1, | |
"texCoord": 0, | |
"extensions": { | |
"KHR_texture_transform": { | |
"offset": [ | |
0.0, | |
0.0 | |
], | |
"rotation": 0.3926991, | |
"scale": [ | |
1.0, | |
1.0 | |
], | |
"texCoord": null | |
} | |
} | |
}, | |
"metallicFactor": 0.0, | |
"roughnessFactor": 1.0 | |
}, | |
"emissiveFactor": [ | |
0.0, | |
0.0, | |
0.0 | |
] | |
}, | |
{ | |
"alphaCutoff": 0.5, | |
"alphaMode": "OPAQUE", | |
"doubleSided": false, | |
"name": "Scale", | |
"pbrMetallicRoughness": { | |
"baseColorFactor": [ | |
1.0, | |
1.0, | |
1.0, | |
1.0 | |
], | |
"baseColorTexture": { | |
"index": 1, | |
"texCoord": 0, | |
"extensions": { | |
"KHR_texture_transform": { | |
"offset": [ | |
0.0, | |
0.0 | |
], | |
"rotation": 0.0, | |
"scale": [ | |
1.5, | |
1.5 | |
], | |
"texCoord": null | |
} | |
} | |
}, | |
"metallicFactor": 0.0, | |
"roughnessFactor": 1.0 | |
}, | |
"emissiveFactor": [ | |
0.0, | |
0.0, | |
0.0 | |
] | |
}, | |
{ | |
"alphaCutoff": 0.5, | |
"alphaMode": "OPAQUE", | |
"doubleSided": false, | |
"name": "All", | |
"pbrMetallicRoughness": { | |
"baseColorFactor": [ | |
1.0, | |
1.0, | |
1.0, | |
1.0 | |
], | |
"baseColorTexture": { | |
"index": 1, | |
"texCoord": 0, | |
"extensions": { | |
"KHR_texture_transform": { | |
"offset": [ | |
-0.2, | |
-0.1 | |
], | |
"rotation": 0.3, | |
"scale": [ | |
1.5, | |
1.5 | |
], | |
"texCoord": null | |
} | |
} | |
}, | |
"metallicFactor": 0.0, | |
"roughnessFactor": 1.0 | |
}, | |
"emissiveFactor": [ | |
0.0, | |
0.0, | |
0.0 | |
] | |
}, | |
{ | |
"alphaCutoff": 0.5, | |
"alphaMode": "OPAQUE", | |
"doubleSided": false, | |
"name": "Correct", | |
"pbrMetallicRoughness": { | |
"baseColorFactor": [ | |
1.0, | |
1.0, | |
1.0, | |
1.0 | |
], | |
"baseColorTexture": { | |
"index": 2, | |
"texCoord": 0 | |
}, | |
"metallicFactor": 0.0, | |
"roughnessFactor": 1.0 | |
}, | |
"emissiveFactor": [ | |
0.0, | |
0.0, | |
0.0 | |
] | |
}, | |
{ | |
"alphaCutoff": 0.5, | |
"alphaMode": "OPAQUE", | |
"doubleSided": false, | |
"name": "NotSupported", | |
"pbrMetallicRoughness": { | |
"baseColorFactor": [ | |
1.0, | |
1.0, | |
1.0, | |
1.0 | |
], | |
"baseColorTexture": { | |
"index": 3, | |
"texCoord": 0 | |
}, | |
"metallicFactor": 0.0, | |
"roughnessFactor": 1.0 | |
}, | |
"emissiveFactor": [ | |
0.0, | |
0.0, | |
0.0 | |
] | |
}, | |
{ | |
"alphaCutoff": 0.5, | |
"alphaMode": "OPAQUE", | |
"doubleSided": false, | |
"name": "Error", | |
"pbrMetallicRoughness": { | |
"baseColorFactor": [ | |
1.0, | |
1.0, | |
1.0, | |
1.0 | |
], | |
"baseColorTexture": { | |
"index": 4, | |
"texCoord": 0 | |
}, | |
"metallicFactor": 0.0, | |
"roughnessFactor": 1.0 | |
}, | |
"emissiveFactor": [ | |
0.0, | |
0.0, | |
0.0 | |
] | |
} | |
], | |
"meshes": [ | |
{ | |
"name": "Offset U", | |
"primitives": [ | |
{ | |
"attributes": { | |
"TEXCOORD_0": 2, | |
"POSITION": 0 | |
}, | |
"indices": 3, | |
"material": 0 | |
} | |
] | |
}, | |
{ | |
"name": "Offset V", | |
"primitives": [ | |
{ | |
"attributes": { | |
"POSITION": 0, | |
"TEXCOORD_0": 2 | |
}, | |
"indices": 3, | |
"material": 1 | |
} | |
] | |
}, | |
{ | |
"name": "Offset UV", | |
"primitives": [ | |
{ | |
"attributes": { | |
"TEXCOORD_0": 2, | |
"POSITION": 0 | |
}, | |
"indices": 3, | |
"material": 2 | |
} | |
] | |
}, | |
{ | |
"name": "Rotation", | |
"primitives": [ | |
{ | |
"attributes": { | |
"POSITION": 0, | |
"TEXCOORD_0": 1 | |
}, | |
"indices": 3, | |
"material": 3 | |
} | |
] | |
}, | |
{ | |
"name": "Scale", | |
"primitives": [ | |
{ | |
"attributes": { | |
"TEXCOORD_0": 1, | |
"POSITION": 0 | |
}, | |
"indices": 3, | |
"material": 4 | |
} | |
] | |
}, | |
{ | |
"name": "All", | |
"primitives": [ | |
{ | |
"attributes": { | |
"POSITION": 0, | |
"TEXCOORD_0": 1 | |
}, | |
"indices": 3, | |
"material": 5 | |
} | |
] | |
}, | |
{ | |
"name": "Correct Marker", | |
"primitives": [ | |
{ | |
"attributes": { | |
"POSITION": 0, | |
"TEXCOORD_0": 1 | |
}, | |
"indices": 3, | |
"material": 6 | |
} | |
] | |
}, | |
{ | |
"name": "Not Supported Marker", | |
"primitives": [ | |
{ | |
"attributes": { | |
"TEXCOORD_0": 1, | |
"POSITION": 0 | |
}, | |
"indices": 3, | |
"material": 7 | |
} | |
] | |
}, | |
{ | |
"name": "Error Marker", | |
"primitives": [ | |
{ | |
"attributes": { | |
"POSITION": 0, | |
"TEXCOORD_0": 1 | |
}, | |
"indices": 3, | |
"material": 8 | |
} | |
] | |
} | |
], | |
"nodes": [ | |
{ | |
"mesh": 0, | |
"name": "Offset U", | |
"translation": [ | |
-1.1, | |
0.55, | |
0.0 | |
] | |
}, | |
{ | |
"mesh": 1, | |
"name": "Offset V", | |
"translation": [ | |
0.0, | |
0.55, | |
0.0 | |
] | |
}, | |
{ | |
"mesh": 2, | |
"name": "Offset UV", | |
"translation": [ | |
1.1, | |
0.55, | |
0.0 | |
] | |
}, | |
{ | |
"children": [ | |
4, | |
5, | |
6 | |
], | |
"mesh": 3, | |
"name": "Rotation", | |
"translation": [ | |
-1.1, | |
-0.55, | |
0.0 | |
] | |
}, | |
{ | |
"mesh": 6, | |
"name": "Rotation - Correct", | |
"scale": [ | |
0.15, | |
0.15, | |
0.15 | |
], | |
"translation": [ | |
-0.079048224, | |
-0.5162675, | |
0.01 | |
] | |
}, | |
{ | |
"mesh": 7, | |
"name": "Rotation - Not Supported", | |
"scale": [ | |
0.15, | |
0.15, | |
0.15 | |
], | |
"translation": [ | |
0.27781746, | |
-0.27781746, | |
0.01 | |
] | |
}, | |
{ | |
"mesh": 8, | |
"name": "Rotation - Error", | |
"scale": [ | |
0.15, | |
0.15, | |
0.15 | |
], | |
"translation": [ | |
0.5162675, | |
0.079048224, | |
0.01 | |
] | |
}, | |
{ | |
"children": [ | |
8, | |
9 | |
], | |
"mesh": 4, | |
"name": "Scale", | |
"translation": [ | |
0.0, | |
-0.55, | |
0.0 | |
] | |
}, | |
{ | |
"mesh": 6, | |
"name": "Scale - Correct", | |
"scale": [ | |
0.1, | |
0.1, | |
0.1 | |
], | |
"translation": [ | |
0.018544972, | |
-0.018544972, | |
0.01 | |
] | |
}, | |
{ | |
"mesh": 7, | |
"name": "Scale - Not Supported", | |
"scale": [ | |
0.15, | |
0.15, | |
0.15 | |
], | |
"translation": [ | |
0.27781746, | |
-0.27781746, | |
0.01 | |
] | |
}, | |
{ | |
"children": [ | |
11 | |
], | |
"mesh": 5, | |
"name": "All", | |
"translation": [ | |
1.1, | |
-0.55, | |
0.0 | |
] | |
}, | |
{ | |
"mesh": 6, | |
"name": "All - Correct", | |
"scale": [ | |
0.1, | |
0.1, | |
0.1 | |
], | |
"translation": [ | |
-0.07, | |
-0.25, | |
0.01 | |
] | |
} | |
], | |
"samplers": [ | |
{ | |
"magFilter": 9729, | |
"minFilter": 9729, | |
"wrapS": 33071, | |
"wrapT": 33071 | |
} | |
], | |
"scenes": [ | |
{ | |
"nodes": [ | |
0, | |
1, | |
2, | |
3, | |
7, | |
10 | |
] | |
} | |
], | |
"textures": [ | |
{ | |
"sampler": 0, | |
"source": 0 | |
}, | |
{ | |
"sampler": 0, | |
"source": 1 | |
}, | |
{ | |
"source": 2 | |
}, | |
{ | |
"source": 3 | |
}, | |
{ | |
"source": 4 | |
} | |
] | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment