-
Notifications
You must be signed in to change notification settings - Fork 3.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[DRAFT] glTF interactivity and flow graph update (For snapshot) #15810
base: master
Are you sure you want to change the base?
Conversation
Thank you, I was able to do some tests. The built version seems to hide exceptions, so I tested locally as well.
Footnotes
|
Do you want me to open issues against your fork instead? If so, please enable Issues there :) |
I fixed it. value should be an array, even if it is primitive (or at least this was a discussion we previously had). Not written in the specs though, so - I made sure a non-array value is now parsed correctly. this is the reason it didn't read the value correctly. I also added the KHR_node_visibility to the nodes map, so it is now working (on start and the once a second). The snapshot should update in a few minutes so you can test it. If you have any further test data you think are not working correctly, let me know. Forum would be the best, but here is fine as well. As you wish TBH. |
It seems I'm not yet allowed to upload files on the forum, so here's some more failing test files. They work in the Graph Authoring Tool implementation. Upon clicking the blue button the traffic light should go red-yellow-green-yellow-red.
I believe these could have the same root issue. |
Quick note on the files you provided, there is an error in the glTF that partly prevents us from parsing the types correctly (interpolation demo). The pointer's configuration is this:
value is a float4, but type:7 is float3. There are duplicated float3 as well, but we don't check that yet, so that's perfectly fine. So even if I make sure to parse vector4/vcolor4 correctly, this will fail. I will try finding a proper solution for this. Anyhow, the set is already fixed (as I suspected it was an issue with vector-to-color), interpolation is being worked on. |
Thanks for fixing, good catch about float3/float4! – here's a file with the corrected type for color: Not sure if the sandbox should already be updated – I can see the "red" color correctly but upon clicking the blue button the colors still go to some kind of dark purple. I think the float3/float4 mixup might happen more often, as colors (typically float4 in all systems) can be either float3 or float4 in glTF, depending on usage, so I expect exporters to mess that up occassionally... |
The sandbox will be updated in 15-20 minutes (waiting for the build to finish). Interpolation should also be working now. The new file doesn't reset the colors to gray, so it only shows red yellow and green. Is that the correct behavior? |
Sorry, it was indeed not the correct file. ✅ This should be correct now (and works in the updated sandbox – thanks!): ❌ The pointer interpolation file does not behave correctly yet –
|
That is true, I am not tracking currently running interpolation. Not yet, at least. |
WebGL2 visualization test reporter: |
Both were fixed in the last commit. The issue was not the interpolation running already. The issue was reusing already-existing blocks, which was prevented deliberately. I believe there was a discussion about that a long time ago (and this is why it was implemented this way originally), but I can't find it in the current state of the specs. So - blocks can now be reused and re-triggered. |
Here's a test file that contains additional nodes not known by the engine. My understanding as per the spec discussions is that these should be ignored, as they could be defined in extensions that the engine simply doesn't support at the moment. SimpleMath_SubGeneric_Logging.glb.zip Looks like this – the goal here is to support logging in multiple engines that have different nodes for logging: Currently, it causes an exception because the node is not known. |
Should be fine now. |
I open this PR just to update the snapshot.
No reviews needed, as it will be closed right after.