Skip to content

Various rendering techniques used in Computer Graphics

License

Notifications You must be signed in to change notification settings

thetorine/opengl3-library

Repository files navigation

OpenGL3 3D C++ Library (For learning purposes)

Implementing many rendering techniques used in Computer Graphics and methods to setup complex scenes.

Screenshots

Phong Shader:

Phong Shader

Cel Shader:

Cel Shader

Spotlight:

Spotlight

Scene Tree:

Scene Tree

Bézier curve and mesh generated based on that curve by rotating about the y axis:

Bezier Curve

Setup

  1. Clone the repository.
  2. Open the solution file in Visual Studio 2017.
  3. Set the sample project as the default startup project.
  4. Run

Features

Local Illumination

  • Phong Shader
  • Cel Shader
  • Blinn Shader (currently broken)
  • Point Lights
  • Directional Lights
  • Spotlights
  • Distance Attentuation for all light types
  • Texturing
  • Normal Mapping
  • Reflection Mapping
  • Shadow Maps

Geometry

  • Sphere
  • Square
  • Conics
  • Surface of Revolution functions
  • Bezier Curves / Splines
  • Basis Splines
  • Drawing with Frenet Frames
  • L-Systems for Trees
  • Extrusions
  • Collisions

Transformations

  • Scene Trees

Global Illumination

  • Realistic reflections
  • Volumetric ray tracing

Miscellaneous

  • Particle Systems

Libraries used

License

This project is licensed under the MIT License.

About

Various rendering techniques used in Computer Graphics

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages