SkillAgentSearch skills...

SimpleOpenGL

A renderer featuring advanced techniques such as PBR/IBL, deferred shading, SSAO, and shadow mapping.

Install / Use

/learn @azer89/SimpleOpenGL

README

OpenGL Renderer

A real-time rendering demo built from scratch using OpenGL and C++.

Features

  • Physically Based Rendering (PBR)
  • Image-Based Lighting (IBL)
  • Deferred shading
  • Screen Space Ambient occlusion (SSAO)
  • Sobel edge detection
  • Shadow mapping
  • Bloom postprocessing
  • Minor features: Geometry shader, Blinn-Phong shading, Skybox, glTF model loading.

Physically-Based Rendering (PBR) and Image-Based Lighting (IBL)

https://github.com/azer89/SimpleOpenGL/assets/790432/7ad64282-2bc0-4425-b689-c80f5143e7d9

<img width="850" alt="image" src="https://github.com/azer89/SimpleOpenGL/assets/790432/2cbf021d-9b2d-42f8-afb2-965a538d1640">

Deferred shading

A Sponza scene with 300 light sources.

https://github.com/azer89/SimpleOpenGL/assets/790432/8b1dfae3-98b0-49e8-91e8-043eaa2f3098

Screen Space Ambient Occlusion</b>

This Gundam model looks great with ambient occlusion.

<img width="850" alt="image" src="https://github.com/azer89/SimpleOpenGL/assets/790432/a5a9ae9e-a544-469c-b159-90a3bd94ca25"> <img width="850" alt="image" src="https://github.com/azer89/SimpleOpenGL/assets/790432/a801c747-985a-429b-a087-8e5fc304a95f">

Shadow mapping

The sahdow edges are blurred using PCF.

https://github.com/azer89/SimpleOpenGL/assets/790432/83678402-3b19-46b1-b73b-80cc48ddc9c9

Sobel edge detection

<img width="850" alt="image" src="https://github.com/azer89/SimpleOpenGL/assets/790432/caa5006f-f31d-4174-941f-ce530785b52d">

Bloom postprocessing

<img width="850" alt="image" src="https://github.com/azer89/SimpleOpenGL/assets/790432/da456381-d72f-481f-8c70-2592a98e1c3d">

Some other cool results

https://github.com/azer89/SimpleOpenGL/assets/790432/e564b947-7f07-44a9-9e96-2f06b825e15e

https://github.com/azer89/SimpleOpenGL/assets/790432/db83ad2c-248d-4ca5-be07-b4e65142c686

<img width="850" alt="image" src="https://github.com/azer89/SimpleOpenGL/assets/790432/9d3efcf9-bea8-4562-a200-db6ace329e85"> <!--Dragon PBR PBR--> <!--img width="800" alt="image" src="https://github.com/azer89/SimpleOpenGL/assets/790432/bab88bd1-6a79-4218-b553-32599bed920b"--> <!--Damaged Helmet PBR--> <!--https://github.com/azer89/SimpleOpenGL/assets/790432/6107d114-b5c8-4789-8f28-86413e40a931--> <!--Damaged Helmet PBR--> <!--<img width="400" height="300" alt="PBR" src="https://github.com/azer89/SimpleOpenGL/assets/790432/d4c44a9b-ee31-40cb-94ec-15010058768d"> <img width="400" height="300" alt="PBR" src="https://github.com/azer89/SimpleOpenGL/assets/790432/d9b9ea15-20c3-46c1-8169-9a4599501179"> <img width="400" height="300" alt="PBR" src="https://github.com/azer89/SimpleOpenGL/assets/790432/2205127f-b56c-4b49-a4d9-ea9b1d1b7c52"> <img width="400" height="300" alt="Deferred Shading" src="https://github.com/azer89/SimpleOpenGL/assets/790432/1c01a0ad-c3c3-4374-bc8e-9bd71313e499"> <img width="400" height="300" alt="Skybox" src="https://github.com/azer89/SimpleOpenGL/assets/790432/ae47eeea-0464-442c-85f2-d3223554585a">-->

Build

  • OpenGL 4.6 / Direct State Access
  • Visual Studio 2022 x64 and C++20
  • Libraries: Assimp, glad, glfw, glm, assimp, ImGui, and stb.

Credit

Technical Resources:

Assets:

3D Models:

View on GitHub
GitHub Stars8
CategoryDevelopment
Updated1mo ago
Forks0

Languages

C++

Security Score

75/100

Audited on Feb 19, 2026

No findings