update documentation
This commit is contained in:
parent
8cacb45e8d
commit
72fa654542
|
@ -1,7 +1,7 @@
|
||||||
%%%
|
%%%
|
||||||
Title = "XR Fragments"
|
Title = "XR Fragments"
|
||||||
area = "Internet"
|
area = "Internet"
|
||||||
workgroup = "Internet Engineering Task Force"
|
workgroup = "Jens & Leon Internet Engineering Task Force"
|
||||||
|
|
||||||
[seriesInfo]
|
[seriesInfo]
|
||||||
name = "XR-Fragments"
|
name = "XR-Fragments"
|
||||||
|
@ -275,9 +275,9 @@ These are automatic fragment-to-metadata mappings, which only trigger if the 3D
|
||||||
| temporal W3C media fragment * | t=[l:]x,y | l:0,1 | play [as loop] between `x` and `y` |
|
| temporal W3C media fragment * | t=[l:]x,y | l:0,1 | play [as loop] between `x` and `y` |
|
||||||
| temporal W3C media fragment * | s=x[,y] | 1 | set playback speed of audio/video/3D anim |
|
| temporal W3C media fragment * | s=x[,y] | 1 | set playback speed of audio/video/3D anim |
|
||||||
| temporal W3C media fragment * | sxy=[l:]x,y | 0.1,0.2 | xy scrollspeed of new xywh viewport/uvcoordinates (default `1,1` is instant): allows lerping to new `xywh` values [or infinite texturescrolling] |
|
| temporal W3C media fragment * | sxy=[l:]x,y | 0.1,0.2 | xy scrollspeed of new xywh viewport/uvcoordinates (default `1,1` is instant): allows lerping to new `xywh` values [or infinite texturescrolling] |
|
||||||
| temporal W3C media fragment * | u:<uniform>=<string|float|vec2|vec3|vec4> | u:color=1,0,0 | set shader uniform value |
|
| shader uniform value | u:<uniform>=<string|float|vec2|vec3|vec4> | u:color=1,0,0 | set shader uniform value |
|
||||||
|
|
||||||
> \* = this is extending the [W3C media fragments](https://www.w3.org/TR/media-frags/#mf-advanced) with finer playback/viewport-control:
|
> \* = this is extending the [W3C media fragments](https://www.w3.org/TR/media-frags/#mf-advanced) with finergrained playback/viewport-control:
|
||||||
|
|
||||||
|
|
||||||
| extension | info |
|
| extension | info |
|
||||||
|
@ -285,13 +285,12 @@ These are automatic fragment-to-metadata mappings, which only trigger if the 3D
|
||||||
| `l:` specifices loop | `t=0,2` specifies oneshot-play (default) whereas `t=l:0,2` indicates looped-play |
|
| `l:` specifices loop | `t=0,2` specifies oneshot-play (default) whereas `t=l:0,2` indicates looped-play |
|
||||||
| `#s` specifies playback speed | being able to specify loop(speed) of audio/video |
|
| `#s` specifies playback speed | being able to specify loop(speed) of audio/video |
|
||||||
| `#sxy=` specifies lerping of xy(wh) values | allows animated cropping and infinite texturescroll with configurable speed for u/v coordinates |
|
| `#sxy=` specifies lerping of xy(wh) values | allows animated cropping and infinite texturescroll with configurable speed for u/v coordinates |
|
||||||
| `#u:<uniform>=` | specifies updating a uniform value |
|
|
||||||
|
|
||||||
Example URI's:
|
Example URI's:
|
||||||
|
|
||||||
* `https://shaders.org/plasma.glsl#t=0&u:col1=1,0,0&u:col2=0,1,0` (red-green shader plasma starts playing from time-offset 0)
|
|
||||||
* `https://images.org/credits.jpg#t=0&sxy=l:0,0.1` (infinite vertical texturescrolling)
|
* `https://images.org/credits.jpg#t=0&sxy=l:0,0.1` (infinite vertical texturescrolling)
|
||||||
* `https://video.org/organogram.mp4#t=0&sxy:0.1,0.1&xywh=500,500,480,640` (animated zoom towards region in video)
|
* `https://video.org/organogram.mp4#t=0&sxy:0.1,0.1&xywh=500,500,480,640` (animated zoom towards region in video)
|
||||||
|
* `https://shaders.org/plasma.glsl#t=0&u:col1=1,0,0&u:col2=0,1,0` (red-green shader plasma starts playing from time-offset 0)
|
||||||
|
|
||||||
|
|
||||||
```
|
```
|
||||||
|
@ -309,17 +308,17 @@ Example URI's:
|
||||||
│ │ └ src: foo.jpg#sxy=l:0,0.1 · │ infinite texturescroll `v` of uv·coordinates with 0.1/fps
|
│ │ └ src: foo.jpg#sxy=l:0,0.1 · │ infinite texturescroll `v` of uv·coordinates with 0.1/fps
|
||||||
│ │ · │ with u·speed `0.1` and v·speed `0.1` (`#s` defaults) units p/second
|
│ │ · │ with u·speed `0.1` and v·speed `0.1` (`#s` defaults) units p/second
|
||||||
│ ├── ◻ media · │
|
│ ├── ◻ media · │
|
||||||
│ │ ├ play: #t=0 ················ · │ play cat.mp4 from 0 sec
|
│ │ ├ #play: #t=0 ················ · │ play cat.mp4 from 0 sec
|
||||||
│ │ ├ #: #play ···^ · · │ apply default XR fragment (on load)
|
│ │ ├ #: #play ···^ · · │ apply default XR fragment (on load)
|
||||||
│ │ ├ stop: #t=0,0 ··········· · │ stop
|
│ │ ├ #stop: #t=0,0 ··········· · │ stop
|
||||||
│ │ ├ loop: #t=l:1,2&s=2 ············ │ loop cat.mp4 between 1 and 2 sec with double speed
|
│ │ ├ #loop: #t=l:1,2&s=2 ··········· │ loop cat.mp4 between 1 and 2 sec with double speed
|
||||||
│ │ ├ crop: #xywh=0,0,0.5,0.5 ····· · │ crop viewport/uv·coordinates
|
│ │ ├ #crop: #xywh=0,0,0.5,0.5 ····· · │ crop viewport/uv·coordinates
|
||||||
│ │ └ src: cat.mp4#t=l:2,10 <<······· · │ loop cat.mp4 (or mp3/wav/jpg) between 2 and 10 seconds
|
│ │ └ src: cat.mp4#t=l:2,10 <<······· · │ loop cat.mp4 (or mp3/wav/jpg) between 2 and 10 seconds
|
||||||
│ │ · │
|
│ │ · │
|
||||||
│ └── ◻ wall · │
|
│ └── ◻ wall · │
|
||||||
│ ├ calm: #u:color=1,0,0 ················ │ updates uniform values (IFS shader e.g.)
|
│ ├ #calm: #u:color=1,0,0 ·················· │ updates uniform values (IFS shader e.g.)
|
||||||
│ ├ #: #wall=calm ···^ · │ apply default XR Fragment (on load)
|
│ ├ #: #u:color=0,1,1 · │ apply default XR Fragment (on load)
|
||||||
│ └ src: ://a.com/art.fs#sxy:l:0,0.1 <<··· │ .fs/.vs/.glsl/.wgsl etc
|
│ └ src: ://a.com/art.glsl#sxy:l:0,0.1 <<··· │ .fs/.vs/.glsl/.wgsl etc
|
||||||
│ │
|
│ │
|
||||||
│ │
|
│ │
|
||||||
+──────────────────────────────────────────────────────────+
|
+──────────────────────────────────────────────────────────+
|
||||||
|
@ -1016,6 +1015,11 @@ XR Fragments supports filtering objects in a scene only, because in the history
|
||||||
Doing advanced scripting & networkrequests under the hood are obviously interesting endavours, but this is something which should not be hardcoupled with hypermedia.<br>This belongs to browser extensions.<br>
|
Doing advanced scripting & networkrequests under the hood are obviously interesting endavours, but this is something which should not be hardcoupled with hypermedia.<br>This belongs to browser extensions.<br>
|
||||||
Non-HTML Hypermedia browsers should make browser extensions the right place, to 'extend' experiences, in contrast to code/javascript inside hypermedia documents (this turned out as a hypermedia antipattern).
|
Non-HTML Hypermedia browsers should make browser extensions the right place, to 'extend' experiences, in contrast to code/javascript inside hypermedia documents (this turned out as a hypermedia antipattern).
|
||||||
|
|
||||||
|
# authors
|
||||||
|
|
||||||
|
* Leon van Kammen (@lvk@mastodon.online)
|
||||||
|
* Jens Finkhäuser (@jens@social.finkhaeuser.de)
|
||||||
|
|
||||||
# IANA Considerations
|
# IANA Considerations
|
||||||
|
|
||||||
This document has no IANA actions.
|
This document has no IANA actions.
|
||||||
|
|
Loading…
Reference in New Issue