Implemented the Juliaset algorithm using C and SFML for the Low-Level Programming class. The code was optimized by using an 8x8 tile system, where we only compute the depth of the border tiles first, and then if all of the border tiles have the same depth, the inner pixels are drawn using the same depth, instead of computing all of them, which would cost a lot of computational time. This project was done between Juan Carlos Ten & me.
While I was on the plane I was reading the Game Programming Patterns book and I read about how the delegates/events work. And since I always have been eager to implement one of my own I tried to find more about it. I tried imitating the style that Unreal Engine 4 uses since I am already familiar with it. Also, I decided to make it a single header library for easier implementation in future projects for me or for someone who might be interested, since I put it in a public repo in Github. I will be improving the structure, performance and adding functionalities, in my free time.
Following the "Ray tracing in one weekend" book by Peter Shirley I learned how Ray Tracing works and played with it for the first time.
As part of our Graphics Engine Programming class in our third year at ESAT, Juan Carlos Ten, Alejandro Gasulla and I are making an engine using OpenGL. For now, Glare Engine uses a custom ECS, a custom material system, supports both Forward and Deferred rendering, support for compute shaders, editor for scene manipulation, scene serialization, asset browser, lights (directional, spot and point), directional and spotlight shadows, and more things to come.
Using SFML and ImGui made a AI agents system implementing various movement types like:
Random movement
Pattern movement
Determinist movement
Packman style tracking movement
Created a Radial Sinewave simulator using C and SFML for the Low Level Programming class. Code is optimized using radix and other different optimization methods. This project was done between Juan Carlos Ten & me.
A small audio project made for the High-level programming class. This project was done using C++, OpenAL & ImGui. We implemented the layering, branching and crossfading ourselves, and apart from that, we programmed a sound generator using sinewaves. This project was done by Juan Carlos Ten, Alejandro Gasulla & me.
The final project of the second year at ESAT of the Graphics Programming class. Victor Dellanos and I, created a city generator using C++ and OpenGL applying different rendering techniques as we learned them:
Deferred rendering
Directional, spot and point lights
Post-processing (Bloom, HDR, gamma correction)
Grass made using Geometry Shaders
Fog
Skybox
City editor using ImGui
For the Advanced Programming class's final project, Juan Carlos Ten and I made an "imitation" of the famous Sokoban game. We called it Wario Maker since we made an editor for making the levels. You can save/load levels and game states using SQLite. The game is made using SFML and the editor was made with the help of ImGui
This project was made in my first year at ESAT, it was the final project for the Basic Programming class. It was made using ESAT's internal EDK graphics library. The project's objective was to imitate the famous Gravitar game without using sprites, in short, all the graphics in the game are made using vectors. Apart from the game itself, it has a user management function where you need to register and log in to use the game so that your score can be saved.
This project was made in my first year, 2 months after I started at ESAT, it was the mid-project for the Basic Programming class. The objective was to make the well-known Scramble game ourselves using ESAT's EDK graphics library. The game contains all the levels of the original game, so it can be completed from start to finish if you are good enough.