@jscad/regl-renderer 2.6.6 → 3.0.0-alpha.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/CHANGELOG.md +8 -184
- package/README.md +21 -11
- package/demo-cli.js +20 -16
- package/demo-web.js +6 -4
- package/demo.es.html +236 -0
- package/demo.html +21 -15
- package/dist/jscad-regl-renderer.es.js +13 -0
- package/dist/jscad-regl-renderer.min.js +13 -335
- package/package.json +41 -16
- package/rollup.config.js +27 -0
- package/src/bound-utils/boundingBox.js +1 -2
- package/src/bound-utils/boundingSphere.js +4 -5
- package/src/bound-utils/computeBounds.js +4 -6
- package/src/bound-utils/computeBounds.test.js +2 -2
- package/src/cameras/camera.js +15 -19
- package/src/cameras/index.js +8 -4
- package/src/cameras/orthographicCamera.js +4 -6
- package/src/cameras/perspectiveCamera.js +7 -9
- package/src/controls/index.js +6 -0
- package/src/controls/orbitControls.js +18 -27
- package/src/{geometry-utils-V2 → geometry-utils-V3}/entitiesFromSolids.js +7 -9
- package/src/{geometry-utils-V2 → geometry-utils-V3}/entitiesFromSolids.test.js +4 -4
- package/src/geometry-utils-V3/geom2ToGeometries.js +57 -0
- package/src/{geometry-utils-V2 → geometry-utils-V3}/geom2ToGeometries.test.js +16 -12
- package/src/{geometry-utils-V2 → geometry-utils-V3}/geom3ToGeometries.js +3 -5
- package/src/{geometry-utils-V2 → geometry-utils-V3}/geom3ToGeometries.test.js +2 -2
- package/src/{geometry-utils-V2 → geometry-utils-V3}/path2ToGeometries.js +4 -5
- package/src/{geometry-utils-V2 → geometry-utils-V3}/path2ToGeometries.test.js +2 -2
- package/src/index.js +5 -20
- package/src/rendering/commands/drawAxis/index.js +2 -4
- package/src/rendering/commands/drawExps/drawConnector/arcGeo.js +1 -3
- package/src/rendering/commands/drawExps/drawConnector/index.js +5 -7
- package/src/rendering/commands/drawExps/drawMesh.js +2 -4
- package/src/rendering/commands/drawExps/drawMeshNoNormals.js +2 -4
- package/src/rendering/commands/drawExps/drawNormals.js +2 -4
- package/src/rendering/commands/drawExps/drawNormals2.js +2 -4
- package/src/rendering/commands/drawGrid/{index.js → makeDrawGrid.js} +2 -4
- package/src/rendering/commands/drawGrid/{multi.js → makeDrawMultiGrid.js} +5 -5
- package/src/rendering/commands/drawLines/colorOnlyShaders.js +2 -2
- package/src/rendering/commands/drawLines/index.js +9 -7
- package/src/rendering/commands/drawLines/meshShaders.js +3 -3
- package/src/rendering/commands/drawLines/vColorShaders.js +3 -3
- package/src/rendering/commands/drawMesh/colorOnlyShaders.js +2 -2
- package/src/rendering/commands/drawMesh/index.js +8 -7
- package/src/rendering/commands/drawMesh/meshShaders.js +3 -3
- package/src/rendering/commands/drawMesh/vColorShaders.js +3 -3
- package/src/rendering/commands/index.js +11 -0
- package/src/rendering/render.js +10 -10
- package/src/rendering/renderContext.js +2 -4
- package/src/rendering/renderDefaults.js +9 -11
- package/src/utils.js +3 -6
- package/src/geometry-utils-V1/cagToGeometries.js +0 -52
- package/src/geometry-utils-V1/csgToGeometries.js +0 -220
- package/src/geometry-utils-V1/entitiesFromSolids.js +0 -75
- package/src/geometry-utils-V2/geom2ToGeometries.js +0 -66
package/CHANGELOG.md
CHANGED
|
@@ -3,251 +3,146 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
-
|
|
6
|
+
# [3.0.0-alpha.0](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/regl-renderer@2.6.3...@jscad/regl-renderer@3.0.0-alpha.0) (2023-10-09)
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
### Features
|
|
9
9
|
|
|
10
|
+
* **regl-renderer:** added rollup configuration to create ES6 bundle, adjusted imports and exports ([#1259](https://github.com/jscad/OpenJSCAD.org/issues/1259)) ([47a66bc](https://github.com/jscad/OpenJSCAD.org/commit/47a66bc07a137a748ce8571ea5d043ebaab9418d))
|
|
10
11
|
|
|
12
|
+
## [2.6.7](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/regl-renderer@2.6.6...@jscad/regl-renderer@2.6.7) (2023-06-27)
|
|
11
13
|
|
|
14
|
+
**Note:** Version bump only for package @jscad/regl-renderer
|
|
12
15
|
|
|
16
|
+
## [2.6.6](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/regl-renderer@2.6.5...@jscad/regl-renderer@2.6.6) (2023-04-30)
|
|
13
17
|
|
|
14
|
-
|
|
18
|
+
**Note:** Version bump only for package @jscad/regl-renderer
|
|
15
19
|
|
|
20
|
+
## [2.6.5](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/regl-renderer@2.6.4...@jscad/regl-renderer@2.6.5) (2023-01-09)
|
|
16
21
|
|
|
17
22
|
### Bug Fixes
|
|
18
23
|
|
|
19
24
|
* **regl-renderer:** corrected rendering of overlapping transparent solid objects ([9a66b2a](https://github.com/jscad/OpenJSCAD.org/commit/9a66b2abaccb6f047c5e4c4505218e7bbac69018))
|
|
20
25
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
26
|
## [2.6.4](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/regl-renderer@2.6.3...@jscad/regl-renderer@2.6.4) (2022-11-26)
|
|
26
27
|
|
|
27
28
|
**Note:** Version bump only for package @jscad/regl-renderer
|
|
28
29
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
30
|
## [2.6.3](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/regl-renderer@2.6.2...@jscad/regl-renderer@2.6.3) (2022-08-21)
|
|
34
31
|
|
|
35
32
|
**Note:** Version bump only for package @jscad/regl-renderer
|
|
36
33
|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
34
|
## [2.6.2](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/regl-renderer@2.6.1...@jscad/regl-renderer@2.6.2) (2022-07-17)
|
|
42
35
|
|
|
43
36
|
**Note:** Version bump only for package @jscad/regl-renderer
|
|
44
37
|
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
38
|
## [2.6.1](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/regl-renderer@2.6.0...@jscad/regl-renderer@2.6.1) (2022-06-12)
|
|
50
39
|
|
|
51
40
|
**Note:** Version bump only for package @jscad/regl-renderer
|
|
52
41
|
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
42
|
# [2.6.0](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/regl-renderer@2.5.9...@jscad/regl-renderer@2.6.0) (2022-05-15)
|
|
58
43
|
|
|
59
|
-
|
|
60
44
|
### Features
|
|
61
45
|
|
|
62
46
|
* **regl-renderer:** added support for multicolor lines ([#1060](https://github.com/jscad/OpenJSCAD.org/issues/1060)) ([d5eb65b](https://github.com/jscad/OpenJSCAD.org/commit/d5eb65b298afcabd4231236c3aa5d5cc092db8d4))
|
|
63
47
|
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
48
|
## [2.5.9](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/regl-renderer@2.5.8...@jscad/regl-renderer@2.5.9) (2022-04-24)
|
|
69
49
|
|
|
70
|
-
|
|
71
50
|
### Bug Fixes
|
|
72
51
|
|
|
73
52
|
* **regl-render:** removed unnecessary preventDefault in demo.html ([#1068](https://github.com/jscad/OpenJSCAD.org/issues/1068)) ([b2ff7c3](https://github.com/jscad/OpenJSCAD.org/commit/b2ff7c33cd3a8a0fc242b42f5e4bb2690eaef081))
|
|
74
53
|
|
|
75
|
-
|
|
76
54
|
### Performance Improvements
|
|
77
55
|
|
|
78
56
|
* **modeling:** faster geom2.toOutlines ([#1064](https://github.com/jscad/OpenJSCAD.org/issues/1064)) ([5cb2f65](https://github.com/jscad/OpenJSCAD.org/commit/5cb2f652fa099593e6ec133fe879ecf8a09705e9))
|
|
79
57
|
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
58
|
## [2.5.8](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/regl-renderer@2.5.7...@jscad/regl-renderer@2.5.8) (2022-04-03)
|
|
85
59
|
|
|
86
60
|
**Note:** Version bump only for package @jscad/regl-renderer
|
|
87
61
|
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
62
|
## [2.5.7](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/regl-renderer@2.5.6...@jscad/regl-renderer@2.5.7) (2022-04-03)
|
|
93
63
|
|
|
94
64
|
**Note:** Version bump only for package @jscad/regl-renderer
|
|
95
65
|
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
66
|
## [2.5.6](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/regl-renderer@2.5.5...@jscad/regl-renderer@2.5.6) (2022-03-13)
|
|
101
67
|
|
|
102
68
|
**Note:** Version bump only for package @jscad/regl-renderer
|
|
103
69
|
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
70
|
## [2.5.5](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/regl-renderer@2.5.4...@jscad/regl-renderer@2.5.5) (2022-03-06)
|
|
109
71
|
|
|
110
72
|
**Note:** Version bump only for package @jscad/regl-renderer
|
|
111
73
|
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
74
|
## [2.5.4](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/regl-renderer@2.5.3...@jscad/regl-renderer@2.5.4) (2022-02-19)
|
|
117
75
|
|
|
118
76
|
**Note:** Version bump only for package @jscad/regl-renderer
|
|
119
77
|
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
78
|
## [2.5.3](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/regl-renderer@2.5.2...@jscad/regl-renderer@2.5.3) (2021-12-26)
|
|
125
79
|
|
|
126
80
|
**Note:** Version bump only for package @jscad/regl-renderer
|
|
127
81
|
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
82
|
## [2.5.2](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/regl-renderer@2.5.1...@jscad/regl-renderer@2.5.2) (2021-12-11)
|
|
133
83
|
|
|
134
84
|
**Note:** Version bump only for package @jscad/regl-renderer
|
|
135
85
|
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
86
|
## [2.5.1](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/regl-renderer@2.5.0...@jscad/regl-renderer@2.5.1) (2021-11-07)
|
|
141
87
|
|
|
142
88
|
**Note:** Version bump only for package @jscad/regl-renderer
|
|
143
89
|
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
90
|
# [2.5.0](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/regl-renderer@2.4.1...@jscad/regl-renderer@2.5.0) (2021-10-17)
|
|
149
91
|
|
|
150
|
-
|
|
151
92
|
### Features
|
|
152
93
|
|
|
153
94
|
* **web:** changed default serialize to false, eliminating JSON serialize/deserialize ([#928](https://github.com/jscad/OpenJSCAD.org/issues/928)) ([b29993a](https://github.com/jscad/OpenJSCAD.org/commit/b29993a8fd3da3bd43a5f871edae4c60d7f56fc7))
|
|
154
95
|
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
96
|
## [2.4.1](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/regl-renderer@2.4.0...@jscad/regl-renderer@2.4.1) (2021-10-04)
|
|
160
97
|
|
|
161
98
|
**Note:** Version bump only for package @jscad/regl-renderer
|
|
162
99
|
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
100
|
# [2.4.0](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/regl-renderer@2.3.0...@jscad/regl-renderer@2.4.0) (2021-09-27)
|
|
168
101
|
|
|
169
|
-
|
|
170
102
|
### Features
|
|
171
103
|
|
|
172
104
|
* **regl-renderer:** enhanced rendering to use the matrix as provided with the geometry ([#871](https://github.com/jscad/OpenJSCAD.org/issues/871)) ([40802af](https://github.com/jscad/OpenJSCAD.org/commit/40802afeb9a2a45cf3eb4f1b9dc774b8670d8259))
|
|
173
105
|
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
106
|
# [2.3.0](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/regl-renderer@2.2.0...@jscad/regl-renderer@2.3.0) (2021-09-09)
|
|
179
107
|
|
|
180
|
-
|
|
181
108
|
### Features
|
|
182
109
|
|
|
183
110
|
* **regl-renderer:** typescript definitions and generator. ([#801](https://github.com/jscad/OpenJSCAD.org/issues/801)) ([1616876](https://github.com/jscad/OpenJSCAD.org/commit/16168761c53bbb6ffb604aa69c9c80dcc13eaad3))
|
|
184
111
|
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
112
|
# [2.2.0](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/regl-renderer@2.1.3...@jscad/regl-renderer@2.2.0) (2021-06-20)
|
|
190
113
|
|
|
191
|
-
|
|
192
114
|
### Features
|
|
193
115
|
|
|
194
116
|
* **regl-renderer:** added new command drawLines, and adjusted demos ([#863](https://github.com/jscad/OpenJSCAD.org/issues/863)) ([02b5247](https://github.com/jscad/OpenJSCAD.org/commit/02b524775165f743b1f0bcecce92a0f7784bb89b))
|
|
195
117
|
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
118
|
## [2.1.3](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/regl-renderer@2.1.2...@jscad/regl-renderer@2.1.3) (2021-06-11)
|
|
201
119
|
|
|
202
120
|
**Note:** Version bump only for package @jscad/regl-renderer
|
|
203
121
|
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
122
|
## [2.1.2](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/regl-renderer@2.1.1...@jscad/regl-renderer@2.1.2) (2021-06-01)
|
|
209
123
|
|
|
210
124
|
**Note:** Version bump only for package @jscad/regl-renderer
|
|
211
125
|
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
126
|
## [2.1.1](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/regl-renderer@2.1.0...@jscad/regl-renderer@2.1.1) (2021-05-16)
|
|
217
127
|
|
|
218
|
-
|
|
219
128
|
### Bug Fixes
|
|
220
129
|
|
|
221
130
|
* **regl-renderer:** added reasonable defaults for drawGrid ([d64e062](https://github.com/jscad/OpenJSCAD.org/commit/d64e06228f8a92e014df3e22ea9ee48e11825420))
|
|
222
131
|
* **regl-renderer:** corrected conversion of empty solids to entities, updated tests ([967fe82](https://github.com/jscad/OpenJSCAD.org/commit/967fe82ea429af14fe23a51d19099b1752ceead3))
|
|
223
132
|
* **regl-renderer:** corrected determination of camera position change in orbitControls ([4f467c5](https://github.com/jscad/OpenJSCAD.org/commit/4f467c5d92132dc140db6799766f3a98716e5d68))
|
|
224
133
|
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
134
|
# [2.1.0](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/regl-renderer@2.0.3...@jscad/regl-renderer@2.1.0) (2021-04-30)
|
|
230
135
|
|
|
231
|
-
|
|
232
136
|
### Features
|
|
233
137
|
|
|
234
138
|
* **regl-renderer:** refactored and corrected conversions of solids to entities, supporting HUGE solids ([#797](https://github.com/jscad/OpenJSCAD.org/issues/797)) ([f8baa22](https://github.com/jscad/OpenJSCAD.org/commit/f8baa222e89ac9357c795620b7f21341e202ad74))
|
|
235
139
|
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
140
|
## [2.0.3](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/regl-renderer@2.0.2...@jscad/regl-renderer@2.0.3) (2021-04-20)
|
|
241
141
|
|
|
242
142
|
**Note:** Version bump only for package @jscad/regl-renderer
|
|
243
143
|
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
144
|
## [2.0.2](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/regl-renderer@2.0.0-alpha.0...@jscad/regl-renderer@2.0.2) (2021-04-17)
|
|
249
145
|
|
|
250
|
-
|
|
251
146
|
### Bug Fixes
|
|
252
147
|
|
|
253
148
|
* **all:** support sparse arrays from main() ([#672](https://github.com/jscad/OpenJSCAD.org/issues/672)) ([209961d](https://github.com/jscad/OpenJSCAD.org/commit/209961d41ebf77373d427a7986934d195780f118))
|
|
@@ -256,13 +151,8 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
|
|
|
256
151
|
* **regl-renderer:** corrected zoomToFit for 2D geometries ([#793](https://github.com/jscad/OpenJSCAD.org/issues/793)) ([2a05d3e](https://github.com/jscad/OpenJSCAD.org/commit/2a05d3e9b380e8782148c5d158c40715d6af2cd8))
|
|
257
152
|
* **regl-renderer:** variable distance in pan controls ([#735](https://github.com/jscad/OpenJSCAD.org/issues/735)) ([9ad661c](https://github.com/jscad/OpenJSCAD.org/commit/9ad661c44cb87ee6ae58f20a69eaad5fd83a05a6))
|
|
258
153
|
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
154
|
## [2.0.1](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/regl-renderer@2.0.0-alpha.0...@jscad/regl-renderer@2.0.1) (2021-04-15)
|
|
264
155
|
|
|
265
|
-
|
|
266
156
|
### Bug Fixes
|
|
267
157
|
|
|
268
158
|
* **all:** support sparse arrays from main() ([#672](https://github.com/jscad/OpenJSCAD.org/issues/672)) ([209961d](https://github.com/jscad/OpenJSCAD.org/commit/209961d41ebf77373d427a7986934d195780f118))
|
|
@@ -271,143 +161,77 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
|
|
|
271
161
|
* **regl-renderer:** corrected zoomToFit for 2D geometries ([#793](https://github.com/jscad/OpenJSCAD.org/issues/793)) ([2a05d3e](https://github.com/jscad/OpenJSCAD.org/commit/2a05d3e9b380e8782148c5d158c40715d6af2cd8))
|
|
272
162
|
* **regl-renderer:** variable distance in pan controls ([#735](https://github.com/jscad/OpenJSCAD.org/issues/735)) ([9ad661c](https://github.com/jscad/OpenJSCAD.org/commit/9ad661c44cb87ee6ae58f20a69eaad5fd83a05a6))
|
|
273
163
|
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
164
|
# [2.0.0](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/regl-renderer@2.0.0-alpha.13...@jscad/regl-renderer@2.0.0) (2021-04-12)
|
|
279
165
|
|
|
280
166
|
**Note:** Version bump only for package @jscad/regl-renderer
|
|
281
167
|
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
168
|
# [2.0.0-alpha.13](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/regl-renderer@2.0.0-alpha.12...@jscad/regl-renderer@2.0.0-alpha.13) (2021-03-07)
|
|
287
169
|
|
|
288
170
|
**Note:** Version bump only for package @jscad/regl-renderer
|
|
289
171
|
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
172
|
# [2.0.0-alpha.12](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/regl-renderer@2.0.0-alpha.11...@jscad/regl-renderer@2.0.0-alpha.12) (2021-02-07)
|
|
295
173
|
|
|
296
174
|
**Note:** Version bump only for package @jscad/regl-renderer
|
|
297
175
|
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
176
|
# [2.0.0-alpha.11](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/regl-renderer@2.0.0-alpha.10...@jscad/regl-renderer@2.0.0-alpha.11) (2021-01-02)
|
|
303
177
|
|
|
304
178
|
**Note:** Version bump only for package @jscad/regl-renderer
|
|
305
179
|
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
180
|
# [2.0.0-alpha.10](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/regl-renderer@2.0.0-alpha.9...@jscad/regl-renderer@2.0.0-alpha.10) (2020-12-04)
|
|
311
181
|
|
|
312
|
-
|
|
313
182
|
### Bug Fixes
|
|
314
183
|
|
|
315
184
|
* **regl-renderer:** variable distance in pan controls ([#735](https://github.com/jscad/OpenJSCAD.org/issues/735)) ([9ad661c](https://github.com/jscad/OpenJSCAD.org/commit/9ad661c44cb87ee6ae58f20a69eaad5fd83a05a6))
|
|
316
185
|
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
186
|
# [2.0.0-alpha.9](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/regl-renderer@2.0.0-alpha.8...@jscad/regl-renderer@2.0.0-alpha.9) (2020-11-07)
|
|
322
187
|
|
|
323
|
-
|
|
324
188
|
### Bug Fixes
|
|
325
189
|
|
|
326
190
|
* **regl-renderer:** Changes to improve regl-renderer ([#722](https://github.com/jscad/OpenJSCAD.org/issues/722)) ([7bcc689](https://github.com/jscad/OpenJSCAD.org/commit/7bcc689e3d36cfbc3ac6f9b4c3822a72d54a996e))
|
|
327
191
|
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
192
|
# [2.0.0-alpha.8](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/regl-renderer@2.0.0-alpha.7...@jscad/regl-renderer@2.0.0-alpha.8) (2020-10-11)
|
|
333
193
|
|
|
334
|
-
|
|
335
194
|
### Bug Fixes
|
|
336
195
|
|
|
337
196
|
* **all:** V2 : several fixes for modeling ([#705](https://github.com/jscad/OpenJSCAD.org/issues/705)) ([62017a4](https://github.com/jscad/OpenJSCAD.org/commit/62017a41214169d6e000f1e0c11aaefdd68e1097))
|
|
338
197
|
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
198
|
# [2.0.0-alpha.7](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/regl-renderer@2.0.0-alpha.6...@jscad/regl-renderer@2.0.0-alpha.7) (2020-09-29)
|
|
344
199
|
|
|
345
200
|
**Note:** Version bump only for package @jscad/regl-renderer
|
|
346
201
|
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
202
|
# [2.0.0-alpha.6](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/regl-renderer@2.0.0-alpha.5...@jscad/regl-renderer@2.0.0-alpha.6) (2020-09-28)
|
|
352
203
|
|
|
353
204
|
**Note:** Version bump only for package @jscad/regl-renderer
|
|
354
205
|
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
206
|
# [2.0.0-alpha.5](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/regl-renderer@2.0.0-alpha.4...@jscad/regl-renderer@2.0.0-alpha.5) (2020-09-19)
|
|
360
207
|
|
|
361
|
-
|
|
362
208
|
### Bug Fixes
|
|
363
209
|
|
|
364
210
|
* **all:** support sparse arrays from main() ([#672](https://github.com/jscad/OpenJSCAD.org/issues/672)) ([209961d](https://github.com/jscad/OpenJSCAD.org/commit/209961d41ebf77373d427a7986934d195780f118))
|
|
365
211
|
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
212
|
# [2.0.0-alpha.4](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/regl-renderer@2.0.0-alpha.3...@jscad/regl-renderer@2.0.0-alpha.4) (2020-09-08)
|
|
371
213
|
|
|
372
214
|
**Note:** Version bump only for package @jscad/regl-renderer
|
|
373
215
|
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
216
|
# [2.0.0-alpha.3](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/regl-renderer@2.0.0-alpha.2...@jscad/regl-renderer@2.0.0-alpha.3) (2020-09-02)
|
|
379
217
|
|
|
380
218
|
**Note:** Version bump only for package @jscad/regl-renderer
|
|
381
219
|
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
220
|
# [2.0.0-alpha.2](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/regl-renderer@2.0.0-alpha.1...@jscad/regl-renderer@2.0.0-alpha.2) (2020-08-26)
|
|
387
221
|
|
|
388
222
|
* **regl-renderer:** various fixes to renderer
|
|
389
223
|
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
224
|
# [2.0.0-alpha.1](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/regl-renderer@2.0.0-alpha.0...@jscad/regl-renderer@2.0.0-alpha.1) (2020-08-19)
|
|
395
225
|
|
|
396
226
|
**Note:** Version bump only for package @jscad/regl-renderer
|
|
397
227
|
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
228
|
# 2.0.0-alpha.0 (2020-08-13)
|
|
403
229
|
|
|
404
|
-
|
|
405
230
|
### Bug Fixes
|
|
406
231
|
|
|
407
232
|
* **regl-renderer:** small tweaks and fixes for V2 ([#484](https://github.com/jscad/OpenJSCAD.org/issues/484)) ([ee50200](https://github.com/jscad/OpenJSCAD.org/commit/ee50200bfcacd8078fa6f1fd73f6cd866afce5ed))
|
|
408
233
|
* **regl-renderer:** implemented an alternative caching scheme in render
|
|
409
234
|
|
|
410
|
-
|
|
411
235
|
### Features
|
|
412
236
|
|
|
413
237
|
* **regl-renderer:** Overhaul and V2 groundwork ([#425](https://github.com/jscad/OpenJSCAD.org/issues/425)) ([7ccc789](https://github.com/jscad/OpenJSCAD.org/commit/7ccc7898ddf98f0cf9425a67a8ffdf79ebb82b2a))
|
package/README.md
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
[](https://github.com/jscad/OpenJSCAD.org/blob/master/LICENSE)
|
|
10
10
|
|
|
11
11
|
[](https://openjscad.nodebb.com/)
|
|
12
|
-
[](https://github.com/ghiscoding/lerna-lite)
|
|
13
13
|
[](https://standardjs.com)
|
|
14
14
|
|
|
15
15
|
[](https://opencollective.com/openjscad)
|
|
@@ -32,40 +32,50 @@ npm install @jscad/regl-renderer
|
|
|
32
32
|
```
|
|
33
33
|
|
|
34
34
|
In addition this package is hosted at [UNPKG](https://unpkg.com/), and can be imported directly into webpages.
|
|
35
|
-
|
|
36
35
|
```
|
|
37
|
-
<script
|
|
36
|
+
<script type="module" id="MODELING">
|
|
37
|
+
import { cameras, commands, controls, entitiesFromSolids, prepareRender } from "./dist/jscad-regl-renderer.es.js"
|
|
38
|
+
|
|
39
|
+
... YOUR CODE
|
|
40
|
+
</script>
|
|
38
41
|
```
|
|
39
42
|
|
|
40
43
|
## Usage
|
|
41
44
|
|
|
42
|
-
### Node.js (
|
|
45
|
+
### Node.js (HEADLESS)
|
|
43
46
|
|
|
44
47
|
Install the following packages manually.
|
|
45
48
|
|
|
46
49
|
NOTE: There are issues with continous integration testing, so 'gl' is not installed initially.
|
|
47
50
|
|
|
48
51
|
```
|
|
49
|
-
|
|
52
|
+
pnpm install gl
|
|
50
53
|
```
|
|
51
54
|
|
|
52
|
-
Try the demo by running ```
|
|
55
|
+
Try the demo by running ```pnpm run demo-cli```.
|
|
53
56
|
|
|
54
57
|
If all goes well you should end up with an image (test.png) that renders the demo design.
|
|
55
58
|
|
|
56
|
-
The
|
|
59
|
+
The source code of the demo can be found in 'demo-cli.js'
|
|
57
60
|
|
|
58
61
|
### Browsers
|
|
59
62
|
|
|
60
|
-
|
|
63
|
+
This module has been tested using several browsers, includig Firefox, Chrome, Safari, etc.
|
|
64
|
+
For an exmple of how to use the module, please see 'demo.es.html'
|
|
65
|
+
|
|
66
|
+
NOTE: 'demo.es.html' cannot be opened from the local file system. This is due to CORS security limitiations. See the next section.
|
|
61
67
|
|
|
62
68
|
### Developers
|
|
63
69
|
|
|
64
|
-
Run the development web server using ```
|
|
70
|
+
Run the development web server using ```pnpm run dev```, then open the URL shown using any browser.
|
|
71
|
+
From the index of files, select 'demo.es.html'.
|
|
72
|
+
|
|
73
|
+
If all goes well you should end up with a web page that displays the demo design (a few solids).
|
|
74
|
+
The standard mouse controls are also available for rotation, etc.
|
|
65
75
|
|
|
66
|
-
|
|
76
|
+
After making changes, just reload the web page.
|
|
67
77
|
|
|
68
|
-
|
|
78
|
+
If making changes, please make sure that all tests must pass. Run ```pnpm test```
|
|
69
79
|
|
|
70
80
|
## License
|
|
71
81
|
|
package/demo-cli.js
CHANGED
|
@@ -1,12 +1,16 @@
|
|
|
1
|
-
|
|
1
|
+
import gl from 'gl'
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
import { colors, primitives, booleans } from '@jscad/modeling'
|
|
4
|
+
|
|
5
|
+
import { writeContextToFile } from '@jscad/img-utils'
|
|
6
|
+
|
|
7
|
+
import { prepareRender, commands, cameras, entitiesFromSolids } from './dist/jscad-regl-renderer.es.js'
|
|
4
8
|
|
|
5
9
|
// setup demo solids data
|
|
6
10
|
const demoSolids = (parameters) => {
|
|
7
|
-
const { colorize } =
|
|
8
|
-
const { cube, cuboid, line, sphere, star } =
|
|
9
|
-
const { intersect, subtract } =
|
|
11
|
+
const { colorize } = colors
|
|
12
|
+
const { cube, cuboid, line, sphere, star } = primitives
|
|
13
|
+
const { intersect, subtract } = booleans
|
|
10
14
|
|
|
11
15
|
const logo = [
|
|
12
16
|
colorize([1.0, 0.4, 1.0], subtract(
|
|
@@ -30,8 +34,8 @@ const demoSolids = (parameters) => {
|
|
|
30
34
|
[0, 1, 0],
|
|
31
35
|
[0, 0, 0.7]
|
|
32
36
|
]
|
|
33
|
-
star2D.
|
|
34
|
-
|
|
37
|
+
star2D.outlines.forEach((outline, i) => {
|
|
38
|
+
outline.color = colorChange[i % colorChange.length]
|
|
35
39
|
})
|
|
36
40
|
|
|
37
41
|
return [transpCube, star2D, line2D, ...logo]
|
|
@@ -45,7 +49,7 @@ const params = {
|
|
|
45
49
|
const { width, height } = params
|
|
46
50
|
|
|
47
51
|
// create webgl context
|
|
48
|
-
const
|
|
52
|
+
const context = gl(width, height)
|
|
49
53
|
|
|
50
54
|
// process entities and inject extras
|
|
51
55
|
const entities = entitiesFromSolids({}, demoSolids({ scale: 1 }))
|
|
@@ -57,14 +61,14 @@ perspectiveCamera.setProjection(camera, camera, { width, height })
|
|
|
57
61
|
perspectiveCamera.update(camera, camera)
|
|
58
62
|
|
|
59
63
|
const options = {
|
|
60
|
-
glOptions: { gl },
|
|
64
|
+
glOptions: { gl: context },
|
|
61
65
|
camera,
|
|
62
66
|
drawCommands: {
|
|
63
67
|
// draw commands bootstrap themselves the first time they are run
|
|
64
|
-
drawAxis:
|
|
65
|
-
drawGrid:
|
|
66
|
-
drawLines:
|
|
67
|
-
drawMesh:
|
|
68
|
+
drawAxis: commands.drawAxis,
|
|
69
|
+
drawGrid: commands.drawGrid,
|
|
70
|
+
drawLines: commands.drawLines,
|
|
71
|
+
drawMesh: commands.drawMesh
|
|
68
72
|
},
|
|
69
73
|
rendering: {
|
|
70
74
|
background: [1, 1, 1, 1],
|
|
@@ -109,9 +113,9 @@ const options = {
|
|
|
109
113
|
]
|
|
110
114
|
}
|
|
111
115
|
|
|
112
|
-
//
|
|
116
|
+
// render the contents
|
|
113
117
|
const render = prepareRender(options)
|
|
114
|
-
// do the actual render
|
|
115
118
|
render(options)
|
|
119
|
+
|
|
116
120
|
// output to file
|
|
117
|
-
writeContextToFile(
|
|
121
|
+
writeContextToFile(context, width, height, 4, './test.png')
|
package/demo-web.js
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
|
-
|
|
1
|
+
import { prepareRender, drawCommands, cameras, entitiesFromSolids } from './src/index.js'
|
|
2
|
+
|
|
3
|
+
import { colors, primitives, booleans } from '@jscad/modeling'
|
|
2
4
|
|
|
3
5
|
// setup demo solids data
|
|
4
6
|
const demoSolids = (parameters) => {
|
|
5
|
-
const { colorize } =
|
|
6
|
-
const { cube, cuboid, line, sphere, star } =
|
|
7
|
-
const { intersect, subtract } =
|
|
7
|
+
const { colorize } = colors
|
|
8
|
+
const { cube, cuboid, line, sphere, star } = primitives
|
|
9
|
+
const { intersect, subtract } = booleans
|
|
8
10
|
|
|
9
11
|
const logo = [
|
|
10
12
|
colorize([1.0, 0.4, 1.0], subtract(
|