CG, Metaverse & Gaming Standards

3D Engine Softwares

OpenGL vs WebGL vs WebGPU

OpenGL:

Cross-platform, graphics API (Application Programming Interface) that can be used for both 2D and 3D graphics used in various applications, including desktop software, video games, and scientific visualization. Provides excellent performance and control, making it suitable for resource-intensive applications. Commonly used for desktop applications, video game development, and scientific simulations.

WebGL:

WebGL is a JavaScript API that allows 3D and 2D graphics to be rendered within web browsers. It's designed for web-based applications and can run in any modern web browser without the need for additional plugins. While WebGL offers decent performance, it operates within the constraints of the browser and may not be as performant as native OpenGL. WebGL is commonly used for web-based games, interactive 3D visualizations, and other web applications that require 3D graphics.

WebGPU:

WebGPU is graphics API designed for modern web applications, and it's intended as a successor to WebGL. Like WebGL, WebGPU is aimed at web-based applications and runs in web browsers. WebGPU offers improved performance and better control over the GPU compared to WebGL, making it more suitable for demanding applications. WebGPU is expected to be used for web-based games, simulations, augmented and virtual reality experiences, and other advanced web graphics applications.

The choice between these technologies depends on the platform and the specific requirements of your project.

GPU

Unity

Unity is one of the most widely used 3D engines, known for its versatility and accessibility. It's used for developing games and interactive experiences across various platforms, including PC, mobile, console, and VR.

Difficulty: 5/10

Editor: Blender Foundation

Website: https://www.blender.org/

Documentation:

Unreal Engine

Developed by Epic Games, Unreal Engine is renowned for its cutting-edge graphics and powerful tools. It's commonly used for creating high-quality games, architectural visualizations, and virtual productions.

WebGL

ThreeJs

is a popular JavaScript library used for creating 3D graphics and interactive experiences on the web. It simplifies the process of working with WebGL, a low-level API for rendering 3D graphics in web browsers, making 3D web development more accessible. Three.js provides a wide range of features for 3D rendering, including geometry creation, lighting, camera controls, and animation, making it a valuable tool for web developers and designers interested in adding 3D elements to their websites and applications.

BabylonJs

is a powerful open-source JavaScript framework for creating 3D and WebGL-based games, simulations, and interactive 3D applications directly in web browsers. It offers a comprehensive set of features and tools for 3D development on the web, including real-time rendering, physics simulations, and support for VR (Virtual Reality) and AR (Augmented Reality) experiences. Babylon.js is known for its performance and ease of use, making it a popular choice for web developers and game developers looking to bring immersive 3D experiences to the web platform.

Spline

is a web-based design and 3D animation platform that simplifies the creation of 3D content and animations. It's known for its user-friendly interface and real-time collaboration features. Spline enables designers and artists to work in a 3D environment without the complexities of traditional 3D software. It's used for creating interactive 3D web experiences, product visualizations, games, and animations, all within a web browser. Spline is particularly appealing for those looking to design and prototype in 3D with ease and efficiency.

End of lesson