2014 - Final posting

As another year ends, it’s time for a small retrospect. Next year marks the 10th anniversary of my personal blog, so I’ve been posting about my programming adventures for over a decade now (the first version of www.delphigl.de went online 2003 afair) and I’m still having lots of fun hacking code into different IDEs with different languages, though focus is shifting from time to time. And that’s actually what makes coding so much fun, it’s a constant learning progress that forces you to constantly sharpen your coding skills, learn new languages, adopt to new technologies etc. [Read More]

Small update to the Delphi/Pascal OpenGL Header

Due to some user feedback, I’ve updated our delphi/pascal OpenGL header translation.

You can get it over at the bitbucket repository, and now finally with a proper markdown readme ;)

The changes include fixed type declarations for boolean types (so you can now finally write glDepthMask(GL_FALSE)), and some fixes for exception handling on 64-bit windows platforms.

Delphi/Pascal OpenGL Header now supports OpenGL 4.5

With OpenGL 4.5 being released (and NVidia already having drivers out in the wild) I’ve updated our Delphi/Pascal OpenGL Header translation to the latest OpenGL version. You can always grab the most recent header translation from the bitbucket repository, where you’ll also find updates aside from the major OpenGL releases. If you’re missing anything from the headers, like a vendor specific extension missing, or want to give feedback just drop me a line. [Read More]

Enhanced C++ compute shader particle system

I’ve just added an OpenGL C++ repository over at bitbucket, and the first C++ demo is an enhanced port of the attraction based compute shader system from my last post. Sources : https://bitbucket.org/saschawillems/opengl-c Compiled win32 binaries : https://bitbucket.org/saschawillems/opengl-c/downloads/computeShaderParticleSystem_win32_bin.zip Compared to the Delphi version, the C++ version uses point sprites (instead of smoothed GL_POINTS), has a random color fade and allows for several user inputs : Note : This demo requires at least OpenGL 4. [Read More]
opengl 

Compute shaders for particle systems

Next on my list of new OpenGL functionality are compute shaders. They’ve been introduced into the GL core with 4.3, and pretty much allow you to do GPGPU directly in OpenGL without having to resolve to other APIs like OpenCL. So my first compute shader demo implements a (simple) attraction based particle system. It generates two shader storage buffer objects (SSBOs). One for particle positions and one for particle velocities, and the compute shader then accesses these SSBOs to calculate particle velocities depending on an attraction point (in this demo it’s the mouse cursor) and accordingly updates the particle positions. [Read More]
opengl 

GL_ARB_debug_output

I’ve just been playing around with GL_ARB_debug_output, a new extension introduced with OpenGL 4.3. This extension adds debugging capabilities to OpenGL, e.g. allowing you to have a callback fired by the OpenGL implementation that’ll inform you upon errors or even (heavily depending on the IHV) gives performance hints. I wrote a small sample (in Delphi) that demonstrates this new functionality. It creates an OpenGL 4.3 forward compatible context (no more legacy stuff) with debugging capabilites and displays debug messages from your OpenGL driver. [Read More]

Delphi/Pascal OpenGL Header updated and on bitbucket

I just updated our Delphi / Pascal OpenGL Header to include the two missing extensions GL_ARB_sparse_texture and GL_ARB_bindless_texture introduced alongside OpenGL 4.4. And from now on you can always get the latest release from the repository over at github. Since the latest drivers for my GPU sadly won’t support OpenGL 4.4 (AMD dropped driver support for Vista, so maybe it’s finally time to upgrade) I haven’t been able to test the two new extensions. [Read More]

OpenGL hardware database updated

I finally got around uploading an almost complete new version of the OpenGL Hardware Database. Besides the new visuals, to bring it in line with the design of the OpenGL ES Hardware Database, it offers new functionalty like search boxes on almost every page, new listings like max. supported OpenGL version per device and much more. Another fine change allows you to call certain pages with parameters, so now you can create and share links for e. [Read More]

A note about NVIDIA drivers (on windows) an glCapsViewer

Thanks to Christophe Riccio, it came to my attention that most NVIDIA driver reports on windows are discarded when trying to upload them to my OpenGL hardware database. The cause for that is pretty simple : Contrary to the other vendors, NVIDIA does not include their (or any, e.g. OpenGL ICD) driver version inside the GL_VERSION string on windows (at least not on Windows Vista and up, on XP this still seems to be the case). [Read More]

Delphi / Pascal header for OpenGL 4.4

I just updated our OpenGL header translations to the latest 4.4 specs just released by Khronos. So if you’re developing cutting-edge 3D stuff with Delphi or Free Pascal you can now use the latest features available, as long as you’ve got the hardware and your vendor released new drivers (currently only NVIDIA seems to have GL 4.4 drivers out there). This header also fixes some minor bugs that have been reported by some of our community headers. [Read More]