How to build 3D web apps. Part 2. Architectures of 3D web apps

Features of 3D web applications

Architectures of 3D web apps
  • receive models from the user;
  • provide models for the user to download;
  • extract information from models;
  • transform or edit models;
  • display models;
  • allow users to interact with models.

Client-based applications

Client-based 3D web applications
Client-based 3D web applications

Client-server applications

This class of applications is the standard among web apps, since it ensures the benefits listed at the beginning of this post for both developers and users. It also allows one to do complex processing on powerful server hardware. The question then is: just how much processing should one delegate to the server? The key distinguishing factor here is whether or not the 3D visualization is done on the client or on the server.

Client-side 3D rendering

Client-server 3D web applications with client-side 3D rendering
Client-server 3D web applications with client-side 3D rendering

Server-side 3D rendering

When the 3D data to display is extremely large and the app is supposed to work on low-powered portable devices, sending models to the client to be rendered can become prohibitively expensive. In this case, it may be sensible to provide server-side rendering. In this scenario the client does not receive the 3D data and doesn’t manage its display — it only processes input and sends it to the server. The server routes the input to the 3D application running inside it and captures the rendered frames as a video. The server then encodes the video stream and sends it to the client to display to the user.

Client-server 3D web applications with server-side 3D rendering
Client-server 3D web applications with server-side 3D rendering

Summary

In this post, we’ve considered the 3 classes of architectures that can be implemented for various 3D web apps and the conditions when it makes sense to use them.

--

--

CAD Exchanger is a technology that enables data exchange in the multi-CAD world.

Love podcasts or audiobooks? Learn on the go with our new app.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
CAD Exchanger

CAD Exchanger

CAD Exchanger is a technology that enables data exchange in the multi-CAD world.