@headless-three/renderer 0.1.10 → 0.2.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 +3 -0
  2. package/dist/gpu-output.d.ts +81 -0
  3. package/dist/gpu-output.d.ts.map +1 -0
  4. package/dist/gpu-output.js +53 -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 +30 -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 +238 -0
  39. package/dist/index.part-008.d.ts.map +1 -0
  40. package/dist/index.part-008.js +454 -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 +23 -0
  47. package/dist/index.part-010.d.ts.map +1 -0
  48. package/dist/index.part-010.js +245 -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 +40 -0
  243. package/native.js +53 -52
  244. package/package.json +10 -8
@@ -0,0 +1,298 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UnsignedInt5999Type = exports.UnsignedInt101111Type = exports.RGBAIntegerFormat = exports.RGBIntegerFormat = exports.RGIntegerFormat = exports.RGFormat = exports.RedIntegerFormat = exports.RedFormat = exports.DepthStencilFormat = exports.DepthFormat = exports.LuminanceAlphaFormat = exports.LuminanceFormat = exports.RGBAFormat = exports.RGBFormat = exports.AlphaFormat = exports.UnsignedInt248Type = exports.UnsignedShort5551Type = exports.UnsignedShort4444Type = exports.HalfFloatType = exports.FloatType = exports.UnsignedIntType = exports.IntType = exports.UnsignedShortType = exports.ShortType = exports.ByteType = exports.UnsignedByteType = exports.CUBE_FACE_COUNT = exports.DEPTH_READBACK_FRAGMENT = void 0;
4
+ exports.objectSortId = objectSortId;
5
+ exports.renderModeFragment = renderModeFragment;
6
+ exports.renderTargetDepthBuffer = renderTargetDepthBuffer;
7
+ exports.renderTargetHasExplicitSize = renderTargetHasExplicitSize;
8
+ exports.renderAuxiliaryTargetAttachments = renderAuxiliaryTargetAttachments;
9
+ exports.renderRegularCameraAuxiliaryTargetAttachments = renderRegularCameraAuxiliaryTargetAttachments;
10
+ exports.renderArrayCameraAuxiliaryTargetAttachments = renderArrayCameraAuxiliaryTargetAttachments;
11
+ exports.renderCubeCameraAuxiliaryTargetAttachments = renderCubeCameraAuxiliaryTargetAttachments;
12
+ exports.sortedObjectIdEntries = sortedObjectIdEntries;
13
+ exports.renderCubeCameraFaces = renderCubeCameraFaces;
14
+ exports.assertCubeFaceCount = assertCubeFaceCount;
15
+ exports.ensureCubeTargetAttachmentTexture = ensureCubeTargetAttachmentTexture;
16
+ exports.writeCubeTargetAttachmentFaces = writeCubeTargetAttachmentFaces;
17
+ exports.renderCubeCamera = renderCubeCamera;
18
+ exports.validateCubeCamera = validateCubeCamera;
19
+ exports.cubeSubCameras = cubeSubCameras;
20
+ exports.resolveCubeTargetSize = resolveCubeTargetSize;
21
+ exports.resolveCubeMipmapLevel = resolveCubeMipmapLevel;
22
+ const index_part_001_1 = require("./index.part-001");
23
+ const index_part_011_1 = require("./index.part-011");
24
+ const index_part_013_1 = require("./index.part-013");
25
+ const index_part_014_1 = require("./index.part-014");
26
+ const index_part_016_1 = require("./index.part-016");
27
+ const index_part_017_1 = require("./index.part-017");
28
+ const index_part_019_1 = require("./index.part-019");
29
+ const index_part_020_1 = require("./index.part-020");
30
+ const index_part_021_1 = require("./index.part-021");
31
+ function objectSortId(mesh, index) {
32
+ return typeof mesh.sortIndex === 'number' && Number.isSafeInteger(mesh.sortIndex) && mesh.sortIndex >= 0
33
+ ? mesh.sortIndex
34
+ : index;
35
+ }
36
+ function renderModeFragment(mode, color) {
37
+ if (mode === 'normal') {
38
+ return [
39
+ 'let view_normal = normalize((uniforms.view * vec4<f32>(normal, 0.0)).xyz);',
40
+ 'return vec4<f32>(view_normal * 0.5 + vec3<f32>(0.5), 1.0);',
41
+ ].join('\n');
42
+ }
43
+ if (mode === 'depth')
44
+ return exports.DEPTH_READBACK_FRAGMENT;
45
+ return `return vec4<f32>(${(0, index_part_014_1.formatWgslFloat)(color[0])}, ${(0, index_part_014_1.formatWgslFloat)(color[1])}, ${(0, index_part_014_1.formatWgslFloat)(color[2])}, 1.0);`;
46
+ }
47
+ exports.DEPTH_READBACK_FRAGMENT = [
48
+ 'let frag_depth = clamp(input.position.z, 0.0, 1.0);',
49
+ 'let depth = 1.0 - frag_depth;',
50
+ 'return vec4<f32>(depth, depth, depth, 1.0);',
51
+ ].join('\n');
52
+ function renderTargetDepthBuffer(target, nativeScene, nativeCamera, renderNativeScene) {
53
+ if (target?.depthTexture == null)
54
+ return undefined;
55
+ return renderNativeScene((0, index_part_014_1.depthReadbackScene)(nativeScene), nativeCamera);
56
+ }
57
+ function renderTargetHasExplicitSize(target) {
58
+ if (!target)
59
+ return false;
60
+ if (target.width != null || target.height != null)
61
+ return true;
62
+ const texture = (0, index_part_013_1.cubeTargetTexture)(target);
63
+ const firstImage = Array.isArray(texture?.image) ? texture.image[0] : undefined;
64
+ return firstImage?.width != null || firstImage?.height != null;
65
+ }
66
+ function renderAuxiliaryTargetAttachments(target, options, primaryData, primaryObjectIdEntries, renderAttachment) {
67
+ if (!target)
68
+ return { objectIdEntries: primaryObjectIdEntries };
69
+ const colorTextures = (0, index_part_019_1.renderTargetColorTextures)(target);
70
+ if (colorTextures.length <= 1)
71
+ return { objectIdEntries: primaryObjectIdEntries };
72
+ const primaryMode = (0, index_part_011_1.normalizedRenderMode)(options.renderMode);
73
+ let targetObjectIdEntries = primaryObjectIdEntries;
74
+ const attachments = [];
75
+ for (let i = 1; i < colorTextures.length; i += 1) {
76
+ const texture = colorTextures[i];
77
+ const mode = (0, index_part_017_1.renderTargetTextureRenderMode)(texture, (0, index_part_017_1.targetColorTextureLabel)(i));
78
+ if (mode === primaryMode) {
79
+ attachments.push({ texture, data: primaryData });
80
+ if (mode === 'object-id')
81
+ targetObjectIdEntries = primaryObjectIdEntries;
82
+ continue;
83
+ }
84
+ const rendered = renderAttachment(mode);
85
+ attachments.push({ texture, data: rendered.data });
86
+ if (mode === 'object-id')
87
+ targetObjectIdEntries = rendered.objectIdEntries;
88
+ }
89
+ return { attachments, objectIdEntries: targetObjectIdEntries };
90
+ }
91
+ function renderRegularCameraAuxiliaryTargetAttachments(scene, camera, target, options, primaryData, primaryObjectIdEntries, renderNativeScene) {
92
+ return renderAuxiliaryTargetAttachments(target, options, primaryData, primaryObjectIdEntries, (mode) => {
93
+ const { nativeScene, nativeCamera, objectIdEntries } = (0, index_part_011_1.toNativeInput)(scene, camera, {
94
+ ...options,
95
+ renderMode: mode,
96
+ format: 'rgba',
97
+ });
98
+ return {
99
+ data: renderNativeScene(nativeScene, nativeCamera),
100
+ objectIdEntries,
101
+ };
102
+ });
103
+ }
104
+ function renderArrayCameraAuxiliaryTargetAttachments(scene, camera, target, options, primaryData, primaryObjectIdEntries, renderNativeScene) {
105
+ return renderAuxiliaryTargetAttachments(target, options, primaryData, primaryObjectIdEntries, (mode) => {
106
+ const rendered = (0, index_part_013_1.renderArrayCamera)(scene, camera, {
107
+ ...options,
108
+ renderMode: mode,
109
+ format: 'rgba',
110
+ }, renderNativeScene);
111
+ return {
112
+ data: rendered.buffer,
113
+ objectIdEntries: rendered.objectIdEntries,
114
+ };
115
+ });
116
+ }
117
+ function renderCubeCameraAuxiliaryTargetAttachments(target, options, primaryFaces, primaryObjectIdEntries, renderAttachment) {
118
+ const colorTextures = (0, index_part_019_1.renderTargetColorTextures)(target);
119
+ if (colorTextures.length <= 1)
120
+ return { objectIdEntries: primaryObjectIdEntries };
121
+ const primaryMode = (0, index_part_011_1.normalizedRenderMode)(options.renderMode);
122
+ let targetObjectIdEntries = primaryObjectIdEntries;
123
+ const attachments = [];
124
+ for (let i = 1; i < colorTextures.length; i += 1) {
125
+ const texture = colorTextures[i];
126
+ const mode = (0, index_part_017_1.renderTargetTextureRenderMode)(texture, (0, index_part_017_1.targetColorTextureLabel)(i));
127
+ if (mode === primaryMode) {
128
+ attachments.push({ texture, faces: primaryFaces });
129
+ if (mode === 'object-id')
130
+ targetObjectIdEntries = primaryObjectIdEntries;
131
+ continue;
132
+ }
133
+ const rendered = renderAttachment(mode);
134
+ attachments.push({ texture, faces: rendered.faces });
135
+ if (mode === 'object-id')
136
+ targetObjectIdEntries = rendered.objectIdEntries;
137
+ }
138
+ return { attachments, objectIdEntries: targetObjectIdEntries };
139
+ }
140
+ function sortedObjectIdEntries(objectIdEntryMap) {
141
+ return objectIdEntryMap.size > 0
142
+ ? [...objectIdEntryMap.values()].sort((a, b) => a.encodedId - b.encodedId)
143
+ : undefined;
144
+ }
145
+ function renderCubeCameraFaces(scene, subCameras, target, faceOptions, renderNativeScene, includeDepth) {
146
+ const objectIdEntryMap = new Map();
147
+ const faces = [];
148
+ const depthFaces = [];
149
+ for (const subCamera of subCameras) {
150
+ const { nativeScene, nativeCamera, objectIdEntries } = (0, index_part_011_1.toNativeInput)(scene, subCamera, faceOptions);
151
+ faces.push(Buffer.from(renderNativeScene(nativeScene, nativeCamera)));
152
+ if (objectIdEntries) {
153
+ for (const entry of objectIdEntries) {
154
+ objectIdEntryMap.set(entry.encodedId, entry);
155
+ }
156
+ }
157
+ if (includeDepth) {
158
+ const depthFace = renderTargetDepthBuffer(target, nativeScene, nativeCamera, renderNativeScene);
159
+ if (depthFace) {
160
+ depthFaces.push((0, index_part_021_1.cloneTargetData)((0, index_part_021_1.depthTextureData)(target.depthTexture, depthFace)));
161
+ }
162
+ }
163
+ }
164
+ return {
165
+ faces,
166
+ depthFaces: depthFaces.length > 0 ? depthFaces : undefined,
167
+ objectIdEntries: sortedObjectIdEntries(objectIdEntryMap),
168
+ };
169
+ }
170
+ function assertCubeFaceCount(faces, label) {
171
+ if (faces.length !== exports.CUBE_FACE_COUNT) {
172
+ throw new Error(`THREE.CubeCamera expected ${exports.CUBE_FACE_COUNT} rendered ${label} faces, received ${faces.length}.`);
173
+ }
174
+ }
175
+ function ensureCubeTargetAttachmentTexture(texture) {
176
+ texture.isCubeTexture = true;
177
+ texture.needsPMREMUpdate = true;
178
+ texture.pmremVersion = (texture.pmremVersion ?? 0) + 1;
179
+ }
180
+ function writeCubeTargetAttachmentFaces(attachment, faceWidth, faceHeight, activeMipmapLevel, label) {
181
+ assertCubeFaceCount(attachment.faces, label);
182
+ ensureCubeTargetAttachmentTexture(attachment.texture);
183
+ (0, index_part_013_1.writeCubeTextureFaces)(attachment.texture, attachment.faces.map((face) => (0, index_part_020_1.colorTextureData)(attachment.texture, face)), faceWidth, faceHeight, activeMipmapLevel, label);
184
+ }
185
+ exports.CUBE_FACE_COUNT = 6;
186
+ exports.UnsignedByteType = 1009;
187
+ exports.ByteType = 1010;
188
+ exports.ShortType = 1011;
189
+ exports.UnsignedShortType = 1012;
190
+ exports.IntType = 1013;
191
+ exports.UnsignedIntType = 1014;
192
+ exports.FloatType = 1015;
193
+ exports.HalfFloatType = 1016;
194
+ exports.UnsignedShort4444Type = 1017;
195
+ exports.UnsignedShort5551Type = 1018;
196
+ exports.UnsignedInt248Type = 1020;
197
+ exports.AlphaFormat = 1021;
198
+ exports.RGBFormat = 1022;
199
+ exports.RGBAFormat = 1023;
200
+ exports.LuminanceFormat = 1024;
201
+ exports.LuminanceAlphaFormat = 1025;
202
+ exports.DepthFormat = 1026;
203
+ exports.DepthStencilFormat = 1027;
204
+ exports.RedFormat = 1028;
205
+ exports.RedIntegerFormat = 1029;
206
+ exports.RGFormat = 1030;
207
+ exports.RGIntegerFormat = 1031;
208
+ exports.RGBIntegerFormat = 1032;
209
+ exports.RGBAIntegerFormat = 1033;
210
+ exports.UnsignedInt101111Type = 35899;
211
+ exports.UnsignedInt5999Type = 35902;
212
+ function renderCubeCamera(scene, camera, options, renderNativeScene) {
213
+ (0, index_part_021_1.validateThreeSceneRoot)(scene);
214
+ validateCubeCamera(camera, options);
215
+ const target = options.target ?? camera.renderTarget;
216
+ if (!target) {
217
+ throw new Error('THREE.CubeCamera rendering requires a WebGLCubeRenderTarget via camera.renderTarget or options.target.');
218
+ }
219
+ (0, index_part_016_1.assertRenderTargetLike)(target, options.target !== undefined ? 'options.target' : 'THREE.CubeCamera renderTarget');
220
+ (0, index_part_017_1.validateUnsupportedRenderTargetOptions)(target);
221
+ const { width: targetWidth, height: targetHeight } = resolveCubeTargetSize(target, options);
222
+ const activeMipmapLevel = resolveCubeMipmapLevel(camera, targetWidth);
223
+ const { width, height } = (0, index_part_013_1.cubeMipmapSize)(targetWidth, targetHeight, activeMipmapLevel);
224
+ const outputFormat = options.format ?? (options.target ? 'rgba' : 'png');
225
+ const subCameras = cubeSubCameras(camera);
226
+ const faceOptions = {
227
+ ...options,
228
+ target,
229
+ width,
230
+ height,
231
+ format: 'rgba',
232
+ viewport: (0, index_part_013_1.cubeMipmapViewport)(options, target, activeMipmapLevel),
233
+ scissor: (0, index_part_013_1.cubeMipmapScissor)(options, target, activeMipmapLevel),
234
+ __headlessThreeViewportLabel: (0, index_part_013_1.cubeMipmapViewportLabel)(options),
235
+ __headlessThreeScissorLabel: (0, index_part_013_1.cubeMipmapScissorLabel)(options, target),
236
+ };
237
+ const primary = renderCubeCameraFaces(scene, subCameras, target, faceOptions, renderNativeScene, true);
238
+ const auxiliary = renderCubeCameraAuxiliaryTargetAttachments(target, options, primary.faces, primary.objectIdEntries, (mode) => renderCubeCameraFaces(scene, subCameras, target, {
239
+ ...faceOptions,
240
+ renderMode: mode,
241
+ format: 'rgba',
242
+ }, renderNativeScene, false));
243
+ (0, index_part_013_1.writeCubeRenderTarget)(target, primary.faces, targetWidth, targetHeight, width, height, activeMipmapLevel, primary.depthFaces, auxiliary.objectIdEntries, auxiliary.attachments);
244
+ const buffer = outputFormat === 'png' ? index_part_001_1.native.encodePng(primary.faces[0], width, height) : primary.faces[0];
245
+ return { buffer, target, width, height, faces: primary.faces };
246
+ }
247
+ function validateCubeCamera(camera, options) {
248
+ if (!(0, index_part_021_1.isCubeCamera)(camera)) {
249
+ throw new TypeError('render(scene, camera) expected a THREE.CubeCamera-compatible object.');
250
+ }
251
+ (0, index_part_017_1.assertSupportedOutputFormat)(options.format, 'options.format');
252
+ }
253
+ function cubeSubCameras(camera) {
254
+ const children = camera.children;
255
+ if (!Array.isArray(children)) {
256
+ throw new TypeError('THREE.CubeCamera.children must be an array of internal perspective cameras.');
257
+ }
258
+ if (children.length < exports.CUBE_FACE_COUNT) {
259
+ throw new Error('THREE.CubeCamera requires six internal perspective cameras.');
260
+ }
261
+ const subCameras = children.slice(0, exports.CUBE_FACE_COUNT);
262
+ for (let index = 0; index < subCameras.length; index += 1) {
263
+ (0, index_part_021_1.validateThreeCamera)(subCameras[index], `THREE.CubeCamera.children[${index}]`);
264
+ }
265
+ if (typeof camera.updateCoordinateSystem === 'function' && camera.coordinateSystem !== index_part_001_1.WEBGL_COORDINATE_SYSTEM) {
266
+ camera.coordinateSystem = index_part_001_1.WEBGL_COORDINATE_SYSTEM;
267
+ camera.updateCoordinateSystem();
268
+ }
269
+ if (typeof camera.updateMatrixWorld === 'function') {
270
+ camera.updateMatrixWorld(true);
271
+ }
272
+ for (const subCamera of subCameras) {
273
+ if (typeof subCamera.updateMatrixWorld === 'function') {
274
+ subCamera.updateMatrixWorld(true);
275
+ }
276
+ }
277
+ return subCameras;
278
+ }
279
+ function resolveCubeTargetSize(target, options) {
280
+ const texture = (0, index_part_013_1.cubeTargetTexture)(target);
281
+ const firstImage = Array.isArray(texture?.image) ? texture.image[0] : undefined;
282
+ const width = options.width ?? target.width ?? firstImage?.width;
283
+ const height = options.height ?? target.height ?? firstImage?.height ?? width;
284
+ if (!Number.isInteger(width) || width <= 0) {
285
+ throw new TypeError('THREE.CubeCamera target width must be a positive integer.');
286
+ }
287
+ if (!Number.isInteger(height) || height <= 0) {
288
+ throw new TypeError('THREE.CubeCamera target height must be a positive integer.');
289
+ }
290
+ if (width !== height) {
291
+ throw new TypeError('THREE.CubeCamera target faces must be square.');
292
+ }
293
+ return { width: width, height: height };
294
+ }
295
+ function resolveCubeMipmapLevel(camera, targetSize) {
296
+ return (0, index_part_013_1.resolveActiveMipmapLevel)(camera.activeMipmapLevel ?? 0, targetSize, 'THREE.CubeCamera activeMipmapLevel');
297
+ }
298
+ //# sourceMappingURL=index.part-012.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.part-012.js","sourceRoot":"","sources":["../api/index.part-012.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ import type { ThreeSceneRootLike, ThreeCameraLike, RenderOptions, RenderTargetLike, RenderTargetTextureLike, RenderTargetImageLike, RenderPixelRectLike, RenderObjectIdEntry } from './types';
2
+ import { PixelRect, RenderCubeTargetAttachmentData, RenderNativeScene, RenderTargetAttachmentData } from './index.part-012';
3
+ export declare function resolveActiveMipmapLevel(level: number, targetSize: number, label: string): number;
4
+ export declare function assertActiveCubeFace(value: number, label: string): void;
5
+ export declare function assertActiveMipmapLevel(value: number, label: string): void;
6
+ export declare function cubeMipmapSize(width: number, height: number, activeMipmapLevel: number): {
7
+ width: number;
8
+ height: number;
9
+ };
10
+ export declare function cubeMipmapViewport(options: RenderOptions, target: RenderTargetLike, activeMipmapLevel: number): RenderPixelRectLike | null | undefined;
11
+ export declare function cubeMipmapViewportLabel(options: RenderOptions): string | undefined;
12
+ export declare function cubeMipmapScissor(options: RenderOptions, target: RenderTargetLike, activeMipmapLevel: number): RenderPixelRectLike | null | undefined;
13
+ export declare function cubeMipmapScissorLabel(options: RenderOptions, target: RenderTargetLike): string | undefined;
14
+ export declare function cubeMipmapRect(rect: RenderPixelRectLike | null | undefined, activeMipmapLevel: number): RenderPixelRectLike | null | undefined;
15
+ export declare function writeCubeRenderTarget(target: RenderTargetLike, faces: Buffer[], targetWidth: number, targetHeight: number, faceWidth: number, faceHeight: number, activeMipmapLevel: number, depthFaces?: NonNullable<RenderTargetImageLike['data']>[], objectIdEntries?: RenderObjectIdEntry[], colorAttachments?: RenderCubeTargetAttachmentData[]): RenderTargetLike;
16
+ export declare function writeCubeRenderTargetFace(target: RenderTargetLike, face: Buffer, targetWidth: number, targetHeight: number, faceWidth: number, faceHeight: number, activeCubeFace: number, activeMipmapLevel: number, depthFace?: NonNullable<RenderTargetImageLike['data']>, objectIdEntries?: RenderObjectIdEntry[], colorAttachments?: RenderTargetAttachmentData[]): RenderTargetLike;
17
+ export declare function writeCubeTextureFaces(texture: RenderTargetTextureLike, faces: NonNullable<RenderTargetImageLike['data']>[], width: number, height: number, activeMipmapLevel: number, label: string): void;
18
+ export declare function writeCubeTextureFace(texture: RenderTargetTextureLike, data: NonNullable<RenderTargetImageLike['data']>, width: number, height: number, activeCubeFace: number, activeMipmapLevel: number, label: string): void;
19
+ export declare function cubeTextureImages(value: RenderTargetImageLike | RenderTargetImageLike[] | undefined): RenderTargetImageLike[];
20
+ export declare function cubeTargetTexture(target: RenderTargetLike): RenderTargetTextureLike | undefined;
21
+ export declare function ensureCubeTargetTexture(target: RenderTargetLike): RenderTargetTextureLike;
22
+ export declare function isCubeRenderTarget(target: RenderTargetLike): boolean;
23
+ export declare function renderArrayCamera(scene: ThreeSceneRootLike, camera: ThreeCameraLike, options: RenderOptions, renderNativeScene: RenderNativeScene): {
24
+ buffer: Buffer;
25
+ width: number;
26
+ height: number;
27
+ objectIdEntries?: RenderObjectIdEntry[];
28
+ depthData?: Buffer;
29
+ };
30
+ export declare function validateArrayCameraOutput(camera: ThreeCameraLike, options: RenderOptions): void;
31
+ export declare function arraySubCameras(camera: ThreeCameraLike): ThreeCameraLike[];
32
+ export declare function resolveSubCameraViewport(camera: ThreeCameraLike, fallback: RenderPixelRectLike | null | undefined, width: number, height: number): PixelRect | undefined;
33
+ export declare function cameraViewport(camera: ThreeCameraLike): RenderPixelRectLike | undefined;
34
+ export declare function normalizePixelRect(rect: RenderPixelRectLike, targetWidth: number, targetHeight: number, label: string): PixelRect;
35
+ export declare function normalizeOptionalPixelRect(rect: RenderPixelRectLike | null | undefined, targetWidth: number, targetHeight: number, label: string): PixelRect | undefined;
36
+ export declare function copyPixelRect(source: Buffer, destination: Buffer, imageWidth: number, rect: PixelRect): void;
37
+ //# sourceMappingURL=index.part-013.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.part-013.d.ts","sourceRoot":"","sources":["../api/index.part-013.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,eAAe,EAGf,aAAa,EACb,gBAAgB,EAChB,uBAAuB,EACvB,qBAAqB,EACrB,mBAAmB,EAUnB,mBAAmB,EAWpB,MAAM,SAAS,CAAA;AAWhB,OAAO,EAAmB,SAAS,EAAE,8BAA8B,EAAE,iBAAiB,EAAE,0BAA0B,EAAmH,MAAM,kBAAkB,CAAA;AAO7P,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAWjG;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAIvE;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAI1E;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAM1H;AAED,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,aAAa,EACtB,MAAM,EAAE,gBAAgB,EACxB,iBAAiB,EAAE,MAAM,GACxB,mBAAmB,GAAG,IAAI,GAAG,SAAS,CAGxC;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,aAAa,GAAG,MAAM,GAAG,SAAS,CAGlF;AAED,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,aAAa,EACtB,MAAM,EAAE,gBAAgB,EACxB,iBAAiB,EAAE,MAAM,GACxB,mBAAmB,GAAG,IAAI,GAAG,SAAS,CAGxC;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,gBAAgB,GAAG,MAAM,GAAG,SAAS,CAG3G;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,mBAAmB,GAAG,IAAI,GAAG,SAAS,EAAE,iBAAiB,EAAE,MAAM,GAAG,mBAAmB,GAAG,IAAI,GAAG,SAAS,CAY9I;AAED,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,gBAAgB,EACxB,KAAK,EAAE,MAAM,EAAE,EACf,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,iBAAiB,EAAE,MAAM,EACzB,UAAU,CAAC,EAAE,WAAW,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC,EAAE,EACzD,eAAe,CAAC,EAAE,mBAAmB,EAAE,EACvC,gBAAgB,CAAC,EAAE,8BAA8B,EAAE,GAClD,gBAAgB,CAyBlB;AAED,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,gBAAgB,EACxB,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,cAAc,EAAE,MAAM,EACtB,iBAAiB,EAAE,MAAM,EACzB,SAAS,CAAC,EAAE,WAAW,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC,EACtD,eAAe,CAAC,EAAE,mBAAmB,EAAE,EACvC,gBAAgB,CAAC,EAAE,0BAA0B,EAAE,GAC9C,gBAAgB,CAoClB;AAED,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,uBAAuB,EAChC,KAAK,EAAE,WAAW,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC,EAAE,EACnD,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,iBAAiB,EAAE,MAAM,EACzB,KAAK,EAAE,MAAM,GACZ,IAAI,CAqBN;AAED,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,uBAAuB,EAChC,IAAI,EAAE,WAAW,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC,EAChD,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,MAAM,EACtB,iBAAiB,EAAE,MAAM,EACzB,KAAK,EAAE,MAAM,GACZ,IAAI,CAyBN;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,qBAAqB,GAAG,qBAAqB,EAAE,GAAG,SAAS,GAAG,qBAAqB,EAAE,CAM7H;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,gBAAgB,GAAG,uBAAuB,GAAG,SAAS,CAI/F;AAED,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,gBAAgB,GAAG,uBAAuB,CAOzF;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAIpE;AAED,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,kBAAkB,EACzB,MAAM,EAAE,eAAe,EACvB,OAAO,EAAE,aAAa,EACtB,iBAAiB,EAAE,iBAAiB,GACnC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,eAAe,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,CAuDhH;AAED,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,aAAa,GAAG,IAAI,CAW/F;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,eAAe,GAAG,eAAe,EAAE,CAY1E;AAED,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,eAAe,EACvB,QAAQ,EAAE,mBAAmB,GAAG,IAAI,GAAG,SAAS,EAChD,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACb,SAAS,GAAG,SAAS,CAGvB;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,eAAe,GAAG,mBAAmB,GAAG,SAAS,CAYvF;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,CAmBjI;AAED,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,mBAAmB,GAAG,IAAI,GAAG,SAAS,EAC5C,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,MAAM,GACZ,SAAS,GAAG,SAAS,CAGvB;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,IAAI,CAM5G"}