Currently browsing tag



I was browsing through an old folder with screenshots from my graphics work, and found some render fails I encountered when haphazardly programming. (Results that make you go: “Interesting, but WRONG”). (Yes, the name of my experimental voxel renderer was “Voxelicious” at one point.)

Visual Studio 2017 OpenGL Project

Since a lot of people ask me how to get started with OpenGL development on Windows using Visual Studio community edition, I made a little project that contains the most basic setup to reduce your TTT™ (Time-To-Triangle™, patent pending). It can be found at (for lack of a better name) and uses …

cuda2GLCore: CUDA to OpenGL textures

I made a new implementation of the Cuda2GL sample provided in the CUDA Samples by Nvidia. The sample shows how to generate a texture in CUDA and use it in an OpenGL context without copying it to main memory. The original implementation uses Glut and OpenGL immediate mode (Compatibility profile) to draw the resulting texture. The sample …

The 32/64 bit DLL confusion on Windows 64-bit

Since I’m developing my PhD renderer for multiple target systems (Win32, x64, LInux, …) I started using the excellent freeGlut project for simple OpenGL windowed output. So after finding the Windows binaries compiled (and maintained) by Max Martin Payne, I look at the contents of the zip file. I was …

Suggestive Contours Code

The little download counter on my super secret world domination dashboard indicates that my thesis code implementations of rendering suggestive contours on 3d meshes has been downloaded over a hundred times. Which tickles my curiosity. If you’re doing anything fun, serious, silly (or can’t get the damn thing to work …

Sin() City

Some images I rendered for my thesis text yesterday. Left: just toon shader. Right: toon shader + suggestive contours + suggestive highlights, an attempt at a Frank Miller-like rendering style. All of this is rendered at min. 24 frames/second at a resolution of 760 x 760.

Contour and Valley detection using GLSL

Today, I managed to perform contour/suggestive contour rendering in imagespace – thus working on a rendered diffuse shaded image. After using the Sobel edge detection filter  to detect regular contours, I looked for an efficient algorithm to detect valleys and creases, in order to draw suggestive contours as well. As …


Using Vertex Buffer Objects to transfer my mesh data (vertices, normals, curvatures) directly into GPU memory using STATIC_DRAW_ARB pointers just tripled the performance of my GLSL shader implementation. Running a heavy model (+300k vertices) drawn with contours and suggestive contours at 24 fps, average.

Thesis Update

The current plan for my thesis is to compare several implementations I made, which all have the same purpose: draw contours and suggestive contours on a given mesh, as fast as possible, as correct as possible. It’s time to review the status of the current builds of these different tools. …