forked from serjIII/threejsSDK
-
Notifications
You must be signed in to change notification settings - Fork 0
/
CSS3DRenderer.html
87 lines (71 loc) · 2.87 KB
/
CSS3DRenderer.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<base href="../../../" />
<script src="page.js"></script>
<link type="text/css" rel="stylesheet" href="page.css" />
</head>
<body>
<h1>[name]</h1>
<p class="desc">[name] can be used to apply hierarchical 3D transformations to DOM elements
via the CSS3 [link:https://www.w3schools.com/cssref/css3_pr_transform.asp transform] property.
This renderer is particularly interesting if you want to apply 3D effects to a website without
canvas based rendering. It can also be used in order to combine DOM elements with WebGL
content.<br /><br />
There are, however, some important limitations:
<ul>
<li>It's not possible to use the material system of *three.js*.</li>
<li>It's also not possible to use geometries.</li>
<li>`[name]` only supports 100% browser and display zoom.</li>
</ul>
So `[name]` is just focused on ordinary DOM elements. These elements are wrapped into special objects (`CSS3DObject` or `CSS3DSprite`) and then added to the scene graph.
</p>
<h2>Import</h2>
<p>
[name] is an add-on, and must be imported explicitly.
See [link:#manual/introduction/Installation Installation / Addons].
</p>
<code>
import { CSS3DRenderer } from 'three/addons/renderers/CSS3DRenderer.js';
</code>
<h2>Examples</h2>
<p>
[example:css3d_molecules molecules]<br />
[example:css3d_orthographic orthographic camera]<br />
[example:css3d_periodictable periodictable]<br />
[example:css3d_sprites sprites]<br />
</p>
<h2>Constructor</h2>
<h3>[name]( [param:Object parameters] )</h3>
<p>
[page:DOMElement element] - A [link:https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement HTMLElement]
where the renderer appends its child-elements.
This corresponds to the [page:CSS3DRenderer.domElement domElement] property below.
If not passed in here, a new div element will be created.
</p>
<h2>Properties</h2>
<h3>[property:DOMElement domElement]</h3>
<p>
A [link:https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement HTMLElement] where the renderer appends its child-elements.<br />
This is automatically created by the renderer in the constructor (if not provided already).
</p>
<h2>Methods</h2>
<h3>[method:Object getSize]()</h3>
<p>
Returns an object containing the width and height of the renderer.
</p>
<h3>[method:undefined render]( [param:Scene scene], [param:PerspectiveCamera camera] )</h3>
<p>
Renders a [page:Scene scene] using a [page:PerspectiveCamera perspective camera].<br />
</p>
<h3>[method:undefined setSize]([param:Number width], [param:Number height])</h3>
<p>
Resizes the renderer to (width, height).
</p>
<h2>Source</h2>
<p>
[link:https://github.com/mrdoob/three.js/blob/master/examples/jsm/renderers/CSS3DRenderer.js examples/jsm/renderers/CSS3DRenderer.js]
</p>
</body>
</html>