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”
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 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”
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”
Here’s some base code for simple canvas animations: When you put this into a HTML file and load it in your browser it should look like this.
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”
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 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”