Omegaengine
general-purpose 3D graphics for .NET Framework and DirectX 9
Install / Use
/learn @omegaengine/OmegaengineREADME

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:
- light-weight (compiled binaries with external libraries < 4MB),
- modular (use only the parts you need for your project) and
- gameplay-agnostic (also suitable for visualization projects, etc.).
The complementary OmegaGUI, AlphaFramework and AlphaEditor help you build games using OmegaEngine.
First steps
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(); };
NuGet packages
| 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:
Project templates
The project templates help you create C# projects that use OmegaEngine, OmegaGUI and AlphaFramework.
Sample game
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.
Source structure
| 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) |
