Initial plan for intensive parser unit tester and LLVM fuzzer

Co-authored-by: syoyo <18676+syoyo@users.noreply.github.com>
This commit is contained in:
copilot-swe-agent[bot]
2026-03-19 00:36:24 +00:00
parent 99720ea0cc
commit df3efc6453
18 changed files with 1729 additions and 0 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 84 B

BIN
build/ issue-236.bin Normal file

Binary file not shown.

151
build/ issue-236.gltf Normal file
View File

@@ -0,0 +1,151 @@
{
"accessors": [
{
"bufferView": 0,
"componentType": 5121,
"count": 36,
"min": [
0
],
"max": [
23
],
"type": "SCALAR"
},
{
"bufferView": 1,
"componentType": 5126,
"count": 24,
"min": [
-0.5,
-0.5,
-0.5
],
"max": [
0.5,
0.5,
0.5
],
"type": "VEC3"
},
{
"bufferView": 2,
"componentType": 5126,
"count": 24,
"min": [
-1.0,
-1.0,
-1.0
],
"max": [
1.0,
1.0,
1.0
],
"type": "VEC3"
},
{
"bufferView": 3,
"componentType": 5126,
"count": 24,
"min": [
0.0,
0.0
],
"max": [
1.0,
1.0
],
"type": "VEC2"
}
],
"asset": {
"version": "2.0"
},
"bufferViews": [
{
"buffer": 0,
"byteLength": 36,
"target": 34963
},
{
"buffer": 0,
"byteLength": 288,
"byteOffset": 36,
"target": 34962
},
{
"buffer": 0,
"byteLength": 288,
"byteOffset": 324,
"target": 34962
},
{
"buffer": 0,
"byteLength": 192,
"byteOffset": 612,
"target": 34962
}
],
"materials": [
{
"pbrMetallicRoughness": {
"baseColorTexture": {
"index": 0
}
}
}
],
"meshes": [
{
"primitives": [
{
"attributes": {
"NORMAL": 2,
"POSITION": 1,
"TEXCOORD_0": 3
},
"indices": 0,
"material": 0,
"mode": 4
}
]
}
],
"nodes": [
{
"mesh": 0
}
],
"scene": 0,
"scenes": [
{
"nodes": [
0
]
}
],
"textures": [
{
"sampler": 0,
"source": 0
}
],
"samplers": [
{
"wrapS": 33071,
"wrapT": 33071
}
],
"buffers": [
{
"byteLength": 804,
"uri": "%20issue-236.bin"
}
],
"images": [
{
"uri": "%202x2%20image%20%20has%20multiple%20%20%20%20%20%20spaces.png"
}
]
}

BIN
build/Cube.bin Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

BIN
build/Cube.glb Normal file

Binary file not shown.

190
build/Cube.gltf Normal file
View File

