OmegaEngine is a general-purpose 3D graphics for .NET Framework and DirectX 9. The engine is designed to be light-weight, modular and gameplay-agnostic. The complementary OmegaGUI, AlphaFramework and AlphaEditor help you build games using the OmegaEngine.
$ dotnet add package OmegaEngine
OmegaEngine is a general-purpose 3D graphics for .NET Framework and DirectX 9. The engine is designed to be light-weight, modular and gameplay-agnostic. It is designed to be:
The complementary OmegaGUI, AlphaFramework and AlphaEditor help you build games using OmegaEngine.
Create a WinForms project targeting .NET Framework 4.7.2 or newer with the platform set to x86.
Add a reference to the NuGet package OmegaEngine. Then add the following code to render a textured sphere:
var engine = new Engine(this, new EngineConfig { TargetSize = ClientSize });
var scene = new Scene
{
Positionables = { Model.Sphere(engine, XTexture.Get(engine, "flag.png")) }
};
var view = new View(scene, new ArcballCamera()) { BackgroundColor = Color.CornflowerBlue };
engine.Views.Add(view);
Paint += delegate { engine.Render(); };
| Package | Description |
|---|---|
| OmegaEngine | 3D graphics rendering based on DirectX 9. |
| OmegaEngine.Foundation | Rendering-agnostic infrastructure like storage and data structures. |
| OmegaGUI | GUI toolkit with XML file format und Lua scripting. |
| AlphaFramework.World | Basis for engine-agnostic models of game worlds. |
| AlphaFramework.Presentation | Basis for presenters that visualize game worlds using the engine. |
| AlphaEditor | Toolkit for creating editors for games based on AlphaFramework. |
You additionally need to ensure these native dependencies are installed or bundled with your application:
The project templates help you create C# projects that use OmegaEngine, OmegaGUI and AlphaFramework.
Frame of Reference is the official sample game for OmegaEngine. It is included in OmegaEngine source code but is not a part of the released library binaries.
| Path | Description |
|---|---|
\build.ps1 | A script that compiles the entire project |
\src\ | The actual source code in a Visual Studio project |
\shaders\ | Source code for HLSL shaders |
\templates\ | Source code for project templates |
\doc\ | Files for creating source code documentation |
\content\ | Game content files (.X files, PNGs, ...) |
\artifacts\Debug\ | The compiled debug binaries (created by \src\build.ps1 Debug) |
\artifacts\Release\ | The compiled release binaries (created by \src\build.ps1 Release) |
\artifacts\Templates\ | The packaged templates (created by \templates\build.ps1) |
\artifacts\Documentation\ | The compiled source code documentation (created by \doc\build.ps1) |