6. Implementing the Basic Model

The measurements obtained from the reports and the plans were used to construct a basic model in VRML using Word 2, Netscape, CosmoWorlds and CosmoPlayer 2.0. (The computer used was a 330 MHz PII with 64 MB RAM, 6 GB hard drive, a 3-D graphics card with 8MB video memory, and was running Windows 95.) Any missing areas were based on Bruyere's reconstruction drawings and other information regarding similar tombs. The wire frame was completed before any textures were added to the model.

The wire frame (figure 7) was constructed taking the ground level in the virtual world as a starting point. First the courtyard was made, so that the overground and underground aspects of the model could be worked on separately to aid the construction process whilst ensuring that they would ultimately align. The underground part of the model was then constructed from ground level down, making sure each room aligned with the next. First the pit, then room A, room B and room D were created. The pit shaft and doorway of room C were built and then room C itself. The overground part was constructed from ground level up, first implementing the walls and extra detail of the courtyard, then the pyramid plinth, the pyramids, the front doorway, the front steps, and finally the landscape and background.

Figure 7: The wireframe model viewed from the left before texture mapping.
Room A is small chamber leading to Room B. Room C is the barrel-vaulted chamber that contains the frescoes and is accessed from a smaller pit shaft in room B. Room D is a small chamber that contained food and other articles thought necessary to sustain the mummies in the afterlife

The wireframe model viewed from the left

The structures were made by first identifying any large areas that could be defined using spatial primitives (cube, cone, sphere) and then adding any detail required using smaller shapes and faces. Some structures were very simple to make (for example the tomb covering slabs are merely simple boxes) whilst others required much use of the index face set node, where various points in space are identified then linked, for example the pyramids, which are made up of a great many different faces and complex shapes to define the sides and the cut-out entrances. Whilst making the structures, care was taken to ensure the files created were the smallest possible. For example, spatial primitives were used at every opportunity. Clones were used whenever possible to render similar surfaces such as stairs, and the three large pyramids. Copies of objects were rejected in favour of clones.

Figure 8: The basic model viewed from above before texture mapping

The basic model viewed from above

Before adding any textures this large wire frame model (figure 8) was split into smaller more manageable files, called from a single file as seen in figure 9. Each room and structure is called from a separate file allowing them to be worked on independently, speeding up the creation process. This structure also speeds up the final rendering process, allowing the model to be viewed as it is built up rather than waiting for the whole model to be processed before viewing. The model will also function if only partially loaded because of this.

Figure 9: High level view of the file structure of the completed model

High level view of the file structure of the model

This diagram shows a high level view of the file structure of the model indicating how the calling mechanism works. The main file (click here to view VRML text anim.wrl) contains the navigational information required to view the model, i.e. by own exploration, guided viewpoints and animated fly-through. It also limits the tools provided by CosmoPlayer, turns off the default head lamp lighting, and implements the background. It then calls the files (by use of the 'inline' node) which contain the overground (for text see over.wrl) and underground information. These files specify the lighting that occurs in these areas, and call the various feature files to build up the structure of the model. The names of these files are quite self explanatory. The courtyard file contains the information needed to generate the courtyard, pit covering slabs and pyramid plinth. The pyramid file (see text at pyramids.wrl) generates all the planes needed to create one pyramid that is then cloned to produce the others. The front door specifies the entrance pillars, outer walls, front stair (the set of stairs leading up to the courtyard). The outer slab file contains script which generates the slab covering the pit entrance, and contains the code which activates the movement of the slab when the user comes into its close proximity. The 'Landscape' file contains information required to construct the desert scene.

The files called from the underground file are self explanatory. The inner slab file generates the slab covering the second smaller pit and the animation script that makes this move. The door file contains code that governs the creation and movement of the door to the inner tomb.

All files are VRML files, created in ASCII text, and suffixed by '.wrl' to indicate this. Image textures are called by each individual file as it renders each object in the file separately. The files are called in order, so the first object to be rendered is the courtyard, and the last room C. This means that as the model is loading the viewer is first presented with the overground area to stimulate their interest and convince them to wait until the whole model is loaded.

Throughout the construction of the model, care was taken to keep a record of any areas which were not archaeologically sound. Although the final model does not show these areas, the documentation provided stressed that some parts of the final model were hypothetical.


© Internet Archaeology URL:
Last updated: Mon Nov 29 1999