KhronosGroup / glTF-Sample-Viewer

Physically-Based Rendering in glTF 2.0 using WebGL
Apache License 2.0
1.21k stars 229 forks source link

Modified InterpolationTest is not rendered #495

Closed javagl closed 5 months ago

javagl commented 8 months ago

The InterpolationTest sample asset had some issues, and I tried to fix them.

Attached is the ORIGINAL version of the asset, and the MODIFIED one:

InterpolationTest-issue.zip

The original can be rendered in the glTF-Sample-Viewer.

The modified one passes validation, renders in three.js, filament, hilo3d, babylon.js, playcanvas ... but the glTF-Sample-Viewer simply does not display anything.

javagl commented 6 months ago

I just did another test, and now, the modified one also seems to work.

I'd be curious what may have caused this issue, and what exactly was changed so that it works now. (Quickly looking at the commit logs and pinging the name that appears most frequently: Maybe @UX3D-kanzler has an idea?)

But in any case, it seems to be resolved, so I'd close this issue soon.

javagl commented 5 months ago

It might well be that this was caused by an error in the handling of interleaved data, which was fixed as of https://github.com/KhronosGroup/glTF-Sample-Viewer/issues/496 , but I haven't analyzed it in detail yet.

jim-ec commented 5 months ago

As mentioned by @javagl, commit 8b64a62 fixes the issue. The problem was the previously, tangents would be generated from a potentially interleaved accessor which was assumed to be non-interleaved. Thus changing the accessor in the asset to an interleaved format exposed that issue. I am not sure yet why the viewer did not render the asset at all, however.

javagl commented 5 months ago

(The "task" to close this issue sunk down in my TODO list, because it was "not important"...).

Analyzing the exact reason is probably not worthwhile, given that the issue of interleaved accessors would have caused trouble anyhow, and it's resolved for now, so it's probably OK to close.