A Glimpse of technical background of unity3d WebGL:
Unity support dozen of platform for application deployment and
one of them is WebGL. WebGL allows you to run your content on a web.
Technically, WebGL is an API that renders graphics in web browser. Currently, it has two supported version of
WebGL 1.0 and 2.0. Remember WebGL 1.0 roughly matches the functionally of OpenGL
ES 2.0 while WebGL 2.0 roughly matches the functionally of OpenGL ES 3.0.
Unity WebGL Structure
Figure 1 Unity WebGL consist of these components.
Unity WeGL – How it Works? :
WebGL Technical Terms:
C# Scripts: Your code in Unity
IL2CPP: Intermediate Language to C++ aka IL2CPP is a
unity developed backend used to build proejcts for different platform. Beside
IL2CPP you can also use Mono. IL2CPP convert IL code to C++ then create a native binary file like
.exe or .apk etc
Emscripten: is an open-source compiler toolchain for
WebAssembly. It allows to compile C/C++ code (or any LLVM based language) into
web assembly.
OpenGL: stands for Open Graphic Library. It is a
cross-platform, cross-language API for rendering 2D/3D vector graphics. The API is typically used to interact with a GPU
(graphics processing unit), to achieve hardware-accelerated
rendering.
OpenGL ES: is made for embedded systems like
smartphones
Remember Unity WebGL is not currently supported on Mobile
devices.
Unity WebGL useful Links:
1. WebGL Browser Compatibility:
https://docs.unity3d.com/2020.2/Documentation/Manual/webgl-browsercompatibility.html
2.
WebGL Graphics: https://docs.unity3d.com/2020.2/Documentation/Manual/webgl-graphics.html
3.
Unity WebGL
issues/Solution: https://researchandprogram.blogspot.com/2020/01/unity-webgl-issues-and-solutions.html
4.
Web Assembly: https://blogs.unity3d.com/2018/08/15/webassembly-is-here/?_ga=2.156094713.33700231.1608525672-1368490717.1540035490
5.
IL2CPP Introduction:
https://blogs.unity3d.com/2015/05/06/an-introduction-to-ilcpp-internals/
6.
Emscripten: https://emscripten.org/docs/introducing_emscripten/about_emscripten.html
7.
OpenGL vs OpenGL ES: https://stackoverflow.com/questions/4519264/opengl-es-versus-opengl#:~:text=The%20main%20difference%20between%20the,(using%20a%20compatibility%20profile).
0 Comments