Rendering Grass Terrains in Real-Time with Dynamic Lighting. Kévin Boulanger, Sumanta Pattanaik, Kadi Bouatouch August 1st 2006

Similar documents
Interactive Grass Rendering Using Real-Time Tessellation

ATIP A Tool for 3D Navigation inside a Single Image with Automatic Camera Calibration

Synthesis of Textures with Intricate Geometries using BTF and Large Number of Textured Micropolygons. Abstract. 2. Related studies. 1.

Rendering Grass with Instancing in DirectX* 10

Computer Graphics. Lecture 8 Antialiasing, Texture Mapping

COMP 175: Computer Graphics April 11, 2018

Real-Time Realistic Rendering of Nature Scenes with Dynamic Lighting

Adaptive Point Cloud Rendering

CSE528 Computer Graphics: Theory, Algorithms, and Applications

Textures. Texture coordinates. Introduce one more component to geometry

Scan line algorithm. Jacobs University Visualization and Computer Graphics Lab : Graphics and Visualization 272

Computergrafik. Matthias Zwicker Universität Bern Herbst 2016

Soft Particles. Tristan Lorach

CS452/552; EE465/505. Clipping & Scan Conversion

Terrain rendering (part 1) Due: Monday, March 10, 10pm

Scene Management. Video Game Technologies 11498: MSc in Computer Science and Engineering 11156: MSc in Game Design and Development

Shadow Techniques. Sim Dietrich NVIDIA Corporation

Real-Time Hair Simulation and Rendering on the GPU. Louis Bavoil

CS 354R: Computer Game Technology

Advanced Computer Graphics CS 563: Making Imperfect Shadow Maps View Adaptive. Frederik Clinck lie

Surface Rendering. Surface Rendering

28 SAMPLING. ALIASING AND ANTI-ALIASING

CS 450: COMPUTER GRAPHICS TEXTURE MAPPING SPRING 2015 DR. MICHAEL J. REALE


Project report Augmented reality with ARToolKit

Applications of Explicit Early-Z Culling

Today. Texture mapping in OpenGL. Texture mapping. Basic shaders for texturing. Today. Computergrafik

Buffers, Textures, Compositing, and Blending. Overview. Buffers. David Carr Virtual Environments, Fundamentals Spring 2005 Based on Slides by E.

Shadows in the graphics pipeline

Computer Graphics. - Texturing Methods -

TSBK03 Screen-Space Ambient Occlusion

High Quality Adaptive Soft Shadow Mapping

Illumination and Geometry Techniques. Karljohan Lundin Palmerius

Ray tracing based fast refraction method for an object seen through a cylindrical glass

Multi-View Stereo for Static and Dynamic Scenes

Real Time Rendering of Expensive Small Environments Colin Branch Stetson University

Chapter 10 Computation Culling with Explicit Early-Z and Dynamic Flow Control

The Rasterization Pipeline

Computer Graphics. Bing-Yu Chen National Taiwan University

Render-To-Texture Caching. D. Sim Dietrich Jr.

More Texture Mapping. Texture Mapping 1/46

A Shadow Volume Algorithm for Opaque and Transparent Non-Manifold Casters

Previously... contour or image rendering in 2D

Soft shadows. Steve Marschner Cornell University CS 569 Spring 2008, 21 February

CPSC GLOBAL ILLUMINATION

Texture. Texture Mapping. Texture Mapping. CS 475 / CS 675 Computer Graphics. Lecture 11 : Texture

CS 475 / CS 675 Computer Graphics. Lecture 11 : Texture

Rendering. Converting a 3D scene to a 2D image. Camera. Light. Rendering. View Plane

3D Programming. 3D Programming Concepts. Outline. 3D Concepts. 3D Concepts -- Coordinate Systems. 3D Concepts Displaying 3D Models

Physically-Based Laser Simulation

Z-Buffer hold pixel's distance from camera. Z buffer

Deep Opacity Maps. Cem Yuksel 1 and John Keyser 2. Department of Computer Science, Texas A&M University 1 2

Advanced Shading I: Shadow Rasterization Techniques

Hello, Thanks for the introduction

MASSIVE TIME-LAPSE POINT CLOUD RENDERING with VR

Topics and things to know about them:

