Documentation: http://www.aximo.games
Aximo Game Engine is written purly in C#.
- Free Open Source
- Platform independent (runs on Windows & Linux)
- Code first: everything is defined as code.
- Multi-Threaded
- Dynamic Mesh Creation and Manipulation
- Several Geometry Components.
- Phong-Lighning
- Multiple Lights with Shadows (Directional- and Pointlights)
- Deferred and forward shading (can be mixed)
- UI Components (Buttons, Panels, Labels, Performance Statistics)
- Custom Shaders / Materials
- Asset Management (incl. dynamic generation on-the-fly)
- Scene Management via Actors, Components and relative transformations.
- Audio (only global).
- Flexible Vertex data layout.
mkdir mkdir TestGame
cd TestGame
dotnet new console # create a new console application
dotnet add package AximousingAximo;usingAximo.Engine;usingAximo.Engine.Components.Geometry;usingAximo.Engine.Components.Lights;usingOpenToolkit.Mathematics;internalclassProgram{publicstaticvoidMain(string[]args){newMyApplication().Start();}}publicclassMyApplication:Application{protectedoverridevoidSetupScene(){// it's not required, but we should have a least one light.SceneContext.AddActor(newActor(newPointLightComponent(){Name="StaticLight",RelativeTranslation=newVector3(2f,-1.5f,3.25f),}));// add a cubeSceneContext.AddActor(newActor(newCubeComponent(){Name="Box1",RelativeRotation=newVector3(0,0,0.5f).ToQuaternion(),RelativeScale=newVector3(1),RelativeTranslation=newVector3(0,0,0.5f),Material=newMaterial{Color=newVector4(1,0,1,1),},}));}}Run your application via dotnet run.
We are open for every kind of pull request. Response time is normally below 24 hours. You can also meet us in discord.
To clone this repository, (currently) you need git LFS, otherwise you need to download the Assets folder manually.
Don't forget the --recursive option:
git clone --recursive https://github.com/AximoGames/AxEngine.git
Build from command line:
cd AxEngine
dotnet build
Run the shipped sample:
dotnet run -p Demo
Keymapping:
C -> Control Camera (default)
B -> Control Box1
L -> Control static light
J -> Move Camera to current controlling object
W, S, A, D -> Moving object in XY.
PageUp, PageDown -> Moving object in Z.
Arrows -> Rotate
ESC -> Quit