The PipelineKit is an open source project originated at AMD to develop a visual and high level programming environment for OpenCL and DirectCompute applications running on GPUs, APUs and multi-core CPUs. A textual pipeline description language describes buffers, kernels, uniforms, invariants, and control graphs with stages that together comprise a computational pipeline. A pipeline generator compiles that description into C++ and OpenCL or DirectCompute code that executes the specified control graphs while preserving the specified invariants at runtime. The generator also produces a framework for unit testing; some debugging/data capture features, as well as templates for the corresponding kernels or ComputeShaders. Software developers are responsible for filling in the kernels or ComputeShaders. The PipelineKit and the code it generates run on Linux, Mac OS and Windows. It supports multiple GPUs within a workstation and provides barrier synchronizations among graphs running on different GPUs. Recently work has begun on a visual editor that lets you directly edit the control and data flow graphs (please see screenshot). This editor is a functional prototype.
Randi J. Rost, Bill Licea-Kane, Dan Ginsburg, John M. Kessenic, Barthold Lichtenbelt, Hugh Malan, Mike Weiblen
This is the third edition of the orange book. It covers GLSL 1.4 and entry points from OpenGL 3.1. As usual the book is part tutorial, part reference. Very well written, clear and concise. Check out the companion site.
More information about this title at Amazon.com or Amazon.co.uk
A C++ library which can be used to parse an expression in a string. The syntax of the expression is similar to the way we write expressions when coding in C.
The expression can be evaluated as weel, just provide the values for the variables. The performance seems very good from the numbers presented in the speed tests. The library comes with documentation and an example.
C Programming Tips, by Philip Guo from Stanford University, is a collection of tips about C programming.
C, and C++ are two of the most used programming languages when building applications with OpenGL. Application maintenance can become a nightmare as apps grow larger and larger. Following these simple tips can partly avoid countless days hunting for bugs.
A new noise function for GLSL is being proposed by Ian McEwan at Ashima Art. It does not require any setup, i.e. no textures nor uniform arrays. Just add it to your shader source code and call it wherever you want. This means that it is easier to distribute the final shader so that it can be used in other application. It is based on Stefan Gustavson’s paper “Simplex noise demystified” and it runs on OpenGL 1.2 and up.
The Canvas 3D JS Libary (C3DL) is a JavaScript library that will make it easier to write 3D applications using WebGL. It provides a set of math, scene, and 3d object classes that makes WebGL more accessible for developers that want to develop 3D content in browser but do not want to have to deal in depth with the 3D math needed to make it work. Continue reading »
The website Learning WebGL has a series of 15 lessons on WebGL starting with the configuration required to run WebGL, and ending with render to texture. This is a fairly complete tutorial, providing almost everything you need from getting started all the way to write complex applications. The tutorial covers the definition of geometry, including a loader, texturing, keyboard and mouse interactivity, lighting and some shaders.
Man Pages for GLSL are finally available 🙂
Its a nice touch to include version support in each function.
Khronos Releases Final WebGL 1.0 Specification.
Khronos™ Group released the final WebGL™ 1.0 specification to enable hardware-accelerated 3D graphics in HTML5 Web browsers without the need for plug-ins.
Links to authoring tools and WebGL demos can be found at www.khronos.org/webgl/wiki/Main_Page.
WebGL – OpenGL ES 2.0 for the Web. WebGL is an API based on OpenGL ES 2.0 to display 3D graphics in a browser. The specification is maintained by the Khronos Group.