Ship in a Bottle. 1 Modeling and Rendering the Water. Saket Patkar and Bo Zhu

Similar documents
Realtime Water Simulation on GPU. Nuttapong Chentanez NVIDIA Research

CS5610 Final Project : Realistic Water Simulation with opengl

Navier-Stokes & Flow Simulation

Adarsh Krishnamurthy (cs184-bb) Bela Stepanova (cs184-bs)

CGT 581 G Fluids. Overview. Some terms. Some terms

Height Filed Simulation and Rendering

Particle-Based Fluid Simulation. CSE169: Computer Animation Steve Rotenberg UCSD, Spring 2016

Index FEATURES LIST 2

Modeling of Granular Materials

Special Topics in Visualization

Navier-Stokes & Flow Simulation

Mass-Spring Systems. Last Time?

Applications of Explicit Early-Z Culling

Abstract. Introduction. Kevin Todisco

Who has worked on a voxel engine before? Who wants to? My goal is to give the talk I wish I would have had before I started on our procedural engine.

Modeling of Granular Materials

Fluids in Games. Jim Van Verth Insomniac Games

Real-Time Volumetric Smoke using D3D10. Sarah Tariq and Ignacio Llamas NVIDIA Developer Technology

Overview of Traditional Surface Tracking Methods

Interactive Fluid Simulation using Augmented Reality Interface

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

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

Computer Graphics 1. Chapter 2 (May 19th, 2011, 2-4pm): 3D Modeling. LMU München Medieninformatik Andreas Butz Computergraphik 1 SS2011

Strawberry Ice Cream. Modeling the Ice Cream: Brennan Shacklett and Peter Do

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

Rendering Smoke & Clouds

Homework 1: Implicit Surfaces, Collision Detection, & Volumetric Data Structures. Loop Subdivision. Loop Subdivision. Questions/Comments?

COMP 4801 Final Year Project. Ray Tracing for Computer Graphics. Final Project Report FYP Runjing Liu. Advised by. Dr. L.Y.

Screen Space Meshes. Matthias Müller Simon Schirm Stephan Duthaler. Abstract

Water. Notes. Free surface. Boundary conditions. This week: extend our 3D flow solver to full 3D water We need to add two things:

Attention to Detail! Creating Next Generation Content For Radeon X1800 and beyond

Index FEATURES LIST 2

A Framework for Real-Time Animation of Liquid-Rigid Body Interaction

Efficient Rendering of Glossy Reflection Using Graphics Hardware

Navier-Stokes & Flow Simulation

Motivation. Culling Don t draw what you can t see! What can t we see? Low-level Culling

Creating Flood Effects in Uncharted 3. Eben Cook VFX Naughty Dog

CS GPU and GPGPU Programming Lecture 2: Introduction; GPU Architecture 1. Markus Hadwiger, KAUST

We present a method to accelerate global illumination computation in pre-rendered animations

Rigid ICP registration with Kinect

CS-184: Computer Graphics Lecture #21: Fluid Simulation II

3D Computer Vision. Depth Cameras. Prof. Didier Stricker. Oliver Wasenmüller

Voxels. Tech Team - Johnny Mercado, Michael Matonis, Glen Giffey, John Jackson

Simulation in Computer Graphics. Introduction. Matthias Teschner. Computer Science Department University of Freiburg

Procedural modeling and shadow mapping. Computer Graphics CSE 167 Lecture 15

Ray Casting of Trimmed NURBS Surfaces on the GPU

LOD and Occlusion Christian Miller CS Fall 2011

CS 563 Advanced Topics in Computer Graphics QSplat. by Matt Maziarz

Ocean simulation and rendering in War Thunder. Tim Tcheblokov, NVIDIA

Modeling Clouds Shape

7. Stochastic Fractals

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

Deforming meshes that split and merge

Ocean Wave Simulation in Real-time using GPU

Direct Rendering. Direct Rendering Goals

CS451Real-time Rendering Pipeline

The Ball-Pivoting Algorithm for Surface Reconstruction

Permeable and Absorbent Materials in Fluid Simulations

Per-pixel Rendering of Terrain Data

REALTIME PARTICLE SYSTEM SIMULATION AND RENDERING IN EMBEDDED SYSTEMS

Simulating Smoke with an Octree Data Structure and Ray Marching

A Developer s Survey of Polygonal Simplification algorithms. CS 563 Advanced Topics in Computer Graphics Fan Wu Mar. 31, 2005

A Geometric Approach to Animating Thin Surface Features in SPH Water

Geometric Modeling. Bing-Yu Chen National Taiwan University The University of Tokyo

CS4621/5621 Fall Computer Graphics Practicum Final Projects. Professor: Kavita Bala Instructor: Nicolas Savva

