/Kranker3D--old

I try to learn openGL by making a 3D engine.

Primary LanguageC++

Kranker3D - Simple rendering engine

cover

I am building this 3D rendering engine to learn openGL and make demoscene. I started with absolutely no knowledge about GPU programming, so it's quite possible that there's a lot of flaws in this project. I'm open to any kind of criticism that could help me improve !

If anyone's interested in mentoring me on this project, here's my twitter account : @KrankerApfel

This project use OpenGL, GLAD, glm, GLFW, ImGUI and stb. You can use CMake to compile it.

Architecture

Object Oriented architecture very similar to Unity.

Helping ressources

I'm learning from severals ressources, here the list below.

Folders structure

  • dll : store dlls :trollface: .
  • resources : store ressource files (.obj, .bmp, .wav etc...).
  • vendor : store dependencies
  • src : store all Kranker3D logic.
    • core : engine core scripts

      • io : store I/O helpers...
      • objects : engine object script as camera, scene etc...
      • rendering : store class of objects involved in rendering (shader, mesh etc..)
        • pipeline : store rendering logic (SDFs, raymarching etc..)
    • ui : store ui logic

Roadmap V 1.0

Core

  • Config file
  • File reader
  • Input class
  • Resources manager

Objects

  • Camera
  • Transform class
  • Object class
  • Obj loader
  • Skybox
  • Light

Rendering

  • Shader class
  • Mesh class
  • Material class
  • Texture
  • Renderer class

Materials

  • Phong
  • Lambert

UI

  • Window class
  • Pannel class
  • Property pannel
  • Scene tree pannel