28
Terrains via Marching Cube Algorithm for Games Kethan Tellis Adam Smith Chris Barakian Ravi Vaishnav

Generating Terrains via Marching Cube Algorithm for Games

  • Upload
    bryson

  • View
    46

  • Download
    0

Embed Size (px)

DESCRIPTION

Generating Terrains via Marching Cube Algorithm for Games. Kethan Tellis Adam Smith Chris Barakian Ravi Vaishnav. Game Terrains. How can we create more interesting game terrains?. Game Terrains Methods. Height maps . Game Terrains Methods. Height maps. Procedurally Generated. - PowerPoint PPT Presentation

Citation preview

Page 1: Generating  Terrains  via Marching Cube Algorithm for Games

Generating Terrains via Marching Cube Algorithm

for Games

Kethan Tellis Adam Smith

Chris BarakianRavi Vaishnav

Page 2: Generating  Terrains  via Marching Cube Algorithm for Games

Task Challenge

\nted

Achievements Demo

Game Terrains

How can we create more interesting game terrains?

Page 3: Generating  Terrains  via Marching Cube Algorithm for Games

Task Challenge

\nted

Achievements Demo

Game Terrains Methods

Height maps

Page 4: Generating  Terrains  via Marching Cube Algorithm for Games

Task Challenge

\nted

Achievements Demo

Game Terrains Methods

Height maps

Procedurally Generated

Page 5: Generating  Terrains  via Marching Cube Algorithm for Games

Task Challenge

\nted

Achievements Demo

Game Terrains Methods

Via Geometry Shaders

Height maps

Procedurally Generated

Page 6: Generating  Terrains  via Marching Cube Algorithm for Games

Task Challenge

\nted

Achievements Demo

Game Terrains Methods

Scanning Models

Via Geometry Shaders

Height maps

Procedurally Generated

Page 7: Generating  Terrains  via Marching Cube Algorithm for Games

Task Challenge

\nted

Achievements Demo

Game Terrains Methods Drawbacks

Heightmaps• Lack of complexity in environment (No caves /

tunnels)

Procedurally Generated• Can’t be saved and reused. Gameplay is inconsistent

Geometry Shaders• Difficulty in collision detection • High computational costs

Scanning Models• Difficult to create• Costly in time and resources

Page 8: Generating  Terrains  via Marching Cube Algorithm for Games

Challenge

\nted

Achievements DemoTask

Complex, Reusable, Cheap Terrains

Perlin Noise

Marching Cubes Algorithm

Page 9: Generating  Terrains  via Marching Cube Algorithm for Games

Challenge

\nted

Achievements DemoTask

Perlin Noise Implementation

Octaves• Number of octaves increases the amount of

the jitter around the lowest frequency

Alpha• Increases / Decreases amplitude of certain

frequencies, bigger changes in terrains

Beta• Changes how much weight is granted to higher

frequencies, more sharp deviations in terrain

Frequency• Amplifies the fluctuations in the amount of

jitter

Page 10: Generating  Terrains  via Marching Cube Algorithm for Games

Challenge

\nted

Achievements DemoTask

Perlin Noise Implementation

Octaves• Number of octaves increases the amount of

the jitter around the lowest frequency

Alpha• Increases / Decreases amplitude of certain

frequencies, bigger changes in terrains

Beta• Changes how much weight is granted to higher

frequencies, more sharp deviations in terrain

Frequency• Amplifies the fluctuations in the amount of

jitter

Page 11: Generating  Terrains  via Marching Cube Algorithm for Games

Challenge

\nted

Achievements DemoTask

Perlin Noise Implementation

Octaves• Number of octaves increases the amount of

the jitter around the lowest frequency

Alpha• Increases / Decreases amplitude of certain

frequencies, bigger changes in terrains

Beta• Changes how much weight is granted to higher

frequencies, more sharp deviations in terrain

Frequency• Amplifies the fluctuations in the amount of

jitter

Page 12: Generating  Terrains  via Marching Cube Algorithm for Games

Challenge

\nted

Achievements DemoTask

Marching Cubes Implementation

Algorithm / Look-Up Table• Actually algorithmically described all 256 cases

Face Normals / Winding Order• Correctly had face normals face away from

bounded density areas

Vertex Normals• Achieved weight averaged normals for

verticies by comparing to neighbors

OBJ Export• Allowed surface to be exported as OBJ file for

loading into Maya and eventually games

Page 13: Generating  Terrains  via Marching Cube Algorithm for Games

Challenge

\nted

Achievements DemoTask

Progression Images

Page 14: Generating  Terrains  via Marching Cube Algorithm for Games

Challenge

\nted

Achievements DemoTask

Progression Images

Page 15: Generating  Terrains  via Marching Cube Algorithm for Games

Challenge

\nted

Achievements DemoTask

Progression Images

Page 16: Generating  Terrains  via Marching Cube Algorithm for Games

Challenge

\nted

Achievements DemoTask

Progression Images

Page 17: Generating  Terrains  via Marching Cube Algorithm for Games

Challenge

\nted

Achievements DemoTask

Progression Images

Page 18: Generating  Terrains  via Marching Cube Algorithm for Games

Challenge

\nted

Achievements DemoTask

Progression Images

Page 19: Generating  Terrains  via Marching Cube Algorithm for Games

Challenge

\nted

Achievements DemoTask

Progression Images

Page 20: Generating  Terrains  via Marching Cube Algorithm for Games

Challenge

\nted

Achievements DemoTask

Progression Images

Page 21: Generating  Terrains  via Marching Cube Algorithm for Games

Challenge

\nted

Achievements DemoTask

Progression Images

Page 22: Generating  Terrains  via Marching Cube Algorithm for Games

Challenge

\nted

Achievements DemoTask

Progression Images

Page 23: Generating  Terrains  via Marching Cube Algorithm for Games

Challenge

\nted

Achievements DemoTask

Progression Images

Page 24: Generating  Terrains  via Marching Cube Algorithm for Games

Challenge

\nted

Achievements DemoTask

Progression Images

Page 25: Generating  Terrains  via Marching Cube Algorithm for Games

Challenge

\nted

Achievements DemoTask

Progression Images

Page 26: Generating  Terrains  via Marching Cube Algorithm for Games

Challenge

\nted

Achievements DemoTask

Marching Cubes Implementation

Mesh Construction• Built lookup table of each case• Built final mesh by adding position

OpenGL Implementation• Used Vertex Arrays for speed increase• GLSL for custom shading

Page 27: Generating  Terrains  via Marching Cube Algorithm for Games

Challenge

\nted

Achievements DemoTask

Q & A

Demo

Page 28: Generating  Terrains  via Marching Cube Algorithm for Games

Challenge

\nted

Achievements DemoTask

Q & A

Questions?