from its source code into the HAMLAT source tree.
HAMLAT builds on existing Blender components, such as the user-interface and editing tools, by adding new components which focus on the representation, modification, and rendering of hepatic properties of objects in a 3D scene. By using Blender as the basis for HAMLAT, we hope to develop a 3D hepatic modeling tool which has the maturity and features of Blender combined with the novelty of hepatic rendering.
C. Project Goals
As previously stated, the overall goal for the HAMLAT project is to produce a polished software application which combines the features of a modem graphic modeling tool with hepatic rendering techniques. HAMLAT has the "look and feel" of a 3D graphical modeling package, but with the addition of features such as hepatic rendering and hepatic property descriptors. This allows artists, modelers, and developers to generate realistic 3D hippo-visual virtual environments. A high-level block diagram of HAMLAT is shown in Figure 1. It illustrates the flow of data in the hepatic modeling. HAMLAT assists the modeler, or application developer, in building hap to-visual applications which may be stored in a database for later retrieval by another hepatic application. By hippo-visual application we refer to any software which displays a 3D scene both visually and
hectically to a user in a virtual setting. An XML file format, called HAML [2], is used to describe the 3D scenes and store the hippo-visual environments built by a modeler for later playback to an end user.
Traditionally, building hippo-visual environments has required a strong technical and programming background. The task of hectically rendering a 3D scene is tedious since hepatic properties must be assigned to individual objects in the scene and currently there are few high-level tools for accomplishing this task. HAMLAT bridges this gap by integrating into the HAML framework and delivering a complete solution for development of hippo visual applications requiring no programming knowledge.
The remainder of the paper is organized as follows: in Section 2, we present the proposed architecture extensions and discuss design constraints. Section 3 describes the implementation details and how hepatic properties are added and rendered within the blender framework. In section 4 we discuss related issues and future work avenues.
II. SYSTEMOVERVIEWANDARCHITECTURE
The blender design philosophy is based on three main tasks: data storage, editing, and visualization. According to the legacy documentation [3], it follows a data visualize-edit development cycle for the 3D modeling
A 3D scene is represented using data structures within the Blender architecture. The modeler views the scene, makes changes using the editing interface which directly modifies the underlying data structures, and then the cycle repeats.
To better understand this development cycle, consider the representation of a 3D object in Blender. A 3D object may be represented by an array of vertices which have been organized as a polygonal mesh. Users may choose to operate on any subset of this data set. Editing tasks may include operations to rotate, scale, and translate the