Distributed 3D Rendering System in a Multi-agent Platform
Risto Rangel-Kuoppa
1,2
Carlos Avilés-Cruz
1
David Mould
2
1
Departamento de Electrónica C. B. I.
Universidad Autónoma Metropolitana-Azcapotzalco
Av. San Pablo No. 180, Col. Reynosa, C. P. 02200,
México D. F.
2
Department of Computer Science
University of Saskatchewan
57 Campus Drive, Saskatoon
Saskatchewan, Canada
rir785@mail.usask.ca caviles@correo.azc.uam.mx mould@cs.usask.ca
Abstract
In this work, we propose a 3D rendering system that
distributes rendering tasks across a multi-agent platform.
The new approach is based on a multi-agent platform,
where the goal is to create a virtual 3D environment. The
main task is the rendering of individual objects. Each 3D
object must be rendered in a remote unit; the resulting
rendering is sent through the network to a 3D
visualization process which generates the visualization of
the whole 3D environment. The object movement and
remote communication requirements have been
implemented using a multi-agent system platform. The
distributed system is implemented in Windows O.S., using
DirectX graphical libraries and JAVA programming. The
multi-agent platform used is JADE. The computer
connection is a LAN at 100 MBS in a star topology.
1. Introduction
The work in this paper is motivated by our effort to
build a distributed 3D rendering system that uses a set of
personal computers to provide real-time rendering
performance. Rendering 3D objects on a single PC
presents no problem [4,8,9,10,11,12,14,15]; additionally
existing protocols can be used to establish a network
[16,17]. It remains to show how the computers
communicate in order to share the rendered objects and
generate a single 3D visualization of the distributed
environment.
The general idea, having relaxed the constraints
involved, is that distributed computing has proven to be a
good approach to solve problems by decreasing the time
of execution when executing parallel tasks: several
computing resources can be used instead of one single
powerful computing resource. In this work, we employ
this approach to get a system for rendering virtual
environments while avoiding the bottleneck of a
centralized rendering process. The resulting system is able
to support in terms of visualization performance more
complex distributed virtual worlds than would a system
with a centralized rendering process. Also, the approach
we will describe makes use of a multi-agent
architecture[1,2,3,21,23] for the distributed computing
requirements.
The remainder of the paper is organized as follows. In
section 2 we discuss the problem formulation; in section 3
we describe a possible solution; in section 4 we give
details of our approach; we present our evaluation in
section 5; and finally, we show results and conclusions in
sections 6 and 7 respectively.
2. Problem formulation
Computing systems that are used to make 3D
visualizations often have the architecture shown in Fig. 1.
These architectures may or may not have distributed
computing processes for the behavior of the objects in the
virtual environment, especially if it is a dynamic
environment, but the 3D visualization is centralized.
Centralizing the 3D processing creates a bottleneck
that restricts the complexity of the 3D environment. Since
computing power has increased not only in standard
processing capabilities but also in graphics processing,
using this graphics processing power in a distributed way
is a natural consequence of distributed computing. We
want to make use of distributed processing units to obtain
a 3D visualization as shown in Fig. 2.
Proceedings of the Fourth Mexican International Conference on Computer Science (ENC’03)
0-7695-1915-6/03 $17.00 © 2003 IEEE