by admin

ARM Guide for Unity developers version 3

September 28, 2015 in Game Engines, OpenGL, Programming, Tips & Tricks, Tutorial, Unity by admin


The version 3.0 adds the following content:

  • Using Enlighten in custom shaders
  • Combining reflections
  • Using Early-z
  • Dirty lens effect
  • Light shafts
  • Fog effects
  • Bloom
  • Icy wall effect
  • Procedural skybox
  • Fireflies
  • Tangent space to world space conversion tool

Follow this link to download the guide.


by admin

Distance field GPU Particle Collision

September 13, 2015 in Game Engines, gpu, OpenGL, Unreal Engine by admin

unreal-logo-smallA video, demonstrating how to enable and use distance field GPU particle collision for a better particles.

OpenGL API Documentation

June 19, 2015 in OpenGL by Adrian Marius

Here is OpenGL API Documentation

Modern OpenGL 08 – Even More Lighting: Directional Lights, Spotlights, & Multiple Lights

April 30, 2015 in OpenGL by Adrian Marius

In this article, we will be adding directional lights, spotlights, and allowing for multiple lights instead of just one. This is the final article on lighting – at least for a while.

Nick Desaulniers – Raw WebGL

April 19, 2015 in OpenGL, Uncategorized by Adrian Marius

New web developers have trouble distinguishing jQuery from JavaScript. We frequently point developers to three.js for doing 3D on the web, but what is raw WebGL and what tools do we have for debugging 3D web applications?

Slides Here:


by admin

Disabling vsync in OpenGL using GLX

November 10, 2014 in C, Code Snippets, gpu, OpenGL, Programming, Source Code, Tips & Tricks by admin

openglQuick code snippet about disabling VSync with GLX, using glXSwapIntervalEXT, glXSwapIntervalMESA or glXSwapIntervalSGI  functions.

For more information ,follow this link.
Read the rest of this entry →

Nice OpenGL reference docs page

September 19, 2014 in OpenGL by Adrian Marius

openglReally nice presentation of OpenGL reference docs: Plus you can submit corrections with GitHub!


News via Brandon Jones 

A trip through the Graphics Pipeline : Index

September 11, 2014 in gpu, OpenGL, Tutorial by Adrian Marius

This series is intended for graphics programmers that know a modern 3D API (at least OpenGL 2.0+ or D3D9+) well and want to know how it all looks under the hood. It’s not a description of the graphics pipeline for novices; if you haven’t used a 3D API, most if not all of this will be completely useless to you. I’m also assuming a working understanding of contemporary hardware design – you should at the very least know what registers, FIFOs, caches and pipelines are, and understand how they work. Finally, you need a working understanding of at least basic parallel programming mechanisms. A GPU is a massively parallel computer, there’s no way around it.


Series created by Fabian “ryg” Giesen

by admin

Ocean Wave Simulation in WebGL

November 26, 2013 in Code Snippets, OpenGL by admin

webglPhysically based ocean wave simulation in pure WebGL.

by admin

Khronos Releases OpenGL 4.4 Specification

July 22, 2013 in News, OpenGL by admin

openglJuly 22nd 2013 – SIGGRAPH – Anaheim, CA – The Khronos™ Group today announced the immediate release of the OpenGL® 4.4 specification, bringing the very latest graphics functionality to the most advanced and widely adopted cross-platform 2D and 3D graphics API (application programming interface). OpenGL 4.4 unlocks capabilities of today’s leading-edge graphics hardware while maintaining full backwards compatibility, enabling applications to incrementally use new features while portably accessing state-of-the-art graphics processing units (GPUs) across diverse operating systems and platforms. Also, OpenGL 4.4 defines new functionality to streamline the porting of applications and titles from other platforms and APIs. The full specification and reference materials are available for immediate download at

In addition to the OpenGL 4.4 specification, the OpenGL ARB (Architecture Review Board) Working Group at Khronos has created the first set of formal OpenGL conformance tests since OpenGL 2.0. Khronos will offer certification of drivers from version 3.3, and full certification is mandatory for OpenGL 4.4 and onwards. This will help reduce differences between multiple vendors’ OpenGL drivers, resulting in enhanced portability for developers.