Real-Time Shadows. Last Time? Textures can Alias. Schedule. Questions? Quiz 1: Tuesday October 26 th, in class (1 week from today!

Computer Graphics. Lecture 14 Bump-mapping, Global Illumination (1)

Computer Graphics. Bing-Yu Chen National Taiwan University The University of Tokyo

Chapter IV Fragment Processing and Output Merging. 3D Graphics for Game Programming

2.11 Particle Systems

Real-Time Hair Rendering on the GPU NVIDIA

Graphics Processing Unit Architecture (GPU Arch)

Real-time Rendering of Realistic-looking Grass

Terrain Rendering (Part 1) Due: Thursday November 30 at 10pm

Computer Graphics 10 - Shadows

Non-Linearly Quantized Moment Shadow Maps

POWERVR MBX. Technology Overview

Discrete Techniques. 11 th Week, Define a buffer by its spatial resolution (n m) and its depth (or precision) k, the number of

Acquisition and Visualization of Colored 3D Objects

Texture mapping. Computer Graphics CSE 167 Lecture 9

Lets assume each object has a defined colour. Hence our illumination model is looks unrealistic.

Visibility and Occlusion Culling

LOD and Occlusion Christian Miller CS Fall 2011

Mach band effect. The Mach band effect increases the visual unpleasant representation of curved surface using flat shading.

ART 268 3D Computer Graphics Texture Mapping and Rendering. Texture Mapping

OpenGL. Prior work vast 11/17/2009. Reflections a difficult problem. Problem of rendering reflections. Reflected-scene approximation

This work is about a new method for generating diffusion curve style images. Although this topic is dealing with non-photorealistic rendering, as you

Simpler Soft Shadow Mapping Lee Salzman September 20, 2007

The Terrain Rendering Pipeline. Stefan Roettger, Ingo Frick. VIS Group, University of Stuttgart. Massive Development, Mannheim

CS 431/636 Advanced Rendering Techniques

Reflected-Scene Impostors for Realistic Reflections at Interactive Rates

Computer Graphics. Lecture 9 Environment mapping, Mirroring

Many rendering scenarios, such as battle scenes or urban environments, require rendering of large numbers of autonomous characters.

Realistic and Fast Cloud Rendering in Computer Games. Niniane Wang Software Engineer Microsoft Flight Simulator (now at Google Inc) Intro Video

Image Base Rendering: An Introduction

8/5/2012. Introduction. Transparency. Anti-Aliasing. Applications. Conclusions. Introduction

An Image-space Approach to Interactive Point Cloud Rendering Including Shadows and Transparency

Announcements. Written Assignment 2 out (due March 8) Computer Graphics

Computer Graphics Shadow Algorithms

Dominic Filion, Senior Engineer Blizzard Entertainment. Rob McNaughton, Lead Technical Artist Blizzard Entertainment

CSE 167: Lecture #5: Rasterization. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012

Department of Computer Engineering 3D Graphics in Games and Movies

Volume Rendering. Computer Animation and Visualisation Lecture 9. Taku Komura. Institute for Perception, Action & Behaviour School of Informatics

CHAPTER 3. Visualization of Vector Data. 3.1 Motivation

Point based Rendering

MODELING AND HIERARCHY

Computer Graphics Ray Casting. Matthias Teschner

Texturing Theory. Overview. All it takes is for the rendered image to look right. -Jim Blinn 11/10/2018

Real Time Rendering of Complex Height Maps Walking an infinite realistic landscape By: Jeffrey Riaboy Written 9/7/03

Transcription:

Rendering Grass Terrains in Real-Time with Dynamic Lighting Kévin Boulanger, Sumanta Pattanaik, Kadi Bouatouch August 1st 2006

Goal Rendering millions of grass blades, at any distance, in real-time, with: Per-pixel dynamic lighting Grass density management Shadows Animation Anti-aliasing

Rendering at any distance 627 million grass blades on a football field

Previous work Geometry and billboards: Animating prairies in real-time Perbet F. and Cani M.-P. ACM Interactive 3D Graphics, 2001 BTF: Real-time rendering of realistic-looking grass Shah M. A., Konttinen J. and Pattanaik S. Proceedings of the 3rd international conference on Computer graphics and interactive techniques in Australasia and South East Asia, 2005

Content Terrain subdivision Three levels of detail Grass density management and smooth transitions Shadows

Content Terrain subdivision Three levels of detail Grass density management and smooth transitions Shadows

Terrain subdivision Uniform subdivision of the terrain One grass patch per cell Random symmetries to remove repetitive patterns Quadtree structure (macro-cells for faraway grass)

Content Terrain subdivision Three levels of detail Grass density management and smooth transitions Shadows

Three levels of detail

Nearby grass: geometry Textured quadrilateral strips Alpha channel to define the blade shape Alpha test, blending and multisampling Order-independent rendering with anti-aliasing

Medium distance grass: slice generation Volume rendering using axis-aligned semitransparent slices Slices data generation from a patch defined with geometry (preprocessing step) Generation of one slice

Medium distance grass: lighting Slices data are BTFs (Bidirectional Texture Functions), allowing per-pixel lighting Five light directions Two view directions Inbetween light and view directions: interpolate BTF images (spherical barycentric interpolation) Data for one slice

Medium distance grass: transparency Alpha layer for semi-transparent slices Custom filter: to create mipmap images representing the BTF Example

Medium distance grass: volume rendering advantages Good parallax effect (better than billboards) Accurate occlusions accounting for external objects Occlusions with geometry Occlusions with volume slices (zoomed view)

Faraway grass: horizontal slice Keep the horizontal slice of the previous method When patches are faraway from the viewer, render macro-cells (quadtree)

Content Terrain subdivision Three levels of detail Grass density management and smooth transitions Shadows

Grass density management Density = number of grass blades per surface unit A user-defined density map gives the density for each point of the ground (local density) Density map of the terrain

Density threshold Each patch of the terrain is made of the same number of blades Each grass blade of the repeated patch is assigned a density threshold in ]0,1] A grass blade on the terrain is rendered if its density threshold is lower than the local density of its root

