1

Minha Game Engine 3D

Comecei este projeto há quase um ano e venho trabalhando nele desde então. A ideia inicial era criar uma game engine e quem sabe um editor (essa parte fica para a próxima).

Video demo da game engine

img

O principal objetivo sempre foi aprender. O projeto começou a partir do curso da Udemy Game Engine Development with C++ and OpenGL, do Alex Kulbitsky, que usei como ponto de partida para entender os fundamentos de uma engine. A partir daí, fui expandindo o projeto por conta própria, criando novos sistemas, refatorando partes da arquitetura e buscando otimizar o que já existia.

  • Canvas de UI e widgets como Text, Button, Image, Scroll e Dropdown
  • Cascade Shadow Mapping
  • Skeletal Animation
  • Sistema de física com detecção e resposta a colisões
  • Prefabs
  • Pré-processador de shaders
  • Camada de abstração gráfica com suporte a OpenGL 3.3 e OpenGL ES 3.0
  • Pós-processamento, incluindo Tone Mapping, FXAA, Bloom e SSAO
  • Gerenciamento de assets
  • Frustum Culling
  • Python Scripting
  • Carregamento de modelos nos formatos OBJ e glTF, com possibilidade de utilizar o Assimp ampliando o suporte a outros formatos como FBX
  • Batching e Instancing
  • Suporte multiplataforma para Windows, Linux, macOS e WebGL

Também venho trabalhando no suporte para Android e iOS. A engine foi projetada de forma que a parte de "Windowing" e "Event Handling" possa ser substituída sem grandes mudanças no restante do código. Atualmente utilizo GLFW, mas a ideia é futuramente implementar essas camadas diretamente sobre as APIs nativas de cada plataforma, utilizando UIKit/UIView no iOS e Android NDK/ANativeWindow no Android, ou simplesmente utilizar SDL3.

** Aprendi até se virar com blender **

Carregando publicação patrocinada...