• This repository has been archived on 14/Feb/2022
  • Stars
    star
    135
  • Rank 268,182 (Top 6 %)
  • Language
    JavaScript
  • License
    MIT License
  • Created over 5 years ago
  • Updated over 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

.NET binding for WebGL through WebAssembly

Update November 13th, 2020

After noticing performance issues with this approach, we have moved to Emscripten's EGL one through static linking –which has resulted much faster–, using our existing OpenGL.NET binding. Wave Engine 3.0 preview 4 already contains these changes.

Our efforts will go in this direction and, surely, we will not maintain this repository as much as before. We are also working on WebGPU.NET, as the replacement for everything WebGL. However, WebGL.NET is still valid whenever performance is not the key (this article draws a red line on it).

WebGL.NET

Build Status Run Tests NuGet

.NET binding for WebGL through WebAssembly. See the samples running here.

If you want to jump in quickly, Your first WebGL.NET app will guide you step by step.

Installation instructions

Apart from adding the NuGet package, make a local copy of:

  • this packages folder, which contains mandatory NuGets from Mono still not published in nuget.org; and
  • this NuGet.config along your SLN/CSPROJ

Features

  • WebGL 1 & 2 support
  • API C#-ified to make .NET Developers feel at home

Who's using it?

Apart from serving Wave Engine 3.0 for the Web, it's being used in some other really nice projects, such like:

Debugging

Run this in browser's Console to monitor how many bridged objects there are in such moment:

BINDING.mono_wasm_object_registry

Thanks

  • @kjpou1, for your PRs improving performance overall, along with nice comments on how stuff work underneath

More Repositories

1

Vulkan.NET

This repository contains low-level bindings for Vulkan used in Evergine.
C#
199
star
2

Samples

This repository contains all the official samples of Evergine.
121
star
3

Samples-2.5

A collection of Wave engine sample projects
C#
112
star
4

WebGPU.NET

This repository contains low-level bindings for WebGPU used in Evergine.
C#
79
star
5

EverSneaks

This showcase demonstrates the seamless integration of MAUI and Evergine
C#
51
star
6

ImGui.Net

This repository contains a thin low-level autogenerated bindings for Imgui in C# used by Evergine
C#
46
star
7

Components-2.5

To make the creation of custom components a little easier, we will publish the source code of some of the internal components
C#
44
star
8

OpenGL.NET

This repository contains low-level bindings for OpenGL and OpenGLES used in Evergine.
C#
41
star
9

MixedRealityToolkit

Evergine.MRTK provides a set of components and features to accelerate cross-platform XR application development in Evergine.
C#
38
star
10

QuickStarters-2.5

The collection of University Tour quickstarters
C#
29
star
11

UIWindowSystemsDemo

This demo shows how you can integrate Evergine in an application using the WindowSystem.
C#
28
star
12

LowLevelAPIDemo

Evergine Low-Level API samples.
C#
18
star
13

RenderDoc.NET

This repository contains low-level bindings for RenderDoc used in Evergine for .NET standard and .NET 6.0.
C#
18
star
14

OpenXR.NET

This repository contains low-level bindings for OpenXR used in Evergine
C#
17
star
15

PostProcessing

This demo scene uses Evergine with .NET 6 support. The new Post-processing graph is used with several effects.
C#
15
star
16

Feedback

Feedback, feature requests, and bug reports for Evergine.
14
star
17

Extensions-2.5

External sdk integrated in WaveEngine
C#
12
star
18

dotnet-wasm-samples

C#
11
star
19

DigitalTwin-Demo

C#
10
star
20

Automotive-Demo

This demo was created by Evergine.
C#
6
star
21

Raytracing

This Path Tracer demo was created with Evergine.
C#
5
star
22

SmartCityDemo

C#
4
star
23

AreaLightsDemo

This demo uses the new Evergine Area Light capabilities to create special soft light effects.
C#
4
star
24

AzureRemoteRendering

This repository contains an extension to use Azure Remote Rendering in Evergine.
C#
3
star
25

Materials-2.5

The complete source code for HLSL and GLSL of the defaults shaders.
C#
3
star
26

ParticlesSample

Evergine GPU Particle system sample.
C#
3
star
27

XRSample

C#
2
star
28

WaveEngine.Sponza

This project is a WaveEngine project to render the Sponza glTF model
C#
2
star
29

Series-2.5

Source code for all the video series of our video tutorials.
C#
2
star
30

wasm-native-libraries

Shell
2
star
31

VehiclePhysicsSample

This sample shows how you can use Evergine to perform vehicle physics simulations that interact with other physics elements.
C#
2
star
32

NativeLibraryLoader

A lightweight cross-platform native library loader for NET.
C#
2
star
33

WebWorkshop

HLSL
2
star
34

spine-runtimes

2D skeletal animation runtimes for Spine.
C#
2
star
35

NeRF-Demo

This Neural Radiance field (NeRF) demo was create with Evergine and use Nvidia Instant-NGP.
C#
2
star
36

DllRegister

Helpers to load native libraries in Net projects
C#
1
star
37

ImGui-Demo

This ImGui demo was created with Envergine
C#
1
star
38

IntelArcA770

Samples running deep learning models on Intel GPU Arc A770
Python
1
star