from geometry to pixels


Some thoughts about the Vulkan API (glNext) and the future of OpenGL

Today the Khronos group announced officially the name of the new cross-plattform 2D/3D and compute API which will be (kind of) the successor of OpenGL. So far it was named “Next Generation OpenGL Initiative” or shorter: “glNext”, the official name will now be Vulkan (btw. the german name for Vulcano). I read at some places, […]


, , , , , , , ,

GLSL Syntax Highlighting for OpenGL 4.4

The syntax highlighting definitions for QT Creator, KDE Kate, TextWrangler and BBEdit have been updated for OpenGL 4.4 (GLSL 440).  The update includes a fix of one typo and highlight the noise functions in QT Creator as not available ( e.g. noise4(); ) as those are defined as deprecated beginning with GLSL 440 and are […]


, , , ,

GLSL Syntax Highlighting for TextWrangler & BBEdit

I hacked together a very simple codeless language module for TextWrangler (also compatible with BBEdit) for GLSL shaders. It is much simpler than the Kate/QTCreator highlighting and only highlights GLSL version 430 (core profile) but it’s better than nothing (In case you are writing shaders for OpenGL ES 3.0, or OpenGL 3.0 – 4.2 it […]


, , , , ,

GLSL Syntax Highlighting for QTCreator (and Kate)

The syntax highlighter in QTCreator for GLSL shaders is currently far from ideal: It’s basically stuck at OpenGL 2.1. If you write shaders for OpenGL 3 (and later) or OpenGL ES 3, you will see a lot of red marks indicating errors in your code simply because QTCreator doesn’t know the latest keywords. On the […]


, , , , , , ,

Understanding the parallelism of GPUs

A lot of tasks in (3D) graphics are independent from each other, so the idea to parallelize those tasks is not new. But while parallel processors are nowadays very common in every desktop PC and even on newer smartphones, the way GPUs parallelize there work is quite different. Understanding the ways a GPU works can […]


, , ,

First hints of OpenGL 4 on MacOS X?

No Mac currently supports more than OpenGL 3.2 even tho all current Macs could support OpenGL 4.x. Apple doesn’t comment on this situation but it seems, that at least some features of newer GL versions made it into the drivers. The lastest GLSL version MacOS supports is 150, at least that’s what glGetString(GL_SHADING_LANGUAGE_VERSION) tells us. […]


, , , ,

OpenGL Programmable Blending – APPLE_shader_framebuffer_fetch

Large parts of the rendering pipeline are user programmable through shaders nowadays. One of the remaining fixed-functions is fragment blending: The new fragments (shaded by the fragment shader) don’t neccessarily have to overwrite the corresponding framebuffer entry, we can set different blending operations. The set of possible operations however is fixed. There have been requests […]


, , , , , , ,

Photoshop Blendmodi in GLSL

I once wrote a texturing tool in which you could paint on a 3D model on multiple layers. These layers were composing the final texture just as you know it from photoshop, complete with alpha, opacity slider and: blend modes. these blend modes are quite simple to implement and it can be useful to use […]


, , , ,

Shader Model and GLSL versions

When reading articles about graphics programming you come alone the term ‘Shader Model’ and version numbers for GLSL, OpenGL and Direct3D (depending on the API used in the article). While the described algorithms (nearly always) can be implemented in the ‘other’ API as well the different versioning schemes can be confusing – what OpenGL version […]


, , ,