“The delivery of conformance tests for OpenGL 4.4 is a significant milestone – as it is vital for developers to be able to rely on the API they are trusting to accelerate their content across multiple platforms,” said Barthold Lichtenbelt, OpenGL ARB working group chair. “The OpenGL ARB is committed to continue to deepen communications with the developer community so we can continue to build OpenGL functionality that creates real-world business opportunities for the 3D industry.”

New functionality in the OpenGL 4.4 specification includes:

  • Buffer Placement Control (GL_ARB_buffer_storage)
    Significantly enhances memory flexibility and efficiency through explicit control over the position of buffers in the graphics and system memory, together with cache behavior control – including the ability of the CPU to map a buffer for direct use by a GPU.
  • Efficient Asynchronous Queries (GL_ARB_query_buffer_object)
    Buffer objects can be the direct target of a query to avoid the CPU waiting for the result and stalling the graphics pipeline. This provides significantly boosted performance for applications that intend to subsequently use the results of queries on the GPU, such as dynamic quality reduction strategies based on performance metrics.
  • Shader Variable Layout (GL_ARB_enhanced_layouts)
    Detailed control over placement of shader interface variables, including the ability to pack vectors efficiently with scalar types. Includes full control over variable layout inside uniform blocks and enables shaders to specify transform feedback variables and buffer layout.
  • Efficient Multiple Object Binding (GL_ARB_multi_bind)
    New commands which enable an application to bind or unbind sets of objects with one API call instead of separate commands for each bind operation, amortizing the function call, name space lookup, and potential locking overhead.  The core rendering loop of many graphics applications frequently bind different sets of textures, samplers, images, vertex buffers, and uniform buffers and so this can significantly reduce CPU overhead and improve performance.
  • Streamlined Porting of Direct3D applications
    A number of core functions contribute to easier porting of applications and games written in Direct3D including GL_ARB_buffer_storage for buffer placement control, GL_ARB_vertex_type_10f_11f_11f_rev which creates a vertex data type that packs three components in a 32 bit value that provides a performance improvement for lower precision vertices and is a format used by Direct3D, and GL_ARB_texture_mirror_clamp_to_edge that provides a texture clamping mode also used by Direct3D.

Extensions released alongside the OpenGL 4.4 specification include:

  • Bindless Texture Extension (GL_ARB_bindless_texture)
    Shaders can now access an effectively unlimited number of texture and image resources directly by virtual addresses.  This bindless texture approach avoids the application overhead due to explicitly binding a small window of accessible textures.  Ray tracing and global illumination algorithms are faster and simpler with unfettered access to a virtual world’s entire texture set.
  • Sparse Texture Extension (GL_ARB_sparse_texture)
    Enables handling of huge textures that are much larger than the GPUs physical memory by allowing an application to select which regions of the texture are resident for ‘mega-texture’ algorithms and very large data-set visualizations.

Industry Support

“AMD has a long tradition of supporting open industry standards, and congratulates the Khronos Group on the announcement of the OpenGL 4.4 specification for state-of-the-art graphics processing,” said Matt Skynner, corporate vice president and general manager, Graphics Business Unit, AMD.  “Maintaining and enhancing OpenGL as a strong and viable graphics API is very important to AMD in support of our APUs and GPUs. We’re proud to continue support for the OpenGL development community.”

“We worked closely with Khronos on OpenGL 4.4, so we wanted to make sure the day it was announced we had compliant drivers for our Fermi and Kepler GPUs,” said Tony Tamasi, senior vice president, Content and Technology at NVIDIA. “We’re also working to bring support to Tegra, so developers can create amazing content that scales from high-end PCs down to mobile devices.” (These products are based on the published OpenGL 4.4 Specification, and are submitted to, and are expected to pass, the Khronos Conformance Testing Process. Current conformance status can be found at

Source: here.

Skip to toolbar