Vulkan from the POV of a hobby 3D developer

As there have been lots of new information on Vulkan, Khronos’ new graphics and compute API I decided to do a little write up of the new API from a hobby 3D developer’s point of view. Although I’ve been writing games, demos and applications with OpenGL for roughly 15 years now I still consider myself a hobby developer in terms of 3D graphics. My job is not depending on pushing pixels, maxing out draw calls or swizzling shader commands, and most of my work on 3D (primarily OpenGL) is done during my spare time (mostly late at night). [Read More]
vulkan 

Status update

Just as the last blog post is starting to collect dust (time flies by oO) : I’m still doing lots of 3D development during the late hours in my spare time, still with C++ (Visual Studio rocks :) ), but most of that development is done under an NDA so that’s the main reason I haven’t been updating this blog lately. Other than that I’ve also been working on a dungeon crawler prototype using modern C++ (C++11/14) and modern OpenGL (4. [Read More]

Parallax offset mapping with WebGL

Years ago I wrote a demo showcasing different normal mapping techniques with Delphi, but never got around cleaning up the source and releasing it. While working on my WebGL dungeon crawler prototype I dug out the old code, cleaned it up and ported it over to WebGL, so you don’t need a compiler to see it in action and play around with it. Parallax mapping uses an additional heightmap (together with a normal map) to add more depth to flat surfaces depending on the current camera angle. [Read More]
webgl 

Geometry instancing with WebGL 2

WebGL, based on OpenGL ES, brings hardware accelerated OpenGL to your browser, and version 2.0 is around the corner (specs). I’ve been playing around with WebGL (via JavaScript) for some time now (see my GitHub WebGL repo) and recently Google’s chrome (canary) got WebGL 2 support. WebGL 2.0 adds some interesting new features, with geometry instancing being one of them, so I sat down and wrote a small demo that shows how to render the same instance of a single mesh with differing shader attributes using instancing and only one drawcall : [Read More]
webgl 

Using OpenGL ES on windows desktops via EGL

OpenGL ES is an embedded version of OpenGL mostly used on mobile devices that offer only limited GPU capabilities compared to modern desktop GPUS. Introduction Thanks to android, OpenGL ES is very widespread, and as WebGL is also based on OpenGL ES (2.0), chances are pretty high you’ll get into contact with OpenGL ES at some point during your 3D development efforts. And at some point you may want to prototype your OpenGL ES applications on a desktop system (windows, linux, mac), or just distribute a desktop version of your mobile game using OpenGL ES. [Read More]

glCapsViewer 1.0 beta release

I just released version 1.0 (beta) of the OpenGL hardware capability viewer (C++ port using Qt). Note that it’s a beta release and my first C++ (and Qt) application released to the public. Release on gitHub: https://github.com/SaschaWillems/glCapsViewer/releases/tag/v1.0-beta Binary downloads (win32) : https://github.com/SaschaWillems/glCapsViewer/releases/download/v1.0-beta/glcapsviewer_v1_0-beta_win32.7z or http://opengl.delphigl.de/releases/glcapsviewer_v1_0-beta_win32.7z If you find any bugs, please post them in the comment section or (better) open an issue at the github repository. Right now windows only, other platforms (linux first) will follow as soon as I’ve moved the project to CMake. [Read More]

New features and url for the OpenGL hardware database

In preparation for the release of the next glCapsViewerversion (C++), the OpenGL hardware database has been completely overhauled and also got a new url for easier access. After releasing the sources to the php front end of the database, I decided to clean up the sources for all pages, throw out old (bad) code and add in new features using external libraries like DataTables. The OpenGL hardware database was my first php based web project, so much of the code wasn’t very pretty, and almost all search and filter functions were hard coded and not available everywhere and for all table columns. [Read More]

Going GitHub with gl(ES)CapsViewer

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.