3D Rendering in Tmall: Cutting Edge Tech to Accelerate Image Preview 30x
Step up the digitalization of your business with Alibaba Cloud 2020 Double 11 Big Sale! Get new user coupons and explore over 16 free trials, 30+ bestselling products, and 6+ solutions for all your needs!
By Tangping Technology — 3D Technology and Rendering Platform Team
Edited by Chengzijun From Taobao Technology Department, Alibaba New Retail
The 2020 Tmall 618 Shopping Festival announced the era of shopping in 3D. This article introduces the cutting-edge technologies behind 3D shopping, including 3D real-world scene reproduction, 3D rendering, 3D algorithms, and AceRay high-speed rendering.
Tmall announced the era of shopping in 3D on May 28, 2020. This pushed shopping in 3D to the forefront of e-commerce. Now, you can visit shopping malls without leaving your home and find the right furniture for your home in a simulated 3D world.
Shopping in 3D is a large project that requires multiple technologies to digitalize all data from offline shopping malls. These technologies include 3D content generation, data link integration, and 3D rendering. The project requires the joint efforts of designers, engineers, and industry chain participants.
Tangping Designer is a free 3D design tool and rendering service that was jointly launched by Tangping Technology and the Taobao Technology Department of Alibaba New Retail. Tangping Designer allows merchants and designers to efficiently generate 3D content. Developed by the Taobao Technology Department, the AceRay cloud rendering platform provides a high-speed rendering feature to significantly accelerate design preview. This feature allows merchants and designers to create 3D content more conveniently and quickly. This allows them to better adapt to the 3D shopping model, which is the future of the home furnishings marketplace.
Tangping Designer allows you to easily edit 3D scenes and use the high-speed rendering feature for viewing the rendering effect.
AceRay includes many engineering designs and the latest research findings on geometry and rendering, such as 3D resource processing, server resource scheduling, and graphic rendering algorithms.
It’s imperative to completed resource preparation before rendering. The required resources include models and materials.
The home furnishings marketplace involves highly complex businesses. Implementing rendering for such businesses require uploading many models in different formats and creating models and materials for various platforms. Models in different formats must be converted to intermediate formats before they are uploaded. Currently, a home improvement model has many triangular surfaces. We need to reduce the number of these surfaces through geometric optimization. In addition, a home improvement model has many mappings. We need to optimize these mappings based on specific platforms.
Many servers are required to complete these optimizations. A management and control platform is necessary for properly connecting and scheduling these servers to maximize the overall server efficiency. Then, we use the servers to concurrently process a large number of models and create different model formats for various platforms. We developed a central model control platform, which supports an unlimited number of committed models. The platform concurrently processes many models, defines different custom processing workflows for each model, and supports provisional control of each model’s processing priority.
The central model control platform consists of the process engine and scheduling engine.
When a new model requires format conversion, the process engine analyzes process nodes to find the first node for execution and then delivers a task to the scheduling engine. The scheduling engine finds the most suitable remote executer and allocates the task to it. After the remote executor completes the task, the scheduling engine returns the task to the process engine. Then, the process engine transfers the current model to the next node of the process and delivers a second task to the scheduling engine. The preceding process is repeated until all workflows for the current model are completed.
The central model control platform concurrently runs N different processing workflows. A typical processing workflow is as follows:
After completing batch processing, we proceed to individual issues, such as model-related issues.
A home improvement model designed by a designer or a factory includes many triangular surfaces and complex materials.
A large number of surfaces help enhance the details of the model. However, they hamper the effect of high-speed rendering. Therefore, before rendering, we need to preprocess models with many triangular surfaces. A variety of tools are available to streamline the myriad surfaces of these models. After the number of surfaces is reduced, we still need to retain all details of the model along with accurate normals, U-axes, and V-axes. More importantly, we need a set of parameters to control all models and a set of tools to automatically process models in scale. These parameters and tools do not yet exist in the industry. Therefore, we independently developed a set of geometric optimization tools to meet our needs.
Our processed model supersedes the Max-processed model in the retention of shapes, details, normals, U-axes, and V-axes.
The following image shows the detail retention effect:
The following image shows the shape retention effect:
The following section explains how to fix material-related issues. Vray is a common material in the home furnishings marketplace. This material includes many parameters and its computing process is complex, which is a pain point for high-speed rendering. So far, we have not worked out a way to transform Vray into a simpler material. Therefore, we independently developed a material transformation solution to transform existing materials into simpler materials and accelerate rendering.
Material transformation effect:
3D Cloud Rendering Service
Taobao merchants rely on our 3D cloud rendering service. We developed a cloud rendering platform instead of a single-point rendering engine to process many requests in a server cluster. The cloud rendering platform manages all types of rendering requests, including offline rendering, high-speed rendering, and fabric simulation. The cloud rendering platform isolates businesses from rendering servers and unifies rendering interfaces. A scheduler sends each rendering request to the most suitable server in order to complete the request in the shortest time possible.
The cloud rendering platform is divided into two layers: the scheduling cluster and the rendering cluster. The scheduling cluster sends tasks to the rendering cluster, and the rendering cluster reports status data to the scheduling cluster.
After receiving a rendering task, the scheduling cluster forwards this task to the most suitable rendering server, which is determined based on the reported status and delivery history. This rendering server updates and reports its status, and starts rendering.
AceRay High-speed Rendering
Design tools usually use offline renderers. Offline rendering produces good effects but is slow. It may take several minutes or even several hours to render an image. For designers, slow rendering reduces the efficiency of producing 3D scenes, especially when elements in some scenes need to be frequently adjusted. This problem can be fixed through high-speed rendering. Consumers want to preview images as quickly as possible. It is annoying to wait for renderings to materialize.
The AceRay high-speed rendering service is designed to accelerate offline rendering. It aims to help designers improve the efficiency of 3D scene production and improve the user experience for 3D features.
The rendering effect is our paramount goal. High-speed rendering is useless if the rendering quality is poor. We used the AceRay cloud rendering platform to produce two renderings of indoor home improvement scenes in several seconds.
While maintaining a satisfactory rendering result, the high-speed rendering feature accelerates offline rendering by a factor of 20 to 30. This makes high-speed rendering highly attractive in the field of home improvement rendering. Tangping Designer provides a high-speed preview feature that generates an image preview in 3 to 5 seconds. This significantly improves design efficiency.
Rasterization and Ray Tracing
First, let’s take a brief look at how rendering works. Rasterized renderers are usually used by real-time rendering in the gaming sector. Ray tracing renderers are typically used in offline rendering to create special effects in movies, or are used in conjunction with design tools.
A rasterized rendering pipeline differs from a ray tracing rendering pipeline. A traditional rasterized rendering pipeline includes vertex processing, primitive assembly, rasterization, and pixel shading. It is a time-tested rendering solution in the gaming and real-time rendering sectors. Graphics hardware is designed to accelerate rasterized rendering. However, rasterized rendering loses the relationships between objects. This is a fatal defect. This defect makes it difficult to calculate the lighting effects produced by an inter-object relationship. A specially designed algorithm must be used for calculation, which is costly. These effects include shade, indirect lighting, specular reflection, and ambient occlusion. This defect also makes it difficult to produce an effect of rasterized rendering comparable to that of offline rendering. This makes it impossible to produce effective renderings of real-world scenes.
Offline rendering is based on ray tracing. Simply put, light is emitted from a camera to the position of each pixel on a screen, and real-world scenes are rendered by simulating light reflection, refraction, and scattering. Ray tracing is simple but it requires a large amount of light and calculations per pixel to render real-world scenes. This is the main reason why offline rendering takes so long. Even advanced computing hardware such as multi-core CPUs fail to significantly accelerate offline rendering due to the huge calculation workload. The current efficiency of offline rendering is far from enough to produce renderings in a dozen or even several seconds.
Ray tracing offline renderers combine ray tracing with the Monte Carlo method to estimate the values of high-dimensional rendering equations. The Monte Carlo method uses random sampling, which requires a larger number of samples for better rendering quality.
The AceRay high-speed rendering feature uses a custom optimization algorithm, which significantly reduces the number of samples required by offline rendering. This feature also uses a ray tracing algorithm to produce a smooth lighting effect in a short time.
Although graphics and ray tracing have been available for a long time, high-speed rendering based on ray tracing is still a relatively novel field. The challenge currently before us is to develop a high-quality, business-ready high-speed renderer by effectively leveraging the computing capabilities of the hardware. Before the final renderings are presented to users, additional work is required, including model processing, scene processing, and server scheduling. These are the fundamental workflows of rendering service. Data streams in 3D come in various formats. We must work harder to enable compatibility between all types of data streams, convert these data streams into a unified input format that is supported by renderers, and effectively schedule server resources to complete rendering.
Following are some more images produced by high-speed rendering: