Mirror of: https://codeberg.org/AlexCr4ckPentest/AEngine

AlexCr4ckPentest 85f1b17533 update AEngine lib version 1 ano atrás
3d-party 2fa6b862d3 update submodules 1 ano atrás
AEngine 58a61a9e90 new AESO parsing method, add light objects support 1 ano atrás
AEngine-editor 8a65f3b8ed update 1 ano atrás
assets 58a61a9e90 new AESO parsing method, add light objects support 1 ano atrás
img 0a163876b8 update editor preview 1 ano atrás
.gitignore 024a548e12 add gitignore 2 anos atrás
.gitmodules 1abbbb5d99 update: fix layers, fix new core functional 1 ano atrás
CMakeLists.txt 85f1b17533 update AEngine lib version 1 ano atrás
LICENSE 0d3aaf84fa Initial commit 2 anos atrás
README.md c5f703457d update: HW requrements, move ctor for Settings 1 ano atrás
build.py 9cced0c1a2 remove win32 build from build script 1 ano atrás

README.md

AEngine ([A]lexCr4ckPentest`s [e]ngine)

//  ╔═╗╔═╗┌┐┌┌─┐┬┌┐┌┌─┐                                          
//  ╠═╣║╣ ││││ ┬││││├┤                                           
//  ╩ ╩╚═╝┘└┘└─┘┴┘└┘└─┘                                          
//  ╔═╗╔═╗╔═╗╔═╗  ┌─┐┌─┐┌┬┐┌─┐  ┌─┐┌┐┌┌─┐┬┌┐┌┌─┐                 
//  ╠╣ ║ ║╚═╗╚═╗  │ ┬├─┤│││├┤   ├┤ ││││ ┬││││├┤                  
//  ╚  ╚═╝╚═╝╚═╝  └─┘┴ ┴┴ ┴└─┘  └─┘┘└┘└─┘┴┘└┘└─┘                 
//  ╦ ╦┬─┐┬┌┬┐┌┬┐┌─┐┌┐┌  ┬┌┐┌  ╔═╗    ┌─┐┌┐┌┌┬┐  ╔═╗┌─┐┌─┐┌┐┌╔═╗╦  
//  ║║║├┬┘│ │  │ ├┤ │││  ││││  ║  ++  ├─┤│││ ││  ║ ║├─┘├┤ │││║ ╦║  
//  ╚╩╝┴└─┴ ┴  ┴ └─┘┘└┘  ┴┘└┘  ╚═╝    ┴ ┴┘└┘─┴┘  ╚═╝┴  └─┘┘└┘╚═╝╩═╝

An attempt to write my own game engine in C++ and OpenGL


It is not a real game engine

I have no goal to write the fastest and richest engine, I just practice and learn 3D graphics technologies


Features

  • AEngine core:
    • OpenGL loader
    • Basic application functional
    • Basic input (keyboard and mouse)
    • Events
  • AEngine renderer:
    • VBO, IBO and VAO abstraction
    • Basic renderer API
    • 2D renderer
    • 2D textures
    • Cubemap textures
    • Shaders
    • Mesh
    • Offscreen rendering framebuffer
  • AEngine application:
    • Basic window management (create, resize, handle input, destroy)
    • Basic plugin manager

Minimal hardware requirements (may change in future)

  • CPU: 1 core, 2.0GHz
  • RAM: 128 MiB
  • GPU: 128 MiB VRAM, with OpenGL 4.2 support

Supported platforms

  • GNU/Linux: fully supported
  • BSD: fully supported
  • Win32 (Windows): NOT SUPPORTED
  • MacOS (Apple): NOT tested
  • IOS / Android: NOT supported

Editor preview

Preview

In plans

  • Vulkan API support for rendering
  • Plugin management system
  • Advanced renderer: shadows, SSAO, lighting, materials and PBR
  • Multithreading and major performace improvements (instancing)
  • Scripting support