Skip to content

Latest commit

 

History

History
69 lines (50 loc) · 4.68 KB

File metadata and controls

69 lines (50 loc) · 4.68 KB

OmegaEngine

Build

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.

Documentation

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)