February 2, 2023

Unreal procedural terrain generator

In this post, I’m going to explore and explain a little bit about a system I’ve made to try the new ProceduralMesh component in Unreal Engine. The main objective of that system is to generate the terrain in real-time without the necessity of updating the whole mesh, in order to do that I decided to split the terrain into some chunks, this way I can […]

December 3, 2022

SOL[I]D – The interface segregation principle

We can use the previous classes design to exemplify The Interface Segregation Principle as well. To demonstrate the importance of this principle, consider the scheme below. In the diagram, we can see 3 classes (Fiat, Chevrolet and Hyundai) that implement the “Car” interface. We can see the correspondent code below: All cars must implement the 3 functions of the interface, these are: accelerate(), brake() and […]

November 30, 2022

SO[L]ID – The Liskov substitution principle

The Liskov substitution principle is one of the most important principles of the SOLID principles because it describes how the object orientation must work. Basically, it says that an object of class B and another one of class C, both inherited from a class A, when instanced within a base class variable and some method is called, both the subclasses method should return/work properly without […]

November 4, 2022

[S]OLID – The single responsibility principle

As the same suggests, The Single Responsibility Principle says to us that one entity should be responsible for just one functionality. Some people take this saying to the letter, but we need some common sense when writing code while thinking about the single responsibility of our classes. In other words, the scope of our classes will depend on our project scope. I’m very acquainted with […]

February 27, 2022

C++ move semantics

In this post, I’ll bring some information about the move semantics in C++. Move semantics is a highly important feature because it solves some problems of temporary object management, object assignment and constructions redundancies. For example, every time you write a code that makes a sum of two lvalues and pass it as an argument of a constructor of some object, you are creating (constructing […]

November 13, 2020

C++ lvalues and rvalues

When we are talking about lvalues and rvalues, it’s a good idea to back to the C language definition of these words. In C when we write some code like this: an lvalue is the left side of the expression and an rvalue is the right side of the expression. We can define it more technically by saying something like: Does it look simple, right? […]

February 9, 2019

Motivation

Okay, I’m creating this blog because in the last months I’m really unmotivated to programming or learning new technologies, so I thought that would be great to write my code or my new learns in a blog. Well… that was my first motivation, my second motivation was my english. I’m realizing that my english will be a hard barrier to progress in a career abroad, […]