The rapid developing of digital content industry calls for online model libraries. For the efficiency, user experience, and reliability merits of the model library, this paper designs a Web 3D model library system based on a cloud computing platform. Taking into account complex models, which cause difficulties in real-time 3D interaction, we adopt the model simplification and size adaptive adjustment methods to make the system with more efficient interaction. Meanwhile, a cloud-based architecture is developed to ensure the reliability and scalability of the system. The 3D model library system is intended to be accessible by online users with good interactive experiences. The feasibility of the solution has been tested by experiments.
It is generally known that the design of 3D virtual scene is the foundation for the production of animations and games, and 3D models are the most important components to construct 3D scenes. Although there have been some quick 3D model construction method [
Functions as browsing, storage, sharing, and reusing of models are provided by these web-based online 3D model libraries. Users can reuse models, save their time of modeling, and improve their efficiency of production with the application of 3D model libraries. Therefore, the construction of real-time 3D interactive, full-featured, and reliable system is the trends of the development of 3D model library.
At the same time, image-based proxy is usually used in most of the existing online 3D model libraries to display 3D model, which can only provide limited 3D information and lacking of human-computer interaction. Lately, the panorama technology [
Web-based 3D model library requires users to contribute new models to the library, while it provides users with model sharing services, which is a typical Web 2.0 pattern. Cloud computing is a fresh paradigm for Web 2.0 that will replace the current dominant web application. So we deploy our Web 3D model library applications onto the cloud, for the advantages of a cloud platform like the scalability of computing and storage, load balancing, failover, and on demand service.
In this paper, a Web 3D model library is designed and implemented based on the cloud computing platform. And a front-end efficient Web 3D and back-end reliable cloud computing solutions are proposed. The paper makes the following contributions.
Related technologies used in this paper mainly include Web 3D technology and cloud computing technology.
There have been a large number of Web 3D systems and solutions over the last 20 years. Recently, there have been broadly two categories of Web 3D technologies: one is the browser plug-in-based approach, and the other is a small number of systems, which are trying to integrate the rendering system directly into the browser [
In developing content rich Internet applications, Adobe Flash is widely used as a multimedia platform, and it has become a popular solution used to add animation and interactivity to web pages. Flash supports 3D transformations and simulates 3D effects by displaying 2D vector shapes on the screen. According to Adobe, Flash Player has reached over 99% of the Internet users. Therefore, the flash-based technologies are the mainstream Web 3D solution.
Away3D is an open-source 3D graphics engine, written for the Adobe Flash platform in ActionScript 3, and runs in modern web browsers that utilize Adobe Flash Player. It can be used to render 3D models and perform various other 3D computations. It supports hierarchical object transformation with features such as translation, rotation and scaling, rendering of bitmap textures, and real-time lighting effects [
Other frameworks as Microsoft Silverlight and Oracle Java 3D are also used for developing rich Internet applications in recent years. However, users of Silverlight or Java 3D are much less compared with those using Adobe Flash.
The WebGL solution does not rely on a plug-in and it is a cross-platform web standard for low-level 3D graphics APIs based on OpenGL ES 2.0, exposed through the HTML5 Canvas element as Document Object Model interfaces [
X3D is an XML-based 3D computer graphics file [
COLLAborative Design Activity (COLLADA) is an intermediate format with an open standard XML schema whose primary goal is to represent rich data in multiple forms, to exchange digital assets among various graphics software applications [
In recent years, the cloud computing paradigm is becoming more popular for hosting applications, as it provides businesses with pay-as-you-go computing and storage services [
In this paper, Amazon Web Services (AWSs) [
A classic three-layer architecture is adopted in the Web 3D model library system, that is, data layer, business layer, and presentation layer, as shown in Figure
The system architecture of Web 3D model library.
The data layer deployed in Amazon S3 stands for model files storage. S3 is composed of buckets that are geographically distributed across Amazon’s multiple data centers in different locations. So S3 is an extremely reliable persistent storage system for files storage. When the storage capacity of model files is larger than expectation, storage expansion service of S3 can be easily requested.
Web application servers and models metadata database are deployed on Amazon EC2 that mainly provides business logic of the system, such as user’s requests, conversion of model formats, and model’s retrieval. Amazon EC2 allows users to deploy scalable resources on demand.
The presentation layer in the user’s browser provides 3D model display and interaction, model uploading and downloading functions, and so forth.
This paper will focus on how the system supports 3D model display and interaction, including model format conversion, model mesh simplification, model size adaptive adjustment, and the design of model browser.
The most widespread model files in our model library are 3DS Max and Maya formats. However, these two model formats cannot be rendered in the Away3D engine directly. So in this paper, we design a model format conversion service on the server side, and this service is for converting various model formats into the COLLADA format.
When models are uploaded to the system, the model format conversion service will first analyze the format of models and then move the COLLADA files into the “COLLADA” folder, while it moves models of other formats into the “NON-COLLADA” folder. The service will get files in the “NON-COLLADA” folder one by one and open it in the relevant modeling software which has installed COLLADA plug-in, and then the format conversion command script is executed. On the server side, the model format conversion service runs periodically. At last, the converted files will be moved to the “COLLADA” folder. Away3D engine will load and render the COLLADA model file for the model’s display and interaction.
Furthermore, taking into account complex models may be difficult to real-time 3D interaction, so we also implement a model simplification service on the server side. An iterative decimation algorithm [
When models are just loaded onto the scene, some are too large to be contained by the screen while others are so small that customers have to pay great efforts to zoom them up. To solve this problem, we have deeply researched into the perspective projection principle of Away3D engine and proposed a method to adjust related parameter automatically and display models of various sizes properly.
The perspective projection matrix
An illustration of field of view.
When a 3D point
(a) and (c) are effects before the model size adaptive adjustment. (b) and (d) are effects after the model size adaptive adjustment.
The model browser based on Away3D is a window for displaying 3D models with multiangle visibility and rich human-computer interaction. The browser supports not only the model rotation, scaling, and translation, but also advanced operations such as material replacement and light source adjustment.
Away3D engine provides rich APIs to process real-time rendering of 3D models. Model’s rotation, scaling, and translation operations are implemented by updating the attribute of camera position; model’s material replacement and adjustment of light source by updating the attribute of material and light. Away3D engine supports point light, ambient light, or directional light for 3D scene and also specifies ambient shader or diffuse Phong shader, and so forth.
In the following part, we take model’s rotation as an example to describe model real-time rendering process in the model browser. Firstly, the model browser program loads 3D model by calling Away3D Collada class and parses model files described with XML. After parsing process, we can get model’s information, such as vertex’s coordinates and model material. Secondly, the model browser program adds 3D model to the scene and computes the camera’s position parameter by formula (
The Web 3D model library system is intended to be accessed by online users and provide users with good interactive experiences, as shown in Figure
Web 3D model library system.
Interactions with 3D models such as rotation, scaling, and translation in the model browser can be realized easily by using a mouse, as shown in Figure
3D model’s rotation, scaling, and translation.
The model browser also supports users to upload images as texture and material and assign them to a model or part of a model, as shown in Figure
The effect of changing the material of a car model.
Figure
The light effects of a plane model.
The model rendering time and model browser response time are the important indicators for the model browser’s performance. In order to enhance the model browser’s performance, in this paper the following optimizing techniques are adopted:
We choose two models with different complexity to test the model browser’s performance, as shown in Table
Performance analysis of the model browser.
Windmill model | Plane model | |||
---|---|---|---|---|
Vertex number: 1362 | Vertex number: 2724 | |||
Facet number: 1218 | Facet number: 2325 | |||
Before optimization | After optimization | Before optimization | After optimization | |
Memory (MB) | 17.82 | 12.56 | 24.38 | 18.32 |
Rendering time (ms) | 6 | 4 | 12 | 8 |
Frame rate (fps) | 24 | 32 | 16 | 24 |
A web 3D model library system solution and complete design are proposed in this paper. The system is deployed in the Amazon cloud computing platform to ensure its reliability and scalability. In the system, a 3D model conversion service is developed to support a variety of model formats. Furthermore, a model simplification algorithm and a model size adaptive method are designed to improve user’s 3D interaction experience. This Web 3D model library solution of design and deployment can be applied to other web applications, such as online virtual tour and design. In further studies, we are planning to design a real-time model simplification method to improve the display accuracy of the complex models.
The authors would like to thank professor Jinyuan Jia for his support and valuable suggestions during the project research. This work was funded by the National Natural Science Foundation of China (61133009) and Science and Technology Commission of Shanghai Municipality program (11511500200, 12QB1402300, and 12DZ2290700).