Implicit Modeling Project Descriptions Comp275 – Spring 2007 Interactive Modeling Systems (suggested as group projects) 1) Mr. Potato head model construction system 2) Terrain modeler 3) Concept design by silhouette drawing 4) Interactive deformation of implicit models Interactive Modeling Techniques (suggested as individual projects) 5) High end ray tracing of sampled implicit functions 6) Painting/texturing sampled implicit functions 7) Surfacing implicit volumes with cubic Bezier patches 1) Mr. Potato head model construction system Problem Description Create an intuitive and compelling system for constructing models (such as creatures) from stock parts (such as limbs, feet, hands, heads, noses, etc.). Spore creature editor Project Outline A major advantage of implicit models over parametric models is that it is easy to combine them using CSG operations (union, intersection, and differencing). Develop a framework for constructing models from parts that includes ways to blend parts together at their joints. Provide some control to the user for controlling the part blending. Create an intuitive interface for controlling the parts and visualizing the resultant models. Output high quality rendered images of the parts (either via triangle generation and rendering or via ray tracing). 2) Terrain modeler Problem Description Designing large terrain models for games and entertainment applications is challenging. Realistic models can be created procedurally using stochastic and fractal models or they can be derived from satellite range data of real terrain. However, neither of these sources provides the designer with enough control for directability. For example, it’s hard to create a realistic river, which usually requires stochastic generation, that has desired branches and tributaries. underlying land contour mountain ranges river valley composite height map 3D terrain model random noise Project Outline Build a terrain modeler that represents terrain internally as a layered 2D height field image and exports and renders a triangle model representing the 3D terrain. The modeler should provide a set of tools to create and edit each layer. The height field is computed by blending the layers, each of which is essentially a sampled implicit height function. A more challenging system would include a painting and texturing interface to color the terrain. The modeler should provide a set of tools such as landscape brushes (for creating both large scale contouring of the terrain such as a river basin and local detail such as an individual tributary of the river), procedural texturing (e.g., fractal generators for generating mountain ranges or river valleys or noise functions to generate randomly varying terrain), and a mechanism for cutting and pasting terrain from other images (e.g., from satellite range images). The focus of this project will be in creating the editing tools and generating good triangle models of the terrain; a layered image editing system such as Photoshop can be used to manage and blend the layers. 3) Concept design by silhouette drawing Problem Description Takeo Igarashi’s Teddy and Olga Karpenko’s implicit modeling system provide an intuitive and simple way of creating simple, organic models by sketching in a single view point. We’d like to create concept designs of more sophisticated shapes (e.g., cars or product skins) by sketching silhouettes and ‘characteristic’ lines from multiple viewpoints. 4 orthogonal views of a car sketch of 3 orthogonal silhouettes of a car body Project Outline Design a system where the user can draw silhouettes in 2D from multiple viewpoints that can be used to ‘carve out’ a 3D model. Incorporate a means for using characteristic lines (i.e., important lines such as the imprint of the hood of a car that influence the shape but are not silhouette lines) to edit and control the shape of the model. 4) Interactive deformation of implicit models Problem Description Modeling physically realistic deformation of gooey substances is a complex task. Fortunately, we can use blending functions and implicit modeling to achieve reasonable approximations of how gooey objects deform when they collide into each other. deformation of implicit solids (from Desbrun and Cani) Overlapping implicit solids Deformed solids Project Outline Design and implement a 2D system where users can draw their own deformable implicit shapes and then bounce them into each other. The models should detect when they overlap each other, compute impact forces that may affect the motion of the shapes, and use a blending function to approximate deformation of the overlapping shapes (if you took the physics-based modeling course last year you may want to add some simple dynamics to your system). 5) High end ray tracing of sampled implicit functions ray traced implicit surface Project Outline Provide a high end ray tracer for rendering a sampled implicit function. The ray tracer should provide an efficient way for determining the intersection between each ray and an iso-surface of the implicit function and use secondary rays to model shadows, reflection and refraction. Because a high quality renderer is required, the system should provide anti-aliasing, texture mapping and environment mapping. Additional features such as bump mapping, procedural texturing, and photon mapping could be considered. 6) Painting/texturing sampled implicit functions Model and its texture map Project Outline Create a system for painting and texturing the surfaces of sampled implicit functions. Implement a surface tessellator to create a triangle model of the sampled implicit function and devise a method to parameterize the surface so that the paint/texture maps are conserved when the surface is tessellated. 7) Surfacing implicit volumes with cubic Bezier patches Project Outline Most systems that convert implicit functions to parametric models generate triangle models. However, these often require a large number of triangles to represent the curved, organic surfaces of implicit functions. In this project, generalize the SurfaceNets tessellation algorithm to use both the distance field and its gradient to generate a parametric model composed of cubic Bezier patches from a sampled implicit function.