Design a site like this with WordPress.com
Get started

Useful CMake functions

CMake is a great tool, but I always keep searching on how to do this and that. Time to make a list again… Checking the G++ compiler version: Appending entries to a list: Creating filters in Visual Studio projects: Custom install commands To print a message during the install process add: To run a shellContinue reading “Useful CMake functions”

Advertisement

Useful C++ tricks and helper functions

My brain sucks. It can remember the lyrics to songs or the power draw of a electronic component, but I keep forgetting those simple, useful helper functions you sometimes need. This sends me off Google again, searching through excellent sites like StackOverflow etc. Time to make a list… Remove characters from a string: Replace charactersContinue reading “Useful C++ tricks and helper functions”

Installing and switching gcc/g++ versions in Debian

Installing newer gcc/g++ versions is easy: If your system does not provide the new versions, you might still be able to get them via a different repository. Add the toolchain repository to your system and update your sources: Now you should be able to install gcc/g++. The real problem comes after that. How to makeContinue reading “Installing and switching gcc/g++ versions in Debian”

Reading the OpenGL backbuffer to system memory

Sometimes you are in the need to read back the OpenGL backbuffer, or other framebuffers. In my case the question was how to read back a downsampled framebuffer resp. its texture to system memory. There are different methods for this and I wrote a small benchmark to test them on various systems. UPDATE #1: AContinue reading “Reading the OpenGL backbuffer to system memory”

Calculate Catmull-Rom splines using forward differencing – UPDATE

I finally had the time to finish this post by whipping up a small JavaScript canvas example to show forward differencing in action. Not much to see there, actually, other than that the regularly drawn spline and the one drawn with forward differencing look the same. Here’s the part of the code that does theContinue reading “Calculate Catmull-Rom splines using forward differencing – UPDATE”

Calculate Catmull-Rom splines using forward differencing

Update: Here’s a little JavaScript canvas example to give you some sourcecode… Splines are a nice for interpolation of all kinds of stuff. A very nice, thorough (Bezier) spline documentation with lots of examples can be found here.Catmull-Rom splines are handy, because they always pass through their control points. No fiddling with tangents and stuff.Continue reading “Calculate Catmull-Rom splines using forward differencing”

Using CriticalSections to synchronize shared resource access

When developing multi-threaded applications you can never be sure when and in which order threads run, so you have to synchronize access to shared resources. Otherwise, for example, one thread could modify a piece of data while another thread reads or modifies it. This can give you inconsistent data or, especially when resource allocation/deallocation isContinue reading “Using CriticalSections to synchronize shared resource access”

Writing a DLL containing C++ classes

Putting functions into a DLL is a good thing. It helps you to reuse stuff, save space on updates, save build time etc. To write a DLL the proper way you have to keep some things in mind though. Those hints are basically the “best-practice” from this page. A DLL is a library, a collectionContinue reading “Writing a DLL containing C++ classes”

Using FrameBufferObjects in shaders

Using FrameBufferObjects in shaders would go something like this: Set up your FBO (see here). Render scene while writing values to gl_FragColor and gl_FragDepth (in our case). You could also have more draw buffers, then you could also write to gl_FragData[0-9]. Keep in mind, that values will be clamped to [0,1] unless you use glClampColorContinue reading “Using FrameBufferObjects in shaders”