Experiments with FreeWrl and DIS over the TVI
Goal
According to our current setup, we are striving to test collaboration tools for "X3D/VRML Based 3D Chat (MU Scenes)".
In particular, we would like to analyse the usage of the SIP protocol for said purpose.
For this simple reason, we will start with some simple experiments, employing the FreeWrl Web3D Browser.
Some Notes about SIP
After some initial discussions, we have defined following requirements for the usage of SIP within the area of Web3D Multiuser Scenes...
- SMUoS (Simple Multiuser over SIP) shall support more than 2 users at a time
- Web3D graphics can be loaded either locally or remotely. All the users can independently join and get the current state of the 6 values *). In this case, all 6 values are floating point values, and non-empty
- You can transfer 5 null or empty and 1 floating point values *) at a time (within certain ranges, and they may change between transmissions from a client)
- When a client receives a value, it will test for out of range values (with a range for each value)
- The values are distributed over SIP at a time to all parties without echo, only forwarding
- 5 null or empty values and one floating point values *) are sent (An equivalent method may be implemented if documented early)
- The floating point position in the packet will correspond with the same slider on all scenes. 6 null or empty values *) is not allowed
- The 6 values *) can be injected into the graphics (shader) through the use of X3D routes/events, but null or empty values are not injected
- The used SIP Service shall be globally available [for all members of The Society]
*) This description is based on a use case from https://github.com/coderextreme (citing): [...]Sure, here’s my use case: https://coderextreme.net/X3DJSONLD/src/main/html/sphere.html[...]
Other Use Cases
Basically, we have two options:
- First option: Focus on the "Sliders" use case from https://github.com/coderextreme (see above) and elaborate it thoroughly
- Second option: Look for additional use cases and elaborate a greater variety of demos
For the resources of our society are very scarce, we decided to GO FOR THE FIRST OPTION
This decision is the basis for the TODO List below.
Also, I have to emphasize the fact that the following TODO list does not cover all aspects of above requirements. It will need one or more follow-up projects, e.g. "Basic Tests of SMUoS".
Responsible
Christoph VALENTIN
Start Date
2023-09-16
End Date
2024-07-28 (abandoned)
TODO List (Prioritized)
- DON:
Initially playing around with FreeWrl
Results: are documented at Yeti's Private Pages on our member space - DON:
Define simplified use case
Result: the simplified use case has been defined- basis: The Basic Teapot Example
- this basis will be referred by an <Inline> node
- a 3D crosshair will be superimposed
- 3 sliders will rotate and scale the teapot, relative to the 3D crosshair
- DON:
Implement Single User Mode (simplified use case)
- DON: FreeWrl
- SKP: HTML Browser (WebGL)
- DON:
Basic (unauthorized) Multi User Mode (simplified use case)
- DON: FreeWrl + DIS
- SKP: HTML Browser (WebGL) + Experimental Network Sensor
Steps (Chronologically)
- 2023-09-16: Installed FreeWrl on my local machine
- 2023-09-23: First Demo Video about FreeWRL
https://lc-soc-lc.at/owncloud/index.php/s/7a9BkqLUwjtsTuL - 2023-09-30: Second and Third Demo Video about FreeWRL
https://lc-soc-lc.at/owncloud/index.php/s/znI8ksgOvhhp4WW
https://lc-soc-lc.at/owncloud/index.php/s/OWdPNDP2LkpMZZR - 2023-12-17: started to analyse X3D v3.3 (ISO/IEC IS 19775-1:2013) - chapter 28 (DIS)
- 2023-12-17: started to analyse elevator example from Doug S.
- 2023-12-20: recorded very first demo video with elevator3.x3d example
- 2023-12-21: single user test session (yeti) - TEST-003, TEST-004 ( Yeti's Private Pages)
- 2023-12-21: updated TODO List, focussing on FreeWrl + WebGL based X3D
- 2023-12-28: dual user test session (h0v36 + yeti) - TEST-005 ( Yeti's Private Pages
- 2024-01-18: ad-hoc test session (h0v36 + yeti) - TEST-006 ( Yeti's Private Pages
- 2023-01-20: ad-hoc test session (h0v36 + yeti) - TEST-007 ( Yeti's Private Pages
- 2024-01-27: shortened the TODO list, cut pieces will be covered later
- 2024-02-01: on our 3rd Chat Hour, we closed the initial item of the TODO list: "Initially playing around with FreeWrl"
- 2024-02-04: I defined the simplified use case
- 2024-02-17: TEST-008 - re-testing the elevator3.x3d with FreeWRL 6.6 - the initial tests with FreeWRL are now actually over
- 2024-03-02: DEMO VIDEO: A first idea of a slider standing still
- 2024-03-03: DEMO VIDEO: First Slide Bar with DIS Multiuser (Teapot Review)
- 2024-03-16: DEMO VIDEO: Our Goal for 2024
https://lc-soc-lc.at/owncloud/index.php/s/BMQeF9fSgir4TaR - 2024-05-11: The "Teapot Review" is now documented at Yeti's Private Pages)
and stored at GitHub ( https://www.github.com/christoph-v/psark/tree/master/apps/tprev) - 2024-06-30: The Version 01 of the "Teapot Review" (TPREV/DIS) is "ready for QA"
https://www.github.com/christoph-v/psark/tree/master/apps/tprev - 2024-07-28: Pre-Mature Closing of Project 003 (for personal reasons)
Demo Video: https://lc-soc-lc.at/owncloud/index.php/s/TB6xeoBJFl0M83f
Cloud Password: HalloWelt