Grass density example Density threshold represented by a gray level (0 black, 1 white) density = 1.0 All grass blades are rendered density = 0.5 density = 0.1 Every grass blade with a Every grass blade with a density threshold in ] density threshold in ] 0,0.5] is rendered 0,0.1] is rendered

Density threshold for slices For slices, same algorithm but density threshold stored per texel Each texel covered by the same grass blade has the same density threshold (gray level) Some artifacts due to occlusions, not really visible since grass is quite far Example

Smooth transitions Horizontal slices Vertical slices Geometry

Smooth transitions Each LOD local density is weighted by a function of the distance from the viewer Weighting function Horizontal slices 1 Vertical slices Geometry 0 Smooth transition Smooth transition Distance from the camera

Content Terrain subdivision Three levels of detail Grass density management and smooth transitions Shadows

Shadows on the ground Projection of the grass blades onto the ground Drawn into the stencil buffer Then, black full screen quadrilateral with blending

Shadows from other blades Simple projection, shadow mapping and shadow volumes too expensive or not precise enough We need an approximation to allow real-time performances while keeping convincing results

Shadows from other blades: our method Each grass blade surrounded by a cylinder Shadow mask mapped onto the cylinder, representation of the occluders of the neighborhood Shadow mask computed once in a preprocess Equivalent to a visibility function of the environment

Shadows from other blades: our method For each vertex: Send a ray to the light source Determine the coordinates of the intersection point with the cylinder For each pixel: Compute shadow mask coordinates using interpolation

Speed results GeForce 7800 GTX, 1024x768, 4X antialiasing: Park scene Football field Horizontal view at low altitude 27 fps 18 fps Human height 80 fps 100 fps Faraway view 150 fps 250 fps An infinite number of grass blades can be rendered in real-time (slight speed difference between 627 million and 11 billion grass blades)

Video

Contributions Dynamic lighting Three levels of detail with smooth transitions Volume rendering with axis-aligned slices, resulting in a convincing parallax effect, and perpixel lighting using BTFs Custom filter to create mipmaps for slices Density management for the three levels of detail with user-defined density map Shadows from blades to blades

Current and future work Uneven terrains Height map Different space for all lighting computations Vertical slices at the terrain silhouettes with smooth transition Adaptive quadtree depending on the relief Wind simulation

Uneven terrain example

Questions? Technical report: www.irisa.fr/siames/kevin.boulanger