[x3d-public] An annotations example and project

Joseph D Williams joedwil at earthlink.net
Mon Oct 10 09:07:26 PDT 2022


➢ Experiences with X3DOM and glb. AFAIK, X_ITE does not load glb. but I haven't tried! Next message will be viewx3dscene.


Right, I would expect that basic x3d browser, since this data is collections of machine-oriented  code that will allow very simple “loader” device, as can be seen in 3d builder and related. Given a x3d browser based on the gl, there will be an x3d scene  ulsing canonical x3d nodes that will be used to compute and otherwise derive the exact or comparable .glb file. Of course, for this case the .gsb data may not be organized exactly the same every time, but rendering still possible from a relatively simple loader. Of course this 3d builder also means a small loader for spinning tennis shoes available for any web browser.  

So, well demonstrated in x3d land sai, it has been done to build a comprehensive editing platform using x3d, but not .gsb or gltf. For ‘standard’ blobs, we can implement user code processing to develop at some point more or less same code structures as .gsb because when you get to there, you have a well established more or less standard path to go ahead and render the stuff using the greatest gl accelerations.  

So, then the problem remains, is this access to the binary a step forward or backward? Well, it is all forward because of the greater sharing possible. It is a step backwards if it becomes impossible to construct an x3d scenegraph using collections of, for instance gltf text or binary assets, along with  standard gsb. 

So, looking at the .gsb in notepad, 

