KhronosGroup / glTF-Blender-IO

Blender glTF 2.0 importer and exporter
https://docs.blender.org/manual/en/latest/addons/import_export/scene_gltf2.html
Apache License 2.0
1.45k stars 306 forks source link

Broken texture gathering on 4.1/4.1.1 #2278

Open Lilaa3 opened 1 week ago

Lilaa3 commented 1 week ago

Describe the bug Gathering textures does not work on complex shader nodes, might have something to do with repeated sampling of the same texture (in my example used to recreate 3 point filtertering)

To Reproduce Export the provided file with default settings in binary or json mode, pause with a debugger to see the excessive recursion

Expected behavior Either fail to gather anything and move on or find at least the first sampled texture

.blend file/ .gltf (mandatory) example.blend.zip

Version

Additional context These nodes are linked and manipulated automatically by fast64 and can have many combinations, including more than one texture being used with multiple samples, but if more convinient I can provide more examples

Lilaa3 commented 1 week ago

The addon is also fully failing to pick up on vertex colors being used in nodes

julienduroure commented 1 week ago

Hello, I am not sure to get your entire node tree, as you didn't pack linked data.

As far as I can see (for now), your node setup doesn't have any Principled Shader node, so nothing can be exported, as glTF is based on PBR materials, so a Principled Node is needed.

You can refer to Blender Documentation to get what is compatible with glTF https://docs.blender.org/manual/en/latest/addons/import_export/scene_gltf2.html

Lilaa3 commented 1 week ago

example.blend.zip The issue isn´t that nothing can be exported, the addon seems to be trying to find textures during gather_image by iterating through the nodes, and its falling into some form of infinite recursion

Lilaa3 commented 1 week ago

I also tested 4.2 and 4.3