@hology/webgpu-renderer 0.1.1 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.md +32 -32
- package/README.md +30 -30
- package/dist/index.d.ts +5 -0
- package/dist/index.js +1 -1
- package/package.json +43 -43
package/LICENSE.md
CHANGED
|
@@ -1,32 +1,32 @@
|
|
|
1
|
-
### Hology Interactive AB Limited License
|
|
2
|
-
|
|
3
|
-
Copyright (c) 2026 Hology Interactive AB. All rights reserved.
|
|
4
|
-
|
|
5
|
-
This software package, including all associated files and documentation (the
|
|
6
|
-
"Software"), is licensed under the following terms:
|
|
7
|
-
|
|
8
|
-
1. **License Grant**
|
|
9
|
-
Hology Interactive AB grants Licensee a limited, non-exclusive,
|
|
10
|
-
non-transferable license to use the Software solely for the purpose of
|
|
11
|
-
developing and running software within the Hology Engine ecosystem.
|
|
12
|
-
|
|
13
|
-
2. **Restrictions**
|
|
14
|
-
- Licensee may not use, copy, modify, or distribute the Software for any
|
|
15
|
-
purpose outside of Hology Engine.
|
|
16
|
-
- Licensee may not create derivative works of the Software that function
|
|
17
|
-
independently of Hology Engine.
|
|
18
|
-
- Licensee must not remove or alter any licensing notices.
|
|
19
|
-
|
|
20
|
-
3. **Ownership**
|
|
21
|
-
Hology Interactive AB retains all intellectual property rights to the
|
|
22
|
-
Software. This license does not transfer ownership of the Software.
|
|
23
|
-
|
|
24
|
-
4. **Warranty Disclaimer**
|
|
25
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
26
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
27
|
-
FITNESS FOR A PARTICULAR PURPOSE, AND NONINFRINGEMENT. HOLOGY INTERACTIVE AB
|
|
28
|
-
SHALL NOT BE LIABLE FOR ANY CLAIM, DAMAGES, OR OTHER LIABILITY ARISING FROM
|
|
29
|
-
THE USE OF THE SOFTWARE.
|
|
30
|
-
|
|
31
|
-
5. **Contact**
|
|
32
|
-
For inquiries regarding this license, please email hello@hology.app.
|
|
1
|
+
### Hology Interactive AB Limited License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Hology Interactive AB. All rights reserved.
|
|
4
|
+
|
|
5
|
+
This software package, including all associated files and documentation (the
|
|
6
|
+
"Software"), is licensed under the following terms:
|
|
7
|
+
|
|
8
|
+
1. **License Grant**
|
|
9
|
+
Hology Interactive AB grants Licensee a limited, non-exclusive,
|
|
10
|
+
non-transferable license to use the Software solely for the purpose of
|
|
11
|
+
developing and running software within the Hology Engine ecosystem.
|
|
12
|
+
|
|
13
|
+
2. **Restrictions**
|
|
14
|
+
- Licensee may not use, copy, modify, or distribute the Software for any
|
|
15
|
+
purpose outside of Hology Engine.
|
|
16
|
+
- Licensee may not create derivative works of the Software that function
|
|
17
|
+
independently of Hology Engine.
|
|
18
|
+
- Licensee must not remove or alter any licensing notices.
|
|
19
|
+
|
|
20
|
+
3. **Ownership**
|
|
21
|
+
Hology Interactive AB retains all intellectual property rights to the
|
|
22
|
+
Software. This license does not transfer ownership of the Software.
|
|
23
|
+
|
|
24
|
+
4. **Warranty Disclaimer**
|
|
25
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
26
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
27
|
+
FITNESS FOR A PARTICULAR PURPOSE, AND NONINFRINGEMENT. HOLOGY INTERACTIVE AB
|
|
28
|
+
SHALL NOT BE LIABLE FOR ANY CLAIM, DAMAGES, OR OTHER LIABILITY ARISING FROM
|
|
29
|
+
THE USE OF THE SOFTWARE.
|
|
30
|
+
|
|
31
|
+
5. **Contact**
|
|
32
|
+
For inquiries regarding this license, please email hello@hology.app.
|
package/README.md
CHANGED
|
@@ -139,36 +139,36 @@ Whether Hi-Z culling is actually active also depends on device support for WebGP
|
|
|
139
139
|
renderer.getHiZOcclusionCullingEnabled(); // requested
|
|
140
140
|
renderer.getHiZOcclusionCullingActive(); // requested + supported on this device
|
|
141
141
|
renderer.getLastFrameProfile(); // latest CPU/GPU pass timings
|
|
142
|
-
renderer.getSampleCount(); // current MSAA sample count
|
|
143
|
-
```
|
|
144
|
-
|
|
145
|
-
## Manually synchronized scene transforms
|
|
146
|
-
|
|
147
|
-
By default, `render()` updates the scene's world matrices before extraction, as
|
|
148
|
-
Three renderers normally do. Editors that already track transform dirtiness can
|
|
149
|
-
avoid that full traversal by synchronizing dirty subtrees and then disabling the
|
|
150
|
-
automatic renderer update:
|
|
151
|
-
|
|
152
|
-
```ts
|
|
153
|
-
scene.matrixWorldAutoUpdate = false;
|
|
154
|
-
|
|
155
|
-
function synchronizeTransform(object: THREE.Object3D): void {
|
|
156
|
-
// Recompose this object's local matrix when position/quaternion/scale changed.
|
|
157
|
-
if (object.matrixAutoUpdate) object.updateMatrix();
|
|
158
|
-
|
|
159
|
-
// Update its ancestors as needed, then propagate the new world transform to
|
|
160
|
-
// descendants. Call once for each highest dirty root, not for every child.
|
|
161
|
-
object.updateWorldMatrix(true, true);
|
|
162
|
-
}
|
|
163
|
-
```
|
|
164
|
-
|
|
165
|
-
A camera parented into the scene is covered by its dirty subtree update. For an
|
|
166
|
-
unparented camera, either leave `camera.matrixWorldAutoUpdate` enabled or disable
|
|
167
|
-
it and call `camera.updateMatrixWorld()` after changing its transform. The same
|
|
168
|
-
manual synchronization rule applies to directional and spot-light targets whose
|
|
169
|
-
`matrixWorldAutoUpdate` has been disabled.
|
|
170
|
-
|
|
171
|
-
## Static GPU Visibility
|
|
142
|
+
renderer.getSampleCount(); // current MSAA sample count
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
## Manually synchronized scene transforms
|
|
146
|
+
|
|
147
|
+
By default, `render()` updates the scene's world matrices before extraction, as
|
|
148
|
+
Three renderers normally do. Editors that already track transform dirtiness can
|
|
149
|
+
avoid that full traversal by synchronizing dirty subtrees and then disabling the
|
|
150
|
+
automatic renderer update:
|
|
151
|
+
|
|
152
|
+
```ts
|
|
153
|
+
scene.matrixWorldAutoUpdate = false;
|
|
154
|
+
|
|
155
|
+
function synchronizeTransform(object: THREE.Object3D): void {
|
|
156
|
+
// Recompose this object's local matrix when position/quaternion/scale changed.
|
|
157
|
+
if (object.matrixAutoUpdate) object.updateMatrix();
|
|
158
|
+
|
|
159
|
+
// Update its ancestors as needed, then propagate the new world transform to
|
|
160
|
+
// descendants. Call once for each highest dirty root, not for every child.
|
|
161
|
+
object.updateWorldMatrix(true, true);
|
|
162
|
+
}
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
A camera parented into the scene is covered by its dirty subtree update. For an
|
|
166
|
+
unparented camera, either leave `camera.matrixWorldAutoUpdate` enabled or disable
|
|
167
|
+
it and call `camera.updateMatrixWorld()` after changing its transform. The same
|
|
168
|
+
manual synchronization rule applies to directional and spot-light targets whose
|
|
169
|
+
`matrixWorldAutoUpdate` has been disabled.
|
|
170
|
+
|
|
171
|
+
## Static GPU Visibility
|
|
172
172
|
|
|
173
173
|
For immutable environment content, snapshot the authored Three objects once and remove
|
|
174
174
|
the source root from the dynamic scene. The static path supports indexed opaque
|
package/dist/index.d.ts
CHANGED
|
@@ -771,6 +771,11 @@ declare class WebGpuRenderer {
|
|
|
771
771
|
setProjectionJitter(x: number, y: number): void;
|
|
772
772
|
clearProjectionJitter(): void;
|
|
773
773
|
getLastFrameProfile(): RendererFrameProfile | null;
|
|
774
|
+
/**
|
|
775
|
+
* Invalidates temporal data when this renderer starts presenting a
|
|
776
|
+
* different scene/view while preserving all reusable GPU resource caches.
|
|
777
|
+
*/
|
|
778
|
+
resetViewHistory(): void;
|
|
774
779
|
setHiZOcclusionCullingEnabled(enabled: boolean): void;
|
|
775
780
|
getHiZOcclusionCullingEnabled(): boolean;
|
|
776
781
|
getHiZOcclusionCullingActive(): boolean;
|