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