Skip to content

Commit 800b6c7

Browse files
Updated readme
1 parent 8ccdc9d commit 800b6c7

11 files changed

Lines changed: 154 additions & 55 deletions

File tree

.gitattributes

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# Auto detect text files and perform LF normalization
2+
* text=auto

CODE_OF_CONDUCT.md

Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
# Contributor Covenant Code of Conduct
2+
3+
## Our Pledge
4+
5+
In the interest of fostering an open and welcoming environment, we as
6+
contributors and maintainers pledge to making participation in our project and
7+
our community a harassment-free experience for everyone, regardless of age, body
8+
size, disability, ethnicity, sex characteristics, gender identity and expression,
9+
level of experience, education, socio-economic status, nationality, personal
10+
appearance, race, religion, or sexual identity and orientation.
11+
12+
## Our Standards
13+
14+
Examples of behavior that contributes to creating a positive environment
15+
include:
16+
17+
* Using welcoming and inclusive language
18+
* Being respectful of differing viewpoints and experiences
19+
* Gracefully accepting constructive criticism
20+
* Focusing on what is best for the community
21+
* Showing empathy towards other community members
22+
23+
Examples of unacceptable behavior by participants include:
24+
25+
* The use of sexualized language or imagery and unwelcome sexual attention or
26+
advances
27+
* Trolling, insulting/derogatory comments, and personal or political attacks
28+
* Public or private harassment
29+
* Publishing others' private information, such as a physical or electronic
30+
address, without explicit permission
31+
* Other conduct which could reasonably be considered inappropriate in a
32+
professional setting
33+
34+
## Our Responsibilities
35+
36+
Project maintainers are responsible for clarifying the standards of acceptable
37+
behavior and are expected to take appropriate and fair corrective action in
38+
response to any instances of unacceptable behavior.
39+
40+
Project maintainers have the right and responsibility to remove, edit, or
41+
reject comments, commits, code, wiki edits, issues, and other contributions
42+
that are not aligned to this Code of Conduct, or to ban temporarily or
43+
permanently any contributor for other behaviors that they deem inappropriate,
44+
threatening, offensive, or harmful.
45+
46+
## Scope
47+
48+
This Code of Conduct applies both within project spaces and in public spaces
49+
when an individual is representing the project or its community. Examples of
50+
representing a project or community include using an official project e-mail
51+
address, posting via an official social media account, or acting as an appointed
52+
representative at an online or offline event. Representation of a project may be
53+
further defined and clarified by project maintainers.
54+
55+
## Enforcement
56+
57+
Instances of abusive, harassing, or otherwise unacceptable behavior may be
58+
reported by contacting the project team at clibequilibrium@gmail.com. All
59+
complaints will be reviewed and investigated and will result in a response that
60+
is deemed necessary and appropriate to the circumstances. The project team is
61+
obligated to maintain confidentiality with regard to the reporter of an incident.
62+
Further details of specific enforcement policies may be posted separately.
63+
64+
Project maintainers who do not follow or enforce the Code of Conduct in good
65+
faith may face temporary or permanent repercussions as determined by other
66+
members of the project's leadership.
67+
68+
## Attribution
69+
70+
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
71+
available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
72+
73+
[homepage]: https://www.contributor-covenant.org
74+
75+
For answers to common questions about this code of conduct, see
76+
https://www.contributor-covenant.org/faq

Equilibrium.sln

Lines changed: 0 additions & 34 deletions
This file was deleted.

README.md

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
# EquilibriumEngine-CSharp
2+
3+
Equilibrium Engine is a data-oriented and multi-threaded **C#** game engine that takes advantage of **ECS** pattern followed by **Hot-Reloading** of your libraries which allows you to quickly iterate on different aspects of your projects.
4+
5+
<p align="center">
6+
<img src="docs/home.png">
7+
</p>
8+
9+
## Features
10+
#### clang is the primarily supported compiler
11+
12+
* [Arch C# Entity Component System](https://github.com/genaray/Arch)
13+
* Forward Shading. [PBR & HDR Tonemapping](https://github.com/pezcode/Cluster)
14+
* [AssimpNet](https://bitbucket.org/Starnick/assimpnet/src/master/) model loading
15+
* **NET 7.0** API using **C++** libraries via PInvoke such as SDL, [BGFX](https://github.com/bkaradzic/bgfx) & [imgui](https://github.com/ocornut/imgui)
16+
17+
#### Hot-Reloading of scripts
18+
19+
20+
#### Entity inspector
21+
22+
<p align="center">
23+
<img src="docs/inspector.png">
24+
</p>
25+
26+
## Usage
27+
#### To get started on Windows
28+
* [Get VSCode](https://code.visualstudio.com/)
29+
* [Install C# Extension](https://marketplace.visualstudio.com/items?itemName=ms-dotnettools.csharp)
30+
* ```code .```
31+
* Open command pallete ```Ctrl+Shift+P``` and select ```.NET Restore All Project```
32+
* ```Hit F5 to start debugging```
33+
34+
*You might need to install [NET 7.0 SDK](https://dotnet.microsoft.com/en-us/download/dotnet/7.0)*
35+
36+
## Screenshots
37+
38+
<p align="center">
39+
<img src="docs/city.png">
40+
</p>
41+
42+
<p align="center">
43+
<img src="docs/room.png">
44+
</p>
45+

docs/city.png

3.44 MB
Loading

docs/home.png

4.56 MB
Loading

docs/inspector.png

97.3 KB
Loading

docs/room.png

4.64 MB
Loading

equilibrium/Modules/Boostrap.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ List<ISystem> IModule.Initialize(World world)
1010
return new List<ISystem>
1111
{
1212
new BootstrapSystem(world),
13+
new MoveLightsSystem(world),
1314
};
1415
}
1516
}
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
2+
using System.Numerics;
3+
using Arch.Core;
4+
using Arch.System;
5+
using Arch.System.SourceGenerator;
6+
using Equilibrium.Components;
7+
using MathNet.Numerics;
8+
9+
namespace Equilibrium.Systems;
10+
11+
public partial class MoveLightsSystem : BaseSystem<World, float>, IGameSystem
12+
{
13+
public MoveLightsSystem(World world) : base(world) { }
14+
15+
[Query]
16+
[All<PointLight>]
17+
private void MoveLights(ref PointLight light)
18+
{
19+
float angularVelocity = (float)Trig.DegreeToRadian(0.0f);
20+
float angle = angularVelocity * Data;
21+
22+
Matrix4x4 matrix = Matrix4x4.Identity;
23+
matrix *= Matrix4x4.CreateFromAxisAngle(new Vector3(0, 1, 0), angle);
24+
Vector4 position = new Vector4(light.Position, 1.0f);
25+
position = Vector4.Transform(position, matrix);
26+
27+
light.Position = new Vector3(position.X, position.Y, position.Z);
28+
// light.Flux = new Vector3(255, 0, 0);
29+
}
30+
}

0 commit comments

Comments
 (0)