Project Proposal

by Cameron McClure (chmcclur@ucsc.edu)

Table of Contents

1. Overview
-1.1 What It Will Look Like
2. Main Goals
3. General Schedule
4. References

1. Overview

This project aims to apply procedural modeling methods in order to create a multitude of plant and terrain variety quickly and simply.

Procedural modeling is an umbrella term for a number of techniques in computer graphics to create 3D models and textures from sets of rules.[1] In this sense, the program will be using a set of various algorithms to create an "infinite" variety of plant life and topology, while not needing said models to have been pre-made and saved to a file.

1.1 What It Will Look Like

The general idea of this project is to procedurally generate several different types of plants on a randomly generated island. Plants will vary in appearance and shape based on biome, water sources and location. If a plant is near a large source of water, and/or on flat ground it will grow larger, have more varied color, and be more complex (more branches, leaves, roots).

There will be 5 basic types of plants: trees, bushes, grass, flower, and other. Each of these types will have distinctive aspects shared across each biome, but varying in color, shape, and size based on various factors (except other, which will be a unique plant type for each biome).

[4]

A modified version of the programming assignments will be used to generate the topology. The primary additions will involve being able to designate certain areas as biomes, to create water sources/outlets, and to model rivers.

Additionally, the user will get controls to explore the landscape, to place plants/water sources of their own, and to designate biome locations. All the user's changes will then spread out and alter the rest of the environment: such as a new river resulting in plant growth.

2. Main Goals

1. Procedural Plant Modeling
2. River and Water Source Generation
3. Biome Placement
4. User Interaction

3. General Schedule

5/06 - 5/10 Research topics, examine examples of other procedural modeling programs

5/11 - 5/17 Get working procedural modeling of plants on flat terrain. This will also include setting up a rudimentary water and biome system, so that the full range of plant modeling can be explored.

5/18 - 5/24 Have the modeling account for terrain variety, and have river and water generation work with the generated terrain as well.

5/25 - 5/31 Set up user interaction. This includes making sure the program will dynamically change the landscape in response to user actions.

6/01 - 6/07 Polish up, hunt and fix bugs

4. References

[1] https://en.wikipedia.org/wiki/Procedural_modeling
[2] http://graphics.stanford.edu/~pmerrell/tvcg.pdf
[3] http://outerra.blogspot.com/2012/05/procedural-grass-rendering.html
[4]https://www.youtube.com/watch?v=482Fzm-uckc
[5]http://developer.apple.com/library/mac/#samplecode/OpenCL_Procedural_Grass_and_Terrain_Example/Introduction/Intro.html
[6]http://www.openprocessing.org/sketch/1920