C++ Procedural City

We did this project for a subject at the second year of ESAT, the aim of the project was to create a 3D Procedural city with a 3d framework given by the ESAT while also modifying some parts of the engine with our own code, and making the neded shaders to light up the scene.

One of the first tasks to acomplish in the project was to program an algorithm to create the city procedurally, my teammate Marcos Briz that was mostly in charge of that did a fabulous job on that. After that, we had a big city without any color or texture, so ww had to start making the materials fo fill the city with colors.

While making the materials, the major problem we faced was that we just had the data of the geometry that the engine gave to us, and that data didn't included the tangents and bitangents. To solve that we added a Geometry Shader to our pipeline to calculate the tangents and bitangents of each face every time we drew something, we knew that that wasn't the best place for doing that, but it was a good excuse to learn a bit more of Geometry Shaders which we didn't have prior experience with them.

Another major feature of the demo was the deferred lightning, it was the first time that we dived in that area. Also, we had some post-processes, that weren't complex ones but at least they helped to a better understanding of a how post processing pipelines usually work.

There was a failed try to make a water shader with fresnel but without reflections. And definitely, way more little features that I will have forgotten.