-
Notifications
You must be signed in to change notification settings - Fork 23
/
changelog.txt
406 lines (309 loc) · 12.7 KB
/
changelog.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
15.09.2023
Release 1.6.0
09.09.2023
Changed: Favor ARB_texture_non_power_of_two over (ARB_)texture_rectangle
02.09.2023
Changed: For OpenGL extension checking, replaces GLEW by glad.
This should improve portability on Linux, because this
also means that there is no dependency on GLX anymore.
30.08.2023
Removed StencilManager (which was always deactivated before)
28.08.2023
Removed PBuffer support (always use FBOs instead)
20.04.2022
Release 1.5.1
13.04.2022
GCC 11/12 compile fixes
10.04.2022
Release 1.5.0 (license changed from GPLv2 to GPLv2 or newer)
30.03.2022
Resolved a couple of 64-bit warnings while testing Visual Studio 2019
29.09.2016
Release 1.4.2
22.09.2016
Fixed: For frame buffer objects, switch back to the correct prior
FBO, instead of the FBO that was active when the OpenCSG FBO
was initialized. This fixes issues with using OpenCSG with the
QOpenGLWidget from Qt.
11.09.2016
Release 1.4.1
05.09.2016:
Fixed: 32-bit Id-buffer for SCS algorithm on Intel hardware,
by using ARB_vertex_program instead of the fixed function
pipeline to setup texture coordinate generation. The latter
apperently triggered a driver bug in the Intel OpenGL driver.
15.09.2014
Release 1.4.0
13.09.2014
Changed: On Linux and Mac, ignore the OpenCSG-provided GLEW and
build link with the system provided GLEW instead.
11.09.2014
Fixed: Do not write into the color buffer during primitive visibility
transfer. This bug made it impossible to use alpha blending
on the final CSG geometry, because the geometry was already
shaded by OpenCSG.
21.08.2014
Fixed: In the layered Goldfeather algorithms, do not hang forever
if the maximum stencil width has been reached, i.e., if the
depth complexity is larger than 255
17.08.2014
Added: 32-bit Id-buffer for SCS algorithm, which requires the
ARB_fragment_program extension. This allows the SCS algorithm
to process more than 255 primitives
11.05.2014
Release 1.3.3
02.04.2014
Fixed: Linux XVisualInfo * code path to create a PBuffer context,
that would always crash.
(thanks to David Binderman)
03.11.2013
Fixed: potential security issue in format string of fprintf,
which caused errors when building with -Werror=format-security
(thanks to Christian M. Amsüss)
02.10.2012
Fixed: in opencsgexample, fixed glut.h / stdlib.h conflict in declaration
of exit()
18.01.2012
Changed: Use vertex arrays instead of glBegin/glEnd for rendering quads
02.12.2011
Release 1.3.2
29.11.2011
Changed: Favor EXT frame buffer object extension over pbuffers (due
to feedback from openscad users)
28.11.2011
Added: Version number to opencsg.h
27.11.2011
Added: MacOSX portibility fixes (thanks to Marius Kintel)
26.11.2011
Fixed: rendering artifacts at the border of primitives under Linux / ATI /
Gallium3D that were caused by linear filtering of the FBO texture.
Nearest filtering is required.
25.11.2011
Fixed: Quering width and heigth of a pbuffer under Linux / ATI / Gallium3D
driver always returned 0. The query should not be required, anyway.
14.11.2011
Added: Support ARB_texture_rectangle extension for FBO path. This extension
is used preferably instead of the former solution, that implicitely
required the ARB_texture_non_power_of_two extension without checking
for it.
Fixed: In case ARB_texture_rectangle is not available and also not
ARB_texture_non_power_of_two, the FBO is blown up to power-of-two,
as in the pbuffer case.
11.11.2011
Fixed: Perform 0-ptr checks if no occlusion query object can be created.
10.11.2011
Added: Support for ARB_occlusion_query2 extension in the Goldfeather /
occlusion query case.
05.09.2011
Fixed: For frame buffer objects, switch back to prior FBO instead of
disabling FBO (thanks to Marius Kintel for the bug report).
09.06.2010
Release 1.3.1
06.06.2010
License: Added special linking exception for CGAL.
07.02.2010
Release 1.3.0
27.01.2010
Added: Allow to chose explicitely between ARB and EXT frame buffer objects
Changed: In the automatic setting, ARB frame buffer objects have precedence
over pbuffers over EXT frame buffer objects now.
21.01.2010
Changed: made offscreen buffer methods Initialize() / Resize()
more intuitive. Initialize needs to be called only once after
offscreen buffer construction; after Resize() calling Initialize()
is not required anymore.
20.01.2010
Added: context management to allow MDI applications to use OpenCSG
in each OpenGL window even without shared OpenGL contexts.
This just maps a integer context identifier to a set of different
internal offscreen buffer objects for each context.
16.01.2010
Fixed: rendering error in SCS algorithm due to imprecise
float value provided to alpha test.
03.01.2010
Release 1.2.0
05.11.2009
Changed: frame buffer objects are now used by default
(instead of pbuffers)
03.08.2009
Added: support for ARB frame buffer objects (in addition
to EXT frame buffer objects)
22.07.2009
Fixed: uninitialized variable in framebuffer object path.
Might have caused the visibility transfer to fail.
19.07.2009
Release 1.1.1
19.07.2009
Fixed: bad performance behaviour of Batcher when called with
many primitives with standard bounding boxes.
07.02.2009
Fixed: removed -athlon-xp optimization in makefile, which was
not portable obviously, in particular for x64 platforms.
30.09.2007
Changed: made a default and a legacy render() function for
interface cleanup and more logical documentation in the
header file.
23.09.2007
Added: made depth bounds optimization configurable, default off.
15.08.2007
Fixed: stencil mask was not reset after doing the parity test.
Then, the stencil buffer was not fully reset in the next
glClear(GL_STENCIL_BUFFER_BIT). Bug only manifested in layered
Goldfeather algorithms with FBO.
08.08.2007
Added: Support for depth bounds extension for performance improvements.
Currently, standard Goldfeather and all SCS algorithms use this
functionality.
03.12.2006
Release 1.1.0
02.12.2006
Fixed: Free for mode string failed in debug mode in VC6, commented
out.
30.11.2006
Changed: Renamed setOptioni -> setOption, getOptioni -> getOption.
Changed: Refined offscreen buffer resizing.
29.11.2006
Fixed: Offscreen buffer resizing issue with alternating buffers
of the resolution (x1, y1) / (x2, y2) where x1>x2 but y1<y2.
In that case the offscreen buffer was permanently recreated.
The new implementation is clearer and for normal use should
have no performance overhead.
03.08.2006
Fixed: Memory leak in RenderTexture reported a year ago to me.
Fixed: Several issues on found on TNT2 (creepy, isn't it?):
RenderTexture actually did not support copy-to-texture only,
because ARB_render_texture was checked in error
copy-to-texture was not requested anyway.
most interesting: TNT2 generates different depth values
for shade model GL_FLAT vs. GL_POLYGON. The shade model
now is not set anymore, which solves the problem and should
neither cause regressions or performance loss. I wonder whether
in previous OpenCSG versions this was no problem for me. Maybe
a driver issue.
30.07.2006
Fixed: Linux stuff
Assertion when frame buffer object extension is not available
28.07.2006
Changed: Lots of cosmetical and documentation updates
27.07.2006
Changed: made pbuffer path default again (no real performance gain
width FBO, less tested)
25.07.2006
Changed: some more or less trivial STL performance improvements
do not glPushAttrib / glPopAttrib when enabling / disabling
frame buffer object anymore
23.07.2006
Fixed: Explicitely disable 1D/2D texturing and blending when creating
channel manager to fix rendering problems in frame buffer object
path if those settings are enabled
21.07.2006
Fixed: automatic offscreen option is now considered in some way (in
doubt, frame buffer object is used).
Correctly check also for packed_depth_stencil extension before
using frame objects
21.07.2006
Fixed: two stack overflows in pbuffer path
20.07.2006
Added: getOptioni / setOptioni interface
OffscreenType setting to switch between framebuffer objects and pbuffer
offscreenBuffer abstract base class to support this and corresponding
implementations frameBufferObject and pBufferTexture
Added such options in example program
12.07.2006
Fixed: SCS / depth-complexity sampling / FBO: After depth-complexity
sampling, stencil test was enabled resulting in rendering errors
03.07.2006
Fixed: Infinite recursion when resizing viewer in framebuffer
object code
11.01.2006
Added: Framebuffer object support
16.12.2004
Changed: Moved opencsgConfig.h to src directory. It is not
anymore included by opencsg.h
16.12.2004
Fixed: std::min and std::max should now work with VC 7.0.
It is really braindead that such a trivial thing is
not trivial in practice.
04.12.2004
Release 1.0.2
26.11.2004
Added: Workspace for dev-cpp 4.9.9.0
26.11.2004
Changed: queries for the p-buffer facilities in RenderTexture
28.09.2004
Fixed: refactored heuristic for depth complexity sampling
thereby fixing an odd performance bug
27.09.2004
Release 1.0.1
25.09.2004
Fixed: stupid bug in respect scissoring change
24.09.2004
Added: respect scissoring setting of OpenGL; calculate CSG
z-values only in the given scissor area.
23.09.2004
Added: StencilManager, that, in future will possibly save and
restore the stencil buffer of the main frame buffer. The
StencilManager is currently deactivated, though.
06.08.2004
Fixed: RenderTexture did not report the correct stencil size
of the pbuffer under linux. The expected values are now
written there by hand.
20.07.2004
Changed: Updated RenderTexture to version 2.0.3. This requires
further testing on all possible platforms because I have
removed some private hacks due to this change.
02.05.2004
Release 1.0.0
22.04.2004
Changed: Makefiles on Linux are now derived from qmake. However,
the provided Makefiles should work directly without using
qmake, it is best to stick with them.
22.04.2004
Changed: Compile a shared library on Linux now
08.04.2004
Changed: When possible use GL_TEXTURE_RECTANGLE_NV texture format
even if GL_TEXTURE_2D would work also. The former appears to be
faster.
29.03.2004
Changed: Scissoring area was chosen too big, because I had
confused width/height with right/top margin. This is fixed
now, resulting in better performance for some models
25.03.2004
Added: Area structs for pixel and normalized device coordinates.
Used to speed up depth complexity sampling by restricting
readback to smaller Area
Added: Check whether primitive vector is empty
24.03.2004
Changed: Hided occlusion query implementations in cpp
Renamed OcclusionQueryAdapter to OcclusionQuery
02.03.2004
Release 0.9.2
17.02.2004
Added: Support for ARB_occlusion_query extension
21.11.2003
Release 0.9.1
21.11.2003
Fixed: std::max() std::min() issue with .net
18.11.2003
Fixed: Bug with heuristic for resizing the pbuffer-resizing
that occured for request for sizes of the form 512x1024
-> 1024x512 -> 512x1024 -> ... (and similar series)
06.11.2003
Added: Detection of GL_FRONT_FACE OpenGL setting. This means that
CSG rendering is now also correct if this setting is the
non-default clockwise setting.
04.11.2003
Fixed: Stenciling was not disabled in SCS algorithm when
subtracting no shapes. This could lead to obscure rendering
errors when rendering the next CSG shape.
02.11.2003
Added: Heuristic that makes the pbuffer smaller
if the size of the pbuffer has been bigger than necessary in
x- or y- direction for a certain number of render-calles.
This permits to use OpenCSG for CSG rendering in different
canvases with different sizes without constant expensive
resizing of the pbuffer for every frame.
01.10.2003
Fixed: linux: removed accidental linking against tcl/tk
23.09.2003
Release 0.9