gltf 2.0: Status and Outlook

Constrained Diffusion Limited Aggregation in 3 Dimensions

BCC Rays Ripply Filter

Animation of Water Droplet Flow on Structured Surfaces

Interactive Fluid Simulation Using Augmented Reality Interface

Stanford Exploration Project, Report 100, April 20, 1999, pages

Images from 3D Creative Magazine. 3D Modelling Systems

FLAMINGO CHEAT SHEET FOR ES 305 CLASS 5 Pages of Fresh Flamingo Goodness

Chapter 19- Object Physics

Global Illumination with Glossy Surfaces

Let s start with occluding contours (or interior and exterior silhouettes), and look at image-space algorithms. A very simple technique is to render

Lahore University of Management Sciences. CS 452 Computer Graphics

3D Reconstruction with Tango. Ivan Dryanovski, Google Inc.

Consider a partially transparent object that is illuminated with two lights, one visible from each side of the object. Start with a ray from the eye

Enabling Next-Gen Effects through NVIDIA GameWorks New Features. Shawn Nie, Jack Ran Developer Technology Engineer

Advanced d Computer Graphics CS 563: Real Time Ocean Rendering

An Algorithm of 3D Mesh Reconstructing Based on the Rendering Pipeline

NVIDIA. Interacting with Particle Simulation in Maya using CUDA & Maximus. Wil Braithwaite NVIDIA Applied Engineering Digital Film

Smoke Simulation using Smoothed Particle Hydrodynamics (SPH) Shruti Jain MSc Computer Animation and Visual Eects Bournemouth University

REALFLOW 2012: COMPLETE OVERVIEW OF FEATURES

Multiresolution volume processing and visualization on graphics hardware van der Laan, Wladimir

Tiling Three-Dimensional Space with Simplices. Shankar Krishnan AT&T Labs - Research

CSE 167: Lecture #17: Procedural Modeling. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2011

Level set methods Formulation of Interface Propagation Boundary Value PDE Initial Value PDE Motion in an externally generated velocity field

CSE 167: Introduction to Computer Graphics Lecture #16: Procedural Modeling

Mesh Repairing and Simplification. Gianpaolo Palma

Art Based Rendering of Fur by Instancing Geometry

A 3D particle visualization system for temperature management

What is a Rigid Body?

Bioluminescence Chris Fontas & Forrest Browning

Voxel Cone Tracing and Sparse Voxel Octree for Real-time Global Illumination. Cyril Crassin NVIDIA Research

CLOTH - MODELING, DEFORMATION, AND SIMULATION

Computer Graphics Ray Casting. Matthias Teschner

Interactive Volumetric Shadows in Participating Media with Single-Scattering

Physical Modeling and Surface Detection. CS116B Chris Pollett Mar. 14, 2005.

Transcription:

Ship in a Bottle Saket Patkar and Bo Zhu 1 Modeling and Rendering the Water We decided to get the basic ocean surface through a particle level set fluid simulation. The fluid simulator can only handle simple manifold meshes. Unfortunately the ship was a complex mesh consisting of 600 sub meshes (as shown in Figure 1). Figure 1: Ship mesh as viewed in meshlab. Hence I first imported the mesh in 3ds Max and deleted most of the components other than the hull of the ship. The hull was still not a single piece and hence could not be imported into the simulation. After trying a lot of things, taking the convex hull of the hull mesh seemed to do the trick (as shown in Figure 2). Figure 2: Simplified ship mesh. We ran a fluid simulation [4] using the simplified mesh. At first we ran a very high resolution simulation that gave us nice waves but we realized that the big waves did not suit the scene. Moreover it was giving us small scale features while we were more looking to get large scale waves. Hence we ran a course simulation where a source seed water in a sine wave pattern. This gave us nice bulk waves. Figure 3 shows the results of both the simulations. To make the surface of the water look like ocean we added a displacement based on Phillips spectrum see [1] for more details. The basic idea is to superpose many sine waves of different amplitudes and frequencies to get a displacement map. The Phillips spectrum gives the amplitude as a function of frequencies and is used to create a time dependant height field in frequency space. A FFT of these amplitudes converts it from 1

