In my last posting for 2014, I wrote a little bit about going open source with my projects. So I took the C++ rewrite of the OpenGL hardware capability viewer as a first step in releaasing more of my sources to the public.
And while I found bitbucket to be fine, I decided to move over to GitHub. Most of the developers I use to interact with are there (and not on bitbucket), and I prefer their UI and functionality over bitbucket (plus they seem to be super active with adding new stuff).
[Read More]
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.
Javascript repository
Following Java (on Android) and C++ (on Windows), I just released my first Javascript sources over at my bitbucket repository. My first (ever) public JavaScript demo is the random dungeon generator that I wrote an article about (a long time ago).
It generates random dungeons of different sizes and can be tested directly in your browser over here. Included are the JavaScript sources for the random dungeon generator that use HTML5 for drawing a simple representation of the randomly generated rooms and corridors.
[Read More]
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]
Soruces for simple OpenGL 2.0 HUD/GUI for android
As I’m currently prototyping a new game for Android, I was in need of a quick (and simple) way of adding some selectable text elements on top of my 3D OpenGL ES scene. So I created a simple demonstration with full source (you can get them from my OpenGL ES git repository) that renders a 3D scene and a basic hud with clickable text elements on top of it in orthogonal mode.
[Read More]
Android OpenGL ES repository
Following the C++ (OpenGL) repository, I recently added an Android OpenGL ES repositry (using Java) over here. It currently only contains two public demos, one for a simple stl viewer and another one for using the camera input of an android device as an OpenGL ES texture, but over time I plan on adding more and more demos.
And though I used to mock Java in the past I really like coding with Java nowadays.
[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]
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]
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]