@headless-three/renderer 0.1.10 → 0.3.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.
Files changed (244) hide show
  1. package/README.md +32 -0
  2. package/dist/gpu-output.d.ts +190 -0
  3. package/dist/gpu-output.d.ts.map +1 -0
  4. package/dist/gpu-output.js +114 -0
  5. package/dist/gpu-output.js.map +1 -0
  6. package/dist/index.d.ts +26 -770
  7. package/dist/index.d.ts.map +1 -1
  8. package/dist/index.js +32 -6226
  9. package/dist/index.js.map +1 -1
  10. package/dist/index.part-001.d.ts +95 -0
  11. package/dist/index.part-001.d.ts.map +1 -0
  12. package/dist/index.part-001.js +273 -0
  13. package/dist/index.part-001.js.map +1 -0
  14. package/dist/index.part-002.d.ts +69 -0
  15. package/dist/index.part-002.d.ts.map +1 -0
  16. package/dist/index.part-002.js +211 -0
  17. package/dist/index.part-002.js.map +1 -0
  18. package/dist/index.part-003.d.ts +105 -0
  19. package/dist/index.part-003.d.ts.map +1 -0
  20. package/dist/index.part-003.js +270 -0
  21. package/dist/index.part-003.js.map +1 -0
  22. package/dist/index.part-004.d.ts +78 -0
  23. package/dist/index.part-004.d.ts.map +1 -0
  24. package/dist/index.part-004.js +390 -0
  25. package/dist/index.part-004.js.map +1 -0
  26. package/dist/index.part-005.d.ts +75 -0
  27. package/dist/index.part-005.d.ts.map +1 -0
  28. package/dist/index.part-005.js +236 -0
  29. package/dist/index.part-005.js.map +1 -0
  30. package/dist/index.part-006.d.ts +105 -0
  31. package/dist/index.part-006.d.ts.map +1 -0
  32. package/dist/index.part-006.js +262 -0
  33. package/dist/index.part-006.js.map +1 -0
  34. package/dist/index.part-007.d.ts +112 -0
  35. package/dist/index.part-007.d.ts.map +1 -0
  36. package/dist/index.part-007.js +358 -0
  37. package/dist/index.part-007.js.map +1 -0
  38. package/dist/index.part-008.d.ts +240 -0
  39. package/dist/index.part-008.d.ts.map +1 -0
  40. package/dist/index.part-008.js +458 -0
  41. package/dist/index.part-008.js.map +1 -0
  42. package/dist/index.part-009.d.ts +46 -0
  43. package/dist/index.part-009.d.ts.map +1 -0
  44. package/dist/index.part-009.js +379 -0
  45. package/dist/index.part-009.js.map +1 -0
  46. package/dist/index.part-010.d.ts +24 -0
  47. package/dist/index.part-010.d.ts.map +1 -0
  48. package/dist/index.part-010.js +277 -0
  49. package/dist/index.part-010.js.map +1 -0
  50. package/dist/index.part-011.d.ts +21 -0
  51. package/dist/index.part-011.d.ts.map +1 -0
  52. package/dist/index.part-011.js +361 -0
  53. package/dist/index.part-011.js.map +1 -0
  54. package/dist/index.part-012.d.ts +115 -0
  55. package/dist/index.part-012.d.ts.map +1 -0
  56. package/dist/index.part-012.js +298 -0
  57. package/dist/index.part-012.js.map +1 -0
  58. package/dist/index.part-013.d.ts +37 -0
  59. package/dist/index.part-013.d.ts.map +1 -0
  60. package/dist/index.part-013.js +341 -0
  61. package/dist/index.part-013.js.map +1 -0
  62. package/dist/index.part-014.d.ts +43 -0
  63. package/dist/index.part-014.d.ts.map +1 -0
  64. package/dist/index.part-014.js +441 -0
  65. package/dist/index.part-014.js.map +1 -0
  66. package/dist/index.part-015.d.ts +45 -0
  67. package/dist/index.part-015.d.ts.map +1 -0
  68. package/dist/index.part-015.js +432 -0
  69. package/dist/index.part-015.js.map +1 -0
  70. package/dist/index.part-016.d.ts +55 -0
  71. package/dist/index.part-016.d.ts.map +1 -0
  72. package/dist/index.part-016.js +382 -0
  73. package/dist/index.part-016.js.map +1 -0
  74. package/dist/index.part-017.d.ts +55 -0
  75. package/dist/index.part-017.d.ts.map +1 -0
  76. package/dist/index.part-017.js +436 -0
  77. package/dist/index.part-017.js.map +1 -0
  78. package/dist/index.part-018.d.ts +34 -0
  79. package/dist/index.part-018.d.ts.map +1 -0
  80. package/dist/index.part-018.js +365 -0
  81. package/dist/index.part-018.js.map +1 -0
  82. package/dist/index.part-019.d.ts +29 -0
  83. package/dist/index.part-019.d.ts.map +1 -0
  84. package/dist/index.part-019.js +261 -0
  85. package/dist/index.part-019.js.map +1 -0
  86. package/dist/index.part-020.d.ts +37 -0
  87. package/dist/index.part-020.d.ts.map +1 -0
  88. package/dist/index.part-020.js +388 -0
  89. package/dist/index.part-020.js.map +1 -0
  90. package/dist/index.part-021.d.ts +10 -0
  91. package/dist/index.part-021.d.ts.map +1 -0
  92. package/dist/index.part-021.js +142 -0
  93. package/dist/index.part-021.js.map +1 -0
  94. package/dist/loaders.d.ts +27 -91
  95. package/dist/loaders.d.ts.map +1 -1
  96. package/dist/loaders.js +22 -855
  97. package/dist/loaders.js.map +1 -1
  98. package/dist/loaders.part-001.d.ts +163 -0
  99. package/dist/loaders.part-001.d.ts.map +1 -0
  100. package/dist/loaders.part-001.js +277 -0
  101. package/dist/loaders.part-001.js.map +1 -0
  102. package/dist/loaders.part-002.d.ts +33 -0
  103. package/dist/loaders.part-002.d.ts.map +1 -0
  104. package/dist/loaders.part-002.js +511 -0
  105. package/dist/loaders.part-002.js.map +1 -0
  106. package/dist/loaders.part-003.d.ts +23 -0
  107. package/dist/loaders.part-003.d.ts.map +1 -0
  108. package/dist/loaders.part-003.js +138 -0
  109. package/dist/loaders.part-003.js.map +1 -0
  110. package/dist/materials.d.ts +33 -49
  111. package/dist/materials.d.ts.map +1 -1
  112. package/dist/materials.js +39 -4339
  113. package/dist/materials.js.map +1 -1
  114. package/dist/materials.part-001.d.ts +153 -0
  115. package/dist/materials.part-001.d.ts.map +1 -0
  116. package/dist/materials.part-001.js +347 -0
  117. package/dist/materials.part-001.js.map +1 -0
  118. package/dist/materials.part-002.d.ts +46 -0
  119. package/dist/materials.part-002.d.ts.map +1 -0
  120. package/dist/materials.part-002.js +299 -0
  121. package/dist/materials.part-002.js.map +1 -0
  122. package/dist/materials.part-003.d.ts +14 -0
  123. package/dist/materials.part-003.d.ts.map +1 -0
  124. package/dist/materials.part-003.js +438 -0
  125. package/dist/materials.part-003.js.map +1 -0
  126. package/dist/materials.part-004.d.ts +30 -0
  127. package/dist/materials.part-004.d.ts.map +1 -0
  128. package/dist/materials.part-004.js +464 -0
  129. package/dist/materials.part-004.js.map +1 -0
  130. package/dist/materials.part-005.d.ts +38 -0
  131. package/dist/materials.part-005.d.ts.map +1 -0
  132. package/dist/materials.part-005.js +366 -0
  133. package/dist/materials.part-005.js.map +1 -0
  134. package/dist/materials.part-006.d.ts +18 -0
  135. package/dist/materials.part-006.d.ts.map +1 -0
  136. package/dist/materials.part-006.js +391 -0
  137. package/dist/materials.part-006.js.map +1 -0
  138. package/dist/materials.part-007.d.ts +24 -0
  139. package/dist/materials.part-007.d.ts.map +1 -0
  140. package/dist/materials.part-007.js +467 -0
  141. package/dist/materials.part-007.js.map +1 -0
  142. package/dist/materials.part-008.d.ts +95 -0
  143. package/dist/materials.part-008.d.ts.map +1 -0
  144. package/dist/materials.part-008.js +404 -0
  145. package/dist/materials.part-008.js.map +1 -0
  146. package/dist/materials.part-009.d.ts +89 -0
  147. package/dist/materials.part-009.d.ts.map +1 -0
  148. package/dist/materials.part-009.js +412 -0
  149. package/dist/materials.part-009.js.map +1 -0
  150. package/dist/materials.part-010.d.ts +46 -0
  151. package/dist/materials.part-010.d.ts.map +1 -0
  152. package/dist/materials.part-010.js +375 -0
  153. package/dist/materials.part-010.js.map +1 -0
  154. package/dist/materials.part-011.d.ts +25 -0
  155. package/dist/materials.part-011.d.ts.map +1 -0
  156. package/dist/materials.part-011.js +435 -0
  157. package/dist/materials.part-011.js.map +1 -0
  158. package/dist/materials.part-012.d.ts +15 -0
  159. package/dist/materials.part-012.d.ts.map +1 -0
  160. package/dist/materials.part-012.js +229 -0
  161. package/dist/materials.part-012.js.map +1 -0
  162. package/dist/scene.d.ts +19 -279
  163. package/dist/scene.d.ts.map +1 -1
  164. package/dist/scene.js +21 -3931
  165. package/dist/scene.js.map +1 -1
  166. package/dist/scene.part-001.d.ts +375 -0
  167. package/dist/scene.part-001.d.ts.map +1 -0
  168. package/dist/scene.part-001.js +20 -0
  169. package/dist/scene.part-001.js.map +1 -0
  170. package/dist/scene.part-002.d.ts +28 -0
  171. package/dist/scene.part-002.d.ts.map +1 -0
  172. package/dist/scene.part-002.js +311 -0
  173. package/dist/scene.part-002.js.map +1 -0
  174. package/dist/scene.part-003.d.ts +26 -0
  175. package/dist/scene.part-003.d.ts.map +1 -0
  176. package/dist/scene.part-003.js +384 -0
  177. package/dist/scene.part-003.js.map +1 -0
  178. package/dist/scene.part-004.d.ts +24 -0
  179. package/dist/scene.part-004.d.ts.map +1 -0
  180. package/dist/scene.part-004.js +287 -0
  181. package/dist/scene.part-004.js.map +1 -0
  182. package/dist/scene.part-005.d.ts +37 -0
  183. package/dist/scene.part-005.d.ts.map +1 -0
  184. package/dist/scene.part-005.js +350 -0
  185. package/dist/scene.part-005.js.map +1 -0
  186. package/dist/scene.part-006.d.ts +25 -0
  187. package/dist/scene.part-006.d.ts.map +1 -0
  188. package/dist/scene.part-006.js +362 -0
  189. package/dist/scene.part-006.js.map +1 -0
  190. package/dist/scene.part-007.d.ts +36 -0
  191. package/dist/scene.part-007.d.ts.map +1 -0
  192. package/dist/scene.part-007.js +417 -0
  193. package/dist/scene.part-007.js.map +1 -0
  194. package/dist/scene.part-008.d.ts +78 -0
  195. package/dist/scene.part-008.d.ts.map +1 -0
  196. package/dist/scene.part-008.js +416 -0
  197. package/dist/scene.part-008.js.map +1 -0
  198. package/dist/scene.part-009.d.ts +25 -0
  199. package/dist/scene.part-009.d.ts.map +1 -0
  200. package/dist/scene.part-009.js +330 -0
  201. package/dist/scene.part-009.js.map +1 -0
  202. package/dist/scene.part-010.d.ts +32 -0
  203. package/dist/scene.part-010.d.ts.map +1 -0
  204. package/dist/scene.part-010.js +336 -0
  205. package/dist/scene.part-010.js.map +1 -0
  206. package/dist/scene.part-011.d.ts +100 -0
  207. package/dist/scene.part-011.d.ts.map +1 -0
  208. package/dist/scene.part-011.js +262 -0
  209. package/dist/scene.part-011.js.map +1 -0
  210. package/dist/scene.part-012.d.ts +48 -0
  211. package/dist/scene.part-012.d.ts.map +1 -0
  212. package/dist/scene.part-012.js +357 -0
  213. package/dist/scene.part-012.js.map +1 -0
  214. package/dist/scene.part-013.d.ts +51 -0
  215. package/dist/scene.part-013.d.ts.map +1 -0
  216. package/dist/scene.part-013.js +368 -0
  217. package/dist/scene.part-013.js.map +1 -0
  218. package/dist/scene.part-014.d.ts +16 -0
  219. package/dist/scene.part-014.d.ts.map +1 -0
  220. package/dist/scene.part-014.js +112 -0
  221. package/dist/scene.part-014.js.map +1 -0
  222. package/dist/types.d.ts +53 -1564
  223. package/dist/types.d.ts.map +1 -1
  224. package/dist/types.js +4 -1
  225. package/dist/types.js.map +1 -1
  226. package/dist/types.part-001.d.ts +386 -0
  227. package/dist/types.part-001.d.ts.map +1 -0
  228. package/dist/types.part-001.js +4 -0
  229. package/dist/types.part-001.js.map +1 -0
  230. package/dist/types.part-002.d.ts +407 -0
  231. package/dist/types.part-002.d.ts.map +1 -0
  232. package/dist/types.part-002.js +3 -0
  233. package/dist/types.part-002.js.map +1 -0
  234. package/dist/types.part-003.d.ts +427 -0
  235. package/dist/types.part-003.d.ts.map +1 -0
  236. package/dist/types.part-003.js +3 -0
  237. package/dist/types.part-003.js.map +1 -0
  238. package/dist/types.part-004.d.ts +351 -0
  239. package/dist/types.part-004.d.ts.map +1 -0
  240. package/dist/types.part-004.js +3 -0
  241. package/dist/types.part-004.js.map +1 -0
  242. package/native.d.ts +130 -0
  243. package/native.js +56 -52
  244. package/package.json +11 -8
