Skip to content

Commit 55cc3d0

Browse files
Add ImageBasedLight to index
1 parent 5512c69 commit 55cc3d0

File tree

1 file changed

+27
-6
lines changed

1 file changed

+27
-6
lines changed

source/presentation/4.0/index.md

Lines changed: 27 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ a:hover > code {
101101
margin-top: 0px;
102102
margin-bottom: 0px;
103103
text-align: left;
104-
104+
105105
}
106106

107107
code.language-json {
@@ -1194,7 +1194,7 @@ There are two types of Camera, [`PerspectiveCamera`][prezi-40-model-PerspectiveC
11941194

11951195
### Lights
11961196

1197-
There are four types of Light: AmbientLight, DirectionalLight, PointLight and SpotLight. They have a [`color`][prezi-40-model-color] and an [`intensity`][prezi-40-model-intensity]. SpotLight has an additional property of [`angle`][prezi-40-model-angle] that determines the spread of its light cone.
1197+
There are five types of Light: AmbientLight, DirectionalLight, ImageBasedLight, PointLight, and SpotLight. They have an [`intensity`][prezi-40-model-intensity] property, and all Lights except ImageBasedLight have a [`color`][prezi-40-model-color] property. ImageBasedLight has an additional property of [`environmentMap`][prezi-40-model-environment-map] that specifies the environment map image used to simulate lighting. SpotLight has an additional property of [`angle`][prezi-40-model-angle] that determines the spread of its light cone. PointLights and SpotLights can be painted at specific positions within the Scene. DirectionalLights, PointLights, and SpotLights have directional facing in the Scene that affects how light is casted.
11981198

11991199
If the Scene has no Lights, then the client provides its own lighting as it sees fit.
12001200

@@ -1388,7 +1388,7 @@ The Light is green and has a position, but has its default orientation of lookin
13881388

13891389
>
13901390
**Key Points**
1391-
* This example uses some of the Scene-Specific resources introduced in the next section.
1391+
* This example uses some of the Scene-Specific resources introduced in [3D Supporting Resources](#3d-supporting-resources).
13921392
* A Point Selector explicitly places the model in the Scene via the Painting Annotation's [`target`][prezi-40-model-target] property. In the previous example, there was an implicit Point Selector placing the model at (0,0,0) because no explicit Point Selector was provided.
13931393
* The provided Light should replace any default lighting the client might have.
13941394
{: .note}
@@ -1400,7 +1400,7 @@ Properties: [backgroundColor][prezi-40-model-backgroundColor], [lookAt][prezi-40
14001400

14011401
## Use Case 6: Complex Scene
14021402

1403-
This example is a Manifest with a single Scene with multiple models painted into the Scene at specific positions with transforms applied. It represents a collection of chess game pieces with multiple pawns and a single queen. The example demonstrates painting multiple models into a Scene, including one Content Resource being painted into a Scene multiple times. Transforms and Point Selectors are used to establish position and scale for Annotations. Some external web resources referenced as Content Resources may include elements such as lights or audio that are undesirable within a Manifest, and the [`exclude`][prezi-40-model-exclude] property is used to prevent these from being rendered. The property [`interactionMode`][prezi-40-model-interactionMode] is used to guide clients in how to best guide or limit user interaction with rendered content.
1403+
This example is a Manifest with a single Scene with multiple models painted into the Scene at specific positions with transforms applied. It represents a collection of chess game pieces with multiple pawns and a single queen. The example demonstrates painting multiple models into a Scene, including one Content Resource being painted into a Scene multiple times. Transforms and Point Selectors are used to establish position and scale for Annotations. Some external web resources referenced as Content Resources may include elements such as lights or audio that are undesirable within a Manifest, and the [`exclude`][prezi-40-model-exclude] property is used to prevent these from being rendered. The property [`interactionMode`][prezi-40-model-interactionMode] is used to guide clients in how to best guide or limit user interaction with rendered content. This example also introduces an Image-Based Light Annotation to simulate real-world lighting of the chess game pieces.
14041404

14051405
```jsonc
14061406
{
@@ -1446,7 +1446,7 @@ This example is a Manifest with a single Scene with multiple models painted into
14461446
}]
14471447
},
14481448
{
1449-
"id": "https://example.org/iiif/3d/anno1",
1449+
"id": "https://example.org/iiif/3d/anno2",
14501450
"type": "Annotation",
14511451
"motivation": ["painting"],
14521452
"body": [{
@@ -1490,7 +1490,7 @@ This example is a Manifest with a single Scene with multiple models painted into
14901490
}]
14911491
},
14921492
{
1493-
"id": "https://example.org/iiif/3d/anno1",
1493+
"id": "https://example.org/iiif/3d/anno3",
14941494
"type": "Annotation",
14951495
"motivation": ["painting"],
14961496
"exclude": ["Audio", "Lights"],
@@ -1528,6 +1528,26 @@ This example is a Manifest with a single Scene with multiple models painted into
15281528
]
15291529
}
15301530
]
1531+
},
1532+
{
1533+
"id": "https://example.org/iiif/3d/anno4",
1534+
"type": "Annotation",
1535+
"motivation": ["painting"],
1536+
"body": {
1537+
"id": "https://example.org/iiif/3d/lights/1",
1538+
"type": "ImageBasedLight",
1539+
"label": {"en": ["Image-Based Light"]},
1540+
"environmentMap": {
1541+
"id": "https://example.org/iiif/light/3/environment.hdr",
1542+
"type": "Image",
1543+
"format": "image/vnd.radiance",
1544+
"profile": "equirectangular"
1545+
}
1546+
},
1547+
"target": {
1548+
"id": "https://example.org/iiif/scene1/page/p1/1",
1549+
"type": "Scene"
1550+
}
15311551
}
15321552
]
15331553
}
@@ -1542,6 +1562,7 @@ This example is a Manifest with a single Scene with multiple models painted into
15421562
* Each Annotation is painted into the Scene at a different point via Point Selectors.
15431563
* The second Annotation represents a pawn game piece that is tipped over, and Transforms are used to achieve this. RotateTransform is used to tip the pawn over and TranslateTransform is used to align the bottom of the pawn with the coordinate origin's XY plane.
15441564
* The third Annotation represents a queen game piece that is scaled to be larger than the pawns using ScaleTransform.
1565+
* The fourth Annotation represents an Image-Based Light where an environment map texture image is used to simulate omnidirectional real-world light on the chess game pieces.
15451566
* The [`exclude`][prezi-40-model-exclude] property instructs clients not to import or render any external audio or light content present in the Content Resource for the queen game piece.
15461567
* The [`interactionMode`][prezi-40-model-interactionMode] property instructs clients that, if possible, user interactions relating to orbiting the scene should be restricted to a hemisphere.
15471568
{: .note}

0 commit comments

Comments
 (0)