@@ -0,0 +1,190 @@
{
"accessors": [
{
"bufferView": 0,
"componentType": 5123,
"count": 36,
"min": [
0
],
"max": [
35
],
"type": "SCALAR"
},
{
"bufferView": 1,
"componentType": 5126,
"count": 36,
"min": [
-1.0,
-1.0,
-1.0
],
"max": [
1.0,
1.0,
1.0000009999999999
],
"type": "VEC3"
},
{
"bufferView": 2,
"componentType": 5126,
"count": 36,
"min": [
-1.0,
-1.0,
-1.0
],
"max": [
1.0,
1.0,
1.0
],
"type": "VEC3"
},
{
"bufferView": 3,
"componentType": 5126,
"count": 36,
"min": [
0.0,
-0.0,
-1.0,
-1.0
],
"max": [
1.0,
-0.0,
-0.0,
1.0
],
"type": "VEC4"
},
{
"bufferView": 4,
"componentType": 5126,
"count": 36,
"min": [
-1.0,
-1.0
],
"max": [
1.0,
1.0
],
"type": "VEC2"
}
],
"asset": {
"generator": "VKTS glTF 2.0 exporter",
"version": "2.0"
},
"bufferViews": [
{
"buffer": 0,
"byteLength": 72,
"target": 34963
},
{
"buffer": 0,
"byteLength": 432,
"byteOffset": 72,
"target": 34962
},
{
"buffer": 0,
"byteLength": 432,
"byteOffset": 504,
"target": 34962
},
{
"buffer": 0,
"byteLength": 576,
"byteOffset": 936,
"target": 34962
},
{
"buffer": 0,
"byteLength": 288,
"byteOffset": 1512,
"target": 34962
}
],
"materials": [
{
"name": "Cube",
"pbrMetallicRoughness": {
"baseColorTexture": {
"index": 0
},
"metallicRoughnessTexture": {
"index": 1
}
}
}
],
"meshes": [
{
"primitives": [
{
"attributes": {
"NORMAL": 2,
"POSITION": 1,
"TANGENT": 3,
"TEXCOORD_0": 4
},
"indices": 0,
"material": 0,
"mode": 4
}
],
"name": "Cube"
}
],
"nodes": [
{
"mesh": 0,
"name": "Cube"
}
],
"scene": 0,
"scenes": [
{
"nodes": [
0
]
}
],
"textures": [
{
"sampler": 0,
"source": 0
},
{
"sampler": 0,
"source": 1
}
],
"samplers": [
{
"wrapS": 10497,
"wrapT": 10497
}
],
"buffers": [
{
"byteLength": 1800,
"uri": "Cube.bin"
}
],
"images": [
{
"uri": "Cube_BaseColor.png"
},
{
"uri": "Cube_MetallicRoughness.png"
}
]
}

BIN
build/Cube_BaseColor.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 871 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 319 B

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,190 @@
{
"accessors": [
{
"bufferView": 0,
"componentType": 5123,
"count": 36,
"min": [
0
],
"max": [
35
],
"type": "SCALAR"
},
{
"bufferView": 1,
"componentType": 5126,
"count": 36,
"min": [
-1.0,
-1.0,
-1.0
],
"max": [
1.0,
1.0,
1.0000009999999999
],
"type": "VEC3"
},
{
"bufferView": 2,
"componentType": 5126,
"count": 36,
"min": [
-1.0,
-1.0,
-1.0
],
"max": [
1.0,
1.0,
1.0
],
"type": "VEC3"
},
{
"bufferView": 3,
"componentType": 5126,
"count": 36,
"min": [
0.0,
-0.0,
-1.0,
-1.0
],
"max": [
1.0,
-0.0,
-0.0,
1.0
],
"type": "VEC4"
},
{
"bufferView": 4,
"componentType": 5126,
"count": 36,
"min": [
-1.0,
-1.0
],
"max": [
1.0,
1.0
],
"type": "VEC2"
}
],
"asset": {
"generator": "VKTS glTF 2.0 exporter",
"version": "2.0"
},
"bufferViews": [
{
"buffer": 0,
"byteLength": 72,
"target": 34963
},
{
"buffer": 0,
"byteLength": 432,
"byteOffset": 72,
"target": 34962
},
{
"buffer": 0,
"byteLength": 432,
"byteOffset": 504,
"target": 34962
},
{
"buffer": 0,
"byteLength": 576,
"byteOffset": 936,
"target": 34962
},
{
"buffer": 0,
"byteLength": 288,
"byteOffset": 1512,
"target": 34962
}
],
"materials": [
{
"name": "Cube",
"pbrMetallicRoughness": {
"baseColorTexture": {
"index": 0
},
"metallicRoughnessTexture": {
"index": 1
}
}
}
],
"meshes": [
{
"primitives": [
{
"attributes": {
"NORMAL": 2,
"POSITION": 1,
"TANGENT": 3,
"TEXCOORD_0": 4
},
"indices": 0,
"material": 0,
"mode": 4
}
],
"name": "Cube"
}
],
"nodes": [
{
"mesh": 0,
"name": "Cube"
}
],
"scene": 0,
"scenes": [
{
"nodes": [
0
]
}
],
"textures": [
{
"sampler": 0,
"source": 0
},
{
"sampler": 0,
"source": 1
}
],
"samplers": [
{
"wrapS": 10497,
"wrapT": 10497
}
],
"buffers": [
{
"byteLength": 1800,
"uri": "Cube.bin"
}
],
"images": [
{
"uri": "Cube_BaseColor.png"
},
{
"uri": "Cube_MetallicRoughness.png"
}
]
}

