PZerua / Vonsai

A toy engine on top of OpenGL4 using C++17

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Vonsai logo

VONSAI Renderer

"Three monkeys screenshot"

Done

  • Allow multi-window with independent contexts
  • Input system exposed to the user Unity-Like
  • Lights loaded as UBO
  • Efficient UBO updating using glBufferSubData and caching with unordered_map
  • Cached uniforms locations.
  • Add ASSIMP to support many data filetypes; specially FBX, DAE, DXF, BVH and glTF.

Work In Progress

  • Material abstraction.
  • Define draw workflow and responsibilities between Renderable, Shader and Texture.

Future plans

  • Entitiy Component System; a.k.a. Data oriented design.
  • Indirection layer for gpu render to allow the use of OpenGL, Vulkan, DX11/12 or Metal transparently.

Needs a revision

  • BindGuard for ensure to un/bind a resource based on scope, following RAII idiom.
    • Issues when a pointer-copy is passed.

About

A toy engine on top of OpenGL4 using C++17

License:MIT License


Languages

Language:C++ 98.3%Language:GLSL 1.2%Language:CMake 0.5%