Quick overview CMake commands are not case sensitive, so you may use any version you like the most. Translating commands to another line doesn’t require additional characters like ‘' in Makefile. Commentaries are made with ‘#’ starting symbol (like in Makefile). Variables Variables are being set with following command: set(value 10) To clear t... Read more 18 Apr 2022 - 3 minute read
Quick overview CMake is now a standard layer for C/C++ development since people have become too lazy to write proper makefiles. CMake generates makefiles based on its own CMakeLists.txt files. Then you have to call make on your own to build your project. Pros and cons Pros: Easy to learn. Easy to write CMakeLists. Tunable. Cons: Mak... Read more 17 Apr 2022 - less than 1 minute read
Variance Shadow Maps (VSM) is a pretty known technique. But I was unable to make it work properly with Cascaded Shadow Maps (CSM). I can’t get homogenous shadows in some places with CSM, and when cascade index changes shadow difference is visually noticable. You can see artifacts in the middle of the image (shadow on the next cascade is lighter... Read more 10 Mar 2022 - 2 minute read
Done buffer save/load tests for these libraries, and results are following: JPEG test took 0.017918 seconds PNG test took 0.088861 seconds So libjpeg is 5.5 times faster than libpng. Read more 11 Feb 2022 - less than 1 minute read
#include <cstdlib> #include <cstdio> #include <thread> #include <string> #include <chrono> #include <atomic> #include <pthread.h> class ScopeTimer { typedef std::chrono::high_resolution_clock clock; typedef std::chrono::duration<float> seconds; public: ScopeTimer(const char* message) : messag... Read more 10 Feb 2022 - 1 minute read