Older Release Notes VglTools (starting at 4.3.0)
Bug fixes
The DFile object could crash exporting the PolygonArray primitive to .obj format. (4.5.0: April 8, 2020)
The stencil function operations in openGLDev were not properly configured. (4.3.0: November 14, 2014)
Software renders did not support texture option TEXTURE_REPEAT properly (4.3.0: February 27, 2014)
The DOpt, DataBuf and RMode modules did not support DataIndex selection and query properly. (4.2.4: September 24, 2013)
New features and changes
The drawing functions vgl_DrawFunPolyElemArray and vgl_DrawFunPolyElemBuffer have been added to support indexed vertex attributes. (4.5.4: April 19, 2021)
The single drawing function vgl_DrawFunPolyArray been added to replace the vgl_DrawFunPolyPointArray, vgl_DrawFunPolyLineArray and vgl_DrawFunPolygonArray functions. In addition The single drawing function vgl_DrawFunPolyBuffer been added to replace the vgl_DrawFunPolyPointBuffer, vgl_DrawFunPolyLineBuffer and vgl_DrawFunPolygonBuffer functions. It is recommended to replace the new functions for the replaced versions. (4.5.4: April 19, 2021)
The DrawFunGetInteger function now supports querying for Buffer primitive support VGL_BUFFER_SUPPORTED. (4.5.1: October 12, 2020)
The OpenGLDev module function vgl_OpenGLDevShareBuffers has been added to allow OpenGLDev objects to share vertex buffer objects. (4.5.1: September 1, 2020)
The DList module now supports conversion of Array primitives to Buffer primitives using the DLIST_USEBUFFERS parameter in vgl_DListSetParami. Vertex buffers are allocated progressively larger from an initial value. Set the initial value using vgl_DListSetParami with parameter DLIST_INIT_BUFFERSIZE in bytes. (4.5.1: September 1, 2020)
The mode VGL_LINECULLMODE has been added to implement back "facing" line culling. This mode requires that shaders are enabled. This mode requires that normals are defined at the vertices of line primitives using either vgl_DrawFunPolyLineArray or vgl_DrawFunPolyLineBuffer. A line is assumed to be back facing if the first line endpoint normal is back pointing. (4.5.1: August 7, 2020)
The rendering mode VGL_BUFFER_DATAINDEX has been removed using vgl_DrawFunRender. The vgl_DrawFunBufferQuery and vgl_DrawFunBufferRow functions have been removed. Use vgl_DrawFunFBufferRead and vgl_DrawFunZBufferRead to read frame buffer or zbuffer contents regardless of whether VGL_RENDER or VGL_COLOR_BUFFER render mode is used. DataIndex rendering is now optionally done during rendering by using VGL_DATAINDEXMAXROWS in vgl_DrawFunSetMode. (4.5.1: August 6, 2020)
The modes VGL_FRONTFACECULLMODE and VGL_FRONTFACEFLIPMODE have been added to implement front face culling and the flipping of the front face sense. (4.5.1: May 15, 2020)
The DFile module now supports writing an associated material color file (.mtl) when exporting Wavefront .obj file format. (4.5.1: May 14, 2020)The DList module now supports balancing any vgl_DrawFunSetMode mode. (4.5.0: November 22, 2019)
The function vgl_DrawFunPointStyle has been added to enable a variety of shader assisted icons to be drawn at points. By default, square, device-sized, dots are drawn. Additional point styles include spheres, and a variety of bitmaps. (4.5.0: November 13, 2019)The OpenGLDev and RendBuf modules now supports single pass, order independent transparency (OIT). This feature is shader assisted in OpenGLDev. Enable using vgl_DrawFunSetMode with VGL_OITMODE. (4.5.0: November 13, 2019)
The OpenGLDev module VGL_UPDATEMODE has now been optimized using Frame Buffer Objects. The color buffer and depth buffers are both always updated. As a result the mode options VGL_UPDATE_FBUFFER and VGL_UPDATE_FZBUFFER have been removed. (4.5.0: October 22, 2019)
The RasFont module now supports "FreeType" font query and loading. (4.4.5: October 17, 2018)
The FBuffer module now supports "webm" video encoding. (4.4.5: October 17, 2018)
The RendBuf module now supports depth peeling. (4.4.5: October 17, 2018)
The FBuffer module function vgl_FBufferPixelmap has been added to convert the device dependent pixelmap to the device independent form in FBuffer. This feature currently only supports Pixelmap created by OpenGLDev. (4.4.3: June 27, 2017)
The VGL_COLORWRITEMODE mode has been added to control writing to the color buffer. (4.4.2: August 17, 2016)
The drawing function ProjLoad has been added to support explicit loading of a projection matrix. (4.4.1: April 19, 2016)
The FBuffer module functions vgl_FBufferWritePNG and vgl_FBufferReadPNG now support RGBA, ie alpha values, at each pixel. (4.4.0: January 5, 2016)
The drawing functions FBufferRead and FBufferWrite now support RGBA, ie. the alpha value. (4.4.0: January 5, 2016)
The IActor module now supports a parameter, IACTOR_USEFRONTBUFFER, to disable using the front buffer for squiggle and window resizing graphics. (4.4.0: December 18, 2015)
The DrawFunGetInteger function now supports querying for shader support VGL_SHADER_SUPPORTED. (4.4.0: December 17, 2015)
The FBuffer object now supports writing image files in Scaleable Vector Graphics (SVG) format. (4.4.0: December 3, 2015)
The FBuffer object now supports writing MP4 and H264 video file formats using the publically available FFMPEG library. (4.3.6: September 3, 2015)
Support for VIS_VISUAL_USECONTEXT has been added. This allows the application to create and manage the graphics context. (4.3.6: August 27, 2015)
Three new, shader assisted, rendering features are now available using vgl_DrawFunSetMode. They are VGL_ZBUFFEREDGEMODE, VGL_SSAOMODE and VGL_DEPTHPEELMODE. VGL_ZBUFFEREDGEMODE enables a non-photorealistic edge enhancement based on discontinuities in z-buffer values. VGL_SSAOMODE enables screen space ambient occlusion rendering. VGL_DEPTHPEELMODE enables depth peeling for a very accurate rendering of transparent objects. (4.3.3, January 28, 2015)
Two new rendering modes are now available using vgl_DrawFunRender. They are VGL_BUFFER_COLOR and VGL_BUFFER_DATAINDEX. These two new modes render color and data index attributes respectively to an off-screen frame buffer. The VGL_BUFFER_COLOR mode renders to an off-screen buffer of any size independent of the size of the window. It is useful for generating images off-screen using graphics hardware acceleration. It provides an alternate technology to the RendBuf module. The VGL_BUFFER_DATAINDEX mode renders the data index attribute to an off-screen buffer. It is useful for doing visible surface picking using graphics hardware acceleration. It provides an alternate technology to the DataBuf module. (4.3.3, December 10, 2014)
The IActor module function vgl_IActorFit now supports smooth moves. (4.3.2: November 18, 2014)
The DList module has been enhanced to automatically convert "Array" drawing functions to vertex buffer, "Buffer", drawing functions. (4.3.1: May 14, 2014)The DataBuf and RendBuf modules have been enhanced to support the PolyPointBuffer, PolyLineBuffer and PolygonBuffer drawing functions. (4.3.1: April 28, 2014)
The drawing functions PolyPointBuffer, PolyLineBuffer and PolygonBuffer have been added to support optimized graphics primitive drawing using vertex buffer objects. The functions InitBuffer, TermBuffer and CopyBuffer have been added to support the creation of the vertex buffers. (4.3.1: April 28, 2014)
Existing Application Programming Interface Changes
The Direct3DDev object has been removed. (4.5.4: May 4, 2021)
The DMap module has been removed. (4.5.4: March 26, 2021)
Support for VIS_VISUAL_PIXMAP has been restored. This allows for off-screen rendering without the need for an open window. (4.4.3.r3: January 23, 2018)Support for VIS_VISUAL_GENERIC and VIS_VISUAL_PIXMAP have been removed. They are obsolete. (4.3.6: August 27, 2015)
The VGL_VISUAL_GRAYSCALE and VGL_VISUAL_INDEXED visual options have been removed. (4.2.0: October 3, 2012)
Support for color indexed frame buffers has been removed. All graphics hardware is assumed to be truecolor. The ColorCube drawing function has been removed. (4.2.0: October 3, 2012)