Tan et al. / Cloud-Assisted Hybrid Rendering for Thin-Client Games and VR Applications
2.1. Rasterization
For each frame, the client first sends the dynamic updates in scene
information including any user input and camera movement to the
server for synchronization. Rasterization is then performed to ob-
tain per-pixel information needed for the rest of the rendering. The
server requires the pixels’ world positions for the tracing of shadow
rays, while the client requires their world space normal vectors and
material diffuse colours for Lambertian shading.
For this particular pipeline, we perform rasterization on both the
client and server at the same time. Alternatively, to avoid repeated
work, we can also make the client or server perform rasterization
and send the necessary information required by the other end over
the network. If we let the client do the rasterization, we can lever-
age its limited computational capabilities and also minimize the
amount of data that needs to be transferred (i.e. world positions
only). On the other hand, rasterization on the server will most likely
be faster because of its superior graphics hardware. The server can
then proceed with ray tracing immediately rather than wait for the
thin client to complete rasterization and send its data over.
Nonetheless, we choose to perform rasterization on both ends
to improve the overall rendering performance. By performing ras-
terization on the server, we minimize the time taken to obtain the
visibility bitmap. Although the client takes longer for rasterization,
it is possible that the client would have completed rasterization by
the time it receives the visibility bitmap from the server. It can then
promptly proceed with Lambertian shading for the final output.
In this case, both the client and server require raster information.
However, for other hybrid rendering pipelines, it would be better
to avoid repeated work. For instance, [Cab10] introduces a pipeline
that performs direct lighting computation in parallel with the ray
tracing process. Such independent work distribution can enable our
approach to attain better performance than pure remote rendering.
2.2. Ray Tracing
Shadow mapping is usually adopted to achieve real-time shad-
ows in interactive applications. However, ray-traced shadows pro-
duce more accurate shadow boundaries by avoiding texture artifacts
such as jaggies and shadow acne. Hence, we perform hardware-
accelerated ray tracing on the server to incorporate high-quality
ray-traced shadows in real-time.
For every pixel, we obtain its corresponding world position ef-
ficiently through rasterization as compared to ray casting from the
pixel centre. From the world position, we then trace a shadow ray
to every light in the scene. If this light-direction ray for light iis
not obstructed by any object, the light is visible from the pixel and
ki=1. The pixel is hence deemed to be illuminated by the light.
On the other hand, if the ray is obstructed by some object, ki=0
which indicates that the light is not visible from the pixel. Hence,
the light does not contribute to the pixel’s final colour.
This visibility boolean is stored in a frame-sized bitmap with a
compact bitmask per pixel, where every bit represents the relative
visibility of a light from the pixel. For every visible light, its direc-
tion Liand intensity Iiare then included in the computation of the
final pixel colour. The size of the per-pixel bitmask and number of
overall visibility bitmaps can be increased based on the number of
lights in the scene. To minimize the duration of visibility bitmap
transfer, we apply LZ4 lossless compression to reduce the amount
of data sent over the network. This duration can be further brought
down with the help of high speed 5G networks.
3. Discussion
We tested our distributed hybrid rendering approach on
THE MODERN LIVING ROOM (CC BY) with three lights.
Hardware-accelerated ray tracing was performed on a PC with a
GeForce RTX 2080 GPU. A reasonably interactive frame rate of
34 fps was achieved with our basic prototype without substantial
optimization.
With more premium GPUs out in the market and the rapid de-
velopment of 5G networks as well as edge computing, we believe
that even higher frame rates can be attained with our current im-
plementation. Nonetheless, we are continuing to explore optimiza-
tions in data transfer over the network as well as between local
GPU and CPUs, and aim to enhance performance further with bet-
ter data compression and transmission techniques. In the event of
lost packets, we are also working on more accurate alternatives to
the raw data of previous frames. For instance, we believe that we
can use scene information like motion vectors in conjunction with
history frames to estimate the contents of lost packets.
Eventually, we hope to bring our distributed rendering approach
to more advanced pipelines and incorporate lighting and camera
effects such as reflections, global illumination and depth of field.
Acknowledgements
This work is supported by the Singapore Ministry of Educa-
tion Academic Research grant T1 251RES1812, “Dynamic Hybrid
Real-time Rendering with Hardware Accelerated Ray-tracing and
Rasterization for Interactive Applications”. We thank developers
Nicholas Nge and Alden Tan in our lab for their assistance.
References
[Cab10] CABELEIRA J. P. G.: Combining Rasterization and
Ray Tracing Techniques to Approximate Global Illumination in
Real-Time. Master’s thesis, Portugal, Nov. 2010. URL:
http://voltaico.net/files/article.pdf.2
[CWC∗15] CUERVO E., WOLMAN A., COX L. P., LEBECK K.,
RAZEEN A., SAROI U S., MUSUVATHI M.: Kahawai: High-
quality mobile gaming using gpu offload. In Proceedings of
the 13th Annual International Conference on Mobile Systems,
Applications, and Services (New York, NY, USA, 2015), Mo-
biSys ’15, Association for Computing Machinery, p. 121–135.
URL: https://doi.org/10.1145/2742647.2742657,
doi:10.1145/2742647.2742657.1
[HMR09] HOLTHE O., MOGS TAD O., RONNINGEN L. A.: Geelix
LiveGames: Remote playing of video games. In 2009 6th IEEE Con-
sumer Communications and Networking Conference (Jan 2009), pp. 1–
2. URL: https://doi.org/10.1109/CCNC.2009.4784713,
doi:10.1109/CCNC.2009.4784713.1
[Kop14] KOPPAL S. J.: Lambertian Reflectance.
Springer US, Boston, MA, 2014, pp. 441–443. URL:
https://doi.org/10.1007/978-0-387-31439-6_534,
doi:10.1007/978-0-387-31439-6_534.1
© 2021 The Author(s)
Eurographics Proceedings © 2021 The Eurographics Association.