At this point, I can take the project to the graphical world. In this post, I will describe how the engine is creating and handling the window. I will also introduce an early model of the shader program and a simple mesh to render a rectangle in the window.
Game Engine Explorations: Name, Base Design and Logging
In this post, I will not get to the point where I can show a graphical window. Before jumping to the graphical world, I will write about the basic design for the engine. This will only cover the entry point and the base Application class. Additionally, I will give an example of a component by implementing a logging service.
Game Engine Explorations: Hello World
My previous post was an introduction to my first explorations in game engine development. In this post, I am laying down the foundation of the project. I will be using a tool that automatically creates Visual Studio solutions and Makefiles.
Game Engine Explorations: First steps
This post is the first one of a series of posts where I will document my learnings on Game Engine development.
Memory allocators in C++ - Part 1
When you want to instantiate a class or a struct in the dynamic memory space, we normally use the new
and delete
operators.
Minimal implementations in Modern C++: Producer-Consumer problem
This implementation was inspired by Stackoverflow user Yakk - Adam Nevraumont’s answer for a question about std::condition_variable
. I extended it to make it a working example, and I plan to use it as a base for a new project I have in mind.
Make your pointers smart - C++ good practices
Analyze the testing coverage of your C++ code
Writing unit tests is a great way to ensure that your code is behaving correctly. But how can you tell how much of your code are you testing? The GCC compiler provides tools to analyze the testing coverage of your project. In this post, I will show you how to integrate these tools in a CMake project.
Test your C++ code with the Google Test framework
In a previous post, I showed you a C/C++ template that you can use for a project. I felt that it needed a basic testing framework. Therefore, we are going to learn how to install and use the Google Test framework to write tests. When we have finished this tutorial, we will have an executable that will run tests for our code.
First Steps With Go
Go is a simple and powerful programming language. Its syntax is familiar to C/C++ but it definately has improvements in comparison. It has a bunch of great features such as static types, memory safety, garbage collection, and it is targeted to concurrent programming. I discovered it very recently, so I want to start simple and learn the basics of this language. In this post, we will write our first Go program and library. Also, we will learn how to unit tests our Go programs.
Source-to-source compilation with Lex-Yacc
In this post, I will describe a source-to-source compiler that transforms a Brainfuck program into its equivalent 64 bits assembly code. The assembly program can be built into a executable, thus allowing you to run Brainfuck programs natively.
Building a basic C/C++ project template
Starting a C/C++ project can be as easy or as difficult as you want. Personally, I don’t like to fire up an IDE just for a small program. So, I end up using a text editor and compiling by terminal. However, the compilation process can get tedious. In this post, we will build a simple project template for a C/C++ program. This project will use the CMake tool to handle all the compilation process.