Skip to content

Commit e80fb64

Browse files
All 3D use case examples build on each other
1 parent 968be62 commit e80fb64

8 files changed

Lines changed: 414 additions & 228 deletions

source/presentation/4.0/example/uc06_3d.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22
"@context": "http://iiif.io/api/presentation/4/context.json",
33
"id": "https://iiif.io/api/presentation/4.0/example/uc06_3d.json",
44
"type": "Manifest",
5-
"label": { "en": [ "Single Model" ] },
5+
"label": { "en": [ "Chess Pawn — Basic Scene" ] },
66
"summary": {
77
"en": [
8-
"Viewer should render the model at the scene origin, and then viewer should add default lighting and camera"
8+
"Viewer should render the chess pawn model at the scene origin, and then viewer should add default lighting and camera"
99
]
1010
},
1111
"items": [
@@ -14,7 +14,7 @@
1414
"type": "Scene",
1515
"label": {
1616
"en": [
17-
"A Scene"
17+
"Chess Pawn"
1818
]
1919
},
2020
"items": [
@@ -27,7 +27,7 @@
2727
"type": "Annotation",
2828
"motivation": ["painting"],
2929
"body": {
30-
"id": "https://fixtures.iiif.io/3d/google/astronaut.glb",
30+
"id": "https://fixtures.iiif.io/3d/thomas_flynn/chess/Pawn_black.glb",
3131
"type": "Model",
3232
"format": "model/gltf-binary"
3333
},

source/presentation/4.0/example/uc06_3d_annotation.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22
"@context": "http://iiif.io/api/presentation/4/context.json",
33
"id": "https://iiif.io/api/presentation/4.0/example/uc06_3d_annotation.json",
44
"type": "Manifest",
5-
"label": { "en": [ "Single Model with light and Camera" ] },
5+
"label": { "en": [ "Chess Pawn with Light and Camera" ] },
66
"summary": {
77
"en": [
8-
"Viewer should render the model at (-1,0,1), add the light, and base the viewport on the provided camera"
8+
"Viewer should render the chess pawn at (-1,0,1), add the light, and base the viewport on the provided camera"
99
]
1010
},
1111
"items": [
@@ -24,7 +24,7 @@
2424
"type": "Annotation",
2525
"motivation": [ "painting" ],
2626
"body": {
27-
"id": "https://fixtures.iiif.io/3d/google/astronaut.glb",
27+
"id": "https://fixtures.iiif.io/3d/thomas_flynn/chess/Pawn_black.glb",
2828
"type": "Model",
2929
"format": "model/gltf-binary"
3030
},

source/presentation/4.0/example/uc06_audio_with_3d.json

Lines changed: 205 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
"type": "Manifest",
55
"label": {
66
"en": [
7-
"Use Case 7: Scene with Audio"
7+
"Chess Pieces with Spatial Audio"
88
]
99
},
1010
"items": [
@@ -13,17 +13,19 @@
1313
"type": "Scene",
1414
"label": {
1515
"en": [
16-
"Positional Audio Symphony Hall Experience"
16+
"Chess Pieces with Spatial Audio"
1717
]
1818
},
19+
"backgroundColor": "#FF00FE",
20+
"interactionMode": [ "hemisphere-orbit" ],
1921
"duration": 60,
2022
"items": [
2123
{
2224
"id": "https://iiif.io/api/presentation/4.0/example/uc06/scene/1/page/1",
2325
"type": "AnnotationPage",
2426
"items": [
2527
{
26-
"id": "https://iiif.io/api/presentation/4.0/example/uc06/3d/anno1",
28+
"id": "https://iiif.io/api/presentation/4.0/example/uc06/3d/audio/anno1",
2729
"type": "Annotation",
2830
"motivation": [
2931
"painting"
@@ -49,7 +51,7 @@
4951
}
5052
},
5153
{
52-
"id": "https://iiif.io/api/presentation/4.0/example/uc06/3d/anno2",
54+
"id": "https://iiif.io/api/presentation/4.0/example/uc06/3d/audio/anno2",
5355
"type": "Annotation",
5456
"motivation": [
5557
"painting"
@@ -95,7 +97,7 @@
9597
}
9698
},
9799
{
98-
"id": "https://iiif.io/api/presentation/4.0/example/uc06/3d/anno3",
100+
"id": "https://iiif.io/api/presentation/4.0/example/uc06/3d/audio/anno3",
99101
"type": "Annotation",
100102
"motivation": [
101103
"painting"
@@ -129,6 +131,202 @@
129131
"id": "https://iiif.io/api/presentation/4.0/example/uc06/scene/1#3,0,-2&t=30,60",
130132
"type": "Scene"
131133
}
134+
},
135+
{
136+
"id": "https://iiif.io/api/presentation/4.0/example/uc06/scene/1/anno/1",
137+
"type": "Annotation",
138+
"motivation": [ "painting" ],
139+
"body": {
140+
"id": "https://fixtures.iiif.io/3d/thomas_flynn/chess/Pawn_black.glb",
141+
"label": { "en": [ "Pawn 1" ] },
142+
"type": "Model",
143+
"format": "model/gltf-binary"
144+
},
145+
"target": {
146+
"id": "https://iiif.io/api/presentation/4.0/example/uc06/scene/1/anno/1/specificResource/1",
147+
"type": "SpecificResource",
148+
"source": {
149+
"id": "https://iiif.io/api/presentation/4.0/example/uc06/scene/1",
150+
"type": "Scene"
151+
},
152+
"selector": [
153+
{
154+
"type": "PointSelector",
155+
"x": 1.0,
156+
"y": 0.0,
157+
"z": 0.0
158+
}
159+
]
160+
}
161+
},
162+
{
163+
"id": "https://iiif.io/api/presentation/4.0/example/uc06/3d/anno2",
164+
"type": "Annotation",
165+
"motivation": [ "painting" ],
166+
"body": {
167+
"id": "https://iiif.io/api/presentation/4.0/example/uc06/3d/anno2/specificResource/1",
168+
"type": "SpecificResource",
169+
"source": {
170+
"id": "https://fixtures.iiif.io/3d/thomas_flynn/chess/Pawn_black.glb",
171+
"label": { "en": [ "Pawn 2 tipped over" ] },
172+
"type": "Model",
173+
"format": "model/gltf-binary"
174+
},
175+
"transform": [
176+
{
177+
"type": "RotateTransform",
178+
"x": 0.0,
179+
"y": 0.0,
180+
"z": -90.0
181+
},
182+
{
183+
"type": "TranslateTransform",
184+
"x": 0.0,
185+
"y": 1.0,
186+
"z": 0.0
187+
}
188+
]
189+
},
190+
"target": {
191+
"type": "SpecificResource",
192+
"id": "https://iiif.io/api/presentation/4.0/example/uc06/3d/anno2/specificResource/2",
193+
"source": {
194+
"id": "https://iiif.io/api/presentation/4.0/example/uc06/scene/1",
195+
"type": "Scene"
196+
},
197+
"selector": [
198+
{
199+
"type": "PointSelector",
200+
"x": 2.0,
201+
"y": 0.0,
202+
"z": 3.0
203+
}
204+
]
205+
}
206+
},
207+
{
208+
"id": "https://iiif.io/api/presentation/4.0/example/uc06/3d/anno3",
209+
"type": "Annotation",
210+
"motivation": [ "painting" ],
211+
"exclude": [
212+
"audio",
213+
"lights"
214+
],
215+
"body": {
216+
"id": "https://iiif.io/api/presentation/4.0/example/uc06/3d/anno3/specificResource/1",
217+
"type": "SpecificResource",
218+
"source": {
219+
"id": "https://fixtures.iiif.io/3d/thomas_flynn/chess/Queen_black.glb",
220+
"label": { "en": [ "Queen" ] },
221+
"type": "Model",
222+
"format": "model/gltf-binary"
223+
},
224+
"transform": [
225+
{
226+
"type": "ScaleTransform",
227+
"x": 1.5,
228+
"y": 1.5,
229+
"z": 1.5
230+
}
231+
]
232+
},
233+
"target": {
234+
"id": "https://iiif.io/api/presentation/4.0/example/uc06/3d/anno3/specificResource/2",
235+
"type": "SpecificResource",
236+
"source": {
237+
"id": "https://iiif.io/api/presentation/4.0/example/uc06/scene/1",
238+
"type": "Scene"
239+
},
240+
"selector": [
241+
{
242+
"type": "PointSelector",
243+
"x": 1.0,
244+
"y": 0.0,
245+
"z": 2.0
246+
}
247+
]
248+
}
249+
},
250+
{
251+
"id": "https://iiif.io/api/presentation/4.0/example/uc06/3d/anno4",
252+
"type": "Annotation",
253+
"motivation": [ "painting" ],
254+
"body": {
255+
"id": "https://iiif.io/api/presentation/4.0/example/uc06/3d/lights/1",
256+
"type": "ImageBasedLight",
257+
"label": { "en": [ "Image-Based Light" ] },
258+
"environmentMap": {
259+
"id": "https://iiif.io/api/presentation/4.0/example/uc06/light/3/environment.hdr",
260+
"type": "Image",
261+
"format": "image/vnd.radiance",
262+
"profile": "equirectangular"
263+
}
264+
},
265+
"target": {
266+
"id": "https://iiif.io/api/presentation/4.0/example/uc06/scene/1",
267+
"type": "Scene"
268+
}
269+
},
270+
{
271+
"id": "https://iiif.io/api/presentation/4.0/example/uc06/scene/1/anno/cam1",
272+
"type": "Annotation",
273+
"motivation": [ "painting" ],
274+
"body": {
275+
"id": "https://iiif.io/api/presentation/4.0/example/uc06/scene/1/cameras/1",
276+
"type": "PerspectiveCamera",
277+
"label": { "en": [ "Perspective Camera 1" ] },
278+
"lookAt": {
279+
"id": "https://iiif.io/api/presentation/4.0/example/uc06/scene/1/anno/1",
280+
"type": "Annotation"
281+
},
282+
"near": 1,
283+
"far": 100,
284+
"fieldOfView": 50
285+
},
286+
"target": {
287+
"id": "https://iiif.io/api/presentation/4.0/example/uc06/scene/1/anno/cam1/specificResource/1",
288+
"type": "SpecificResource",
289+
"source": {
290+
"id": "https://iiif.io/api/presentation/4.0/example/uc06/scene/1",
291+
"type": "Scene"
292+
},
293+
"selector": [
294+
{
295+
"type": "PointSelector",
296+
"x": 0.0,
297+
"y": 6.0,
298+
"z": 10.0
299+
}
300+
]
301+
}
302+
},
303+
{
304+
"id": "https://iiif.io/api/presentation/4.0/example/uc06/scene/1/anno/light1",
305+
"type": "Annotation",
306+
"motivation": [ "painting" ],
307+
"body": {
308+
"id": "https://iiif.io/api/presentation/4.0/example/uc06/scene/1/lights/1",
309+
"type": "SpotLight",
310+
"label": { "en": [ "Spot Light 1" ] },
311+
"angle": 90.0,
312+
"color": "#A0FFA0"
313+
},
314+
"target": {
315+
"id": "https://iiif.io/api/presentation/4.0/example/uc06/scene/1/anno/light1/specificResource/1",
316+
"type": "SpecificResource",
317+
"source": {
318+
"id": "https://iiif.io/api/presentation/4.0/example/uc06/scene/1",
319+
"type": "Scene"
320+
},
321+
"selector": [
322+
{
323+
"type": "PointSelector",
324+
"x": 0.0,
325+
"y": 3.0,
326+
"z": 1.0
327+
}
328+
]
329+
}
132330
}
133331
]
134332
}
@@ -146,7 +344,7 @@
146344
],
147345
"body": {
148346
"type": "TextualBody",
149-
"value": "This is the point when the percussion stops playing and the tuba begins playing."
347+
"value": "This is the point when the percussion fades and the tuba tone begins, marking the second phase of the scene's audio."
150348
},
151349
"target": {
152350
"id": "https://iiif.io/api/presentation/4.0/example/uc06/scene/1/specificResource/1",
@@ -168,4 +366,4 @@
168366
]
169367
}
170368
]
171-
}
369+
}

0 commit comments

Comments
 (0)