Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
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,
}
{
"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