Skip to content

NewBediver/OpenGLTraining

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OpenGLTraining

My adventure to the world of OpenGL. The main goal of this project is to learn OpenGL specification and the basic parts of graphics programming. Here you can find implementations of many common algorithms, which is used in graphics programming. To run this program you should have Visual Studio with preinstalled C/C++ MSVC compiler, all dependencies, which will be mentioned after the ToC.

Table of Contents

1. Start

  • First Square

  • Textures

  • Uniforms

  • Coordinate system

2. Lighting

  • Basic Lighting (Phong)

  • Materials

  • Lighting Map

  • Light Casters

  • Multiple Lights

3. Model loading

  • Assimp

4. Advanced OpenGL

  • Depth test

  • Stencil Test

  • Blending

  • Face culling

  • Framebuffer + PostEffects
    Sharpen Blur
    Edge Grayscale
    Inversion
  • Cubemap

  • Exploding

  • GeometryShader

  • Instancing

  • AntiAliasing

5. Advanced Lighting

  • Advanced Lighting (Blinn-Phong)

  • Gamma Correction

  • Shadow Mapping

  • Point Shadows

  • Normal Mapping

  • Parallax + Normal Mapping

  • HDR
    Without HDR With HDR
  • Bloom

  • Deferred shading

    GBuffer-Position GBuffer-Normal GBuffer-AlbedoSpecular
  • SSAO

6. PBR (Physically based rendering)

  • Basic Light
    Without HDR and Gamma correction With HDR and Gamma correction With maps
  • Diffusal and Specular Image Based Lighting
    Diffusal IBL Diffusal and Specular IBL

7. Addition

  • Debugging
    Debug messages callback RenderDocn
  • Text Rendering

Dependencies

  1. Glad
  2. Glfw
  3. Glm
  4. Stb
  5. Assimp
  6. Freetype

Apache 2.0 license synopsis

The Apache 2.0 license is a permissive free software license by the Apache Software Foundation. The 2.0 version requires preservation of the copyright notice and disclaimer. It also allows the user of the software the freedom to use the software for any purpose, modify it, and distribute the modified versions of the software, under the terms of the license, without concern for royalties.

Key points:

1. Keep the copyright notice.
2. Your software has to contain a copy of the Apache 2.0 license.
3. You are free to use, modify, distribute, and redistribute the software.
4. If you modify the code, you have to mention your modifications particularly.
5. If there is a text file called NOTICE, take time and read it. It contains further information about the specific parts of the license and the purpose of the software.
6. The NOTICE file has to be included in your software release too.

More information on about the Apache 2.0 license can be found here.

About

My adventure in the world of OpenGL

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published