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

AlexCr4ckPentest 33b022d322 update hai 1 ano
3d-party bb3d4d6c93 remove win32 support hai 1 ano
AEngine 33b022d322 update hai 1 ano
AEngine-editor 33b022d322 update hai 1 ano
assets 33b022d322 update hai 1 ano
img 7122410e87 remove unused file hai 1 ano
.gitignore 024a548e12 add gitignore hai 1 ano
.gitmodules 1abbbb5d99 update: fix layers, fix new core functional hai 1 ano
CMakeLists.txt bb3d4d6c93 remove win32 support hai 1 ano
LICENSE 0d3aaf84fa Initial commit hai 1 ano
README.md bb3d4d6c93 remove win32 support hai 1 ano
build.py 9cced0c1a2 remove win32 build from build script hai 1 ano

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: 64 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