glTF   4Ç+ L  JSON{"asset":{"version":"2.0","generator":"THREE.GLTFExporter"},"scenes":

Simple standard markup with lots of apparently empty spaces. So, given this is a ‘standard’ export, then all we have to do is figure out what “>õ÷²=Ô” is, what a buffer is, and what is in the buffer, and how to get some binary buffers and notations into canonical x3d text. If this can be analyzed and the result input as part of an x3d scene for use with runtime, that would be great since somebody building a basic x3d loader may well be aware of evolutions of .gsb and .gltf and other history. If the data can be reconstructed for use as part of x3d scenegraph with authortime, in canonical text x3d, then that would be true sharing. 

Thanks and Fun, 
Joe



From: John Carlson
Sent: Monday, October 10, 2022 7:29 AM
To: Joseph D Williams; Andreas Plesch
Cc: Vincent Marchetti; X3D-Public
Subject: Re: [x3d-public] An annotations example and project

Experiences with X3DOM and glb. AFAIK, X_ITE does not load glb. but I haven't tried! Next message will be viewx3dscene.

This condition, while in binary mode, does not return true:



Contact your X3DOM developers!

Source HTML attached. You can change to your own .glb, but I use astronaut.gib mentioned in first message in this thread.

On Mon, Oct 10, 2022 at 8:23 AM John Carlson <yottzumm at gmail.com> wrote:
Joe, .gltf is the ASCII equivalent of .glb, so if conversion from .glb to X3D doesn’t work, try conversion to .gltf, and please, send out results.   Otherwise try glTF in Inline nodes.

John

On Sun, Oct 9, 2022 at 7:33 PM Joseph D Williams <joedwil at earthlink.net> wrote:
 
• Stepping backwards to binary is like giving up the progress we’ve made since Assembly was created.
 
True, I was thinking it may be relatively easy to reuse the Astronaut.glb in x3d but now looking at it deeper I see that it is not that easy not only because the blob is some binary form but that the data I want is mostly trapped in the blob. There aren’t that many triangles and there is careful use of color but, I don’t yet see how to extract the x3d code needed for one or more child shapes to compose the figure. 
 
Still, I think there are examples like this in gltf where the asset is some data that has been all or partially processed using inputs from standard x3d fields, and that any gltf asset has a counterport as an x3d field or the result of computing using x3d fields. 
 
So, the alternative for this is 
1. Just figure how to load the .glb into x3d player and then show how to build an annotation system in that space or a child space.
2. Extract the mesh and materials to x3d user code and get control of the thing. (I know bufferviews must mean soething, but how to understand “>õ÷²=Ô”)
 
I can’t see, for now, how to extract the triangles (I can see them in 3D Builder, but can’t modify or save in a readable format.
 
Thanks, 
Joe
 
From: John Carlson
Sent: Saturday, October 8, 2022 2:35 PM
To: Joseph D Williams
Cc: Vincent Marchetti; X3D-Public
Subject: Re: [x3d-public] An annotations example and project
 
I am not interested in binary formats, but i have used EXI (ASCII)  converters to and from JSON.   See X3DJSONLD.
 
JSON schemas might be converted with MapForce.  UAYOR.
 
Perhaps there’s some interest in STL and PLY formats?
 
AFAIK, .glTF appears to be different than .x3d, and is likely closer to .dae.  I am unsure about .glb, i have not approached it.
 
Stepping backwards to binary is like giving up the progress we’ve made since Assembly was created.
 
Perhaps we should consider AssemblyScript?  OBJ is preferable to binary.
 
John
 
On Sat, Oct 8, 2022 at 3:42 PM Joseph D Williams <joedwil at earthlink.net> wrote:
Vincent and John and All, since John and others have been working on ways to get x3d transcoded back and forth with json and now typical .glb (GL Transmission Format Binary file as Standard json) with prescribed names and data form that either are the same or a bit different than standard x3d Node names and Field names and X3DField and X3DArrayField data types. Except of course, those gl asset blobs that represent binary data that would be computed and almost ready to be executed by an x3d player. 
 
*Is that too simple? 
First, does the .glb carry data that would be appropriate to import directly with maybe name changes or slightly rearranging or completing data for use in a field of a standard x3d field? 
Second, are there forms of .glb data, especially for animations, blobs that could be expected to be the same as machine-ready input created by x3d browser? 
Third, I think not likely but please let me know, are there Standard .glb data fields that are not used by x3d? Like before the great material features added in v4? 
Fourth, any other categories? 
 
That is why the Astronaut.glb file could be very interesting to test. This is an opportunity to start with a successful yet static model with overlaid authoring interactivity, including some binaries of big data, to be moved into x3d space, into a more complete authoring environment, provide some animations and improved, maybe even integral rather than overlaid, interactive features.
 
So, all we need is that graph that shows matching (direct usability) between .glb fields and x3d fields. A good AI might construct this table from schemas. In particular, what basic scenegraph of x3d nodes can receive this particular Astronaut.glb data directly? 
Well, also for some glb fields, how to complete or otherwise synthesize x3d syntax from glb data. 
Finally, to be complete, how an x3d player could use some glb essentially precomputed data to allow the x3d player to provide some functionality, like animations for an object without performing some internal computing steps. If we can add some x3d features and deliver it as .glb …
 
So yes, this is reasonable example and thanks for finding it.
 
Thanks, 
Joe
 
From: Vincent Marchetti
Sent: Wednesday, October 5, 2022 9:47 AM
To: Joseph D Williams; X3D-Public
Subject: Re: [x3d-public] An annotations example and project
 
I am not seeing the error message in viewing the astronaut.glb file, with Microsoft 3D Viewer at version 7.2107.7012.0, but I do see the error with 3D Builder
 
I haven't examined the internal structure of the astronaut.glb data, but it doesn't surprise me that it is  single mesh item.
 
The spirit of this annotation project would be to display the annotations from an externally loaded json structure without regard to the detailed structure of the 3D asset itself.
 
Vince
 
 
> On Oct 5, 2022, at 12:02 PM, Joseph D Williams <joedwil at earthlink.net> wrote:
> 
>            • the underlying asset is a glTF asset
> 
> Astronaut.glb when downloaded, runs windows 3D Builder with a click and allows simple editing. Shows error ‘one or more items invalidly defined. Click to repair’ The entire thing is a single ‘item’ 
> 
> 
> 
> 
> 
> _______________________________________________
> x3d-public mailing list
> x3d-public at web3d.org
> http://web3d.org/mailman/listinfo/x3d-public_web3d.org
 
 
_______________________________________________
x3d-public mailing list
x3d-public at web3d.org
http://web3d.org/mailman/listinfo/x3d-public_web3d.org
 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20221010/ddafb5ef/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 8C767A1730C0466995355356CC8C95B5.png
Type: image/png
Size: 71479 bytes
Desc: not available
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20221010/ddafb5ef/attachment.png>


More information about the x3d-public mailing list