@jscad/regl-renderer 2.6.7 → 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 +5 -189
- 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,259 +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
|
-
|
|
7
|
-
|
|
8
|
-
**Note:** Version bump only for package @jscad/regl-renderer
|
|
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)
|
|
9
7
|
|
|
8
|
+
### Features
|
|
10
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))
|
|
11
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)
|
|
12
13
|
|
|
14
|
+
**Note:** Version bump only for package @jscad/regl-renderer
|
|
13
15
|
|
|
14
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)
|
|
15
17
|
|
|
16
18
|
**Note:** Version bump only for package @jscad/regl-renderer
|
|
17
19
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
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)
|
|
23
21
|
|
|
24
|
-
|
|
25
22
|
### Bug Fixes
|
|
26
23
|
|
|
27
24
|
* **regl-renderer:** corrected rendering of overlapping transparent solid objects ([9a66b2a](https://github.com/jscad/OpenJSCAD.org/commit/9a66b2abaccb6f047c5e4c4505218e7bbac69018))
|
|
28
25
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
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)
|
|
34
27
|
|
|
35
28
|
**Note:** Version bump only for package @jscad/regl-renderer
|
|
36
29
|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
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)
|
|
42
31
|
|
|
43
32
|
**Note:** Version bump only for package @jscad/regl-renderer
|
|
44
33
|
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
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)
|
|
50
35
|
|
|
51
36
|
**Note:** Version bump only for package @jscad/regl-renderer
|
|
52
37
|
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
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)
|
|
58
39
|
|
|
59
40
|
**Note:** Version bump only for package @jscad/regl-renderer
|
|
60
41
|
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
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)
|
|
66
43
|
|
|
67
|
-
|
|
68
44
|
### Features
|
|
69
45
|
|
|
70
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))
|
|
71
47
|
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
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)
|
|
77
49
|
|
|
78
|
-
|
|
79
50
|
### Bug Fixes
|
|
80
51
|
|
|
81
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))
|
|
82
53
|
|
|
83
|
-
|
|
84
54
|
### Performance Improvements
|
|
85
55
|
|
|
86
56
|
* **modeling:** faster geom2.toOutlines ([#1064](https://github.com/jscad/OpenJSCAD.org/issues/1064)) ([5cb2f65](https://github.com/jscad/OpenJSCAD.org/commit/5cb2f652fa099593e6ec133fe879ecf8a09705e9))
|
|
87
57
|
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
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)
|
|
93
59
|
|
|
94
60
|
**Note:** Version bump only for package @jscad/regl-renderer
|
|
95
61
|
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
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)
|
|
101
63
|
|
|
102
64
|
**Note:** Version bump only for package @jscad/regl-renderer
|
|
103
65
|
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
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)
|
|
109
67
|
|
|
110
68
|
**Note:** Version bump only for package @jscad/regl-renderer
|
|
111
69
|
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
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)
|
|
117
71
|
|
|
118
72
|
**Note:** Version bump only for package @jscad/regl-renderer
|
|
119
73
|
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
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)
|
|
125
75
|
|
|
126
76
|
**Note:** Version bump only for package @jscad/regl-renderer
|
|
127
77
|
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
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)
|
|
133
79
|
|
|
134
80
|
**Note:** Version bump only for package @jscad/regl-renderer
|
|
135
81
|
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
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)
|
|
141
83
|
|
|
142
84
|
**Note:** Version bump only for package @jscad/regl-renderer
|
|
143
85
|
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
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)
|
|
149
87
|
|
|
150
88
|
**Note:** Version bump only for package @jscad/regl-renderer
|
|
151
89
|
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
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)
|
|
157
91
|
|
|
158
|
-
|
|
159
92
|
### Features
|
|
160
93
|
|
|
161
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))
|
|
162
95
|
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
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)
|
|
168
97
|
|
|
169
98
|
**Note:** Version bump only for package @jscad/regl-renderer
|
|
170
99
|
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
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)
|
|
176
101
|
|
|
177
|
-
|
|
178
102
|
### Features
|
|
179
103
|
|
|
180
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))
|
|
181
105
|
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
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)
|
|
187
107
|
|
|
188
|
-
|
|
189
108
|
### Features
|
|
190
109
|
|
|
191
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))
|
|
192
111
|
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
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)
|
|
198
113
|
|
|
199
|
-
|
|
200
114
|
### Features
|
|
201
115
|
|
|
202
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))
|
|
203
117
|
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
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)
|
|
209
119
|
|
|
210
120
|
**Note:** Version bump only for package @jscad/regl-renderer
|
|
211
121
|
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
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)
|
|
217
123
|
|
|
218
124
|
**Note:** Version bump only for package @jscad/regl-renderer
|
|
219
125
|
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
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)
|
|
225
127
|
|
|
226
|
-
|
|
227
128
|
### Bug Fixes
|
|
228
129
|
|
|
229
130
|
* **regl-renderer:** added reasonable defaults for drawGrid ([d64e062](https://github.com/jscad/OpenJSCAD.org/commit/d64e06228f8a92e014df3e22ea9ee48e11825420))
|
|
230
131
|
* **regl-renderer:** corrected conversion of empty solids to entities, updated tests ([967fe82](https://github.com/jscad/OpenJSCAD.org/commit/967fe82ea429af14fe23a51d19099b1752ceead3))
|
|
231
132
|
* **regl-renderer:** corrected determination of camera position change in orbitControls ([4f467c5](https://github.com/jscad/OpenJSCAD.org/commit/4f467c5d92132dc140db6799766f3a98716e5d68))
|
|
232
133
|
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
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)
|
|
238
135
|
|
|
239
|
-
|
|
240
136
|
### Features
|
|
241
137
|
|
|
242
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))
|
|
243
139
|
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
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)
|
|
249
141
|
|
|
250
142
|
**Note:** Version bump only for package @jscad/regl-renderer
|
|
251
143
|
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
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)
|
|
257
145
|
|
|
258
|
-
|
|
259
146
|
### Bug Fixes
|
|
260
147
|
|
|
261
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))
|
|
@@ -264,13 +151,8 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
|
|
|
264
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))
|
|
265
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))
|
|
266
153
|
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
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)
|
|
272
155
|
|
|
273
|
-
|
|
274
156
|
### Bug Fixes
|
|
275
157
|
|
|
276
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))
|
|
@@ -279,143 +161,77 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
|
|
|
279
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))
|
|
280
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))
|
|
281
163
|
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
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)
|
|
287
165
|
|
|
288
166
|
**Note:** Version bump only for package @jscad/regl-renderer
|
|
289
167
|
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
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)
|
|
295
169
|
|
|
296
170
|
**Note:** Version bump only for package @jscad/regl-renderer
|
|
297
171
|
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
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)
|
|
303
173
|
|
|
304
174
|
**Note:** Version bump only for package @jscad/regl-renderer
|
|
305
175
|
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
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)
|
|
311
177
|
|
|
312
178
|
**Note:** Version bump only for package @jscad/regl-renderer
|
|
313
179
|
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
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)
|
|
319
181
|
|
|
320
|
-
|
|
321
182
|
### Bug Fixes
|
|
322
183
|
|
|
323
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))
|
|
324
185
|
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
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)
|
|
330
187
|
|
|
331
|
-
|
|
332
188
|
### Bug Fixes
|
|
333
189
|
|
|
334
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))
|
|
335
191
|
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
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)
|
|
341
193
|
|
|
342
|
-
|
|
343
194
|
### Bug Fixes
|
|
344
195
|
|
|
345
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))
|
|
346
197
|
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
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)
|
|
352
199
|
|
|
353
200
|
**Note:** Version bump only for package @jscad/regl-renderer
|
|
354
201
|
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
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)
|
|
360
203
|
|
|
361
204
|
**Note:** Version bump only for package @jscad/regl-renderer
|
|
362
205
|
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
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)
|
|
368
207
|
|
|
369
|
-
|
|
370
208
|
### Bug Fixes
|
|
371
209
|
|
|
372
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))
|
|
373
211
|
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
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)
|
|
379
213
|
|
|
380
214
|
**Note:** Version bump only for package @jscad/regl-renderer
|
|
381
215
|
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
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)
|
|
387
217
|
|
|
388
218
|
**Note:** Version bump only for package @jscad/regl-renderer
|
|
389
219
|
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
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)
|
|
395
221
|
|
|
396
222
|
* **regl-renderer:** various fixes to renderer
|
|
397
223
|
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
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)
|
|
403
225
|
|
|
404
226
|
**Note:** Version bump only for package @jscad/regl-renderer
|
|
405
227
|
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
228
|
# 2.0.0-alpha.0 (2020-08-13)
|
|
411
229
|
|
|
412
|
-
|
|
413
230
|
### Bug Fixes
|
|
414
231
|
|
|
415
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))
|
|
416
233
|
* **regl-renderer:** implemented an alternative caching scheme in render
|
|
417
234
|
|
|
418
|
-
|
|
419
235
|
### Features
|
|
420
236
|
|
|
421
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(
|