Skip to content

dooeverything/Renderer

Repository files navigation

3D Renderer

Features include

  1. 3D model loading (.fbx)
  2. 3D game engine like GUI
  3. 3D Gizmos (only translation)
  4. Outline for picking objects (by using jump flood algorithm)
  5. Shadow (Directional light)
  6. Load and apply texture to a game object
  7. Physically Based Rendering (PBR)
  8. 3D grid
  9. Marching Cube (Metaball)
  10. Terrain Editor (Sculpting and removing)
  11. SPH Simulation with Screen Space Rendering on GPU (Curvature Flow)
  12. Cloth Simulation (Small Steps in Physics Simulation, A Survey on Position Based Dynamics, 2017)

Libraries

  1. C++17
  2. OpenGL 3.3
  3. glm
  4. ImGui
  5. stb library

References

  1. Learn OpenGL
  2. Game Programming in C++
  3. Real Time Rendering, 4th Edition
  4. Computer Graphics Principles and Practice, 3/E
  5. Physically Based Rendering, 3rd edition

Mouse Inputs

  1. W/A/S/D to move
  2. Right mouse click to rotate the camera
  3. Left mouse click for object picking

Features to be added

  • Shadow (Point light)
  • Skeleton Animation
  • Environment mapping
  • enhanced fbx loader
  • Bump mapping
  • Marching Cube
  • Terrain
  • 3D gizmos for rotation and scale
  • Optimize SPH Simulation (multi-thread)
  • Cloth - Object Collision

About

3D renderer with opengl

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published