Skip to content

gummybears/opengl_with_crystal

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

57 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OpenGL 3D tutorial

Game engine

Based on the youtube video tutorials

https://www.youtube.com/watch?v=VS8wlS9hF8E&list=PLRIWtICgwaX0u7Rf9zkZhLoLuZVfUksDP

and inspired by the game engine written by Joel

https://github.com/neutrinog/prism

Contents

  • lesson 01 display
  • lesson 02 VAO's and VBO's
  • lesson 03 rendering with index buffers
  • lesson 04 introduction to shaders
  • lesson 05 coloring using shaders
  • lesson 06 texturing
  • lesson 07 matrices and uniform variables
  • lesson 08 model, view and projection matrix
  • lesson 09 OBJ file format
  • lesson 10 loading 3D models
  • lesson 11 per pixel lighting
  • lesson 12 specular lighting, optimize render process (part 1)
  • lesson 13 optimize render process (part 2)
  • lesson 14 simple terrain
  • lesson 15 transparency and fake lighting
  • lesson 16 fog
  • lesson 17 multi texturing
  • lesson 18 player movement
  • lesson 19 third person camera
  • lesson 20 mipmapping
  • lesson 21 terrain height maps
  • lesson 22 terrain collision detection
  • lesson 23 texture atlases
  • lesson 24 rendering GUIs
  • lesson 25 multiple lights
  • lesson 26 point lights
  • lesson 27 skybox
  • lesson 28 day/night
  • lesson 29 mouse picking

To run the code for a lesson, go to corresponding directory. Make sure the script build.sh is executable and then execute the following commands from your terminal

$ shards install --ignore-crystal-version
$ ./build.sh
$ ./a.out

The build.sh script will compile and link a lesson and produces the executable a.out

Ray marching

Based on the youtube video tutorials The Art of Code

https://www.youtube.com/playlist?list=PLGmrMu-IwbgtMxMiV3x4IrHPlPmg7FD-P

Contents

  • lesson 01, basic ray marching algorithm
  • lesson 02, basic shapes, dynamic recompiling of shaders
  • lesson 03, basic operators
  • lesson 04, boolean operators (union, subtract, intersect) with smooth minimum
  • lesson 05, added a simple preprocessor to include shader files

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages