proceedings of the 1 advanced computer graphics€¦ · proceedings of the 1st advanced computer...

12
Proceedings of the 1 st Advanced COMPUTER GRAPHICS Mini-conference Ecole Polytechnique Fédérale de Lausanne, Switzerland, June 9 and 16, 2005. Editor: Anderson Maciel Co-chairs: Pablo de Heras Ciechomski Sofiane Sarni Anderson Maciel Virtual Reality Lab Press

Upload: others

Post on 27-Jun-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Proceedings of the 1 Advanced COMPUTER GRAPHICS€¦ · Proceedings of the 1st Advanced COMPUTER GRAPHICS Mini-conference Ecole Polytechnique Fédérale de Lausanne, Switzerland,

Proceedings of the 1st

Advanced COMPUTER GRAPHICS Mini-conference Ecole Polytechnique Fédérale de Lausanne, Switzerland, June 9 and 16, 2005.

Editor: Anderson Maciel Co-chairs: Pablo de Heras Ciechomski Sofiane Sarni Anderson Maciel

Virtual Reality Lab Press

Page 2: Proceedings of the 1 Advanced COMPUTER GRAPHICS€¦ · Proceedings of the 1st Advanced COMPUTER GRAPHICS Mini-conference Ecole Polytechnique Fédérale de Lausanne, Switzerland,

1st Advanced Computer Graphics Mini-conference

2

Proceedings of the

1st Advanced Computer Graphics Mini-conference

VRlab – EPFL

This conference was organized in the frame of the practical works part of Professor Daniel Thalmann’s course: Advanced Computer Graphics, by the summer semester of 2005. The conference is part of the evaluation for all students registered in the course. The abstracts describe the implementation of one or more techniques published in different areas of the Computer Graphics literature. They were not peer reviewed, being all accepted. Oral presentations followed by a software demonstration were held at the École Polytechnique Fédérale de Lausanne (Switzerland), room BC-04, June 9th and 16th 2005.

The practical works assistants. CO-CHAIRS:

Anderson Maciel Pablo De Heras Ciechomski Sofiane Sarni

PROGRAM COMITTEE:

Tolga Abaci (EPFL, Switzerland) Sylvain Cardin (EPFL, Switzerland) Jan Ciger (EPFL, Switzerland) Toni Conde (EPFL, Switzerland) Pablo De Heras Ciechomski (EPFL, Switzerland) Etienne De Sevin (EPFL, Switzerland) Alejandra Garcia-Rojas Martinez (EPFL, Switzerland) Pascal Glardon (EPFL, Switzerland) Mario Gutierrez (EPFL, Switzerland) Bruno Herbelin (EPFL, Switzerland) Benoît Le Callennec (EPFL, Switzerland) Patrick Lemoine (EPFL, Switzerland) Anderson Maciel (EPFL, Switzerland) Jonathan Maim (EPFL, Switzerland) Renaud Ott (EPFL, Switzerland) Achille Peternier (EPFL, Switzerland) Sofiane Sarni (EPFL, Switzerland) Sébastien Schertenleib (EPFL, Switzerland) Barbara Yersin (EPFL, Switzerland)

Page 3: Proceedings of the 1 Advanced COMPUTER GRAPHICS€¦ · Proceedings of the 1st Advanced COMPUTER GRAPHICS Mini-conference Ecole Polytechnique Fédérale de Lausanne, Switzerland,

1st Advanced Computer Graphics Mini-conference

3

Blobs

Hajanavalona Randriamangason, Hermes Lanker Ecole Polytechnique Fédérale de Lausanne (EPFL)

{hajanavalona.randriamangason, hermes.lanker}@epfl.ch Our project consists of implementing an algorithm for polygonizing implicit surfaces, defined by f(x,y,z,t)=0. The implicit surface is modelled by a particle system, where each particle adds a contribution to the value of the field, out of which an isosurface is visualized. The particles move according to forces they imply on each other, similar to the movement of atoms and molecules. For the polygonization we used the marching cubes algorithm. The problem is to form a facet that approximates the isosurface. As a starting point we used a simple implementation provided by Cory Bloyd, in order to understand how it works. We then tried to improve this algorithm to make it faster. Instead of processing all the small cubes in a predefined domain of the space, only the cubes lying on the visualized surface should be processed. To do that we look for a cube on the surface near each particle. Then, for each cube which is on the surface we process all its neighbours. There are still other improvements that can be done, like restricting the influence of the particle forces, or the influence of the particles on implicit function for points that are far away. Also the values of the implicit function could be stored in order to prevent recalculations at shared vertices of neighbouring cubes.

References 1-http://astronomy.swin.edu.au/~pbourke/modelling/polygonise/ 2-Polygonization of implicit surface (Jules Bloomenthal)

Page 4: Proceedings of the 1 Advanced COMPUTER GRAPHICS€¦ · Proceedings of the 1st Advanced COMPUTER GRAPHICS Mini-conference Ecole Polytechnique Fédérale de Lausanne, Switzerland,

1st Advanced Computer Graphics Mini-conference

4

Real-time cloth animation using a mass-spring model

Felix Gliesche, Jacob Gyllenstierna Ecole Polytechnique Fédérale de Lausanne (EPFL)

{ felix.gliesche, jacob.gyllenstierna }@epfl.ch A mass-spring model is a system of particles with inter-connected springs which allows the motion of one particle to affect the motion of others. This technique is commonly used to simulate deformable objects such as strings, cloth and jelly. The basic implementation consists in setting up a network of masses and springs and calculating its movement using fundamental physics. When one mass is moved the reaction forces of the springs that are connected to it are calculated and the effect of these is then propagated through the surface, resulting in a physically correct behavior. In this project we have tried to realistically simulate the movement of a piece of cloth under the influence of natural and external forces. We have set up a white bed sheet hanging in its two corners from a ceiling. Besides the movement resulting from gravity more forces can be added through user interaction. One of the most common issues with mass-spring models is instability. This is caused by incorrect values for the physical parameters of the system. Another issue is unrealistic tear and bending in the surface. This can be avoided by adding constraints using further springs.

Screenshot of cloth being pulled in its center while hanging.

References Provot, Xavier. “Deformation Constraints in a Mass Spring Model to Describe Rigid Cloth Behavior,” Graphics Interface, 1995, pp. 145-155. Oliveira, Gustavo. “Exploring Spring Models,” Gamasutra, October 5, 2001. http://www.gamasutra.com/features/20011005/oliveira_01.htm.

Page 5: Proceedings of the 1 Advanced COMPUTER GRAPHICS€¦ · Proceedings of the 1st Advanced COMPUTER GRAPHICS Mini-conference Ecole Polytechnique Fédérale de Lausanne, Switzerland,

1st Advanced Computer Graphics Mini-conference

5

A Solver for Simulating Fluids in Real-Time

José Antonio Rosales Muñoz, Susanne Aghassi Ecole Polytechnique Fédérale de Lausanne (EPFL)

{joseantonio.rosalesmunoz, susanne.aghassi}@epfl.ch The simulation of fluid flows is a challenging problem in Computer Graphics. Most fluid solvers that have been developed in the past 50 years have a high degree of complexity and can thus only be run on expensive high performance computers. The fluid solver which we will present here is based on a method developed by Jos Stam and was first introduced in 1999 [Stam99]. The method is simple and the resulting solver can be run in real time on normal desktop computers. The heart of the solver is the set of Navier-Stokes Equations, which are commonly used to mathematically model the behavior of fuid flows. As those equations are very difficult to solve due to their non-linearity, most solvers are, though more accurate, very time expensive. The solver we are going to present is not optimized for very precise calculations but for visual appearance. It should show all characteristics that are essential for real fluids, such as swirling flows and others in close-to-real-time. Our fluid solver works in 5 steps: • Display the scene • Get forces and sources from the user interface (left and right mouse) • Update the velocity field • Update the density field • Display the scene The user can interact with our solver in real-time by adding density (right mouse click to add substance) or changing the velocity field (left mouse click to add force). Furthermore there are several other parameters that can be manipulated by the user, such as the grid size or the viscosity and diffusion rate of the simulated fluid. It is thus possible to simulate many different substances, i.e. jelly-like fluids with high viscosity or more active ones with low viscosity.

Figure 1: Screenshot of the solver

References [Stam99] Jos Stam, Stable Fluids, SIGGRAPH 99 Conference Proceedings, August 1999, 121-128 [Stam03] Jos Stam, Real-Time Fluid Dynamics for Games, Proceedings of the Game Developer Conference, March 2003

Page 6: Proceedings of the 1 Advanced COMPUTER GRAPHICS€¦ · Proceedings of the 1st Advanced COMPUTER GRAPHICS Mini-conference Ecole Polytechnique Fédérale de Lausanne, Switzerland,

1st Advanced Computer Graphics Mini-conference

6

Fractal landscapes

Guillaume Gauby, Arnaud Lagger Ecole Polytechnique Fédérale de Lausanne (EPFL)

{guillaume.gauby,arnaud.lagger}@epfl.ch Fractals are often used to model landscapes. In this case, we will use an enhanced spatial recursive subdivision algorithm to generate fractal terrain (as explained in [1]). If we perform a classical recursive subdivision, no information is known between adjacent triangles or quadrilaterals, which could cause inconsistencies, thus cavities. This enhanced method was introduced in 1982 by Fournier, Fussell and Carpenter (see [2]). Instead of subdividing only edges, we subdivide in squares, then in diamond and so on. With the aim of showing how the algorithm works, a step-by-step animation is available. To control the way the landscape will be generated, several parameters will be used. We can control the roughness of the terrain by specifying the amount of perturbation. The elevation level is used to have more mountains or more cavities or sees. The level of details is given by the number of triangles we choose. Additionally, to visually enhance the rendering, we implemented a method to compute the colors of the vertices. The basic behavior is to assign a color based on the height but to avoid having in green some cliffs, we took also in consideration the slope of the ground. Finally, the performance of the generation is reasonable, that is, a few seconds to generate a 129x129 terrain.

References [1] Sala N., Metzeltin S., Sala M., Applications of mathematics in the real world: Territory and landscape, In Proceedings of the International Conference The Humanistic Renaissance in Mathematics Education, Terrasini, Palermo, Italy, 326—333, 2002. [2] Alain Fournier, Don Fussell, Loren Carpenter, Computer rendering of stochastic models, Communications of the ACM, v.25 n.6, p.371-384, June 1982.

Page 7: Proceedings of the 1 Advanced COMPUTER GRAPHICS€¦ · Proceedings of the 1st Advanced COMPUTER GRAPHICS Mini-conference Ecole Polytechnique Fédérale de Lausanne, Switzerland,

1st Advanced Computer Graphics Mini-conference

7

Rendering soft shadows from a 3DS scene

Carl Björk, Yann Christinat Ecole Polytechnique Fédérale de Lausanne (EPFL)

{carl.bjork,yann.christinat}@epfl.ch Nowadays, there is a growing need for photo-realistic rendering tools. Raytracing is a realistic rendering method which is based on the real world physic; it traces a ray of light. Several physical properties can be modeled through raytracing. Dispersion is one of those. However, even if we assist to huge hardware abilities improvement, raytracing can be particularly CPU-consuming. Therefore, many techniques have been developed to improve the speed of raytracing. Distributed raytracing coupled with supersampling reduce quite significantly the complexity. However realistic rendering would not mean anything if no complex objects are processed. The market is full of very performing 3D scene modeler, e.g. 3D Studio Max, and using such software generated 3D scene is a must-be requirement for any high-realistic renderer. Aware of the above mentioned problems, we implemented a real shadow (also known as fuzzy shadow or soft shadow) rendering engine as part of a 3D Studio Max object loader. One of our dominant problems is computing time. This has been massively reduced using a 3D grid for the scene. Another improvement has been achieved by pre-calculating some objects (such as normals). The software is then able to load and render a 3DS scene with textures implementing soft shadows (through distributed raytracing) and speedup techniques.

