Research Project Proposal
Name of Student: Wakeford, G. R.
Student Number: 699W2131
Degree: Masters
Department: Computer Science
Provisional Title of Thesis: Procedural Modelling of Terrain and Architecture in a Renderman Context Name of Supervisor: Shaun Bangay
Estimated Date of
Submission: 30 July 2005
APPROVAL BY HEAD OF DEPARTMENT Signed:
Date:
1. Field of Research
Computer Graphics
2. Provisional Title
Procedural Modelling of Terrain and Architecture in a Renderman Context
3. Problem Statement
Procedural shaders have proven to be very effective in creating textures and surfaces that closely mimic their real-world counterparts (KESSON 1995).
However, despite the use of procedural programming in the creation of these shaders, Renderman still relies on the user creating the original geometric structures as a collection of points. This project is aimed at creating a procedural modelling language that allows for the rapid creation of terrain and architectural structures. Procedural modelling provides the user with the ability to create a large number of objects from a small dataset (DEUSSEN et al 1998); the shaders, textures and geometric shapes will be stored in datasets to allow for easy and rapid construction.
4. Research Context
Currently there are two widely implemented modelling concepts utilized for the creation of cities; namely automatic reconstruction and 3D modelling (HAVEMANN et al 2001). Automatic reconstruction uses 3D scanning and photogrammetry to produce cities from aerial photographs, maps and pictures taken at ground level from different viewpoints. The input images are scanned using a range of different techniques, some with greater success than others, in order to recreate the city. Unfortunately, the major drawback to this approach is the inability for the systems to differentiate between objects. It is almost impossible to differentiate between a door and a signboard. So in essence
these systems can only re-produce exactly what is photographed (HAVEMANN
et al 2001).
The 3D modelling of terrain and architecture utilises modellers to allow the user to physically construct the architectural or terrain structures one at a time.
A few of the more well known modelling packages are 3D Studio Max, AutoCAD, Blender, Maya and Bryce. These modelling packages provide the user with complete control over the creation of the geometry. However, the trade off between providing complete control is that the user is forced to create every piece of geometry and there is limited re-use of structures that have already been created. This approach to modelling is fairly labour intensive and lacks the flexibility required to create a city with thousands of architectural and terrain structures in a swift fashion (WONKA et al 2003). Scripting languages within these packages supplies some measure of re-use but only within the context of re-creating carbon copies of the original structure.
Procedural Modelling on the other hand provides the best solution for modelling of architecture and terrain. The paper written for the 2001 SIGGRAPH conference by PARISH and MÜLLER (2001) titled “procedural modelling of cities” described a system called CityEngine, provided a procedural modelling solution aimed at re-creating a large number of buildings in a city. Their procedural modelling approach used a user defined base map to create the buildings and roads. L-Systems and highly controlled parameters are used to expand the base map into a completed city. L-systems are mostly used in an architectural context in order to create road maps on which the rest of the city is based, but can not be controlled enough to create realistic looking buildings.
The CHARASMATIC group developed a procedural modelling system designed to re-create medieval Norwich city. CHARISMATIC’s solution is specific to their problem and this is reflected in the library structure and application system used. Only medieval architecture was required so the entire system was aimed at producing this for of architecture without the ability to expand to other forms of architectural styles. Their application is based on a GUI interface that allows rapid creation of buildings by allowing the user to
select components out of the library. The procedural modelling language then constructs the building according to what the user has selected (BIRCH, JENNINGS et al 2001). A paper published by the CHARISMATIC group emphasises this approach by show-casing the rapid design of a medieval church. It allows the user to select the features of the church through a combination of check boxes and pull down menus (BIRCH, BROWNE et al 2001). Their goal is the creation of a city modelling package that provided interactivity and structure to the user; the front end of the system was called Scene Assembler and utilized a 2D view [FLACK et al 2001]. The CHARISMATIC groups goal for their project was to re-create cities from archaeological evidence in what has been termed “Virtual Heritage” which is aimed at bringing the history to life for entertainment and education purposes (ARNOLD 2000a)(ARNOLD 2003b), this differs greatly from the goal of this project which is aimed at creating all kinds of architecture and terrain and is not limited to examples drawn from the past.
The geometric structures will be created by combining smaller objects together; the research done by ANDERSON et al (2000) was based on the use of construction toys to create graphical models. The procedural modelling language proposed for this project will construct architecture and terrain in much the same manner, and the graphical integration and smoothing techniques utilized in ANDERSON et al’s (2000) approach can be effectively applied to this project. The grid based approach utilised by KAPLAN and COHEN (2003) in their paper on “computer generated celtic design” presents a novel approach to joining smaller objects from a library in order to create larger and more complex structures. The techniques and algorithms utilised in (HAVEMANN et al 2001) will allow for the creation of more detailed structures such as gothic windows, elaborate balconies, etc; though BRep algorithms.
Scene Graphs have been used in a variety of graphical research areas including the CHARISMATIC project discussed above. A Scene Graph is a data- structure that holds all the objects of the scene [WILLMOTT et al 2002].
Although this project will not attempt to create a Scene Graph; the rendering
optimizations involved in Scene Graph Culling and Geometry Reduction [BROWNE et al 2001] are relevant in the context of this project.
Scene Graph Culling involves the culling of sections from the Scene Graph in order to speed up the rendering of the scene and eliminate those unnecessary areas that the can not be seen by the viewer. The following techniques have been used in the past with positive results [BROWNE et al 2001]:
o Scene Graph Paging: when the scene is too large only those portions of the scene graph that is visible is copied into memory from disk and rendered.
o View Frustum Culling: technique used to draw only those objects that are within the current viewing volume. The six cutting planes are used to form a cut pyramid; any objects that fall outside the pyramid are culled from the scene.
o Back face culling: is based on the fact that all objects in the scene are closed. The backs of objects that cannot be seen are removed to speed up the rendering of the scene. Back-face culling is usually performed automatically by the renderer.
o Occluder shadows: is a new culling algorithm that rapidly culls large parts of the scene. Image based rendering is used to cast shadows from visible objects. Those objects that are obscured by the shadows are culled in there entirety.
o 3D Impostors: since distant parts of the scene change very between frames; so the skyline can be texture mapped and displayed. The background model only needs to be refreshed once the view port has moved past a certain point.
o 3D Z-Buffering: consists of testing the z-depth of the pixels to determine the closest visible surface. 3D Z-Buffering is usually implemented by the hardware.
Geometric reduction algorithms are implemented to reduce the complexity of the scene information. Managing the Level of Detail (LOD) is an important technique for limiting the amount of information that is going to be processed by the renderer. This technique involves the use of a number of algorithms
such as Multi-Triangulation, pre-warp, bump mapping [BROWNE et al 2001]
and sequential point trees detailed in [DACHSBACHER et al 2003].
The techniques and algorithms discussed above are just as important as the creation of the scene itself; this has been proven many times in the past. A very detailed model that renders at such a slow frame rate as to become
“jerky” will appear far less realistic than a model with less detail but a smooth frame rate. This is especially relevant when applied in a city wide context where there would be thousands of structures. Depending on the viewpoint, the majority of these structures would either be obscured or located at such a great distance as to become invisible; which results in wasted processing and memory allocation. Only by culling and reduction can processing and memory allocation be reduced to an acceptable level.
As discussed in the first paragraph, there has been extensive work on modelling of cities and the terrain on which the city resides. However, procedural modelling has not been researched to the same extent as other modelling applications (PARISH and MÜLLER 2001). RenderMan is a very flexible shading language that produces photo-realistic images (RENDERMAN
2000). However, the objects on which the textures are applied still have to be developed one point at a time. The introduction of a flexible and expandable library of architectural and terrain structures that can be accessed by the procedural modelling language will provide rapid development of complex architectural and terrain structures. By linking the surface shading parameters to the geometric structure, the user will be able to specify a structure without having to also create a surface shader for the structure in question.
5. Goals of the Research
The goal of this research project is to deliver a procedural modelling prototype system that can model terrain and architecture for a specific test scenario. The library structures will be developed with future expansion in mind. New structures and their surface shaders should easily be added to the library in a
manner that maintains consistency. The procedural modelling language will be designed to conform to the existing RenderMan shading language structure wherever possible.
The modelling language will generate structures based on structures from the library and tightly controlled parameters and attributes entered by the user.
The basis for this approach is to create a large number of random, unique structures that all fit a particular time period and architectural style. Once a random structure has been created, a unique key will be attached to that object to ensure that that structure can be recreated in the future. Parameters will exist for determining the level of deterioration and age of structures. Through a combination of slight model deformation and shaders utilised in DORSEY et al’s (1999) paper titled “Realistic modelling and rendering of plant ecosystems” and ZHANG et al’s (2003) paper titled “Synthesis of progressively-varient textures on arbitrary surfaces”, buildings will be generated between a newly constructed look and total dilapidation. In its simplest implementation, objects can be aged by applying dirt and rounding sharp edges to give the appearance of weather damage as described by CUTLER et al’s (2002) approach. In cases of real wear, architecture and terrain will have to be created with broken down walls and crumbling rock which will have to be created as separate structures in the library.
The final goal of the research will be a proof of concept model that can be rendered in both RenderMan and OpenGL. The system will be considered to have met all the required goals if the follow are fulfilled:
• The terrain and architecture must look as realistic as possible and the modelling process should not be time consuming.
• New architecture and terrain information should be captured easily in the library.
• The procedural modelling language should be efficient and compact, while still providing a large range of terrain and structures to be created.
• Random structures must be created, but a unique key must allow those structures to be re-created in other contexts.
6. Research Methodology
The library data-structure is the first area that needs to be designed. A survey of possible solutions has been conducted; the most promising solution will most likely be a hierarchical tree structure. However, this approach still needs to be tested to ascertain whether it meets the requirements of the system. Once the library has been created a procedural modelling language will be created.
The language will be a C based procedural modelling language based on the existing RenderMan format. The procedural modelling language will be created after a thorough examination of some of the most successful scripting languages, such as MEL (MAYA 2003) and MAXScript (DISCREET 2004) as well as examining those scripting languages covered in HUANG et al’s (2002) survey on available scripting techniques for their system called STEP.
The next phase of development is the implementation of the Scene Assembly algorithms. The scene assembly is responsible for ensuring that all the objects created by the modelling language are integrated correctly. A base mesh will be constructed that will hold the scene structure in a polygon mesh format and will allow textures to be applied as well as the implementation of 3D textures mentioned by LEGAKIS et al (2001) and OLIVEIRA et al (2000) which will be used for bricks, tiles, etc.
Once the prototype system has been created test structures will be entered into the library to allow for a comprehensive evaluation. Once the system has been meticulously evaluated a proof of concept model will be created. This will involve the selection of a city to be modelled. All the relevant architectural and terrain information will be created and captured in the library. A city scene will then be created using the procedural modelling system.
While the above areas are being developed, most up to date literature will be studied to find the best possible means of implementation.
PROJECT MILESTONES:
1. Research relevant areas relating to procedural modelling and graphical library structures in order to develop a general base of knowledge from which to proceed.
2. Design the library data structure.
3. Design the architectural modelling system.
4. Implement the above two designs.
5. Create a few architectural structures and create test structures.
6. Design the terrain modelling system.
7. Implement the terrain modelling system and create a few test scenes.
8. Integrate the terrain and architectural systems to allow a complete scene to be created.
9. Design and implement the more detail sections:
a. Relief texture mapping
b. Cellular texturing for architecture c. Aging of architecture and terrain
d. L-Systems for objects such as roads and rivers 10. Create a detailed test scene, as a proof of concept
7. Provisional Table of Contents
1. Abstract 2. Introduction
3. Current State of the Art and Existing Work 4. Library Structure
4.1. Data-Structure 4.2. Terrain
4.2.1. Terrain Structure 4.2.2. Terrain Shaders 4.3. Architecture
4.3.1. Architecture Model 4.3.2. Architecture Shaders 5. Modelling Language
5.1. Language Structure 5.2. Language Usage 6. Modelling and Rendering
6.1. Terrain Generation 6.2. Architecture Generation 6.3. Assembly and Integration 6.4. The Base Mesh Construction 6.5. Shaders and Lighting
6.6. Rendering 7. Results
8. Conclusion
8. References
ANEDRSON, D., FRANKEL, J., MARKS, J., AGARWALA, A., BEARDSLEY, P., HODGINS, J., LEIGH, D., RYALL, K., SULLIVAN, E. AND YEDIDIA, J. (2000). Tangible interaction + graphical interpretation: a new approach to 3D modelling Proceedings of ACM SIGGRAPH 2000, pp 393-402. ACM Press.
ARNOLD, D.B. (2000a). Computer Graphics and Archaeology: Realism and Symbiosis. ACM SIGGRAPH and EUROGRAPHICS, Interpreting the Past, pre-conference proceedings. pp 10-21.
ARNOLD, D.B. (2000b), Economic Reconstruction of Populated Environments: Progress with CHARISMATIC project, Proceedings of the VAST Conference, November 24-25, 2000 Arezzo, Italy.
BIRCH, P.J., JENNINGS, V.J., DAY, A.M. AND ARNOLD, D.B. (2001) Procedural Modelling of Vernacular Housing for Virtual Heritage Environments, Proceedings of the EG(UK) Conference, April 2001.
BIRCH, P.J., BROWNE, S. P., JENNINGS, V.J., DAY, A.M., AND ARNOLD, D.B. (2001) Rapid Procedural Modelling of Architectural Structures.
Proceedings of the 2001 Conference on Virtual Reality, Archaeology, and Cultural Heritage. , November 28-30, 2001, Glyfada, Greece. pp 187-196.
BROWNE, S.P., WILLMOTT, J., WRIGHT, L.I., DAY, A.M., AND ARNOLD, D.B. (2001), Modelling and Rendering Large Urban Environments. In proceedings of EG(UK) 2001, UCL, London.
CUTLER, B., DORSEY, J., McMILLAN, L. MULLER, M., AND JAGNOW, R. (2002) A Procedural Approach to Authoring Solid Models. Proceedings of ACM SIGGRAPH 2002. pp. 302-311. ACM Press.
DACHSBACHER, C., VOGELGSANG, C. AND STAMMINGER, M. (2003) Sequential point trees. ACM Transactions on Graphics. Volume 22, Issue 3 (July 2003). pp. 657-662.
DEUSSEN, O., HANRAHAN, P., LINTERMANN, B., MĚCH, R., PHARR, M. AND PRUSINKIEWICZ, P. (1998). Realistic modelling and rendering of plant ecosystems. Proceedings of ACM SIGGRAPH 1998, ACM Press, pp 275-286.
DISCREET HOMEPAGE, (2004), Available On-Line at:
http://www.discreet.com
DORSEY, J., EDELMAN, A., JENSEN, H. W., LEGAKIS, J. AND Pedersen, H. K. (1999), Modelling and rendering of weathered stone. Proceedings of ACM SIGGRAPH 1999, pp 225-234. ACM Press.
FLACK, P.A., WILLMOTT, J., BROWNE, S.P., ARNOLD, D.B. AND DAY, A.M. (2001). Scene Assembly for Large Scale Urban Reconstructions.
Proceedings of the 2001 conference on VirtualReality, Archaeology and CulturalHeritage, November 28-30, 2001, Glyfada, Greece. pp. 227-234.
HAVEMANN, S AND FELLNER, D. (2001). A Versatile 3D Model Representation for Cultural Reconstruction. Proceedings of the 2001 Conference on Virtual Reality, Archaeology, and Cultural Heritage.
November 28-30, 2001, Glyfada, Greece. pp. 255-262.
HUANG, Z., ELIENS, A. AND VISSER, C. (2002). STEP: A Scripting Langauge for Embodied Agents. In Proceedings of the Workshop of Lifelike Animated Agents, Tokyo. Available On-Line at:
http://www.cs.vu.nl/~eliens/research/media/@archive/refs/book-step.pdf GREUTER, S., PARKER, J., STEWART, N. AND LEACH, G. (2003). Real-
time Procedural Generation of `Pseudo Infinite' Cities. Graphite 2003 - International Conference on Computer Graphics and Interactive Techniques in Australasia and South East Asia, pp 9-19.
KAPLAN, K., AND COHEN, E. (2003). “Computer generated Celtic design”
Proceedings of ACM SIGGRAPH 2003. pp 9-19. ACM Press.
KESSON, M. A. (1995). An Introduction to 3D Computer Graphics: Exploring Photo-Realism with MacRenderMan. ACM SIGGRAPH Education
Committee. Available On-Line at:
http://www.siggraph.org/education/materials/renderman/pdf_tutorial/rman _booklet.pdf
LEGAKIS, J., DORSEY, J. AND GORTLER, S. (2001). Feature-based cellular texturing for architectural models. Proceedings of ACM SIGGRAPH 2001. pp. 309-316.
MAYA. (2003) Maya 5 API White Paper. Available at:
http://www.alias.com/eng/products-services/maya/file/
OLIVEIRA, M., BISHOP, G. AND McALLISTER, D. (2000) Relief texture mapping. Proceedings of ACM SIGGRAPH 2000. pp 359-368. ACM Press.
PARISH, Y. AND MÜLLER, P. (2001). Procedural Modelling of Cities Proceedings of ACM SIGGRAPH 2001. pp. 301-308. ACM Press.
RENDERMAN. (2000). The RenderMan Interface (Version 3.2). Available On- Line at: https://renderman.pixar.com/ products/rispec/rispec_pdf/RISpec 3_2.pdf
PRUSINKIEWICZ, P., MÜNDERMANN, L., KARWOWSKI, R. AND LANE, B. (2001). The use of positional information in the modelling of plants.
Proceedings of ACM SIGGRAPH 2001, pp. 289-300. ACM Press.
WILLMOTT, J., WRIGHT, L.I., ARNOLD, D.B., AND DAY, A.M. (2002).
Rendering of Large and Complex Urban Environments for Real Time Heritage Reconstructions. Proceedings of the 2001 conference on Virtual reality, archaeology, and cultural heritage. pp 111-120. ACM Press.
WONKA, P., WIMMER, M., SILLION, F. AND RIBARSKY, W. (2003) Instant architecture. ACM Transactions on Graphics Volume 22, Issue 3 (July 2003), pp 669-677. ACM Press.
ZHANG, J., ZHOU, K., VELHO, L., GUO, B. AND SHUM, H. (2003) Synthesis of progressively-variant textures on arbitrary surfaces. ACM Transactions on Graphics Volume 22, Issue 3 (July 2003). pp. 295-302.
ACM Press.