forked from matus-chochlik/oglplus
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCHANGELOG
More file actions
590 lines (512 loc) · 24.3 KB
/
CHANGELOG
File metadata and controls
590 lines (512 loc) · 24.3 KB
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
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
Version 0.33.0
- OGLplus changes
- The MaxLevel getter and setter functions were added to Texture.
- A new CamMatrix::LookingAt constructor function was added.
- Minor changes were made to the shapes::ObjMesh loader.
- The shapes::Cube generator was reimplemented.
- An EGL harness for off-screen screenshot and video rendering was added.
- The SepStrRange helper class was moved to OGLplus and re-used in both
OALplus and EGLplus.
- The normal map image generator was changed - the height value is now inverted.
- Range-based traversal of GL extensions was added to Context.
- An example showing extension string traversal was added.
- An example printing the various GL implementation limits was added.
- Two new examples showing shell-based parallax mapping were added.
- The glcorearb.h header was added to the third_party includes for convenience.
- OALplus changes
- String queries were added to Context.
- Const qualifiers were removed from Source::Gain and Source::MaxDistance
setter functions.
- Static specifier was added to Context::Extensions.
- Re-used the Angle template from OGLplus.
- Minor problem in the Array template was fixed.
- Support for construction with attributes was added to CurrentContext.
- Two new examples were added and the existing ones were updated.
- EGLplus changes
- Three new getter functions were added to Config.
- Changes in the build system and configuration script
- The GL context intialization was re-implemented.
- The --use-gl-window-lib option was renamed to --use-gl-init-lib.
- Minor updates and typo fixes were made to the doxygen documentation.
Version 0.32.0
- Merged the EGLplus library into the main development branch
- EGLplus is a wrapper around EGL similar to what OGLplus
is to OpenGL.
- Four new examples showing the usage of EGL were added.
- Updates to the build system
- The X11/GLX detection was refactored.
- Options for forcing GL header and context initialization library
were added to the configure.sh bash script.
- Support for building some parts of OALplus and EGLplus into
a library was added.
- The `--max-gl-version' option that allows to limit the maximum GL version
to be used was added to the configure.py script.
- The friend functions of Angle<T> were re-implemented.
- The Pointer* and Setup* functions of VertexAttrib were reimplemented
- NOTE: this is an interface breaking change.
- The former Pointer function was split into Pointer/IPointer/LPointer.
- The former Format function was split into Format/IFormat/LFormat.
- The Setup functions were reimplemented.
- The examples were updated to use the templated VertexAttrib::Setup.
- This changes should minimize the link failures due to unresolved
references to glVertexAttribLPointer.
- Reimplemented Quick/HardwiredProgram.
- NOTE: this is an interface breaking change.
- The separable attribute is now true_type or false_type instead of bool.
- This change allows to use non-separable Quick/Hardwired programs
with lower versions of GL than 4.1.
- Update of Bitfield
- Updated OGLplus Bitfield so that it can be used with enumerations
from EGLplus and OALplus.
- Other minor changes and updates.
Version 0.31.0
- Merged the OALplus library into the main development branch
- OALplus is a wrapper around OpenAL similar to what OGLplus
is to OpenGL.
- Documentation updates and fixups.
- A new tutorial for OALplus was added.
- Some problems in the existing tutorials were fixed.
- The readme file was updated.
- Updates in the build system
- A problem with the dependencies for GLFW-based test fixture was fixed.
- A Qt4/OpenGL-based example harness was added.
- A bug in parsing of LDFLAGS in the configure.py was fixed.
- The require_all_dependencies cmake function was updated to include
the <LIBRARY>_USE_FILE if it is available for a dependency.
- A bug in the Query::Execution class was fixed.
- Several other minor bugs were fixed.
- Compatilitity with MacOS X and other systems using older versions
of OpenGL was improved.
- New utility scripts were added.
- Several new examples were added.
Version 0.30.0
- An .obj file loader was added.
- 2 new examples showing the usage of the .obj loader were added.
- Added several new simple .obj models used by the examples.
- The build system was updated:
- Updated example dependencies/requirements.
- Added instructions for building .obj models.
- Updated and fixed some problems in documentation building.
- Fixed a problem with building of the test fixtures.
- Problem with scoped enums emulation in uniform_typecheck.hpp was fixed.
- A wrapper for glTextureView was added to Texture.
- A wrapper for glGetShaderPrecisionFormat was added to Shader.
- The Size function was added to Buffer and Bound<Buffer>.
- A problem with generating of the bound/*.hpp was fixed.
Version 0.29.0
- The build system was updated and several problems were fixed:
- A check if a standard threads implementation is available was added.
- The management of example and test case dependencies and
requirements was reimplemented.
- Available GL version detection was added and the detection of GL
extensions was updated.
- A problem with standalone examples depending on libPNG was fixed,
they are now built only if libPNG is available.
- Some problems in the configure.py script were fixed and new features
were added.
- The test suite for oglplus was moved to test/oglplus/.
- A test case checking if all configured examples build properly was added.
- The AtomicCounterBindingPoint and ShaderStorageBufferBindingPoint
types were added.
- The BindBaseAtomicCounter and BindBaseShaderStorage functions were
added to Buffer.
- The preprocessor symbols related to compiler capabilities were
moved into a separate header file.
- Header dependencies were updated in several files.
- Several new examples showing the usage with GL 3.0 and GLSL 1.2
(working with Mesa 3D 9.0) were added.
- Some of the existing examples were updated.
Version 0.28.0
- The VertexAttribute setup functions were reimplemented.
- The Vector and Matrix template classes were reimplemented
from scratch.
- The bitmap glyph text rendering utility was refactored.
- A new text rendering utility based on Sean Barrett's truetype
font rasterization library was added.
- A type erasure for text rendering utilities was added.
- Primitive restarting in shape drawing functions was updated.
- The enumeration classes were reimplemented.
- The Grid shape builder was added.
- The TrySet function was added to OptionalUniform<T>.
- The GLSLSource class was updated.
- The build system was updated.
- A testing framework and first test cases were added.
- Several new examples (including the first advanced) were added.
- Some of the existing examples were updated or optimized.
- Minor changes were made to the readme file and to the documentation.
Version 0.27.0
- Bug in construction of perspective matrices was fixed.
- Several bugs in the examples and example harnesses were fixed.
- Added the Query::Activator class
- The front() and back() functions were added to Array<Object>
- Support for instanced rendering was added to the shape
generators/loaders.
Version 0.26.0
- The example "harnesses" were reimplemented, the GL context creation
libraries were separated from the GL API libraries and various
combinations of GLX/GLUT/GLFW/SDL/wxGL with gl3.h/glcorearb.h/GLEW/GL3W
are now supported.
- Some of the other example "harnesses" now support making screenshots.
- The build system was updated and some problems were fixed.
- Support for multi-threaded rendering was added to the GLX "harness".
- Several new examples were added including one showing multi-threaded
rendering.
- The MSVC projects/solutions were updated.
- The Screen shape builder was added.
- The Image<T> template was reimplemented to the images::Image
class. The related image loading/generating classes were updated.
- Many complex functions were updated to support compilation
into a library.
- The Blender's .blend file parser was optimized.
Version 0.25.0
- The implementation of Uniforms has been refactored and updated.
- Support for Uniform typechecking was added.
- Support for defining Uniforms from GLSL data types was added.
- Mapping of GLSL data types to C++ types was added.
- The ShaderVariableError exception was added.
- Some problems in the shape builders were fixed.
- Functions for generating bi-normal vectors for shape vertices
was added to some of the existing shape builders.
- Fixed a bug related to primitive restarting in examples.
- Fixed a minor problem with Matrix.
- The ShapeWrapperWithAdjacency helper class was added.
- The PatchParameter enumeration and a wrapper for the
glPatchParameteri function was added.
- Several new examples were added.
Version 0.24.0
- Several problems in the BlenderMesh shape loader were fixed.
- A new example showing the usage of shapes::BlenderMesh was added.
- The Program interface traversal functions were updated.
- A function for getting information (name, data type, program
interface index, etc.) about an uniform was added.
- The SLDataType enumeration was updated.
- Documentaion was updated.
Version 0.23.0
- The List function and ListOf template class that can be used
as a replacement for initializer lists were added.
- The OGLPLUS_STD_VECTOR_INIT macro was replaced with List and ListOf
in the examples.
- Some of the examples were backported to MSVC10 using ListOf and List.
- Some optimizations were made in the error handling subsystem.
- The GLUT/GLEW example 'harness' was updated.
- Problems in the texture image loading utilities used by the examples
were fixed.
- The BlenderMesh 'shape loader' for loading of meshes from Blender's
.blend files was added.
- Other minor changes and bugfixes were made.
- A couple of new examples were added.
Version 0.22.0
- The Optional<Object> template class allowing optionally initialized
objects like textures, samplers, framebuffres, shaders, programs, etc.
was added.
- Some problems in the ARB_debug_output wrapper were fixed.
- Several new examples were added.
- Several new textures were added.
- The gradient image generator was added.
- Some problems in the PNG file loaded were fixed.
- The build system was updated to use a fallback texture if a texture
cannot be rendered from source and a prebuilt texture is not
available.
- Some features of shape builders and several examples were
backported to MSVC
- Several other minor bugs and problems were fixed
Version 0.21.0
- A utility for parsing Blender's .blend files was added.
- The OptionalUnifom class and its variants were added.
- The common base code for standalone examples was updated.
- A tool for bitmap-glyph-based text renreding was added.
- A tool for Pango/Cairo-based text renreding was added.
- Several problems in the build system were fixed.
- The SubroutineUniforms class was updated, a Preset
type and Load, Save and Apply functions were added.
- Problems with calling conventions on MinGW were fixed.
- Problems with building on 64-bit systems were fixed.
- Multiple examples showing the new features were added.
Version 0.20.0
- The subscript operator was added to Uniform which allows to
set the individual elements of uniform array variables separatelly.
- The GetLocation, GetCommonLocation, QueryLocation and
QueryCommonLocation member functions were added to VertexAttribute.
- Minor changes in Subroutine uniforms were made.
- Added the IncompleteFramebuffer exception and
the Framebuffer::Complete function.
- Destructors that could potentially throw were rewritten.
- Support for loading GLSLSource from a file was added.
- A wxWidgets/wxGL-based "harness" for the examples was added.
- Fixed a bug in the program resource traversal functions
and classes
- Fixed a problem with GL extension availability detection
- Updated the enumerations in the NV_path_rendering extension
- Some problems in the build system were fixed.
- Automatic index type detection was added to some overloads
of Context::DrawElements.
- Several new examples were added.
- The documentation and the README file was updated.
Version 0.19.0
- Some parts of OGLplus can now optionally be built into a library
and linked to the applications based on the value of the
OGLPLUS_LINK_LIBRARY preprocessor switch.
- The implementation of the EnumValueName function was refactored.
- The EnumValueRange function was added.
- Wrappers for GL 4.3 program interface, compute shader dispatching,
and debug output functionality were added.
- Support for GL/glcorearb.h header was added to the build system.
- The configuration script for the build system was updated.
- The smart enumerations header was moved to the oglplus/opt dir.
- Wrappers for BufferClearData and BufferClearSubData were added.
- Wrappers for texture functions were added.
- Operator << was added to Program for attaching shaders.
- The shader literals were added.
- Several new enumeration types and new values to the existing
enumerations were added.
- New example showing a soft body simulation was added.
- New example showing the usage of shader literals was added.
- The documentation and README was updated.
- Several bugs were fixed.
Version 0.18.0
- Added the OneOf template allowing to pass values
of several different types with a common representation
as parameter to certain functions.
- Wrapper for glDrawBuffers was added to Context
- The FramebufferColorAttachment enumeration was added.
- The implementation of CameraMatrix::LookingAt was updated.
- A bug in Buffer::SubData has been fixed.
- Several other minor changes were made and bugs fixed.
- The build system has been updated.
- New examples were added.
Version 0.17.0
- Improved support for MSVC (2010 and 11)
- Backporting to clang (tested with version 3.0).
- Updated the build system to detect required C++11 features
and external dependencies and building only examples with
all prerequisites.
- Updated the configuration script.
- Reimplementation of uniform variables. Lazily-initialized
uniforms were added and the wrappers for GL setter functions
were rewritten from scratch.
- The Squares image generator was added.
- Checking of pointers to GL functions was added.
- Concatenation of StrLit objects was optimized.
- Multiple bugs were fixed and several other optimizations
were made.
- Several examples were updated and/or optimized.
- The documentation has been updated and a new tutorial was
added.
Version 0.16.0
- Backporting to MSVC 2010.
- Several bugs were fixed.
- Optimizations were made to the Matrix template
Version 0.15.0
- The OGLPLUS_LOW_PROFILE preprocessor option was added
for disabling non-essential features of OGLplus resulting
in smaller executable sized, better compilation and execution
times.
- The GLSLSource wrapper/loader for source code strings
was added.
- The StrLit wrapper for c-string literals was added.
- Some optimizations were made on Angle, Vector, Object,
Array, and some other classes.
- The Specialized<> modifier template was added.
- Major refactoring of internal implementation of Objects
(Textures, Buffers, Shaders, Programs, etc.) and related
classes was made.
- Added support for Subroutine uniforms.
- The list of Buffer's indexed target values was updated.
- The Icosahedron shape builder was added.
- Support for vectors and matrices from the GLM library was
added.
- The Submatrix*(...) functions for exatration of a submatrix
were added to Matrix.
- The GLUT/GLEW example harness was updated to print framerates
and polygon count statistics to the standard output.
- Several bugs in the cmake build system and the related
scripts were fixed.
- The oglplus/bound/*.hpp headers were added to the repository
and are not build by the build system anymore (this removed
dependencies on doxygen and xsltproc).
- The OGLPLUS_PP_DEFS symbol was added to the MSVC 11 solution.
- Several new projects were added to the MSVC 11 solution.
- Several examples showing the new features were added and some
of the previously existing examples were optimized.
- The documentation content and stylesheets were updated.
Version 0.14.0
- A wrapper for the AMD_performance_monitor extension was added.
- The build system was updated and some bugs were fixed.
- The configure.bat script for windows was added.
- OGLplus now works with MinGW.
- New examples were added.
- The documentation was updated.
Version 0.13.0
- Detection of availability of several C++11 features was added
to the cmake-based build system.
- Most parts of OGLplus now work with MSVC 11. Several minor interface
changes and updates were made in the process.
- A MSVC solution/project files were added for building of examples.
- The HardwiredTupleProgram template was added.
- A new 'RevolveY' shape builder was added.
- The "smart enum" classes which make the usage of strongly-typed enums
more convenient were added.
- New examples were added and some of the existing were updated to show
the new features.
Version 0.12.1
- Several problems and omissions in the NV_path_rendering extension
wrapper were fixed
- The ARB_compatibility wrapper was updated
- A wrapper for a subset of EXT_direct_state_access was added
- A new example showing dynamic text rendering using NV_path_rendering
was added
Version 0.12.0
- Wrappers for several GL extensions (including ARB_compatibility,
ARB_debug_output, NV_path_rendering, ATI_meminfo) were added
(some of them still work-in-progress).
- The build system was updated and some problems were fixed.
- The error checking/reporting subsystem was updated and now
can be partially compiled away if necessary.
- New camera matrix constructors were added and some of the
existing were renamed.
- The Object helper template was partially refactored.
- Several new examples were added.
Version 0.11.2
- Update of the build system
Version 0.11.1
- CMake configuration/build system was added
- The old build system was removed
- Headers and sources were updated for better compatibility with GLEW
- Documentation was updated and a readme file was added
- Added several new textures
Version 0.11.0
- Several typedefs that were members of Object(s) were moved to the
oglplus namespace and renamed for better interface consistency
- Wrappers for many different GL-context value queries were added
- Wrappers for viewport-array-related operations were added
- Wrappers for Renderbuffer and Sync-related queries were added
- Wrappers for TexStorage and BindImageTexture were added to Texture
and a typo in it's interface was fixed
- Several new enumerations were added including access specifier, image
unit format and others
- Some of the texture image generators were updated, including the
Newton fractal and Cloud
- Several new examples were added and some of the existing were optimized
- Few minor bugs were fixed and the documentation was updated
Version 0.10.0
- Enumerations and functions related to querying of implementation-dependent
limits were added
- A new special shape builder that can be used for space division
and implicit surface polygonization was added
- Edge drawing instructions were added to the Plane and WickerTorus
shape builders were added
- The CosineWave function was added
- The function for inverting of FaceOrientation was added
- A bug in the interface of Texture was fixed
- Several bugs in the examples were fixed
- OpenGL hint-related functions and enums were added
- Pixel storage and transfer-related functions and enums were added
- Several new examples were added and the documentation was updated
Version 0.9.0
- The AutoBind class template was added
- The HardwiredProgram template was added
- New constructors to the QuickProgram class were added
- Wrappers for Flush and Finish functions were added
- The former Uniform and ProgramUniform classes were turned
to class templates
- The way uniform matrices are set was changes
- The VertexAttrib and the VertexAttribArray classes were updated
- The examples were updated accordingly and two new were added
- The Matrix4f and Matrix4d typedefs were renamed to Mat4f and Mat4d
- New matrix typedefs Mat[234]x[234][fd] and Mat[234][fd] were added
- Several new texture images were added
- The shape builders were updated
- Documentation was updated
Version 0.8.0
- New constructors were added to the shader classes allowing
to specify the source and compile the shader during construction
- The QuickProgram class, which allows to specify shaders and link
the program during construction was added
- The current OpenGL context function wrappers were reorganized
to several classes
- Wrappers for draw commands were added
- The ProvokeMode enumeration was added
- Wrappers for VertexAttribDivisor and PrimitiveRestartIndex were added
- Several new compile-time configuration options were added
- Update of the error handling, support for customized handling of
errors was added
- Several new examples were added some problems in the existing examples were fixed
- Two new textures were added
- A new tutorial was written
- Other documentation updates and fixes
- A new shape builder was added (the WickerTorus)
- The Cube and Plane shape builders were updated
- The ST texture coordinates were switched in the Torus shape builder
- A new image filter, which allows to transform the image pixel components
by a matrix was added
Version 0.7.0
- Several problems in the Makefile were fixed
- A 2D-plane math utility was added
- A new Plane shape builder was added
- The SpiralSphere shape builder was updated
- Clip distance-related functionality was added
- Scissor-test related function wrappers were added
- Several new examples were added and some of the existing were updated
- Documentation updates and typo fixes
Version 0.6.0
- Added the first two tutorials, reorganized and updated the documentation
- Added a new shape builder
- Added new examples
Version 0.5.1
- Fixed bugs that caused compilation failures in g++ 4.6.x
Version 0.5.0
- Compile-time checks for available OpenGL enumerations and functions were added
- New Buffer Target was added
- New function wrappers were added to Context
- New capabilities were added to the Capability enumeration
- Wrapper class for sync objects was added
- Memory barrier-related enumerations and function wrappers were added
- Support for iteration over program shaders was added
- Additional query functions for program parameters were added
- Query functions for program pipeline parameters were added
- The TessGenPrimitiveType and TessGenPrimitiveSpacing enumerations were added
- Vertex attribute and uniform setters have now better diagnostic
- Framebuffer status enumeration and completeness query functions were added
- Color buffer-related enumerations and function wrappers were added
- Ortho Matrix construction was added
- Several bugs in the examples were fixed
- New examples were added including two standalone examples
- The documentation was updated
- The build system was updated
Version 0.4.0
- A bug in the install script which caused it to exit before
installing anything was fixed
- New member functions were added to ProgramPipeline
- Wrapper class ProgramUniform* functionality was added
- New Uniform setter functions were added
- New examples were added
- The documentation was updated
Version 0.3.0
- The CameraMatrix::Perspective function has been reimplemented
- The camera and projection matrices in the examples were fixed
accordingly
- Several bugs in the example shaders (mostly related to lighting)
were fixed and some of the examples were slightly optimized
- Added Tangentials to the Sphere shape generator
- Added an example showing single-pass dynamic cube map rendering
and environment mapping
- Added a new setter function to Uniform
- The documentation was updated
- Several other minor updates were made
Version 0.2.0
- Functions for texture parameter queries were added
- Functions for texture image specification and query were added
- The SineWave function was added
- The Default Target in renderbuffer was renamed to Renderbuffer and
in transform feedback wrapper to TransformFeedback
- Few new wrapper functions were added to Renderbuffer and Framebuffer
- The Attachments enumeration was aded to framebuffer
- Renderbuffer and Framebuffer were added to the set of "Bindable" objects
- Major documentation updates were made
- Several minor bugs and typos in the documentation were fixed
- New examples were added
- Several other minor updates were made
Version 0.1.0
First released version, wrapping the basic OpenGL functionality
Version 0.0.1
The initial version