rayzee 5.0.1 → 5.1.0
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/README.md +18 -12
- package/dist/rayzee.es.js +738 -717
- package/dist/rayzee.es.js.map +1 -1
- package/dist/rayzee.umd.js +32 -41
- package/dist/rayzee.umd.js.map +1 -1
- package/package.json +2 -2
- package/src/PathTracerApp.js +30 -1
- package/src/Processor/EmissiveTriangleBuilder.js +3 -5
- package/src/Processor/GeometryExtractor.js +5 -7
- package/src/Processor/SceneProcessor.js +1 -2
- package/src/Processor/ShaderBuilder.js +4 -0
- package/src/Processor/TLASBuilder.js +1 -1
- package/src/Stages/PathTracer.js +111 -0
- package/src/TSL/BVHTraversal.js +99 -92
- package/src/TSL/Common.js +0 -1
- package/src/TSL/PathTracerCore.js +0 -10
- package/src/TSL/Random.js +0 -1
- package/src/TSL/RayIntersection.js +0 -3
- package/src/TSL/Struct.js +0 -1
- package/src/managers/MaterialDataManager.js +1 -2
- package/src/managers/RenderTargetManager.js +0 -1
package/README.md
CHANGED
|
@@ -60,11 +60,11 @@ npm install rayzee three
|
|
|
60
60
|
});
|
|
61
61
|
|
|
62
62
|
// Tweak settings
|
|
63
|
-
engine.set('bounces', 8);
|
|
64
|
-
engine.set('exposure', 1.2);
|
|
63
|
+
engine.settings.set('bounces', 8);
|
|
64
|
+
engine.settings.set('exposure', 1.2);
|
|
65
65
|
|
|
66
66
|
// Use namespaced APIs and direct methods
|
|
67
|
-
engine.cameraManager.
|
|
67
|
+
engine.cameraManager.switchCamera(0);
|
|
68
68
|
engine.lightManager.add('PointLight');
|
|
69
69
|
engine.screenshot();
|
|
70
70
|
```
|
|
@@ -196,7 +196,7 @@ engine.wake() // Resume render loop if idle
|
|
|
196
196
|
#### Loading Assets
|
|
197
197
|
|
|
198
198
|
```js
|
|
199
|
-
await engine.loadModel(url) // Load GLB/GLTF/FBX/OBJ/STL/PLY/DAE/3MF/USDZ
|
|
199
|
+
await engine.loadModel(url) // Load GLB/GLTF/FBX/OBJ/STL/PLY/DAE/3MF/USDZ/ZIP
|
|
200
200
|
await engine.loadObject3D(object3d) // Load a Three.js Object3D directly
|
|
201
201
|
await engine.loadEnvironment(url) // Load HDR/EXR environment map
|
|
202
202
|
```
|
|
@@ -204,14 +204,14 @@ await engine.loadEnvironment(url) // Load HDR/EXR environment map
|
|
|
204
204
|
#### Settings
|
|
205
205
|
|
|
206
206
|
```js
|
|
207
|
-
engine.set('bounces', 8) // Set a single parameter
|
|
208
|
-
engine.setMany({ // Set multiple parameters at once
|
|
207
|
+
engine.settings.set('bounces', 8) // Set a single parameter
|
|
208
|
+
engine.settings.setMany({ // Set multiple parameters at once
|
|
209
209
|
bounces: 8,
|
|
210
210
|
samplesPerPixel: 1,
|
|
211
211
|
exposure: 1.0
|
|
212
212
|
})
|
|
213
|
-
engine.get('bounces') // Read a parameter
|
|
214
|
-
engine.getAll() // Get all current settings
|
|
213
|
+
engine.settings.get('bounces') // Read a parameter
|
|
214
|
+
engine.settings.getAll() // Get all current settings
|
|
215
215
|
```
|
|
216
216
|
|
|
217
217
|
Key settings:
|
|
@@ -257,7 +257,7 @@ Camera switching, auto-focus, DOF, and direct Three.js access.
|
|
|
257
257
|
```js
|
|
258
258
|
engine.cameraManager.active // The active PerspectiveCamera
|
|
259
259
|
engine.cameraManager.controls // The OrbitControls instance
|
|
260
|
-
engine.cameraManager.
|
|
260
|
+
engine.cameraManager.switchCamera(index) // Switch between scene cameras
|
|
261
261
|
engine.cameraManager.getNames() // List available cameras
|
|
262
262
|
engine.cameraManager.focusOn(center) // Focus orbit camera on a world-space point
|
|
263
263
|
engine.cameraManager.setAutoFocusMode(mode) // 'auto' | 'manual'
|
|
@@ -301,6 +301,11 @@ engine.setTextureTransform(index, name, transform) // Update texture transform
|
|
|
301
301
|
engine.reset() // Re-upload all material data to GPU
|
|
302
302
|
engine.stages.pathTracer.materialData.updateMaterial(index, mat) // Replace a material
|
|
303
303
|
await engine.rebuildMaterials(scene) // Full rebuild (after texture changes)
|
|
304
|
+
|
|
305
|
+
// Per-mesh visibility (toggle Three.js object.visible, then sync to GPU)
|
|
306
|
+
object.visible = false; // Set on any mesh or group
|
|
307
|
+
engine.updateAllMeshVisibility() // Recompute all mesh visibility from scene hierarchy
|
|
308
|
+
engine.setMeshVisibility(meshIndex, visible) // Update single mesh visibility
|
|
304
309
|
```
|
|
305
310
|
|
|
306
311
|
### engine.environmentManager
|
|
@@ -310,8 +315,8 @@ Environment maps, sky modes, and procedural generation.
|
|
|
310
315
|
```js
|
|
311
316
|
engine.environmentManager.params // Current environment parameters
|
|
312
317
|
engine.environmentManager.texture // The loaded environment texture
|
|
313
|
-
await engine.
|
|
314
|
-
await engine.environmentManager.
|
|
318
|
+
await engine.loadEnvironment(url) // Load HDR/EXR environment map (method on engine)
|
|
319
|
+
await engine.environmentManager.setEnvironmentMap(tex) // Set a custom environment texture
|
|
315
320
|
await engine.environmentManager.setMode(mode) // 'hdri' | 'procedural' | 'gradient' | 'color'
|
|
316
321
|
await engine.environmentManager.generateProcedural() // Preetham-model sky
|
|
317
322
|
await engine.environmentManager.generateGradient() // Gradient sky
|
|
@@ -366,7 +371,7 @@ Transform gizmo controls.
|
|
|
366
371
|
```js
|
|
367
372
|
engine.transformManager.setMode('translate') // 'translate' | 'rotate' | 'scale'
|
|
368
373
|
engine.transformManager.setSpace('world') // 'world' | 'local'
|
|
369
|
-
engine.transformManager.
|
|
374
|
+
engine.transformManager.controls // Access the underlying TransformControls
|
|
370
375
|
```
|
|
371
376
|
|
|
372
377
|
### Output Methods
|
|
@@ -471,6 +476,7 @@ import {
|
|
|
471
476
|
AnimationManager,
|
|
472
477
|
TransformManager,
|
|
473
478
|
VideoRenderManager,
|
|
479
|
+
InteractionManager,
|
|
474
480
|
RenderPipeline,
|
|
475
481
|
RenderStage,
|
|
476
482
|
StageExecutionMode,
|