Illustrative example (source: http://dee.cz/fcss).

References Computer Graphics with OpenGL third edition, Hearn & Baker, Prentice Hall, 2004 3D Studio Max file format, http://faydoc.tripod.com/formats/3ds.htm.

Page 8: Proceedings of the 1 Advanced COMPUTER GRAPHICS€¦ · Proceedings of the 1st Advanced COMPUTER GRAPHICS Mini-conference Ecole Polytechnique Fédérale de Lausanne, Switzerland,

1st Advanced Computer Graphics Mini-conference

8

Photon Mapping Made Easy - A Java implementation

Patrick Salamin, Thierry Monney Ecole Polytechnique Fédérale de Lausanne (EPFL)

{patrick.salamin,thierry.monney}@epfl.ch Photon Mapping is a two-pass rendering technique based on simulating the interactions between photons emitted by light sources and the objects of a scene. It produces photo-realistic images, including indirect illumination, soft shadows, caustics or color bleeding. During the first pass, photons generation happens, based on the characteristics of light sources, such as their intensity or their type (point light, spotlight, etc.). Their trajectory inside 3D space is computed using a backwards ray-tracing algorithm (rays from the light sources to the objects). Whenever a photon hits an object, depending on the surface attributes, it is either diffused, reflected, refracted or absorbed. Each hit point is then recorded in a "photon map" for later use. Track is kept of the hit position, the direction of the photon and its intensity. The second pass is actually a conventional, forward ray-tracing (rays from the eye to the light sources) of the scene, except that the total irradiance gathered by the rays is combined with the irradiance propagated by the photons that were previously stored in the map. The considered photons hits are those near the intersection points of the ray with objects. The authors propose to implement the photon mapping technique on top of an existing ray tracer. Java was the chosen programming language due to the availability of tools and libraries. Moreover Java's performances (its most criticized feature) have improved a lot last years. Our implementation extends Raja, a free open source ray tracing library written by Emmanuel Fleury and GrŽgoire Sutre. We also use the KD-Tree (used as a basis for the photon map) code from Simon Levy and Bjoern Heckel.

References TinTin Yu, John Lowther and ChingKuang Shene, "Photon Mapping Made Easy", Proceedings of the 36th SIGCSE technical symposium on Computer science education, 2005 Henrik Wann Jensen, Frank Suykens, Per Christensen, and Toshi Kato, "A Practical Guide to Global Illumination using Photon Mapping", SIGGRAPH'2002 Course 43, San Antonio, July 2002

Page 9: Proceedings of the 1 Advanced COMPUTER GRAPHICS€¦ · Proceedings of the 1st Advanced COMPUTER GRAPHICS Mini-conference Ecole Polytechnique Fédérale de Lausanne, Switzerland,

1st Advanced Computer Graphics Mini-conference

9

Elastic then Plastic and finally Fracture

Nils Raning, Marc Chassot Ecole Polytechnique Fédérale de Lausanne (EPFL)

{nils.raning, marc.chassot}@epfl.ch The goal of this project is to demonstrate the behavior of deformable objects. We are going to use a spring based model to make 2 objects interact: a surface and a sphere. We want to illustrate the 3 possible states of deformable objects: the elastic region, where the object is going to take exactly the same shape as before when you release it from the force that was deforming it; the plastic region, where the object remains deformed when you remove the force that was applied on it; and finally the Fracture, where you break some of the springs of which the object was made. We are going to build a flat square surface and we will set the border of this surface as being fixed so no deformation can ever be applied to the border of this surface. A ball will be thrown against this surface in order to deform it or even to break it. When the ball and the surface will be in contact, we will solve the equations to know how the surface will deform, the ball is supposed to be rigid.

Illustrative example (extracted from [2]).

[1] D.Terzopoulos et al., "Elastically deformable models". In Computer Graphics(Proc. SIGGRAPH), Vol. 21, pp. 205-214. ACM, August 1987. [2] D. Terzopoulos, K. Fleischer, 1988, "Modeling Inelastic Deformation: Viscoelasticity, Plasticity, Fracture", ACM Computer Graphics,.22(4), August 1988, 269-278.

Page 10: Proceedings of the 1 Advanced COMPUTER GRAPHICS€¦ · Proceedings of the 1st Advanced COMPUTER GRAPHICS Mini-conference Ecole Polytechnique Fédérale de Lausanne, Switzerland,

1st Advanced Computer Graphics Mini-conference

10

Flock of funky flying teapots

Damien Maupu, François Picard Ecole Polytechnique Fédérale de Lausanne (EPFL)

{damien.maupu, francois.picard}@epfl.ch Behavioral animation is used in computer animation to help designers in their task. It is a smart way to create believable and rich virtual world. Particular hard animations to model are flock of birds, school of fish and herd of land animals. A flock is the result of a dense interaction of relatively simple behaviors of simulated birds. Craig Reynolds is a pioneer in flocks’ simulation. Since his first publication on this subject in 1987, he created an open source library for steering behaviors called Open Steer. His work is based on forces, which orient the objects, generally called “boids”, and regulate their speed. These forces are generated by three simple behaviors: collision avoidance, velocity matching, flock centering. We have chosen, in homage to the University of Utah’s famous teapot, to model a flock of funky flying teapot. Teapots are funky in the way they have psychedelic colors. Wings have been added to the teapots to allow them to fly freely. A new behavior has been implemented to allow collision avoidance with the scenery. As a flock is the result of the interaction of lots of individuals, an important number of funky teapots has to be displayed. In order to maintain a correct frame rate, 3D models cannot be used anymore and image-based rendering techniques are used instead. Moreover, interactivity is proposed to the user in a way he can add teapots, obstacles and above all, shoot teapots.

References: “Flocks, Herds, and Schools: a distributed behavioral model”, Craig W. Reynolds. Siggraph 87. “Steering behaviors for autonomous characters”, Craig W. Reynolds. Game Developers Conference 99.

Page 11: Proceedings of the 1 Advanced COMPUTER GRAPHICS€¦ · Proceedings of the 1st Advanced COMPUTER GRAPHICS Mini-conference Ecole Polytechnique Fédérale de Lausanne, Switzerland,

1st Advanced Computer Graphics Mini-conference

11

Simstation

Jérôme Caffaro, Patrick Zbinden Ecole Polytechnique Fédérale de Lausanne (EPFL)

{ jerome.caffaro, patrick.zbinden}@epfl.ch This project simulates the behaviour of agents in a train station. Their tasks consist in finding their train. To do this, they have to go to the right platform, or if they do not know which one to use, they have to find and look at the timetable. To make it harder, a train can be deviated to another platform (the player has the control of these deviations), and the agents must avoid other agents and obstacles (walls, panels, etc…) by themselves. To implement this project, we use a basic DLA based rules system to control the actor’s tasks. We also designed a simplified virtual vision for the agents to help them to find the timetable, and avoid obstacles. The actor’s moon has been taken into account, so that a nervous actor will walk quicker than an actor in good mood. The project has been implemented in java, and simplified as much as possible from a graphical point of view to concentrate on the behaviour animation part, that is the animation of the path of the actor.

References 1) "A VISION-BASED APPROACH TO BEHAVIORAL ANIMATION" Olivier Renault, Nadia Magnenat-Thalmann, Daniel Thalmann, Journal of Visualization and Computer Animation, vol. 1, pp. 18--21, Aug. 1990. 2) "AI-based Animation for Interactive Storytelling " Marc Cavazza, Fred Charles and Steven J., Proceedings of Computer Animation, IEEE Computer Society Press. 2001.

Page 12: Proceedings of the 1 Advanced COMPUTER GRAPHICS€¦ · Proceedings of the 1st Advanced COMPUTER GRAPHICS Mini-conference Ecole Polytechnique Fédérale de Lausanne, Switzerland,

1st Advanced Computer Graphics Mini-conference

12

Notes