BRE Architecture Series Part 1 – Overview

Many years ago, I chose to study Computer Sciences because I always knew I wanted to work in the video games industry or something related with that. First, I learned the C programming language in the university, and then I learned C++ reading books because in GameDev forums and other web pages mentioned it was the most used programming language in the AAA video games industry. Also, I read some suggestions in Game Development Magazine about that specialization is very important in that industry too. That is why I began with artificial intelligence first, reading Matt Buckland’s books, but then I decided that computer graphics was the area that I most enjoyed. At that moment, I bought some books and read tutorials about DirectX 9.0c. In addition to reading the theory about computer graphics and DirectX API, and making some basic demos, I always wanted to write my own rendering engine. I did not want to make a complete game engine to make games, but a rendering engine to make interactive 3D application where I can develop state of the art computer graphics techniques. The first try was with DirectX 11, but at that time I already heard about DirectX 12 and the paradigm change it was going to be. That is why I decided to begin from scratch with DirectX 12. I am not going to mention all the advantages and complexities of DirectX12 because they are very well known, but the learning curve is much more smooth in DirectX 11 than in DirectX 12. When at last I had a general understanding of this new API, I began to develop BRE (which stands for Bertoa Rendering Engine).

Continue reading “BRE Architecture Series Part 1 – Overview”

DirectX 12 – Ambient Occlusion – The Second Approach

 

After some time trying to implement and understand ambient occlusion (with a failed attempt), I finished a better implementation. This was after I filled some gaps I had about perspective projection matrix and depth buffer (I made three posts about this).

Now, I wanted to describe from the beginning what I know and learned about ambient occlusion.

Continue reading “DirectX 12 – Ambient Occlusion – The Second Approach”

How can I find the pixel space coordinates of a 3D point – Part 1 – Space Transformations + Homogeneous Space Coordinates

Recently, I felt I needed to improve my knowledge about perspective projection matrix and depth buffer, so I think a good idea is to write some posts explaining the doubts I had and the sources I read to evacuate them. This could be useful for others and a good reference for me.

I am a DirectX user, so all I will describe here is related to that API. OpenGL/Vulkan is similar, but I am not going to mention/explain them.

Continue reading “How can I find the pixel space coordinates of a 3D point – Part 1 – Space Transformations + Homogeneous Space Coordinates”

Create a website or blog at WordPress.com

Up ↑