GLGraphics is a library for the Processing programming language that offers a number of classes to simplify the handling of OpenGL textures, GLSL shaders and off-screen rendering inside Processing.
README file for GSVideo-stable CHANGELOG GLGraphics 1.0.0 (2011-10-04) * Added DynamicMask, Feedback, GLBlendModes, and SpiceOfLife examples. * Added framerate to GLTextureWindow * Improved handling of default point sizes in GLModel, added some constant query to GLState. Properly restoring point sizes after rendering point sprites in GLModel. * Added crop functionality to the texture filter. * Cleaned up the API to control the tint color in texture filters. * No need to define special parameters section in the xml file of a texture filter for the clock, size and tint parameters. * Added CroppedFilter example to Textures. * Added a try/catch to avoid NoSuchElementException in putPixelsIntoTexture() in GLTexture. * Load/save vertices from/to binary file in GLModel now uses floats to avoid wrapping issues. * Added iterative mode to GLTextureFilter, and Textures/Iterative example. * Making sure that OpenGL context is current when releasing resources in dispose(). * Fixed bug in GLModel.render(first, last) method (parameters were ignored). * Added Models/ParticleSystem example. * Added frame count to GLTextureWindow. * Added GLTextureWindow removal functionality. GLGraphics 0.99 (2011-05-16) * New pixel buffer functionality to use in combinatin with GSVideo for faster video playback. * Texture filters now supports filters with 0 input textures (purely procedural) and float array arguments. * The setTexUniform() method in GLSLShader is overloaded to accept an int or a GLTexture argument. The latter should more intuitive to use since it doesn't require to indicate the texture unit. * Added load/update pixels methods to GLGraphicsOffScreen. * Minor enhancements for indexed mode in GLModel. * Added ShaderLib and ShaderToy examples in Textures category. * Added Output/FishEye example. * Updated MovieFilters example to use pixel buffer mode. * Some examples that use other contributed libraries were moved to the Integration category. * Hopefully, last beta release before 1.0. GLGraphics 0.95 (2011-04-20) * Fixed compatibility with Processing 1.5 (also note this version won't work with older versions of Processing). * Fixed GLSL geometry shaders and added GLSLsubdiv example. * Added GLModel.shininess() method * Added integration examples (OpenGL, Toxiclibs). * Small fix in resource mechanism so Cg toolkit is not required unless the Cg or CgFX classes are explicitly used. * Improved indexed mode API in GLModel class. GLGraphics 0.9.9.1 (2011-01-22) * Added vertex indexing mode in GLModel and MillionCubes example showing how it works. * Updated OffScreen and TextureWindow examples. * Improved initialization mechanism of GLTextureWindows. * GLTextureWindows can be set as resizable/fixed size, border/borderless, and the window title can be set as well. * Added some methods to GLCgFXEffect to facilitate passing OpenGL matrices to Cg. * Reworked CGFXeffect which should run on all platforms (provided the Cg toolkit is installed). * Fixed set texture methods in GLSLShader and GLCgShader * GLTexture.putPixelsIntoTexture() takes into account the situation when the pixels array is not initialized. * Enhanced GLIntegration example. * OpenGL capabilities are obtained in GLGraphics.allocate(), to avoid problems when calling getCapabilities() from another thread GLGraphics 0.9.9 (2010-12-14) * OpenGL resource release mechanism is not implemented through the class finalizers anymore, which led to crashes. Static list of resources is kept in GLState object instead, emptied on request or when the sketch is closed. * Size of point sprites properly implemented (A3D backport) and added setDepthMask() method to GLGraphics and GLGraphicsOffScreen to enable/disable writing to the depth mask. * Hack to make the SimpleGPUParticleSystem (renamed to ParticleSystem) example to work on OSX. * Blending API is more consistent now: the renderer classes (GLGraphics and GLGraphicsOffScreen) have noBlend(), setBlendMode() and setDefaultBlend() methods to set the desired blending mode. Then GLModel and GLTextureFilter have their own noBlend() and setBlendMode() methods to set the blend mode while rendering a model or applying a texture filter. After which the current blend mode of the renderer is restored automatically. * All classes than encapsulate OpenGL resources (GLTexture, GLTextureFilter, GLModelEffect, GLSLShader, GLCgShader, GLCgFXShader) now have a public delete() method to manually release the OpenGL resources. * GLTexture.releaseTexture() is protected, so just use GLTexture.delete(). * More Processing blend modes implemented (A3D backport): REPLACE, LIGHTEST, DARKEST, DIFFERENCE, EXCLUSION and SCREEN. * Using GLSL mix() function in some shaders instead of explicitly using the linear interpolation equation. * MovieFilter, HDMovieFilter, and MouseInvert examples combined into one. GLGraphics 0.9.4 (2010-08-20) * GLSL shader class was improved to ease its use outside the texture filters * Support for Cg shaders and CgFX effects was added. * GLTextureWindow.setLocation(x, y) method. * GLTexture.releaseTexture() method is public. * Fixed memory leak in GLModel when using the point_sprites mode. * Fixed typo in GLModel.initTextures method, which was originally named GLModel.initTexures. * Most of the jogl methods to set shader matrices used Buffer arguments. They were replaced by the array versions, so there is no need to wrap the float arrays. GLGraphics 0.9.3.3 (2010-03-05) * Save/load model in binary format for better performance (based on code contributed by Aaron Koblin) * Proscene library and examples by Jean Pierre Charalambos (http://code.google.com/p/proscene/) integrated with glgraphics. * OpenGL lights should work ok now (w coordinate for light position is now 1). * Rotate method had bug when passing arguments, now fixed. GLGraphics 0.9.3.1 (2010-02-10) * Matrix handling bugs in the beginGL, endGL, perspective, ortho and camera methods of the GLGraphics renderer. * Proper implementation of the opengl-based lights. GLGraphics 0.9.2.1 (2009-11-04) * Fixed bug in the popMatrix() method. GLGraphics 0.9.2 (2009-10-28) * Major improvements in GLModel. * Added GLModelEffect * Fixed compatibility between GLGraphics and PGraphics3D matrix transformations. GLGraphics 0.9.1.1 (2009-07-30) * GLTextureWindow now handles flipped textures. * Removed obsolete source code files. * Compiled with JDK 1.5 to ensure compatibility. GLGraphics 0.9.1 (2009-07-26) * GLModel implements texturing (including point sprites). * GLCamera handling greatly improved. * Fixed blending issues with GLModel. * Scaling in GLCamera still not compatible with Processing units.