💡Understanding this Project

3D Engine Class Diagram

Solution

The 3D Engine contains three Projects:

  • 3DEngine (Package)

  • Editor

  • Engine

You can compile the 3DEngine (Package) for the Editor and the Engine as a standalone.

NuGet Package

You can also only get the Engine with the NuGet Package Manager and create applications using the 3DEngine (w/o Editor) in a new project and implement all features via code.

dotnet new console -n Project
cd Project
dotnet add package 3DEngine
dotnet add package Costura.Fody

Engine usage:

sealed class Program
{
    [STAThread]
    private static void Main() =>
        new Engine.Program().Run(true);
}

Use the Engine Core to get to the Scene System.

pageCore

Project Setup:

<Project Sdk="Microsoft.NET.Sdk">

	<PropertyGroup>
		<OutputType>WinExe</OutputType>
		<TargetFramework>net7.0-windows10.0.19041.0</TargetFramework>
		<ImplicitUsings>enable</ImplicitUsings>
		<Nullable>enable</Nullable>
		<SatelliteResourceLanguages>en</SatelliteResourceLanguages>
		<PlatformTarget>x64</PlatformTarget>
		<PublishAot>true</PublishAot>
		<ImplicitUsings>enable</ImplicitUsings>
	</PropertyGroup>

	<ItemGroup>
	  <None Remove="FodyWeavers.xml" />
	</ItemGroup>

	<ItemGroup>
		<PackageReference Include="3DEngine" Version="1.0.1" />
		<PackageReference Include="Costura.Fody" Version="5.7.0">
		  <PrivateAssets>all</PrivateAssets>
		</PackageReference>
	</ItemGroup>

</Project>

Also set the Files inside the Assets Folder to "CopyIfNewer" in the Properties Panel inside Visual Studio, so it is included in the Build Folder. This will be obsolete in the Future by the USD Format.

Last updated