Advanced Real-Time Rendering Techniques

Course: CS562

Instructor: Jorge Usabiaga

Type: Solo project

Languages: C++ & GLSL


The objective of this course was to understand modern rendering algorithms used in real time applications to render more accurate images as efficiently as possible. During the course of the semester I implemented multiple of these algorithms as well as my final project: Volumetric Shadows and Crepuscular Rays.

Final project – Crepuscular Rays

In this video you can see the implementation I did of god rays as my final project for this subject. I followed this paper for my implementation.

Work during the semester

Deferred Rendering Pipeline

In this video you can see the implementation of a deferred rendering pipeline that supports diffuse, ambient and specular colors.


I decided to implement Bloom as one of the post processing effects.

Sobel Edge Detection

I implemented the Sobel Edge detection algorithm in the GPU. The implementation supports different ways to detect the edges: color, normals and depth.


I implemented Phong Tessellation to be able to generate more detailed models from low poly meshes on the fly. The parameters that determine how much to tessellate an object are the distance to the camera and where the normal of the face is pointing (i.e. faces that are near edges will be tessellated more in order to give more detail in these areas).

Parallax Mapping

This is one of the algorithms that improves the most the render quality of the scene. I used this webpage as reference for my implementation.

Ambient Occlusion

I implemented three different algorithms for this project, Screen Space Ambient Occlusion (SSAO), Horizon Based Ambient Occlusion (HBAO) and an Image Enhancement, which is not an AO algorithm by itself but the effect it generates is similar.


One thought on “Advanced Real-Time Rendering Techniques

Add yours

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Create a website or blog at

Up ↑