340
build/Makefile Normal file
View File

@@ -0,0 +1,340 @@
# CMAKE generated file: DO NOT EDIT!
# Generated by "Unix Makefiles" Generator, CMake Version 3.31
# Default target executed when no arguments are given to make.
default_target: all
.PHONY : default_target
# Allow only one "make -f Makefile2" at a time, but pass parallelism.
.NOTPARALLEL:
#=============================================================================
# Special targets provided by cmake.
# Disable implicit rules so canonical targets will work.
.SUFFIXES:
# Disable VCS-based implicit rules.
% : %,v
# Disable VCS-based implicit rules.
% : RCS/%
# Disable VCS-based implicit rules.
% : RCS/%,v
# Disable VCS-based implicit rules.
% : SCCS/s.%
# Disable VCS-based implicit rules.
% : s.%
.SUFFIXES: .hpux_make_needs_suffix_list
# Command-line flag to silence nested $(MAKE).
$(VERBOSE)MAKESILENT = -s
#Suppress display of executed commands.
$(VERBOSE).SILENT:
# A target that is always out of date.
cmake_force:
.PHONY : cmake_force
#=============================================================================
# Set environment variables for the build.
# The shell in which to execute make rules.
SHELL = /bin/sh
# The CMake executable.
CMAKE_COMMAND = /usr/local/bin/cmake
# The command to remove a file.
RM = /usr/local/bin/cmake -E rm -f
# Escaping for special characters.
EQUALS = =
# The top-level source directory on which CMake was run.
CMAKE_SOURCE_DIR = /home/runner/work/tinygltf/tinygltf
# The top-level build directory on which CMake was run.
CMAKE_BINARY_DIR = /home/runner/work/tinygltf/tinygltf/build
#=============================================================================
# Targets provided globally by CMake.
# Special rule for the target test
test:
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Running tests..."
/usr/local/bin/ctest --force-new-ctest-process $(ARGS)
.PHONY : test
# Special rule for the target test
test/fast: test
.PHONY : test/fast
# Special rule for the target edit_cache
edit_cache:
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Running CMake cache editor..."
/usr/local/bin/ccmake -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
.PHONY : edit_cache
# Special rule for the target edit_cache
edit_cache/fast: edit_cache
.PHONY : edit_cache/fast
# Special rule for the target rebuild_cache
rebuild_cache:
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Running CMake to regenerate build system..."
/usr/local/bin/cmake --regenerate-during-build -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
.PHONY : rebuild_cache
# Special rule for the target rebuild_cache
rebuild_cache/fast: rebuild_cache
.PHONY : rebuild_cache/fast
# Special rule for the target list_install_components
list_install_components:
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Available install components are: \"Unspecified\""
.PHONY : list_install_components
# Special rule for the target list_install_components
list_install_components/fast: list_install_components
.PHONY : list_install_components/fast
# Special rule for the target install
install: preinstall
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Install the project..."
/usr/local/bin/cmake -P cmake_install.cmake
.PHONY : install
# Special rule for the target install
install/fast: preinstall/fast
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Install the project..."
/usr/local/bin/cmake -P cmake_install.cmake
.PHONY : install/fast
# Special rule for the target install/local
install/local: preinstall
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Installing only the local directory..."
/usr/local/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake
.PHONY : install/local
# Special rule for the target install/local
install/local/fast: preinstall/fast
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Installing only the local directory..."
/usr/local/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake
.PHONY : install/local/fast
# Special rule for the target install/strip
install/strip: preinstall
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Installing the project stripped..."
/usr/local/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake
.PHONY : install/strip
# Special rule for the target install/strip
install/strip/fast: preinstall/fast
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Installing the project stripped..."
/usr/local/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake
.PHONY : install/strip/fast
# The main all target
all: cmake_check_build_system
$(CMAKE_COMMAND) -E cmake_progress_start /home/runner/work/tinygltf/tinygltf/build/CMakeFiles /home/runner/work/tinygltf/tinygltf/build//CMakeFiles/progress.marks
$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 all
$(CMAKE_COMMAND) -E cmake_progress_start /home/runner/work/tinygltf/tinygltf/build/CMakeFiles 0
.PHONY : all
# The main clean target
clean:
$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 clean
.PHONY : clean
# The main clean target
clean/fast: clean
.PHONY : clean/fast
# Prepare targets for installation.
preinstall: all
$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 preinstall
.PHONY : preinstall
# Prepare targets for installation.
preinstall/fast:
$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 preinstall
.PHONY : preinstall/fast
# clear depends
depend:
$(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1
.PHONY : depend
#=============================================================================
# Target rules for targets named loader_example
# Build rule for target.
loader_example: cmake_check_build_system
$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 loader_example
.PHONY : loader_example
# fast build rule for target.
loader_example/fast:
$(MAKE) $(MAKESILENT) -f CMakeFiles/loader_example.dir/build.make CMakeFiles/loader_example.dir/build
.PHONY : loader_example/fast
#=============================================================================
# Target rules for targets named tester
# Build rule for target.
tester: cmake_check_build_system
$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 tester
.PHONY : tester
# fast build rule for target.
tester/fast:
$(MAKE) $(MAKESILENT) -f CMakeFiles/tester.dir/build.make CMakeFiles/tester.dir/build
.PHONY : tester/fast
#=============================================================================
# Target rules for targets named tester_customjson
# Build rule for target.
tester_customjson: cmake_check_build_system
$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 tester_customjson
.PHONY : tester_customjson
# fast build rule for target.
tester_customjson/fast:
$(MAKE) $(MAKESILENT) -f CMakeFiles/tester_customjson.dir/build.make CMakeFiles/tester_customjson.dir/build
.PHONY : tester_customjson/fast
#=============================================================================
# Target rules for targets named tinygltf
# Build rule for target.
tinygltf: cmake_check_build_system
$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 tinygltf
.PHONY : tinygltf
# fast build rule for target.
tinygltf/fast:
$(MAKE) $(MAKESILENT) -f CMakeFiles/tinygltf.dir/build.make CMakeFiles/tinygltf.dir/build
.PHONY : tinygltf/fast
loader_example.o: loader_example.cc.o
.PHONY : loader_example.o
# target to build an object file
loader_example.cc.o:
$(MAKE) $(MAKESILENT) -f CMakeFiles/loader_example.dir/build.make CMakeFiles/loader_example.dir/loader_example.cc.o
.PHONY : loader_example.cc.o
loader_example.i: loader_example.cc.i
.PHONY : loader_example.i
# target to preprocess a source file
loader_example.cc.i:
$(MAKE) $(MAKESILENT) -f CMakeFiles/loader_example.dir/build.make CMakeFiles/loader_example.dir/loader_example.cc.i
.PHONY : loader_example.cc.i
loader_example.s: loader_example.cc.s
.PHONY : loader_example.s
# target to generate assembly for a file
loader_example.cc.s:
$(MAKE) $(MAKESILENT) -f CMakeFiles/loader_example.dir/build.make CMakeFiles/loader_example.dir/loader_example.cc.s
.PHONY : loader_example.cc.s
tests/tester.o: tests/tester.cc.o
.PHONY : tests/tester.o
# target to build an object file
tests/tester.cc.o:
$(MAKE) $(MAKESILENT) -f CMakeFiles/tester.dir/build.make CMakeFiles/tester.dir/tests/tester.cc.o
$(MAKE) $(MAKESILENT) -f CMakeFiles/tester_customjson.dir/build.make CMakeFiles/tester_customjson.dir/tests/tester.cc.o
.PHONY : tests/tester.cc.o
tests/tester.i: tests/tester.cc.i
.PHONY : tests/tester.i
# target to preprocess a source file
tests/tester.cc.i:
$(MAKE) $(MAKESILENT) -f CMakeFiles/tester.dir/build.make CMakeFiles/tester.dir/tests/tester.cc.i
$(MAKE) $(MAKESILENT) -f CMakeFiles/tester_customjson.dir/build.make CMakeFiles/tester_customjson.dir/tests/tester.cc.i
.PHONY : tests/tester.cc.i
tests/tester.s: tests/tester.cc.s
.PHONY : tests/tester.s
# target to generate assembly for a file
tests/tester.cc.s:
$(MAKE) $(MAKESILENT) -f CMakeFiles/tester.dir/build.make CMakeFiles/tester.dir/tests/tester.cc.s
$(MAKE) $(MAKESILENT) -f CMakeFiles/tester_customjson.dir/build.make CMakeFiles/tester_customjson.dir/tests/tester.cc.s
.PHONY : tests/tester.cc.s
tiny_gltf.o: tiny_gltf.cc.o
.PHONY : tiny_gltf.o
# target to build an object file
tiny_gltf.cc.o:
$(MAKE) $(MAKESILENT) -f CMakeFiles/tinygltf.dir/build.make CMakeFiles/tinygltf.dir/tiny_gltf.cc.o
.PHONY : tiny_gltf.cc.o
tiny_gltf.i: tiny_gltf.cc.i
.PHONY : tiny_gltf.i
# target to preprocess a source file
tiny_gltf.cc.i:
$(MAKE) $(MAKESILENT) -f CMakeFiles/tinygltf.dir/build.make CMakeFiles/tinygltf.dir/tiny_gltf.cc.i
.PHONY : tiny_gltf.cc.i
tiny_gltf.s: tiny_gltf.cc.s
.PHONY : tiny_gltf.s
# target to generate assembly for a file
tiny_gltf.cc.s:
$(MAKE) $(MAKESILENT) -f CMakeFiles/tinygltf.dir/build.make CMakeFiles/tinygltf.dir/tiny_gltf.cc.s
.PHONY : tiny_gltf.cc.s
# Help Target
help:
@echo "The following are some of the valid targets for this Makefile:"
@echo "... all (the default if no target is provided)"
@echo "... clean"
@echo "... depend"
@echo "... edit_cache"
@echo "... install"
@echo "... install/local"
@echo "... install/strip"
@echo "... list_install_components"
@echo "... rebuild_cache"
@echo "... test"
@echo "... loader_example"
@echo "... tester"
@echo "... tester_customjson"
@echo "... tinygltf"
@echo "... loader_example.o"
@echo "... loader_example.i"
@echo "... loader_example.s"
@echo "... tests/tester.o"
@echo "... tests/tester.i"
@echo "... tests/tester.s"
@echo "... tiny_gltf.o"
@echo "... tiny_gltf.i"
@echo "... tiny_gltf.s"
.PHONY : help
#=============================================================================
# Special targets to cleanup operation of make.
# Special rule to run CMake to check the build system integrity.
# No rule that depends on this can have commands that come from listfiles
# because they might be regenerated.
cmake_check_build_system:
$(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0
.PHONY : cmake_check_build_system

View File

@@ -0,0 +1,27 @@
####### Expanded from @PACKAGE_INIT@ by configure_package_config_file() #######
####### Any changes to this file will be overwritten by the next CMake run ####
####### The input file was TinyGLTFConfig.cmake.in ########
get_filename_component(PACKAGE_PREFIX_DIR "${CMAKE_CURRENT_LIST_DIR}/../../" ABSOLUTE)
macro(set_and_check _var _file)
set(${_var} "${_file}")
if(NOT EXISTS "${_file}")
message(FATAL_ERROR "File or directory ${_file} referenced by variable ${_var} does not exist !")
endif()
endmacro()
macro(check_required_components _NAME)
foreach(comp ${${_NAME}_FIND_COMPONENTS})
if(NOT ${_NAME}_${comp}_FOUND)
if(${_NAME}_FIND_REQUIRED_${comp})
set(${_NAME}_FOUND FALSE)
endif()
endif()
endforeach()
endmacro()
####################################################################################
include(${CMAKE_CURRENT_LIST_DIR}/TinyGLTFTargets.cmake)

378
build/issue-261.gltf Normal file
View File

@@ -0,0 +1,378 @@
{
"accessors": [
{
"bufferView": 0,
"componentType": 5126,
"count": 8,
"min": [
-0.5,
-0.5,
-0.5
],
"max": [
0.5,
0.5,
0.5
],
"type": "VEC3"
},
{
"bufferView": 1,
"componentType": 5125,
"count": 36,
"type": "SCALAR"
}
],
"asset": {
"generator": "Iray glTF plugin",
"copyright": "NVIDIA Corporation",
"version": "2.0"
},
"bufferViews": [
{
"buffer": 0,
"byteLength": 96,
"byteStride": 12,
"target": 34962
},
{
"buffer": 0,
"byteLength": 144,
"byteOffset": 96,
"target": 34963
}
],
"materials": [
{
"name": "cube_instance_material",
"doubleSided": true,
"pbrMetallicRoughness": {
"baseColorFactor": [
0.0055217444896697998,
0.36859095096588135,
0.0041161770932376385,
1.0
]
},
"extras": {
"mdl_shader": 1
}
}
],
"meshes": [
{
"primitives": [
{
"attributes": {
"POSITION": 0
},
"indices": 1,
"material": 0,
"mode": 4
}
],
"name": "cube"
}
],
"nodes": [
{
"matrix": [
0.94327513891053572,
-1.1769874756875739e-16,
-0.33201206651763432,
0.0,
-0.16119596696756341,
0.87422979453452365,
-0.45797175303889276,
0.0,
0.29025484069469398,
0.48551237507207207,
0.82463923087928159,
0.0,
0.97290733777091132,
1.2592438262175363,
2.4199187484616269,
1.0
],
"camera": 0,
"extensions": {
"NV_Iray": {
"iview:fkey": -1,
"iview:fov": 53.130104064941406,
"iview:interest": [
0.1342654824256897,
-0.14356137812137604,
0.037264324724674225
],
"iview:position": [
0.97290736436843872,
1.2592438459396362,
2.4199187755584717
],
"iview:roll": 0.0,
"iview:up": [
0.0,
1.0,
0.0
]
}
},
"name": "CamInst"
},
{
"mesh": 0,
"extensions": {
"NV_Iray": {
"caustic": true,
"caustic_cast": true,
"caustic_recv": true,
"face_back": true,
"face_front": true,
"finalgather": true,
"finalgather_cast": true,
"finalgather_recv": true,
"globillum": true,
"globillum_cast": true,
"globillum_recv": true,
"material=": 3,
"pickable": true,
"reflection_cast": true,
"reflection_recv": true,
"refraction_cast": true,
"refraction_recv": true,
"shadow_cast": true,
"shadow_recv": true,
"transparency_cast": true,
"transparency_recv": true,
"visible": true
}
},
"name": "cube_instance"
},
{
"matrix": [
0.69880623555635712,
-7.7604217230977599e-17,
-0.71531101288009924,
-0.0,
-0.42768816907364871,
0.8015668284138362,
-0.41781987700564616,
-0.0,
0.57336957992379001,
0.59790519280784282,
0.56013989791072116,
0.0,
2.3640632834071384,
2.4652262044724491,
2.3095159083922239,
1.0
],
"extensions": {
"KHR_lights_punctual": {
"light": 0
},
"NV_Iray": {
"shadow_cast": true,
"visible": false
}
},
"name": "light_inst"
}
],
"scene": 0,
"scenes": [
{
"nodes": [
0,
1,
2
],
"extensions": {
"NV_Iray": {
"CP_canny_threshold1": 40,
"CP_canny_threshold2": 120,
"CP_color_quantization": 8,
"IVP_color": [
1.0,
0.0,
0.0,
1.0
],
"TM_drago_bias": 0.85000002384185791,
"TM_drago_gamma2": 2.2000000476837158,
"TM_drago_saturation": 1.0,
"TM_durand_contrast": 4.0,
"TM_durand_gamma": 2.2000000476837158,
"TM_durand_saturation": 1.0,
"TM_durand_sigma_color": 2.0,
"TM_durand_sigma_space": 2.0,
"TM_linear_gamma": 2.2000000476837158,
"TM_reinhard_color_adapt": 0.89999997615814209,
"TM_reinhard_gamma": 1.0,
"TM_reinhard_intensity": 0.0,
"TM_reinhard_light_adapt": 1.0,
"TM_reye_Ywhite": 1000000.0,
"TM_reye_bsize": 2,
"TM_reye_bthres": 3.0,
"TM_reye_gamma": 2.2000000476837158,
"TM_reye_key": 0.5,
"TM_reye_saturation": 1.0,
"TM_reye_whitebalance": [
1.0,
0.99651014804840088,
0.98055648803710938,
0.0
],
"environment_dome_depth": 200.0,
"environment_dome_height": 200.0,
"environment_dome_mode": "infinite",
"environment_dome_position": [
0.0,
0.0,
0.0
],
"environment_dome_radius": 100.0,
"environment_dome_rotation_angle": 0.0,
"environment_dome_width": 200.0,
"environment_function=": 0,
"environment_function_intensity": 1.9900000095367432,
"iray_instancing": "off",
"iview::inline_color": [
1.0,
0.0,
0.0,
1.0
],
"iview::inline_width": 1.0,
"iview::magnifier_size": 300,
"iview::offset": 10.0,
"iview::outline_color": [
0.0,
0.0,
0.0,
1.0
],
"iview::outline_width": 2.0,
"iview::overview": true,
"iview::zoom_factor": 1.0,
"samples": 4.0,
"shadow_cast": true,
"shadow_recv": true
}
}
}
],
"cameras": [
{
"type": "perspective",
"name": "default",
"perspective": {
"zfar": 1000.0,
"znear": 0.10000000000000001,
"aspectRatio": 1.3333333730697632,
"yfov": 0.92729520797729492
},
"extensions": {
"NV_Iray": {
"mip_burn_highlights": 0.69999998807907104,
"mip_burn_highlights_per_component": false,
"mip_camera_shutter": 4.0,
"mip_cm2_factor": 1.0,
"mip_crush_blacks": 0.5,
"mip_f_number": 1.0,
"mip_film_iso": 100.0,
"mip_gamma": 2.2000000476837158,
"mip_saturation": 1.0,
"mip_vignetting": 0.00019999999494757503,
"mip_whitepoint": [
1.0,
1.0,
1.0,
1.0
],
"tm_enable_tonemapper": true,
"tm_tonemapper": "mia_exposure_photographic"
}
},
"extras": {
"resolution": [
640,
480
]
}
}
],
"extensions": {
"KHR_lights_punctual": {
"lights": [
{
"name": "light",
"intensity": 1000.0,
"color": [
1.0,
1.0,
1.0
],
"type": "point"
}
]
},
"NV_MDL": {
"modules": [
"mdl::base",
"mdl::nvidia::core_definitions",
"mdl::state"
],
"shaders": [
{
"definition": "mdl::base::environment_spherical(texture_2d)",
"name": "env_shd"
},
{
"arguments": {
"base_color": [
0.0055217444896697998,
0.36859095096588135,
0.0041161770932376385
],
"normal=": 2
},
"definition": "mdl::nvidia::core_definitions::flex_material",
"name": "cube_instance_material"
},
{
"definition": "mdl::state::normal()",
"name": "mdl::state::normal_341"
},
{
"arguments": {
"base_color": [
0.0055217444896697998,
0.36859095096588135,
0.0041161770932376385
],
"normal=": 4
},
"definition": "mdl::nvidia::core_definitions::flex_material",
"name": "cube_instance_material"
},
{
"definition": "mdl::state::normal()",
"name": "mdl::state::normal_341"
}
]
}
},
"extensionsUsed": [
"NV_MDL",
"NV_Iray",
"KHR_lights_punctual"
],
"buffers": [
{
"byteLength": 240,
"uri": "data:application/octet-stream;base64,AAAAvwAAAL8AAAC/AAAAvwAAAL8AAAA/AAAAvwAAAD8AAAC/AAAAvwAAAD8AAAA/AAAAPwAAAL8AAAC/AAAAPwAAAL8AAAA/AAAAPwAAAD8AAAC/AAAAPwAAAD8AAAA/AAAAAAEAAAADAAAAAAAAAAMAAAACAAAAAQAAAAUAAAAHAAAAAQAAAAcAAAADAAAABQAAAAQAAAAGAAAABQAAAAYAAAAHAAAABAAAAAAAAAACAAAABAAAAAIAAAAGAAAABAAAAAUAAAABAAAABAAAAAEAAAAAAAAAAgAAAAMAAAAHAAAAAgAAAAcAAAAGAAAA"
}
]
}

View File

@@ -0,0 +1,192 @@
{
"accessors": [
{
"bufferView": 0,
"componentType": 5123,
"count": 36,
"min": [
0
],
"max": [
35
],
"type": "SCALAR"
},
{
"bufferView": 1,
"componentType": 5126,
"count": 36,
"min": [
-1.0,
-1.0,
-1.0
],
"max": [
1.0,
1.0,
1.0000009999999999
],
"type": "VEC3"
},
{
"bufferView": 2,
"componentType": 5126,
"count": 36,
"min": [
-1.0,
-1.0,
-1.0
],
"max": [
1.0,
1.0,
1.0
],
"type": "VEC3"
},
{
"bufferView": 3,
"componentType": 5126,
"count": 36,
"min": [
0.0,
-0.0,
-1.0,
-1.0
],
"max": [
1.0,
-0.0,
-0.0,
1.0
],
"type": "VEC4"
},
{
"bufferView": 4,
"componentType": 5126,
"count": 36,
"min": [
-1.0,
-1.0
],
"max": [
1.0,
1.0
],
"type": "VEC2"
}
],
"asset": {
"generator": "VKTS glTF 2.0 exporter",
"version": "2.0"
},
"bufferViews": [
{
"buffer": 0,
"byteLength": 72,
"target": 34963
},
{
"buffer": 0,
"byteLength": 432,
"byteOffset": 72,
"target": 34962
},
{
"buffer": 0,
"byteLength": 432,
"byteOffset": 504,
"target": 34962
},
{
"buffer": 0,
"byteLength": 576,
"byteOffset": 936,
"target": 34962
},
{
"buffer": 0,
"byteLength": 288,
"byteOffset": 1512,
"target": 34962
}
],
"materials": [
{
"name": "Cube",
"pbrMetallicRoughness": {
"baseColorTexture": {
"index": 0
},
"metallicRoughnessTexture": {
"index": 1
}
}
}
],
"meshes": [
{
"primitives": [
{
"attributes": {
"NORMAL": 2,
"POSITION": 1,
"TANGENT": 3,
"TEXCOORD_0": 4
},
"indices": 0,
"material": 0,
"mode": 4
}
],
"name": "Cube"
}
],
"nodes": [
{
"mesh": 0,
"name": "Cube"
}
],
"scene": 0,
"scenes": [
{
"nodes": [
0
]
}
],
"textures": [
{
"sampler": 0,
"source": 0
},
{
"sampler": 0,
"source": 1
}
],
"samplers": [
{
"wrapS": 10497,
"wrapT": 10497
}
],
"buffers": [
{
"byteLength": 1800,
"uri": "Cube.bin"
}
],
"images": [
{
"mimeType": "",
"bufferView": -1
},
{
"mimeType": "",
"bufferView": -1
}
]
}

71
build/issue-97.gltf Normal file
View File

@@ -0,0 +1,71 @@
{
"accessors": [
{
"bufferView": 0,
"componentType": 5126,
"count": 3,
"min": [
0.0,
0.0,
0.0
],
"max": [
1.0,
1.0,
0.0
],
"type": "VEC3"
}
],
"asset": {
"version": "2.0"
},
"bufferViews": [
{
"buffer": 0,
"byteLength": 36,
"target": 34962
}
],
"materials": [
{
"name": "WHITE",
"extensions": {
"VENDOR_material_some_ext": {}
}
}
],
"meshes": [
{
"primitives": [
{
"attributes": {
"POSITION": 0
},
"mode": 4
}
]
}
],
"nodes": [
{
"mesh": 0
}
],
"scenes": [
{
"nodes": [
0
]
}
],
"extensionsUsed": [
"VENDOR_material_some_ext"
],
"buffers": [
{
"byteLength": 36,
"uri": "data:application/octet-stream;base64,AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAA"
}
]
}

BIN
build/tester Executable file

Binary file not shown.

BIN
build/tester_customjson Executable file

Binary file not shown.

BIN
build/tmp.glb Normal file

Binary file not shown.