Skip to content

Commit f500911

Browse files
committed
2 parents 275e67c + a0fe76c commit f500911

File tree

1 file changed

+31
-21
lines changed

1 file changed

+31
-21
lines changed

README.md

Lines changed: 31 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,9 @@
1010
</div>
1111

1212

13-
SimulationFramework is a cross-platform library for creative coding, game development, and graphical apps built on .NET 7. Designed with simplicity and ease of use in mind, it cuts down on development time for quick and easy prototyping.
13+
SimulationFramework is a cross-platform library for creative coding, game development, and graphical apps built on .NET 8. Designed with simplicity and ease of use in mind, it cuts down on development time for quick and easy prototyping.
1414

1515
> [Join the discord server!](https://discord.gg/V4X2vTvV2G)
16-
>
17-
> And check out the [3d branch](https://github.com/Redninja106/simulationframework/tree/3d)!
1816
1917
### SimulationFramework is:
2018

@@ -40,16 +38,40 @@ With more on the way! See [Planned Features](https://github.com/Redninja106/simu
4038
4139
## Getting Started
4240

43-
> SimulationFramework requires .NET 7 and Visual Studio 2022.
41+
> SimulationFramework requires .NET 8 and Visual Studio 2022.
4442
45-
Create a new Console App using .NET7. Add the [SimulationFramework Nuget Package](https://www.nuget.org/packages/SimulationFramework/) (and it's desktop environment) using Visual Studio or the .NET CLI via the following commands:
43+
Create a new Console App using .NET 8. Add the [SimulationFramework Nuget Package](https://www.nuget.org/packages/SimulationFramework/) (and its desktop environment) using Visual Studio or the .NET CLI via the following commands:
4644

4745
```
4846
dotnet add package SimulationFramework
4947
dotnet add package SimulationFramework.Desktop
5048
```
5149

52-
Next, create two methods `OnInitialize` and `OnRender` and pass them to `Simulation.Create`. To start the simulation, call `Simulation.Run()`:
50+
Next, either inherit simulation and implement the abstract methods or create two methods `OnInitialize` and `OnRender` and pass them to `Simulation.Create`. To start the simulation, call `Simulation.Run()`:
51+
```cs
52+
// Program.cs
53+
using SimulationFramework;
54+
using SimulationFramework.Drawing;
55+
56+
class Program : Simulation
57+
{
58+
public static void Main()
59+
{
60+
Start<Program>();
61+
}
62+
63+
public override OnInitialize()
64+
{
65+
66+
}
67+
68+
public override OnRender(ICanvas canvas)
69+
{
70+
71+
}
72+
}
73+
```
74+
OR
5375
```cs
5476
// Program.cs
5577
using SimulationFramework;
@@ -80,17 +102,7 @@ Running the program will result in a blank window:
80102
Next, to start drawing. The `ICanvas` provided in `OnRender()` contains a variety methods for drawing.
81103

82104
```cs
83-
// Program.cs
84-
using SimulationFramework;
85-
using SimulationFramework.Drawing;
86-
87-
Simulation mySimulation = Simulation.Create(OnInitialize, OnRender);
88-
mySimulation.Run();
89-
90-
void OnInitialize(AppConfig config)
91-
{
92-
}
93-
105+
// ...
94106
void OnRender(ICanvas canvas)
95107
{
96108
// don't forget to clear the screen each frame!
@@ -110,7 +122,7 @@ Here is what that should look like:
110122

111123
To see more, [go to the wiki](https://github.com/Redninja106/simulationframework/wiki) or [join the discord server](https://discord.gg/V4X2vTvV2G).
112124

113-
## How-To Overview
125+
## A Quick Overview
114126

115127
Most SimulationFramework features are exposed through static classes. Here is a list if the most important ones:
116128
- `Mouse`: provides mouse input
@@ -121,7 +133,5 @@ Most SimulationFramework features are exposed through static classes. Here is a
121133
- `Window`: configures the simulation's window
122134

123135
## Planned Features
124-
- **C# shaders**: .NET CIL to HLSL/GLSL compilation to write any kind of shader in plain C# (or any other .NET language!).
125-
- **Dependency Free**: SimulationFramework won't depend on any other nuget packages or have any native dependencies (except imgui, which will be optional).
126-
- **3D Drawing**: A performant and cross-platform 3D graphics API. (see the '3d' branch)
136+
- **C# shaders**: .NET CIL to HLSL/GLSL compilation to write any kind of shader in plain C# (or any other .NET language!). (Coming in v0.3.0, alpha out now!)
127137
- **WebAssembly and Mobile Support**: Any simulations you write will run on a web browser or mobile device, no code changes needed.

0 commit comments

Comments
 (0)