Generating Terrains via Marching Cube Algorithm for Games

Slides:



Advertisements
Similar presentations
Reconstruction from Voxels (GATE-540)
Advertisements

Task Challenge \nted Challenge \nted Achievements Demo Game Terrains How can we create more interesting game terrains?
COMPUTER GRAPHICS CS 482 – FALL 2014 OCTOBER 6, 2014 TEXTURE MAPPING TEXTURES BUMP MAPPING ENVIRONMENT MAPPING PROCEDURAL TEXTURING.
CS 4363/6353 INTRODUCTION TO COMPUTER GRAPHICS. WHAT YOU’LL SEE Interactive 3D computer graphics Real-time 2D, but mostly 3D OpenGL C/C++ (if you don’t.
1 Terrain. Game Type Oriented Game Type Oriented Terrain Terrain –For visual ( 廣義的場景 ) »Ground / Building / Static models / Dynamic models –For terrain.
University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2005 Tamara Munzner Information Visualization.
Continuum Crowds Adrien Treuille, Siggraph 王上文.
David Runyon Lauren Stana Kelsey Vaughn Molly Shelestak.
Interactive Terrain Synthesis
Procedural terrain on the GPU Chalmers University of Technology Advanced computer graphics – DAT205 David Sundelius Adam Scott.
Environment Mapping. Examples Fall Motivation Silver candlestick No appropriate texture for it “ environment ” map Simulates the results of ray-tracing.
Week 2 - Wednesday CS361.
NDVI-based Vegetation Rendering CGIM ‘07 Stefan Roettger, University of Erlangen
Sebastian Enrique Columbia University Real-Time Rendering Using CUReT BRDF Materials with Zernike Polynomials CS Topics.
TERRAIN SET09115 Intro to Graphics Programming. Breakdown  Basics  What do we mean by terrain?  How terrain rendering works  Generating terrain 
SURFACE RECONSTRUCTION FROM POINT CLOUD Bo Gao Master’s Thesis December, 2007 Thesis Committee: Professor Harriet Fell Professor Robert Futrelle College.
Texture Mapping Applications 2. Parallax Mapping with Slope  parallax mapping assumes that the surface is a single plane  a better approximation  surface.
Shading CMSC 435/634. RenderMan Light Displacement Surface Volume Imager.
Object Representation Rama C Hoetzlein, 2010 Univ. of California Santa Barbara Lecture Notes.
Shading CMSC 435/634.
Stream Processing Main References: “Comparing Reyes and OpenGL on a Stream Architecture”, 2002 “Polygon Rendering on a Stream Architecture”, 2000 Department.
Geometric Modeling. Volumetric o Collection device obtains regular grid of measurement values Examples: CT, MRI, PET, Ultrasound o Values are interpreted/visualized.
Volumetric Data April 6, Visible Human Creation of complete, anatomically detailed, three-dimensional representations of the normal male and female.
Introduction to Computer Graphics: Object Representation Rama C Hoetzlein, 2010 Univ. of California Santa Barbara Lecture Notes.
Computer Graphics 2 Lecture 7: Texture Mapping Benjamin Mora 1 University of Wales Swansea Pr. Min Chen Dr. Benjamin Mora.
Shader Study 이동현. Vision engine   Games Helldorado The Show Warlord.
Geometric Modeling using Polygonal Meshes Lecture 3: Discrete Differential Geometry and its Application to Mesh Processing Office: South B-C Global.
09/16/03CS679 - Fall Copyright Univ. of Wisconsin Last Time Environment mapping Light mapping Project Goals for Stage 1.
Sky Boxes and Vector Math 2 Course Information CVG: Programming 4 My Name: Mark Walsh Website:
Aaron Hertzmann New York University
3D CAR GAME Group Project MSc CAVE 2011 Ramalingam Vignesh Perseedoss Rajiv Nair Abhijeeth Heng Li Special Thanks: Macey Jon Nait-Charif Hammadi.
Advisor : Ku-Yaw Chang Speaker : Ren-Li Shen /6/12.
MP3.. Start at the very beginning. Almost. Either start from nothing yourself, or use the empty template for this MP. Run through the provided files are.
CSc Computer Graphics Algorithm Lecture 20 Overview of 3D Modeling Techniques Ying Zhu Georgia State University.
Final Presentation CS491B ALAIN VINIOT DE LARA Spring 2007, CSULA.
1 Geometry for Game. Geometry Geometry –Position / vertex normals / vertex colors / texture coordinates Topology Topology –Primitive »Lines / triangles.
Introduction to Computer Graphics

Scene Manager Creates and places movable objects like lights and cameras so as to access them efficiently, e.g. for rendering. Loads and assembles world.
Ying Zhu Georgia State University
A Practical Analytic Single Scattering Model for Real Time Rendering
Real-Time Soft Shadows with Adaptive Light Source Sampling
Photorealistic Rendering vs. Interactive 3D Graphics
Visualization Shading
CSc 8820 Advanced Graphics Algorithms
Graphics Processing Unit
The Graphics Rendering Pipeline
CSc4730/6730 Scientific Visualization
Real-time Rendering Lab 4
Department of Computer Science & Engineering
Aaron Camm, Jeff Huggins, Steve Moskal, Patrick Cardwell
Shading CMSC 435/634.
CSE 381 – Advanced Game Programming Terrain
Chapter IX Bump Mapping
Meshes.
Lecture 3 : Isosurface Extraction
Volume Graphics (lecture 4 : Isosurface Extraction)
Introduction to WebGL 3D with HTML5 and Babylon.js
Chapter XIV Normal Mapping
CS-378: Game Technology Lecture #4: Texture and Other Maps
Game Programming Algorithms and Techniques
CIS 441/541: Introduction to Computer Graphics Lecture 15: shaders
Variable Resolution Operational Implementation for 2018 Field Season
Image Filtering with GLSL
Environment Mapping.
Material Manipulation Using the Leap Motion
Directional Occlusion with Neural Network
Presentation transcript:

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

How can we create more interesting game terrains?

Game Terrains Methods Height maps

Procedurally Generated Game Terrains Methods Height maps Procedurally Generated

Procedurally Generated Game Terrains Methods Height maps Procedurally Generated Via Geometry Shaders

Procedurally Generated Game Terrains Methods Height maps Procedurally Generated Via Geometry Shaders Scanning Models

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

Marching Cubes Algorithm Complex, Reusable, Cheap Terrains Perlin Noise Marching Cubes Algorithm

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

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

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

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

Progression Images

Progression Images

Progression Images

Progression Images

Progression Images

Progression Images

Progression Images

Progression Images

Progression Images

Progression Images

Progression Images

Progression Images

Progression Images

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

Q & A Demo

Q & A Questions?