Skip to content

rivten/gliewer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 

Repository files navigation

gliewer

What is gliewer ?

gliewer is my attempt at writing a small 3D engine using as little dependencies as possible. The current dependencies are :

Therefore I did not use any libraries for math, multithreading, or interfacing with OpenGL for rendering algorithms.

This project is written using C++ but I am using only a very small subset of C++ features so that the code is as close to C as possible. The code is written and tested on Windows and Linux.

PBGI

In September 2016, I began working on a project with Telecom ParisTech's Computer Graphics group. The goal is to implement basic global illumination methods and analyze how they work and perform to see where most of the bottlenecks are. I am using this very engine to implement these algorithms as it already provides the main features needed.

Current features

  • OBJ / OFF file loading
  • Arcball camera to rotate and zoom around mesh
  • Basic GUI display to tweak rendering parameters
  • GPU implementation of several BRDF (Lambert, Blinn-Phong, GGX)
  • Shadow mapping with PCF
  • Cubemap rendering
  • Texture GPU post-processing (Gaussian blur, ...)
  • G-buffer implementation for defered shading
  • Framebuffer / depth-buffer reading to unproject pixel to world coordinates
  • Instancing
  • Texture mapping
  • Gamma correction
  • Automatic shader reloading
  • Screen-space ambient occlusion
  • Motion blur
  • Arcball and first person camera
  • Frustum culling

To do features

  • Cascading shadow maps
  • Profiler
  • Bloom effects
  • Texture packing
  • Mesh simplification (see my other project meshrekt)
  • Surface segmentation

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published