Skip to content

Latest commit

 

History

History
75 lines (56 loc) · 1.64 KB

README.md

File metadata and controls

75 lines (56 loc) · 1.64 KB

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.