Figure 3: (Top) A high resolution fluid simulation. (Bottom) Lower resolution simulation that has better bulk waves. frequency space to the position space. Now we have a 2D displacement map (more like a height field). This map can be used to advance the fluid level set using Semi Lagrangian advection to get the bumpy ocean like surface as shown in Figure 4. Figure 4: Fluid surface after applying displacement based on Phillips spectrum. Finally this surface needed to be clipped w.r.t. the bottle. To do this we created a signed distance field for the bottle. We also had the bottle triangle mesh. Then we transformed the simulation level set to the same coordinate system. Now for every point on the level set grid we shot rays in two opposite directions to determinng whether the voxel is inside the bottle. We also used the bottle s level set to determine this. We had to initialize the cells near the bottle with correct distance values to avoid getting a jagged surface. We ran a fast marching on this surface in the end to get a signed distance field. Finally we ran a dual contouring algorithm to get a triangulated surface from the level set. Figure 5 shows the final result. 2

Figure 5: Fluid surface transforming, interpolating and clipping by the bottle. 2 Sand and Spray Particle Rendering In order to get high resolution sand in a complex scene, we model sand as particles and run a physics simulation for the sand and the environment. The fine sand grains are generated based on the coarse simulation results adaptively in an view-dependent way. We show the rendering results with different sampling parameters. 2.1 Sand Modeling Sand is modeled as a collection of particles. Each particle is treated as a rigid sphere, and the interaction between two rigid spheres is modeled in a impulse-based way considering the repulse force and damping force as in [3]. A hybrid particle-height field model [5] is used to accelerate the simulation by fixing the positions of particles under the surface flow relying on the fact that the flow of granular materials only happens on the surface. More specifically for the scene setup, we first model the terrain and the book as a triangle mesh. Then we convert these two meshes into surfaces of dense enough particles in order to incorporate them into the particle-based sand simulation algorithm. Then we seed a thin layer of particles from a square source covering the entire visible part in the scene, and run simulations for a number of time steps until all the particles are fallen and static on the ground (as shown in Figure 6). These particles are then used as the input for the point cloud render process. 2.2 Sand Rendering For the sake of rendering high resolution granular material, particles are upsampled procedurally based on the results we have got from the physics simulation. A number of sub particles are seeded from each simulation particle, and placed randomly within a certain radius to the particle center. This upsampling process can produce realistic rendering results for the sand grains near the camera, however, it is a waste to sample the same number of particles for those particles far from the view occupying merely one or several pixels. In order to perform this upsampling process efficiently, we implemented an adaptive view-dependent point sampling algorithm for sand rendering. This algorithm is motivated by [2], in which sand particles are treated in a LoD way based on its distance to the camera. Similarly, we define four parameters for the adaptive sampling process: R the sampling radius for each simulation particle, r the radius for each 3

Figure 6: Particle-based sand simulation. The left image shows the initial configuration of our simulation. The right image shows the results after 10 timesteps. 22k particles are used in this simulation. upsampled particle, N the maximum number of upsampled particles, and n the minimum number of upsampled particles. N and n are calculated as a quadratic function of the distance from the particle to the camera. As shown in Figure 7, different parameters are used to show the different levels of details for sand rendering. The top-left image shows the direct rendering of the simulation particles and the bottom-right image shows the rendering of the upsampled fine grains that is used in our final image. 2.3 Foam Rendering Foam particles are seeded around the ship near the level set water. These particles are rendered in the same way as the sand particles but with different materials. 3 Team Member Contribution Bo: sand modeling and rendering, foam rendering, rope modeling and rendering, and other miscellaneous rendering and modeling tasks (e.g., modeling and texturing the cork, book, scene setup, etc.) Saket: Modeling and rendering water and other miscellaneous rendering and modeling tasks such as the octopus and barrels. 4 Results References [1] Simulating ocean waves with fft on gpu. http://www.edxgraphics.com/blog/ simulating-ocean-waves-with-fft-on-gpu. [2] Chris Allen, Doug Bloom, Jonathan M Cohen, and Laurence Treweek. Rendering tons of sand. In ACM SIGGRAPH 2007 sketches, page 27. ACM, 2007. [3] Nathan Bell, Yizhou Yu, and Peter J Mucha. Particle-based simulation of granular materials. In Proceedings of the 2005 ACM SIGGRAPH/Eurographics symposium on Computer animation, pages 77 86. ACM, 2005.

Figure 7: Adaptive granular material rendering. Parameters for the 4 images are (from left to right, top to bottom): R=.05, r=.05, N=1, n=1; R=.05, r=.02, N=10, n=2; R=.08, r=.01, N=30, n=10; R=.1, r=.005, N=80, n=50. [4] R. Elliot English, Linhai Qiu, Yue Yu, and Ronald Fedkiw. Chimera grids for water simulation. In Proceedings of the 12th ACM SIGGRAPH/Eurographics Symposium on Computer Animation, pages 85 94. ACM, 2013. [5] Bo Zhu and Xubo Yang. Animating sand as a surface flow. Eurographics 2010, Short Papers, 2010.

Figure 8: Ship in a bottle: final rending image.