@@ -0,0 +1,361 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.render = render;
4
+ exports.renderToTarget = renderToTarget;
5
+ exports.toNativeInput = toNativeInput;
6
+ exports.normalizedRenderMode = normalizedRenderMode;
7
+ exports.checkedRenderMode = checkedRenderMode;
8
+ exports.shadowMaterialModeForLights = shadowMaterialModeForLights;
9
+ exports.nativeLightsWithoutShadows = nativeLightsWithoutShadows;
10
+ exports.applyRenderMode = applyRenderMode;
11
+ exports.applyRendererToneMapping = applyRendererToneMapping;
12
+ exports.renderModeMesh = renderModeMesh;
13
+ exports.materialAlpha = materialAlpha;
14
+ exports.objectIdColor = objectIdColor;
15
+ exports.objectIdEntriesForMeshes = objectIdEntriesForMeshes;
16
+ exports.encodedObjectId = encodedObjectId;
17
+ const camera_1 = require("./camera");
18
+ const color_1 = require("./color");
19
+ const scene_1 = require("./scene");
20
+ const lights_1 = require("./lights");
21
+ const materials_1 = require("./materials");
22
+ const clipping_1 = require("./clipping");
23
+ const objects_1 = require("./objects");
24
+ const index_part_001_1 = require("./index.part-001");
25
+ const index_part_012_1 = require("./index.part-012");
26
+ const index_part_013_1 = require("./index.part-013");
27
+ const index_part_014_1 = require("./index.part-014");
28
+ const index_part_015_1 = require("./index.part-015");
29
+ const index_part_016_1 = require("./index.part-016");
30
+ const index_part_018_1 = require("./index.part-018");
31
+ const index_part_021_1 = require("./index.part-021");
32
+ function render(scene, camera, options = {}) {
33
+ (0, index_part_021_1.validateThreeSceneRoot)(scene);
34
+ (0, index_part_021_1.validateTopLevelRenderCamera)(camera);
35
+ (0, index_part_015_1.assertRenderOptionsLike)(options, 'options');
36
+ if ((0, index_part_021_1.isCubeCamera)(camera)) {
37
+ const { buffer } = (0, index_part_012_1.renderCubeCamera)(scene, camera, options, index_part_001_1.native.renderNative);
38
+ return buffer;
39
+ }
40
+ if (options.target)
41
+ (0, index_part_018_1.assertNonCubeCameraRenderTargetTextures)(options.target);
42
+ if ((0, index_part_021_1.isArrayCamera)(camera)) {
43
+ const { buffer, width, height, objectIdEntries, depthData } = (0, index_part_013_1.renderArrayCamera)(scene, camera, options, index_part_001_1.native.renderNative);
44
+ if (options.target) {
45
+ const auxiliary = (0, index_part_012_1.renderArrayCameraAuxiliaryTargetAttachments)(scene, camera, options.target, options, buffer, objectIdEntries, index_part_001_1.native.renderNative);
46
+ (0, index_part_018_1.writeRenderTarget)(options.target, buffer, width, height, auxiliary.objectIdEntries, depthData, auxiliary.attachments);
47
+ }
48
+ return buffer;
49
+ }
50
+ const { nativeScene, nativeCamera, objectIdEntries } = toNativeInput(scene, camera, options);
51
+ const buffer = index_part_001_1.native.renderNative(nativeScene, nativeCamera);
52
+ if (options.target) {
53
+ const depthData = (0, index_part_012_1.renderTargetDepthBuffer)(options.target, nativeScene, nativeCamera, index_part_001_1.native.renderNative);
54
+ const auxiliary = (0, index_part_012_1.renderRegularCameraAuxiliaryTargetAttachments)(scene, camera, options.target, options, buffer, objectIdEntries, index_part_001_1.native.renderNative);
55
+ (0, index_part_018_1.writeRenderTarget)(options.target, buffer, nativeScene.width, nativeScene.height, auxiliary.objectIdEntries, depthData, auxiliary.attachments);
56
+ }
57
+ return buffer;
58
+ }
59
+ function renderToTarget(scene, camera, target = {}, options = {}) {
60
+ (0, index_part_021_1.validateThreeSceneRoot)(scene);
61
+ (0, index_part_021_1.validateTopLevelRenderCamera)(camera);
62
+ (0, index_part_016_1.assertRenderTargetLike)(target, 'target');
63
+ (0, index_part_015_1.assertRenderOptionsLike)(options, 'options');
64
+ const targetOptions = { ...options, target, format: options.format ?? 'rgba' };
65
+ if ((0, index_part_021_1.isCubeCamera)(camera)) {
66
+ const { target: cubeTarget } = (0, index_part_012_1.renderCubeCamera)(scene, camera, targetOptions, index_part_001_1.native.renderNative);
67
+ return cubeTarget;
68
+ }
69
+ (0, index_part_018_1.assertNonCubeCameraRenderTargetTextures)(target);
70
+ if ((0, index_part_021_1.isArrayCamera)(camera)) {
71
+ const { buffer, width, height, objectIdEntries, depthData } = (0, index_part_013_1.renderArrayCamera)(scene, camera, targetOptions, index_part_001_1.native.renderNative);
72
+ const auxiliary = (0, index_part_012_1.renderArrayCameraAuxiliaryTargetAttachments)(scene, camera, target, targetOptions, buffer, objectIdEntries, index_part_001_1.native.renderNative);
73
+ return (0, index_part_018_1.writeRenderTarget)(target, buffer, width, height, auxiliary.objectIdEntries, depthData, auxiliary.attachments);
74
+ }
75
+ const { nativeScene, nativeCamera, objectIdEntries } = toNativeInput(scene, camera, targetOptions);
76
+ const buffer = index_part_001_1.native.renderNative(nativeScene, nativeCamera);
77
+ const depthData = (0, index_part_012_1.renderTargetDepthBuffer)(target, nativeScene, nativeCamera, index_part_001_1.native.renderNative);
78
+ const auxiliary = (0, index_part_012_1.renderRegularCameraAuxiliaryTargetAttachments)(scene, camera, target, targetOptions, buffer, objectIdEntries, index_part_001_1.native.renderNative);
79
+ return (0, index_part_018_1.writeRenderTarget)(target, buffer, nativeScene.width, nativeScene.height, auxiliary.objectIdEntries, depthData, auxiliary.attachments);
80
+ }
81
+ function toNativeInput(scene, camera, options, sceneExtractionCache) {
82
+ (0, index_part_021_1.validateThreeSceneRoot)(scene);
83
+ (0, index_part_021_1.validateThreeCamera)(camera);
84
+ (0, index_part_015_1.validateUnsupportedRenderOptions)(options);
85
+ (0, objects_1.validateObjectChildrenTree)(scene);
86
+ const renderMode = normalizedRenderMode(options.renderMode);
87
+ const colorMode = renderMode === 'color';
88
+ if (typeof scene.updateMatrixWorld === 'function') {
89
+ scene.updateMatrixWorld(true);
90
+ }
91
+ if (typeof camera.updateMatrixWorld === 'function') {
92
+ camera.updateMatrixWorld();
93
+ }
94
+ const size = (0, camera_1.resolveSize)(camera, options);
95
+ const overrideMaterial = colorMode ? (0, materials_1.resolveSceneOverrideMaterial)(scene) : undefined;
96
+ const environment = colorMode ? (0, materials_1.resolveEnvironmentMap)(scene, options.environmentIntensity, overrideMaterial) : { envMap: null };
97
+ const envMap = environment.envMap;
98
+ const hasEnvironmentRotationOverride = options.environmentRotation !== undefined;
99
+ const environmentRotation = environment.rotation ?? (hasEnvironmentRotationOverride ? options.environmentRotation : scene.environmentRotation);
100
+ const environmentRotationLabel = environment.rotation
101
+ ? 'material.envMapRotation'
102
+ : hasEnvironmentRotationOverride ? 'options.environmentRotation' : 'scene.environmentRotation';
103
+ const environmentMapRotation = colorMode
104
+ ? (0, index_part_015_1.environmentRotationToNative)(environmentRotation, envMap, environmentRotationLabel)
105
+ : undefined;
106
+ const hasBackgroundOverride = options.background !== undefined;
107
+ const optionBackgroundTexture = colorMode && hasBackgroundOverride
108
+ ? (0, materials_1.extractBackgroundTexture)(options.background, 'options.background')
109
+ : null;
110
+ const backgroundTexture = colorMode
111
+ ? optionBackgroundTexture ?? (hasBackgroundOverride ? null : (0, materials_1.extractBackgroundTexture)(scene.background, 'scene.background'))
112
+ : null;
113
+ const hasBackgroundRotationOverride = options.backgroundRotation !== undefined;
114
+ const backgroundRotation = hasBackgroundOverride
115
+ ? options.backgroundRotation
116
+ : hasBackgroundRotationOverride ? options.backgroundRotation : scene.backgroundRotation;
117
+ const backgroundTextureRotation = colorMode
118
+ ? (0, index_part_015_1.backgroundRotationToNative)(backgroundRotation, backgroundTexture, hasBackgroundOverride || hasBackgroundRotationOverride ? 'options.backgroundRotation' : 'scene.backgroundRotation')
119
+ : undefined;
120
+ const backgroundTextureBlurriness = colorMode && backgroundTexture
121
+ ? (0, index_part_015_1.optionalNormalizedFiniteNumber)(hasBackgroundOverride ? options.backgroundBlurriness : options.backgroundBlurriness ?? scene.backgroundBlurriness, hasBackgroundOverride || options.backgroundBlurriness !== undefined ? 'options.backgroundBlurriness' : 'scene.backgroundBlurriness')
122
+ : undefined;
123
+ const backgroundIntensity = colorMode
124
+ ? (0, index_part_015_1.optionalNonNegativeFiniteNumber)(hasBackgroundOverride ? options.backgroundIntensity : options.backgroundIntensity ?? scene.backgroundIntensity, hasBackgroundOverride || options.backgroundIntensity !== undefined ? 'options.backgroundIntensity' : 'scene.backgroundIntensity')
125
+ : undefined;
126
+ const clippingPlanes = (0, clipping_1.extractClippingPlanes)(options.clippingPlanes, options.__headlessThreeClippingPlanesLabel ?? 'options.clippingPlanes');
127
+ const rendererShadowMapEnabled = options.__headlessThreeRendererShadowMapEnabled !== false;
128
+ const rendererShadowMapType = options.__headlessThreeRendererShadowMapType ?? index_part_001_1.PCFShadowMap;
129
+ const rendererToneMapping = options.__headlessThreeRendererToneMapping ?? index_part_001_1.ACESFilmicToneMapping;
130
+ const toneMappingExposure = options.__headlessThreeRendererToneMappingExposure ?? 1;
131
+ const rendererCallbackContext = colorMode && options.__headlessThreeRenderer !== undefined
132
+ ? { renderer: options.__headlessThreeRenderer, scene }
133
+ : undefined;
134
+ const extractedLights = colorMode ? (0, lights_1.extractLights)(scene, camera) : [];
135
+ const lights = rendererShadowMapEnabled ? extractedLights : nativeLightsWithoutShadows(extractedLights);
136
+ const shadowMaterialMode = colorMode ? shadowMaterialModeForLights(lights) : undefined;
137
+ const materialContext = {
138
+ ...(environment.materialContext ?? {}),
139
+ textureCache: sceneExtractionCache?.texturePayloads,
140
+ materialColorCache: sceneExtractionCache?.materialColors,
141
+ textureStateCache: sceneExtractionCache?.textureStates,
142
+ materialRenderStateCache: sceneExtractionCache?.materialRenderStates,
143
+ materialScalarFeatureCache: sceneExtractionCache?.materialScalarFeatures,
144
+ };
145
+ const flattenedMeshes = (0, scene_1.flattenScene)(scene, camera, size.height, clippingPlanes, options.localClippingEnabled !== false, shadowMaterialMode, materialContext, {
146
+ sortObjects: options.sortObjects,
147
+ opaqueSort: options.opaqueSort,
148
+ transparentSort: options.transparentSort,
149
+ opaque: options.__headlessThreeRendererOpaque,
150
+ transparent: options.__headlessThreeRendererTransparent,
151
+ }, overrideMaterial, sceneExtractionCache, rendererCallbackContext);
152
+ const objectIdEntries = renderMode === 'object-id' ? objectIdEntriesForMeshes(flattenedMeshes) : undefined;
153
+ const meshes = renderMode === 'depth'
154
+ ? flattenedMeshes.map(index_part_014_1.depthReadbackMesh)
155
+ : applyRendererToneMapping(applyRenderMode(flattenedMeshes, renderMode), rendererToneMapping);
156
+ const viewport = (0, index_part_013_1.normalizeOptionalPixelRect)((0, index_part_014_1.effectiveViewport)(options), size.width, size.height, (0, index_part_014_1.effectiveViewportLabel)(options));
157
+ const scissor = (0, index_part_013_1.normalizeOptionalPixelRect)((0, index_part_014_1.effectiveScissor)(options), size.width, size.height, (0, index_part_014_1.effectiveScissorLabel)(options));
158
+ const nativeScene = {
159
+ width: size.width,
160
+ height: size.height,
161
+ background: colorMode
162
+ ? (0, color_1.resolveBackground)(scene, options, backgroundTexture != null, options.__headlessThreeRendererClearColor, options.outputColorSpace)
163
+ : [0, 0, 0, 1],
164
+ backgroundIntensity,
165
+ viewport: (0, index_part_014_1.pixelRectToArray)(viewport),
166
+ scissor: (0, index_part_014_1.pixelRectToArray)(scissor),
167
+ backgroundTexture: backgroundTexture?.data,
168
+ backgroundTextureWidth: backgroundTexture?.width,
169
+ backgroundTextureHeight: backgroundTexture?.height,
170
+ backgroundTextureWrapS: backgroundTexture?.wrapS,
171
+ backgroundTextureWrapT: backgroundTexture?.wrapT,
172
+ backgroundTextureMagFilter: backgroundTexture?.magFilter,
173
+ backgroundTextureMinFilter: backgroundTexture?.minFilter,
174
+ backgroundTextureAnisotropy: backgroundTexture?.anisotropy,
175
+ backgroundTextureTransform: backgroundTexture?.transform,
176
+ backgroundTextureColorSpace: backgroundTexture?.colorSpace,
177
+ backgroundTextureMapping: backgroundTexture?.mapping,
178
+ backgroundTextureRotation,
179
+ backgroundTextureBlurriness,
180
+ format: options.format ?? (options.target ? 'rgba' : 'png'),
181
+ outputColorSpace: renderMode === 'depth' ? 'srgb-linear' : options.outputColorSpace,
182
+ toneMapping: renderMode === 'depth' ? undefined : rendererToneMapping,
183
+ toneMappingExposure: renderMode === 'depth' ? undefined : toneMappingExposure,
184
+ transmissionResolutionScale: options.__headlessThreeRendererTransmissionResolutionScale,
185
+ sampleCount: renderMode === 'depth' ? 1 : (0, index_part_018_1.resolveSampleCount)(options),
186
+ shadowMapType: rendererShadowMapType,
187
+ meshes,
188
+ lights,
189
+ ambientLight: colorMode ? (0, lights_1.extractAmbientLight)(scene, camera) ?? undefined : undefined,
190
+ ambientIntensity: colorMode ? (0, lights_1.extractAmbientIntensity)(scene, camera) ?? undefined : undefined,
191
+ lightProbe: colorMode ? (0, lights_1.extractLightProbe)(scene, camera) ?? undefined : undefined,
192
+ environmentMap: envMap?.data,
193
+ environmentMapWidth: envMap?.width,
194
+ environmentMapHeight: envMap?.height,
195
+ environmentMapIntensity: envMap?.intensity,
196
+ environmentMapColorSpace: envMap?.colorSpace,
197
+ environmentMapRotation,
198
+ ...(colorMode ? (0, index_part_014_1.fogToNative)(scene.fog) : {}),
199
+ ...(colorMode ? (0, index_part_014_1.postProcessingToNative)(options.postProcessing) : {}),
200
+ };
201
+ const clipDistances = (0, index_part_015_1.cameraClipDistances)(camera);
202
+ const nativeCamera = {
203
+ width: size.width,
204
+ height: size.height,
205
+ near: clipDistances.near,
206
+ far: clipDistances.far,
207
+ viewProjection: (0, camera_1.cameraViewProjection)(camera),
208
+ viewMatrix: (0, camera_1.cameraViewMatrix)(camera),
209
+ cameraPosition: (0, camera_1.cameraWorldPosition)(camera),
210
+ };
211
+ return { nativeScene, nativeCamera, objectIdEntries };
212
+ }
213
+ function normalizedRenderMode(mode) {
214
+ if (mode == null)
215
+ return 'color';
216
+ return checkedRenderMode(mode, 'options.renderMode');
217
+ }
218
+ function checkedRenderMode(mode, label) {
219
+ if (mode === 'color' || mode === 'mask' || mode === 'object-id' || mode === 'normal' || mode === 'depth')
220
+ return mode;
221
+ throw new TypeError(`${label} must be "color", "mask", "object-id", "normal", or "depth"; received ${String(mode)}`);
222
+ }
223
+ function shadowMaterialModeForLights(lights) {
224
+ const shadowLight = lights?.find((light) => light.castShadow === true);
225
+ if (!shadowLight)
226
+ return undefined;
227
+ return shadowLight.lightType === 'point' ? 'distance' : 'depth';
228
+ }
229
+ function nativeLightsWithoutShadows(lights) {
230
+ if (!lights)
231
+ return undefined;
232
+ return lights.map((light) => {
233
+ const withoutShadow = { ...light };
234
+ delete withoutShadow.castShadow;
235
+ return withoutShadow;
236
+ });
237
+ }
238
+ function applyRenderMode(meshes, mode) {
239
+ if (mode === 'color')
240
+ return meshes;
241
+ return meshes.map((mesh, index) => renderModeMesh(mesh, mode, index));
242
+ }
243
+ function applyRendererToneMapping(meshes, toneMapping) {
244
+ if (toneMapping !== index_part_001_1.NoToneMapping)
245
+ return meshes;
246
+ return meshes.map((mesh) => (mesh.toneMapped === false ? mesh : { ...mesh, toneMapped: false }));
247
+ }
248
+ function renderModeMesh(mesh, mode, index) {
249
+ const color = mode === 'mask'
250
+ ? [1, 1, 1, materialAlpha(mesh)]
251
+ : mode === 'object-id'
252
+ ? objectIdColor(mesh, index)
253
+ : [1, 1, 1, materialAlpha(mesh)];
254
+ return {
255
+ nativeMeshKey: mesh.nativeMeshKey,
256
+ nativeVertexCount: mesh.nativeVertexCount,
257
+ nativeIndexCount: mesh.nativeIndexCount,
258
+ positions: mesh.positions,
259
+ indices: mesh.indices,
260
+ normals: mesh.normals,
261
+ colors: mesh.colors,
262
+ color,
263
+ transform: mesh.transform,
264
+ uvs: mesh.uvs,
265
+ uvs2: mesh.uvs2,
266
+ texture: mesh.texture,
267
+ textureWidth: mesh.textureWidth,
268
+ textureHeight: mesh.textureHeight,
269
+ textureWrapS: mesh.textureWrapS,
270
+ textureWrapT: mesh.textureWrapT,
271
+ textureMagFilter: mesh.textureMagFilter,
272
+ textureMinFilter: mesh.textureMinFilter,
273
+ textureTransform: mesh.textureTransform,
274
+ textureColorSpace: mesh.textureColorSpace,
275
+ textureUsesUv2: mesh.textureUsesUv2,
276
+ alphaMap: mesh.alphaMap,
277
+ alphaMapWidth: mesh.alphaMapWidth,
278
+ alphaMapHeight: mesh.alphaMapHeight,
279
+ alphaMapWrapS: mesh.alphaMapWrapS,
280
+ alphaMapWrapT: mesh.alphaMapWrapT,
281
+ alphaMapMagFilter: mesh.alphaMapMagFilter,
282
+ alphaMapMinFilter: mesh.alphaMapMinFilter,
283
+ alphaMapTransform: mesh.alphaMapTransform,
284
+ alphaMapColorSpace: mesh.alphaMapColorSpace,
285
+ alphaMapUsesUv2: mesh.alphaMapUsesUv2,
286
+ alphaTest: mesh.alphaTest,
287
+ alphaHash: mesh.alphaHash,
288
+ alphaToCoverage: mesh.alphaToCoverage,
289
+ premultipliedAlpha: mesh.premultipliedAlpha,
290
+ toneMapped: false,
291
+ clippingPlanes: mesh.clippingPlanes,
292
+ clippingUnionCount: mesh.clippingUnionCount,
293
+ blending: 'none',
294
+ depthTest: mesh.depthTest,
295
+ depthFunc: mesh.depthFunc,
296
+ depthWrite: true,
297
+ colorWrite: true,
298
+ polygonOffset: mesh.polygonOffset,
299
+ polygonOffsetFactor: mesh.polygonOffsetFactor,
300
+ polygonOffsetUnits: mesh.polygonOffsetUnits,
301
+ stencilWrite: mesh.stencilWrite,
302
+ stencilWriteMask: mesh.stencilWriteMask,
303
+ stencilFunc: mesh.stencilFunc,
304
+ stencilRef: mesh.stencilRef,
305
+ stencilFuncMask: mesh.stencilFuncMask,
306
+ stencilFail: mesh.stencilFail,
307
+ stencilZFail: mesh.stencilZFail,
308
+ stencilZPass: mesh.stencilZPass,
309
+ transparent: false,
310
+ side: mesh.side,
311
+ shadingModel: 'basic',
312
+ topology: mesh.topology,
313
+ customFragmentShader: (0, index_part_012_1.renderModeFragment)(mode, color),
314
+ castShadow: false,
315
+ receiveShadow: false,
316
+ groupOrder: mesh.groupOrder,
317
+ renderOrder: mesh.renderOrder,
318
+ sortZ: mesh.sortZ,
319
+ sortIndex: mesh.sortIndex,
320
+ materialVariant: mesh.materialVariant,
321
+ materialSortKey: mesh.materialSortKey,
322
+ };
323
+ }
324
+ function materialAlpha(mesh) {
325
+ const alpha = mesh.color?.[3];
326
+ return typeof alpha === 'number' && Number.isFinite(alpha) ? Math.min(1, Math.max(0, alpha)) : 1;
327
+ }
328
+ function objectIdColor(mesh, index) {
329
+ const value = encodedObjectId(mesh, index);
330
+ return [
331
+ ((value >> 16) & 0xff) / 255,
332
+ ((value >> 8) & 0xff) / 255,
333
+ (value & 0xff) / 255,
334
+ materialAlpha(mesh),
335
+ ];
336
+ }
337
+ function objectIdEntriesForMeshes(meshes) {
338
+ const entries = new Map();
339
+ meshes.forEach((mesh, index) => {
340
+ const id = (0, index_part_012_1.objectSortId)(mesh, index);
341
+ const encodedId = encodedObjectId(mesh, index);
342
+ if (entries.has(encodedId))
343
+ return;
344
+ entries.set(encodedId, {
345
+ id,
346
+ encodedId,
347
+ rgb: [
348
+ (encodedId >> 16) & 0xff,
349
+ (encodedId >> 8) & 0xff,
350
+ encodedId & 0xff,
351
+ ],
352
+ hex: `#${encodedId.toString(16).padStart(6, '0')}`,
353
+ });
354
+ });
355
+ return [...entries.values()].sort((a, b) => a.encodedId - b.encodedId);
356
+ }
357
+ function encodedObjectId(mesh, index) {
358
+ const encoded = ((0, index_part_012_1.objectSortId)(mesh, index) + 1) & 0xffffff;
359
+ return encoded === 0 ? 1 : encoded;
360
+ }
361
+ //# sourceMappingURL=index.part-011.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.part-011.js","sourceRoot":"","sources":["../api/index.part-011.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,115 @@
1
+ import type { ThreeSceneRootLike, ThreeCameraLike, ThreeCubeCameraLike, RenderOptions, RenderTargetLike, RenderTargetTextureLike, RenderTargetImageLike, NativeRenderScene, NativeCamera, NativeSceneMesh, RenderMode, Color4, RenderObjectIdEntry } from './types';
2
+ export declare function objectSortId(mesh: NativeSceneMesh, index: number): number;
3
+ export declare function renderModeFragment(mode: Exclude<RenderMode, 'color'>, color: Color4): string;
4
+ export declare const DEPTH_READBACK_FRAGMENT: string;
5
+ export declare function renderTargetDepthBuffer(target: RenderTargetLike | undefined, nativeScene: NativeRenderScene, nativeCamera: NativeCamera, renderNativeScene: (scene: NativeRenderScene, camera: NativeCamera) => Buffer): Buffer | undefined;
6
+ export declare function renderTargetHasExplicitSize(target: RenderTargetLike | null | undefined): boolean;
7
+ export declare function renderAuxiliaryTargetAttachments(target: RenderTargetLike | undefined, options: RenderOptions, primaryData: Buffer, primaryObjectIdEntries: RenderObjectIdEntry[] | undefined, renderAttachment: (mode: RenderMode) => {
8
+ data: Buffer;
9
+ objectIdEntries?: RenderObjectIdEntry[];
10
+ }): {
11
+ attachments?: RenderTargetAttachmentData[];
12
+ objectIdEntries?: RenderObjectIdEntry[];
13
+ };
14
+ export declare function renderRegularCameraAuxiliaryTargetAttachments(scene: ThreeSceneRootLike, camera: ThreeCameraLike, target: RenderTargetLike | undefined, options: RenderOptions, primaryData: Buffer, primaryObjectIdEntries: RenderObjectIdEntry[] | undefined, renderNativeScene: (scene: NativeRenderScene, camera: NativeCamera) => Buffer): {
15
+ attachments?: RenderTargetAttachmentData[];
16
+ objectIdEntries?: RenderObjectIdEntry[];
17
+ };
18
+ export declare function renderArrayCameraAuxiliaryTargetAttachments(scene: ThreeSceneRootLike, camera: ThreeCameraLike, target: RenderTargetLike | undefined, options: RenderOptions, primaryData: Buffer, primaryObjectIdEntries: RenderObjectIdEntry[] | undefined, renderNativeScene: RenderNativeScene): {
19
+ attachments?: RenderTargetAttachmentData[];
20
+ objectIdEntries?: RenderObjectIdEntry[];
21
+ };
22
+ export declare function renderCubeCameraAuxiliaryTargetAttachments(target: RenderTargetLike, options: RenderOptions, primaryFaces: Buffer[], primaryObjectIdEntries: RenderObjectIdEntry[] | undefined, renderAttachment: (mode: RenderMode) => {
23
+ faces: Buffer[];
24
+ objectIdEntries?: RenderObjectIdEntry[];
25
+ }): {
26
+ attachments?: RenderCubeTargetAttachmentData[];
27
+ objectIdEntries?: RenderObjectIdEntry[];
28
+ };
29
+ export declare function sortedObjectIdEntries(objectIdEntryMap: Map<number, RenderObjectIdEntry>): RenderObjectIdEntry[] | undefined;
30
+ export declare function renderCubeCameraFaces(scene: ThreeSceneRootLike, subCameras: ThreeCameraLike[], target: RenderTargetLike, faceOptions: InternalRenderOptions, renderNativeScene: RenderNativeScene, includeDepth: boolean): {
31
+ faces: Buffer[];
32
+ depthFaces?: NonNullable<RenderTargetImageLike['data']>[];
33
+ objectIdEntries?: RenderObjectIdEntry[];
34
+ };
35
+ export declare function assertCubeFaceCount(faces: unknown[], label: string): void;
36
+ export declare function ensureCubeTargetAttachmentTexture(texture: RenderTargetTextureLike): void;
37
+ export declare function writeCubeTargetAttachmentFaces(attachment: RenderCubeTargetAttachmentData, faceWidth: number, faceHeight: number, activeMipmapLevel: number, label: string): void;
38
+ export type RenderNativeScene = (scene: NativeRenderScene, camera: NativeCamera) => Buffer;
39
+ export type PixelRect = {
40
+ x: number;
41
+ y: number;
42
+ width: number;
43
+ height: number;
44
+ };
45
+ export type PixelSize = {
46
+ width: number;
47
+ height: number;
48
+ };
49
+ export type RenderTargetAttachmentData = {
50
+ texture: RenderTargetTextureLike;
51
+ data: Buffer;
52
+ };
53
+ export type RenderCubeTargetAttachmentData = {
54
+ texture: RenderTargetTextureLike;
55
+ faces: Buffer[];
56
+ };
57
+ export type InternalRenderOptions = RenderOptions & {
58
+ __headlessThreeViewportLabel?: string;
59
+ __headlessThreeScissorLabel?: string;
60
+ __headlessThreeRendererClearColor?: Color4;
61
+ __headlessThreeRendererViewport?: PixelRect | null;
62
+ __headlessThreeRendererScissor?: PixelRect | null;
63
+ __headlessThreeRendererScissorTest?: boolean;
64
+ __headlessThreeRendererShadowMapEnabled?: boolean;
65
+ __headlessThreeRendererShadowMapType?: number;
66
+ __headlessThreeClippingPlanesLabel?: string;
67
+ __headlessThreeRendererToneMapping?: number;
68
+ __headlessThreeRendererToneMappingExposure?: number;
69
+ __headlessThreeRendererTransmissionResolutionScale?: number;
70
+ __headlessThreeRendererOpaque?: boolean;
71
+ __headlessThreeRendererTransparent?: boolean;
72
+ __headlessThreeRenderer?: unknown;
73
+ };
74
+ export declare const CUBE_FACE_COUNT = 6;
75
+ export declare const UnsignedByteType = 1009;
76
+ export declare const ByteType = 1010;
77
+ export declare const ShortType = 1011;
78
+ export declare const UnsignedShortType = 1012;
79
+ export declare const IntType = 1013;
80
+ export declare const UnsignedIntType = 1014;
81
+ export declare const FloatType = 1015;
82
+ export declare const HalfFloatType = 1016;
83
+ export declare const UnsignedShort4444Type = 1017;
84
+ export declare const UnsignedShort5551Type = 1018;
85
+ export declare const UnsignedInt248Type = 1020;
86
+ export declare const AlphaFormat = 1021;
87
+ export declare const RGBFormat = 1022;
88
+ export declare const RGBAFormat = 1023;
89
+ export declare const LuminanceFormat = 1024;
90
+ export declare const LuminanceAlphaFormat = 1025;
91
+ export declare const DepthFormat = 1026;
92
+ export declare const DepthStencilFormat = 1027;
93
+ export declare const RedFormat = 1028;
94
+ export declare const RedIntegerFormat = 1029;
95
+ export declare const RGFormat = 1030;
96
+ export declare const RGIntegerFormat = 1031;
97
+ export declare const RGBIntegerFormat = 1032;
98
+ export declare const RGBAIntegerFormat = 1033;
99
+ export declare const UnsignedInt101111Type = 35899;
100
+ export declare const UnsignedInt5999Type = 35902;
101
+ export declare function renderCubeCamera(scene: ThreeSceneRootLike, camera: ThreeCubeCameraLike, options: RenderOptions, renderNativeScene: RenderNativeScene): {
102
+ buffer: Buffer;
103
+ target: RenderTargetLike;
104
+ width: number;
105
+ height: number;
106
+ faces: Buffer[];
107
+ };
108
+ export declare function validateCubeCamera(camera: ThreeCubeCameraLike, options: RenderOptions): void;
109
+ export declare function cubeSubCameras(camera: ThreeCubeCameraLike): ThreeCameraLike[];
110
+ export declare function resolveCubeTargetSize(target: RenderTargetLike, options: RenderOptions): {
111
+ width: number;
112
+ height: number;
113
+ };
114
+ export declare function resolveCubeMipmapLevel(camera: ThreeCubeCameraLike, targetSize: number): number;
115
+ //# sourceMappingURL=index.part-012.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.part-012.d.ts","sourceRoot":"","sources":["../api/index.part-012.ts"],"names":[],"mappings":"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"}