Automatic Instancing of Hierarchically Organized Objects

Size: px
Start display at page:

Download "Automatic Instancing of Hierarchically Organized Objects"

Transcription

1 Automatic Instancing of Hierarchically Organized Objects R Schultz, H Schumann University of Rostock Abstract Instancing is an approved concept to save space for the storage of three dimensional scenes In this paper we propose an algorithm to automatically create instances from objects that are organized in a hierarchical scene graph We present a definition of instancing and derive an algorithm from that We discuss results of tests done with our implementation of the algorithm and give options for further development Keywords: efficient scene storage, instancing, automatic instancing 1 Introduction In order to reduce the memory consumption of complex scenes, which is an important aspect for rendering performance, different techniques may be used These are for example multiresolution techniques (see [6] and [7]), instancing [11], procedural objects (see [12], [1], and [5]), and tool objects [16] However, multiresolution techniques, procedural objects, and tool objects are not scope of this paper Instancing is an approved concept to save space that is not only used in computer graphics For scenes with many similar objects (eg architectural scenes or scenes with vegetation) it is desirable to save just the properties that are different between the similar objects and not to save eg the full geometric representation for each object Instancing realizes this desired behaviour Commercially available modelling and rendering packages (like Maya [19], 3D Studio Max [18], RenderMan [2]) offer this functionality The first use of instancing in computer graphics dates back to Sutherlands Sketchpad system that has been introduced 1963 [10] Sutherland defined the terms Master as an object which holds full geometric information and Instance as a transformed variant of the Master object In [3] and [4] automatic generation of instancing hierarchies for plant models was considered by J Hart and DeFanti They, additionally, extended the instancing paradigm from hierarchical structures to recursive (self similar) ones While Harts approach dealt with exact instancing, Fachbereich Informatik, Universität Rostock, A Einstein Str 21, Rostock, Germany; rschultz@informatikuni-rostockde Deussen et al [11] used a new approach called approximate instancing to render large models of vegetation This approach is based on an observation by Smith [12] that the set of random numbers used in stochastic algorithms to create fractal mountains and particle-system trees can be reduced to a few representative values without affecting the perceived visual complexity of the generated images too much Deussen et al applied clustering algorithms to sets of vectors of real numbers (representing the parameters of procedural plant models) to find representative vectors (masters for instancing) Furthermore, Deussen points out that this approach can be stated in terms of vector quantization as used in colour image quantization algorithms [15] Snyder [13] and Kay [14] used the instancing paradigm to successfully render large models using ray tracing Instancing can also be used to improve radiosity rendering as was shown in [8] and [9] While Ouhyoung [9] shared precomputed geometric information between so called re-usable radiosity objects to speed up the calculation of form factors and visibility, Soler [8] proposed a hierarchical instancing technique that allowed radiosity solutions to be computed for complex objects such as entire trees While Deussen et al used automatic instantiation for special objects [11], the automatic instantiation of arbitrary objects is a currently unsolved problem In this paper we propose an algorithm to automatically create instances for static scenes with objects, that are organized in a scene graph For that, we define instancing and instantiation in the next two sections, then we show a general solution to the problem, present experimental results with our first implementation, and finally give some concluding remarks 2 Instancing In this section we will first discuss instancing in general and then give a formal definition of instancing The concept of instancing has been introduced in eg [16] We would like to point out, that the way we use the term instance conflicts with the terminology of object oriented programming, where an instance is a concrete representation of a class A better but seldom used term for the type of instancing in the computer graphics community would be referencing In the following sections we use the terms Master and Instance as follows: the Master object is an object which

2 U b R O b holds full information Instance objects just point to a Master object (and are therefore smaller as the Master object), share certain properties of the Master, but also have at least one property which differs from the Master Commonly, this differing property are affine transformations Instance objects can be used to save storage, speed up rendering, or to ease operations on objects that would normally have been done on many objects separately The amount of saved memory can be very high, but obviously, this depends highly on the scene If there are no objects that share certain properties in the scene one can hardly use instancing Properties can, for instance, be geometric information, textures or other material descriptions We will now give a more formal definition of instancing Let be a set of all objects of a scene Objects are eg CSG primitives, objects resulting from CSG operations, freeform curves and surfaces, procedural objects, and parameter objects of procedural objects A property vector! "$#% '&(*)+, is assigned to every $56'7/98:/9); -'0/213/4 object describing the properties $5 of Let the order of the properties for all objects in be uniform Consequently, for all object types the same property vector is in use >=?@BA We DCE < introduce a distance vector for two objects and : F G <' >=>H IJK >LJ # & J 5 NM6O P5 <H QP5 = for else 5 If the property J 5 is identical R < >=SJ 5 for the objects and is zero, otherwise is a value from the interval O LT The R value describes the amount of difference and is computed $5 differently depending on the type of the specific property To compute this value for certain geometric properties is a difficult task and is not solved in general For special cases, eg comparison of two spheres using their radii in normalized R A R coordinates, it is easier to compute a Given a value it makes sense to introduce a threshold vector 2V> V #W&, whose elements describe the tolerable difference of two objects with regard to a certain property This way, not only instancing of identical objects, but also V 5 of similar objects is possible The elements have either the value V X 5 or values from the interval Y O T A negative value for means that the corresponding property is not used for the comparison of two objects We further de- for the instancing of V 5 mand that at least one has to be X two objects, because all instances of a master have at least one property in which they < differ = We call two objects and instantiable if: Z V!5\[ J^5,/_V 5`a8\ 9L) O ] We define a function b for easier handling: <'c >=>H dm e < = else satisfy equation (2) (1) (2) (3) g= g=e'g/h1i/jh >= To handle all instances of a master object we introduce 1A kce the set f The elements of f are found as follows: Z l nm G >=>H 2 ] g=g f To avoid redundancies, we state D DqB 3 Automatic Instancing g=pò f In this section, we present an algorithm for automatic instancing for a hierarchically organized static scene (n- Tree) Automatic instantiation could eg be useful to improve rendering speed while rendering large scenes For example, scene files for film work with about 1GB per frame need to be distributed in rendering farms While introducing the instantiation formally, we abstracted from the fact, that the objects are given in a hierarchical structure (eg a CSG-tree or a scene graph) Our algorithm works on such a hierarchical scene description, that is given as a tree, a so called scene tree We identify the leafs of the scene tree as single objects and the nodes as grouping objects There are grouping objects that just group objects to inherit transformation attributes or objects that carry out CSG operations or other complex geometric operations (eg procedural objects) 31 An Algorithm for Automatic Instancing Our algorithm traverses the scene recursively and searches for every object (starting from the leafs of the scene graph) for instantiable objects If it finds instantiable objects, they will be converted to instances It does not try to instantiate already existing instances Moreover, it does not try to find instantiable objects for a grouping object among the children of this grouping object For a first approach, we demand that the scene does not contain any instances before our algorithm runs Our algorithm works as follows: (4) 1 Let the root object of a scene tree be the current object 2 If the current object has child objects that are not instances, put the current object onto the stack, make the first child that is not instance the current object, and go to 2) 3 Compare the current object with all other objects of the scene tree (except for the child objects of the current object, if there are any) The comparison of two objects itself is carried out by comparing the difference vector of the two objects with the threshold vector (see equation (2)) If the objects are instantiable, transform the second object to an instance of the current object

3 4 If there is another sister object of the current object, that is not an instance, make this object the current object and go to 2) If not, take an object from the stack, make it the current object and go to 2) If there are no objects on the stack the algorithm terminates 32 Automatic Instancing, Example In this section we will illustrate the work of the algorithm with an example Figure 1 shows a simple example of the Start: Step 1: order the nodes are processed Start: We start with a scene with 10 objects The objects A and D exist two and the object E three times, and A, B, and C are grouping objects Step 1: For the first object to be processed (D ) an instantiable object has been found in the second traversal (Dr ), which is then transformed to an instance Step 2: For the next object Es, the second traversal finds two instantiable objects (Et and Eu ), which are again transformed to instances Step 3: Now we process Av, which is a grouping object In this case Av and Aw are instantiable too, because of the child objects of Aw, which are instances of the child objects of Av The two instances that are child objects of Aw are deleted and Aw is transformed to an instance of A For all other candidate master objects (Bx, Fy, C {z ) no instantiable objects can be found and the algorithm terminates 33 Instantiating Grouping Objects Step 2: Step 3: Figure 1: Automatic Instancing, Example work of the algorithm At the top of figure 1 the initial scene tree of a scene is displayed Identical letters in the nodes denote instantiable (after equation (2)) objects The letter I is used to identify instance objects Asterisks show, which objects are instantiated in the respective steps of the algorithm The numbers beneath the nodes show in which In this section, we show how grouping objects may be instantiated Grouping objects may be put into two categories, those that expect a certain order of their child objects, and those that do not An examples for an object that expects a certain order is a grouping object that carries out a CSG difference An example for an object where the order does not matter is a group object that just inherits transformation attributes Since the shape of a grouping object does not only depend on its (eventually present) parameters but also on its child objects, for the comparison of two grouping objects normally all child objects would have to be compared too However, we found out that this is not necessary if we traverse the scene hierarchy as shown Because the algorithm traverses the scene starting from the leafs (objects without child objects), it is clear that if we process the parent object of some objects its child objects already have been compared by our algorithm Thus, if they are not already instances or there are no instances of them in the other part of the scene, we will not find a matching grouping object anyway This means, for all possible candidates of instances of a grouping object, we need to check for the following: 1 We first have to check, whether all child objects of the current object are instantiated objects or instances If they are not, the current group object is not instantiable The test can be done separately, checking reference counters and types of the child objects A better solution would be, to check a flag that has been set while

4 trying to instantiate the child objects The flag would be set if an object could not be instantiated 2 After that, we have to check, whether the child objects of the candidate group object are all instances of the child objects of the current object Or, if the child objects of the current group object are instances, we need to check, whether the child objects are instances of the same master objects If they are not, the current group object is not instantiable 3 Furthermore, we have to check the transformation attributes of the child objects of both objects If the attributes do not match, the current group object is not instantiable Note, that for grouping objects, where the exact order of child objects does matter, we have to do tests 1 and 2 in exact order for the child objects of both, current and candidate grouping object Furthermore, if the grouping objects have object type specific properties as eg procedural object parameters, they need to be compared also Note, that created instances may be deleted during the instantiation process of grouping objects 34 Complexity Our algorithm works on scene trees with objects, levels and instantiable grouping objects The complexity depends on all three values: } 2 It is clear, that for and O the complexity is } *) s However, if there objects ( ) or better instantiable grouping objects ( ), many comparisons of objects may be saved This is due to the fact, that the number of objects gets smaller as the algorithm creates instances from grouping objects Furthermore, instantiable objects for grouping objects are never searched for among the child objects of this object For example, while instancing the scene DOAP (see figure 6), which consists of ƒ >! objects, there were just comparisons of objects instead of ƒ > pˆ K Š ƒ > 35 Instantiating Scenes with already existing Instances In section 31 we demanded that no instances exist before our algorithm starts This is because already existing instances influence our algorithm in two ways: 1 Instances of instances might result: This occurs when already existing master objects are candidates for instances and are transformed to instances, but instances of instances might not be allowed by the target system 2 Grouping objects may not be instantiated: If instances and master objects are crosswise referencing (see figure 2) between the child objects of the candidate master and candidate instance grouping object, the grouping objects may not be instantiated A A E I I F Figure 2: Crosswise Instantiating Child Objects A solution to the first problem is to transform the already existing master object to an instance and redirect all existing instances to the new master object However, this redirection might be an expensive operation including a search through the complete scene, depending on the implementation method used for instancing To solve the second problem swapping of master objects to be child objects of the candidate master grouping object (possibly with the aforementioned high costs for redirecting existing instances) is necessary 4 Implementation We implemented the proposed algorithm for our modelling environment The Mops (see [17]), which is a free modeling environment for the RenderMan interface Object: next down Attributes RiAttributes Transform Tags Shaders refine Object Object object type specific data Figure 3: Object data structure of The Mops The Mops stores object properties in a hierarchically organized data structure In the top level of this hierarchy there are pointers to other objects in the scene tree, common attributes (eg type information, reference counter), RenderMan Interface specific attributes, as well as pointers to shaders, tags, and the object type specific properties (see figure 3) This is a lot of information and the reason, why instance objects do not save that much memory in the modeller as we would wish Due to this design of the data structures instance objects are simply not small enough Despite of this, we will show that considerable amounts of

5 X memory may be saved A different approach, which is utilized by scene graph APIs such as Java3D is to implement more specialized and smaller node types to build the scene graph Instance objects are realized by putting a pointer to another object (the Master) into the object type specific properties Master objects carry a reference counter to prevent their removal while instances exist We implemented two recursive functions to traverse the scene in The Mops The function TraverseTree is the outer traversal, that looks for potential master objects: 1 function TraverseTree(tree root, tree node): integer; 2 var num: integer; 3 begin 4 num := 0; 5 while exists(node) do 6 if exists(nodedown) then 7 TraverseTree(root, nodedown); 8 fi 9 if nodetype!= instance then 10 num := num + CreateInstances(node, 11 root); 12 fi 13 node := nodenext; 14 od; 15 TraverseTree := num; 16 end; The function CreateInstances is the inner traversal, that looks for candidate objects for instances, for an object ref : 1 function CreateInstances(tree ref, tree node): 2 integer; 3 var num: integer; 4 begin 5 num := 0; 6 while exists(node) do 7 if ref!= node then 8 if exists(nodedown) then 9 num := num + 10 CreateInstances(ref, nodedown); 11 fi; 12 if instantiable(ref, node) then 13 TransformToInstance(ref, node); 14 num := num + 1; 15 fi; 16 fi; 17 node := nodenext; 18 od; 19 CreateInstances := num; 20 end; This function uses two auxiliary functions, instantiable and TransformToInstance The function instantiable checks for the two objects ref and node, whether they are instantiable (see equation (2)) For that, it compares the types and the properties stored in the main object data structure (except for the transformation attributes) If they are identical it compares object type specific properties as well To compare the object type specific data structures, we store pointers to functions of proper type in a hash table This concept is used in many other places of The Mops as well New object types may easily profit from automatic instancing if the new object type specific compare functions are stored in this hash table Currently, the functions that compare the various properties do not calculate differences as suggested in equation (1), but return O if the properties to compare are identical or if they are not identical However, the comparison of RiAttributes, shaders and tags may be turned V 5 off globally in our implementation (the respective are set to X, otherwise they are always O ) TransformToInstance simply removes the object type specific data structures, tags, and shaders from the object to be turned into an instance (node) Then the type of the object is changed to instance, the refine pointer is set to point to the master (ref ), and the reference counter of the master is increased 5 Experimental Results Scene Cactus Spirit Swish DOAP Objects Original Size Inst created Inst left New Size New Size in % Table 1: Experimental Results from Automatic Instancing, see appendix A for rendered images of the scenes; Inst created is the total number of instance objects created during the instantiation process and Inst left is the number of instances that are finally left over in the scene after our algorithm finished Table 1 shows some experimental results, we achieved with our implementation of automatic instancing for our 5 modeling environment The Mops [17] No property V 5 A had been turned off for comparison in the instantiation (all, except for affine transformations) The memory savings differ considerably between the scenes, but this is nothing unexpected, as instancing is highly dependent on the scene The Cactus scene (figure 4) contains 310 objects, and 243 instances are created from them The final number of instances is not differing from the number of created in-

6 O stances, which means no grouping objects could be instantiated The prickles of the cactus are modelled using cones that are organized in two hierarchies of grouping objects Unfortunately the transformation attributes of the cones differ in the lowest level of the groups, so that the groups may not be instantiated We temporarily disabled the test of transformation attributes for instances and achieved the following results: 283 instances created, 43 left, new file size Bytes (23%) Of course, the scene changed a bit as can be seen in figure 4, but not that dramatically as one would expect With the next scene (Spirit, see figure 5) we achieved much better results (a reduction in size to 37%) This is because a lot of detail that has been modelled in this scene is in a radial motor (these details can not be seen clearly in the rendered image from the scene) Highly detailed identical cylinders and exhaust-pipes are present several times and instantiable as the number of instances shows The scene Swish (figure 5) shows three quite similar looking objects Two of them are indeed exactly the same, the third object is a bit different, but some parts of it may also be instantiated This leads to the best result of 18% Again, many grouping objects have been instantiated as may be derived from the difference of the number of created instances (183) and instances left (47) The last scene tested is DOAP (figure 6), which shows a lot of architectural details like columns, highly detailed capstones, and capitals The scene is very well organized in groups and may be instantiated to 21% of its original size In all examples, the algorithm instantiated the scene in far less than a second (eg Œ! for DOAP) on a SGI O2 (R10000, 225MHz) However, table 2 shows some re- (random) NURBS curves Time (s) Table 2: Results from instancing random NURBS curves sults we achieved, by trying our algorithm on a number of small (4 control points) NURBS curves that were put into a single level and were not instantiable, as their control vectors were filled with random numbers In this configuration (many not instantiable objects in a single level of a scene hierarchy), the algorithm has quadratic complexity, as pointed out in section 34 The results show clearly, that our algorithm is not applicable to large sets of polygons without preprocessing, as the execution times very fast raise to unacceptable levels It is clear, that if grouping objects are in use in a scene considerable memory savings may be achieved We further tested the impact of our instantiated scenes on rendering times in the RenderMan context (using rgl and rendrib from BMRT [20]) but achieved just very small differences in the rendering times This is, because both renderers, rendrib and rgl resolve instances while parsing and therefore do not profit from instances while rendering Moreover, because of the small size of the scenes we used the parsing time of our scenes had no impact on overall rendering time, even for rgl which uses OpenGL for rendering and could profit from small parsing times 6 Conclusions and Future Work In this paper we gave a formal definition of instancing We presented an algorithm for the automatic creation of instances in hierarchically organized scenes Experimental results showed that well organized (through the use of grouping objects) scenes may be automatically instantiated well and fast The number of necessary object comparisons is far below the worst case for the tested scenes Further work has to be done in the following areas: 1 Increasing the efficiency: Decrease the number of comparisons: Because of the order, in which we traverse the scene tree, we can limit the search for candidates for instancing to objects we did not visit in our traversal yet Faster comparisons using MD5 sums: If two objects are identified as candidates for instancing their internal data structures have to be compared This may be very time consuming in the case of complex and big objects, such as NURBS patches The time needed for the comparison could be reduced, if an MD5 checksum could be created over all data from an object A first test would check the MD5 sums, and only if they are identical we would need to check the data structures of the objects 2 Enhance the instantiation: Exclusion of single objects from the instantiation process: This is especially useful in conjunction with approximate instancing, because the user may identify certain objects as important and does not want them to be subject to approximate instancing Finer control of the comparisons in terms of approximate instancing: Currently, the user may just leave out tags, shaders or attributes from the comparisons in our implementation The use of thresholds for certain properties as used in equation (2) could improve that More flexible comparison of certain grouping objects: Our implementation currently does not take advantage of the fact that the order of the child objects for certain grouping objects does not influence the shape of the grouping object

7 Applicability: An automatic test could check the applicability of our algorithm based on, the existence of grouping objects, the relation between the number of grouping and non grouping objects, or Strahler numbers 3 Application in other fields: We implemented our algorithm just in the context of our own modelling system, however, application in other fields is worthwhile and should be tested Both, VRML and Java3D, support instancing and even instances of grouping objects but not automatic instancing The use of a scene graph instead of a scene tree leads to problems, because applications may interconnect object nodes and change object properties which might rely on a specific structure If these mechanisms are not in use, automatic instantiation for static geometry is applicable and should be tested Acknowledgements The authors would like to thank H Birkholz for the implementation of the instantiation and the reviewers for their constructive suggestions References [1] John M Snyder: Generative Modeling for Computer Graphics and CAD, Academic Press Inc, 1992 [2] Steve Upstill: The RenderMan Companion, Addison Wesley, 1989 [3] John C Hart, The Object Instancing Paradigm for Linear Fractal Modeling, Proceedings of Graphics Interfaces 1992, pp [4] John C Hart, T A DeFanti: Efficient antialiased rendering of 3D-linear graftals, Computer Graphics (Proceedings of SIGGRAPH 1991) [5] JWeber, JPenn, Creation and Rendering of realistic Trees, Computer Graphics (Proceedings of SIG- GRAPH 1995) [6] H Hoppe, T DeRose, T Duchamp, J McDonald and W Stuetzle, Mesh Optimization, Computer Graphics (Proceedings of SIGGRAPH 1993) [7] M Eck, T DeRose, T Duchamp, H Hoppe, M Lounsberry and W Stuetzle, Multiresolution Analysis of arbitrary Meshes, Computer Graphics (Proceedings of SIGGRAPH 1995) [8] Cyril Soler, Francois Sillion: Hierarchical Instantiation for Radiosity, Eurographics Workshop on Rendering 2000 [9] M Ouhyoung, Y Chuang, R Liang: Reusable radiosity objects, Computer Graphics Forum 15(3):C347-C356, C483, Septemper 1996 [10] I E Sutherland: Sketchpad: A man-machine graphical communication system, Proceedings of the Spring Joint Computer Conference 1963 [11] O Deussen, P Hanrahan, B Lintermann, R Mech, M Pharr, P Prusinkiewicz: Realistic Modeling and Rendering of Plant Ecosystems, Computer Graphics (Proceedings of SIGGRAPH 1998) [12] A R Smith: Plants, fractals, and formal languages, Computer Graphics (Proceedings of SIGGRAPH 1984) [13] J M Snyder, A H Barr: Ray tracing complex models containing surface tesselations, Computer Graphics (Proceedings of SIGGRAPH 1987) [14] T L Kay, J T Kajiya: Ray tracing complex scenes, Computer Graphics (Proceedings of SIGGRAPH 1986) [15] P Heckbert: Color quantization for frame buffer display, Computer Graphics (Proceedings of SIG- GRAPH 1982) [16] R Schultz, H Schumann: Efficient Scene Descriptions Using Advanced Modelling Techniques in the RenderMan Context, Proceedings of Spring Conference on Computer Graphics 2000 [17] R Schultz, The Mops Home Page: de/ rschultz/mops/ [18] 3D Studio Max R2 Reference Manual, Autodesk, 1998; Discreet: [19] Learning Maya, Alias Wavefront, 1998; Alias Wavefront: [20] Blue Moon Rendering Tools (BMRT), Exluna:

8 A Images Figure 4: Cactus, Cactus (prickles instantiated with approximative instancing) Figure 5: Swish (left), Spirit (right) Figure 6: Domestication Of A Pyramid (DOAP)

CHAPTER 1 Graphics Systems and Models 3

CHAPTER 1 Graphics Systems and Models 3 ?????? 1 CHAPTER 1 Graphics Systems and Models 3 1.1 Applications of Computer Graphics 4 1.1.1 Display of Information............. 4 1.1.2 Design.................... 5 1.1.3 Simulation and Animation...........

More information

Interactive Computer Graphics A TOP-DOWN APPROACH WITH SHADER-BASED OPENGL

Interactive Computer Graphics A TOP-DOWN APPROACH WITH SHADER-BASED OPENGL International Edition Interactive Computer Graphics A TOP-DOWN APPROACH WITH SHADER-BASED OPENGL Sixth Edition Edward Angel Dave Shreiner Interactive Computer Graphics: A Top-Down Approach with Shader-Based

More information

Animation & Rendering

Animation & Rendering 7M836 Animation & Rendering Introduction, color, raster graphics, modeling, transformations Arjan Kok, Kees Huizing, Huub van de Wetering h.v.d.wetering@tue.nl 1 Purpose Understand 3D computer graphics

More information

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

CS 563 Advanced Topics in Computer Graphics QSplat. by Matt Maziarz CS 563 Advanced Topics in Computer Graphics QSplat by Matt Maziarz Outline Previous work in area Background Overview In-depth look File structure Performance Future Point Rendering To save on setup and

More information

Complexity Reduction of Catmull-Clark/Loop Subdivision Surfaces

Complexity Reduction of Catmull-Clark/Loop Subdivision Surfaces EUROGRAPHICS 2001 / Jonathan C. Roberts Short Presentations Complexity Reduction of Catmull-Clark/Loop Subdivision Surfaces Eskil Steenberg The Interactive Institute, P.O. Box 24081, SE 104 50 Stockholm,

More information

GLOBAL EDITION. Interactive Computer Graphics. A Top-Down Approach with WebGL SEVENTH EDITION. Edward Angel Dave Shreiner

GLOBAL EDITION. Interactive Computer Graphics. A Top-Down Approach with WebGL SEVENTH EDITION. Edward Angel Dave Shreiner GLOBAL EDITION Interactive Computer Graphics A Top-Down Approach with WebGL SEVENTH EDITION Edward Angel Dave Shreiner This page is intentionally left blank. Interactive Computer Graphics with WebGL, Global

More information

Spatial Data Structures

Spatial Data Structures 15-462 Computer Graphics I Lecture 17 Spatial Data Structures Hierarchical Bounding Volumes Regular Grids Octrees BSP Trees Constructive Solid Geometry (CSG) March 28, 2002 [Angel 8.9] Frank Pfenning Carnegie

More information

Accelerated Ambient Occlusion Using Spatial Subdivision Structures

Accelerated Ambient Occlusion Using Spatial Subdivision Structures Abstract Ambient Occlusion is a relatively new method that gives global illumination like results. This paper presents a method to accelerate ambient occlusion using the form factor method in Bunnel [2005]

More information

REYES REYES REYES. Goals of REYES. REYES Design Principles

REYES REYES REYES. Goals of REYES. REYES Design Principles You might be surprised to know that most frames of all Pixar s films and shorts do not use a global illumination model for rendering! Instead, they use Renders Everything You Ever Saw Developed by Pixar

More information

Near-Optimum Adaptive Tessellation of General Catmull-Clark Subdivision Surfaces

Near-Optimum Adaptive Tessellation of General Catmull-Clark Subdivision Surfaces Near-Optimum Adaptive Tessellation of General Catmull-Clark Subdivision Surfaces Shuhua Lai and Fuhua (Frank) Cheng (University of Kentucky) Graphics & Geometric Modeling Lab, Department of Computer Science,

More information

Spatial Data Structures

Spatial Data Structures 15-462 Computer Graphics I Lecture 17 Spatial Data Structures Hierarchical Bounding Volumes Regular Grids Octrees BSP Trees Constructive Solid Geometry (CSG) April 1, 2003 [Angel 9.10] Frank Pfenning Carnegie

More information

A STABLE MODELING OF LARGE PLANT ECOSYSTEMS

A STABLE MODELING OF LARGE PLANT ECOSYSTEMS ICCVG 2002 Zakopane, 25-29 Sept. 2002 Bedřich Beneš ITESM Campus Ciudad de México, Mexico City beda@campus.ccm.itesm.mx A STABLE MODELING OF LARGE PLANT ECOSYSTEMS Abstract. The focus of this paper is

More information

3-Dimensional Object Modeling with Mesh Simplification Based Resolution Adjustment

3-Dimensional Object Modeling with Mesh Simplification Based Resolution Adjustment 3-Dimensional Object Modeling with Mesh Simplification Based Resolution Adjustment Özgür ULUCAY Sarp ERTÜRK University of Kocaeli Electronics & Communication Engineering Department 41040 Izmit, Kocaeli

More information

Shading Languages. Seminar Computer Graphics. Markus Kummerer

Shading Languages. Seminar Computer Graphics. Markus Kummerer Shading Languages Markus Kummerer ABSTRACT Shading Languages provide a highly flexible approach for creating visual structures in computer imagery. The RenderMan Interface provides an API for scene description,

More information

Fast Texture Based Form Factor Calculations for Radiosity using Graphics Hardware

Fast Texture Based Form Factor Calculations for Radiosity using Graphics Hardware Fast Texture Based Form Factor Calculations for Radiosity using Graphics Hardware Kasper Høy Nielsen Niels Jørgen Christensen Informatics and Mathematical Modelling The Technical University of Denmark

More information

CSE 167: Introduction to Computer Graphics Lecture 11: Scene Graph 2. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2013

CSE 167: Introduction to Computer Graphics Lecture 11: Scene Graph 2. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2013 CSE 167: Introduction to Computer Graphics Lecture 11: Scene Graph 2 Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2013 Announcements Homework project #5 due Nov. 8 th at 1:30pm

More information

Level Set Extraction from Gridded 2D and 3D Data

Level Set Extraction from Gridded 2D and 3D Data Level Set Extraction from Gridded 2D and 3D Data David Eberly, Geometric Tools, Redmond WA 98052 https://www.geometrictools.com/ This work is licensed under the Creative Commons Attribution 4.0 International

More information

Accelerating Ray-Tracing

Accelerating Ray-Tracing Lecture 9: Accelerating Ray-Tracing Computer Graphics and Imaging UC Berkeley CS184/284A, Spring 2016 Course Roadmap Rasterization Pipeline Core Concepts Sampling Antialiasing Transforms Geometric Modeling

More information

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

Geometric Modeling. Bing-Yu Chen National Taiwan University The University of Tokyo Geometric Modeling Bing-Yu Chen National Taiwan University The University of Tokyo What are 3D Objects? 3D Object Representations What are 3D objects? The Graphics Process 3D Object Representations Raw

More information

Efficient Rendering of Glossy Reflection Using Graphics Hardware

Efficient Rendering of Glossy Reflection Using Graphics Hardware Efficient Rendering of Glossy Reflection Using Graphics Hardware Yoshinori Dobashi Yuki Yamada Tsuyoshi Yamamoto Hokkaido University Kita-ku Kita 14, Nishi 9, Sapporo 060-0814, Japan Phone: +81.11.706.6530,

More information

Efficient Lipschitz function evaluation for CSG implicit surfaces

Efficient Lipschitz function evaluation for CSG implicit surfaces Efficient Lipschitz function evaluation for CSG implicit surfaces Phap Nguyen and Huub van de Wetering Department of Mathematics and Computing Science Eindhoven University of Technology Abstract The rendering

More information

Lecture 17: Solid Modeling.... a cubit on the one side, and a cubit on the other side Exodus 26:13

Lecture 17: Solid Modeling.... a cubit on the one side, and a cubit on the other side Exodus 26:13 Lecture 17: Solid Modeling... a cubit on the one side, and a cubit on the other side Exodus 26:13 Who is on the LORD's side? Exodus 32:26 1. Solid Representations A solid is a 3-dimensional shape with

More information

Shape modeling Modeling technique Shape representation! 3D Graphics Modeling Techniques

Shape modeling Modeling technique Shape representation! 3D Graphics   Modeling Techniques D Graphics http://chamilo2.grenet.fr/inp/courses/ensimag4mmgd6/ Shape Modeling technique Shape representation! Part : Basic techniques. Projective rendering pipeline 2. Procedural Modeling techniques Shape

More information

MODELING AND HIERARCHY

MODELING AND HIERARCHY MODELING AND HIERARCHY Introduction Models are abstractions of the world both of the real world in which we live and of virtual worlds that we create with computers. We are all familiar with mathematical

More information

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

CS452/552; EE465/505. Clipping & Scan Conversion CS452/552; EE465/505 Clipping & Scan Conversion 3-31 15 Outline! From Geometry to Pixels: Overview Clipping (continued) Scan conversion Read: Angel, Chapter 8, 8.1-8.9 Project#1 due: this week Lab4 due:

More information

Modeling 3D Objects: Part 2

Modeling 3D Objects: Part 2 Modeling 3D Objects: Part 2 Patches, NURBS, Solids Modeling, Spatial Subdivisioning, and Implicit Functions 3D Computer Graphics by Alan Watt Third Edition, Pearson Education Limited, 2000 General Modeling

More information

L1 - Introduction. Contents. Introduction of CAD/CAM system Components of CAD/CAM systems Basic concepts of graphics programming

L1 - Introduction. Contents. Introduction of CAD/CAM system Components of CAD/CAM systems Basic concepts of graphics programming L1 - Introduction Contents Introduction of CAD/CAM system Components of CAD/CAM systems Basic concepts of graphics programming 1 Definitions Computer-Aided Design (CAD) The technology concerned with the

More information

1. Introduction. 2. Parametrization of General CCSSs. 3. One-Piece through Interpolation. 4. One-Piece through Boolean Operations

1. Introduction. 2. Parametrization of General CCSSs. 3. One-Piece through Interpolation. 4. One-Piece through Boolean Operations Subdivision Surface based One-Piece Representation Shuhua Lai Department of Computer Science, University of Kentucky Outline. Introduction. Parametrization of General CCSSs 3. One-Piece through Interpolation

More information

Lecture 25 of 41. Spatial Sorting: Binary Space Partitioning Quadtrees & Octrees

Lecture 25 of 41. Spatial Sorting: Binary Space Partitioning Quadtrees & Octrees Spatial Sorting: Binary Space Partitioning Quadtrees & Octrees William H. Hsu Department of Computing and Information Sciences, KSU KSOL course pages: http://bit.ly/hgvxlh / http://bit.ly/evizre Public

More information

Triangle Strip Multiresolution Modelling Using Sorted Edges

Triangle Strip Multiresolution Modelling Using Sorted Edges Triangle Strip Multiresolution Modelling Using Sorted Edges Ó. Belmonte Fernández, S. Aguado González, and S. Sancho Chust Department of Computer Languages and Systems Universitat Jaume I 12071 Castellon,

More information

Intersection Acceleration

Intersection Acceleration Advanced Computer Graphics Intersection Acceleration Matthias Teschner Computer Science Department University of Freiburg Outline introduction bounding volume hierarchies uniform grids kd-trees octrees

More information

View-dependent Polygonal Simplification

View-dependent Polygonal Simplification View-dependent Polygonal Simplification Pekka Kuismanen HUT pkuisman@cc.hut.fi Abstract This paper describes methods for view-dependent simplification of polygonal environments. A description of a refinement

More information

CS 352: Computer Graphics. Hierarchical Graphics, Modeling, And Animation

CS 352: Computer Graphics. Hierarchical Graphics, Modeling, And Animation CS 352: Computer Graphics Hierarchical Graphics, Modeling, And Animation Chapter 9-2 Overview Modeling Animation Data structures for interactive graphics CSG-tree BSP-tree Quadtrees and Octrees Visibility

More information

CSE 167: Introduction to Computer Graphics Lecture #10: View Frustum Culling

CSE 167: Introduction to Computer Graphics Lecture #10: View Frustum Culling CSE 167: Introduction to Computer Graphics Lecture #10: View Frustum Culling Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2015 Announcements Project 4 due tomorrow Project

More information

Art Based Rendering of Fur by Instancing Geometry

Art Based Rendering of Fur by Instancing Geometry Art Based Rendering of Fur by Instancing Geometry Abstract Richie Steigerwald In this paper, I describe a non- photorealistic rendering system that uses strokes to render fur and grass in a stylized manner

More information

Adaptive Point Cloud Rendering

Adaptive Point Cloud Rendering 1 Adaptive Point Cloud Rendering Project Plan Final Group: May13-11 Christopher Jeffers Eric Jensen Joel Rausch Client: Siemens PLM Software Client Contact: Michael Carter Adviser: Simanta Mitra 4/29/13

More information

Acquisition and Visualization of Colored 3D Objects

Acquisition and Visualization of Colored 3D Objects Acquisition and Visualization of Colored 3D Objects Kari Pulli Stanford University Stanford, CA, U.S.A kapu@cs.stanford.edu Habib Abi-Rached, Tom Duchamp, Linda G. Shapiro and Werner Stuetzle University

More information

Advanced Computer Graphics

Advanced Computer Graphics Advanced Computer Graphics Lecture 2: Modeling (1): Polygon Meshes Bernhard Jung TU-BAF, Summer 2007 Overview Computer Graphics Icon: Utah teapot Polygon Meshes Subdivision Polygon Mesh Optimization high-level:

More information

A Generalized Scene Graph

A Generalized Scene Graph A Generalized Scene Graph Jürgen Döllner Klaus Hinrichs Institut für Informatik, Universität Münster Einsteinstr. 62, 48149 Münster, Germany Email: {dollner,khh@uni-muenster.de Abstract Scene graphs are

More information

Interactive Radiosity Using Mipmapped Texture Hardware

Interactive Radiosity Using Mipmapped Texture Hardware Eurographics Workshop on Rendering (2002), pp. 1 6 Paul Debevec and Simon Gibson (Editors) Interactive Radiosity Using Mipmapped Texture Hardware Eric B. Lum Kwan-Liu Ma Nelson Max Department of Computer

More information

Computer Graphics. Prof. Feng Liu. Fall /21/2016

Computer Graphics. Prof. Feng Liu. Fall /21/2016 Computer Graphics Prof. Feng Liu Fall 2016 http://www.cs.pdx.edu/~fliu/courses/cs447/ 11/21/2016 Last time Polygon Mesh and Modeling 2 Today Modeling Technologies Final Exam: 12:30-2:00, December 7, 2016

More information

Hierarchical surface fragments *

Hierarchical surface fragments * Hierarchical surface fragments * HUA Wei**, BAO Hujun, PENG Qunsheng (State Key Laboratory of CAD & CG, Zhejiang University, Hangzhou 310027, China) Abstract A new compact level-of-detail representation,

More information

Spatial Data Structures for Computer Graphics

Spatial Data Structures for Computer Graphics Spatial Data Structures for Computer Graphics Page 1 of 65 http://www.cse.iitb.ac.in/ sharat November 2008 Spatial Data Structures for Computer Graphics Page 1 of 65 http://www.cse.iitb.ac.in/ sharat November

More information

Dynamics in Maya. Gary Monheit Alias Wavefront PHYSICALLY BASED MODELING SH1 SIGGRAPH 97 COURSE NOTES

Dynamics in Maya. Gary Monheit Alias Wavefront PHYSICALLY BASED MODELING SH1 SIGGRAPH 97 COURSE NOTES Dynamics in Maya Gary Monheit Alias Wavefront SH1 Dynamics in Maya Overall Requirements Architecture and Features Animations SH2 Overall Requirements Why Dynamics? Problems with traditional animation techniques

More information

Stackless BVH Collision Detection for Physical Simulation

Stackless BVH Collision Detection for Physical Simulation Stackless BVH Collision Detection for Physical Simulation Jesper Damkjær Department of Computer Science, University of Copenhagen Universitetsparken 1, DK-2100, Copenhagen Ø, Denmark damkjaer@diku.dk February

More information

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

Scene Management. Video Game Technologies 11498: MSc in Computer Science and Engineering 11156: MSc in Game Design and Development Video Game Technologies 11498: MSc in Computer Science and Engineering 11156: MSc in Game Design and Development Chap. 5 Scene Management Overview Scene Management vs Rendering This chapter is about rendering

More information

From curves to surfaces. Parametric surfaces and solid modeling. Extrusions. Surfaces of revolution. So far have discussed spline curves in 2D

From curves to surfaces. Parametric surfaces and solid modeling. Extrusions. Surfaces of revolution. So far have discussed spline curves in 2D From curves to surfaces Parametric surfaces and solid modeling CS 465 Lecture 12 2007 Doug James & Steve Marschner 1 So far have discussed spline curves in 2D it turns out that this already provides of

More information

CREATION OF THE TREE MODEL ADAPTING TO ENVIRONMENT

CREATION OF THE TREE MODEL ADAPTING TO ENVIRONMENT CREATION OF THE TREE MODEL ADAPTING TO ENVIRONMENT Ryota Ueno Yoshio Ohno {ryota ohno}@on.ics.keio.ac.jp Graduate School of Science and Technology, Keio University 3-14-1 Hiyoshi, Kohoku-ku Yokohama 223-8522

More information

Spatial Data Structures

Spatial Data Structures Spatial Data Structures Hierarchical Bounding Volumes Regular Grids Octrees BSP Trees Constructive Solid Geometry (CSG) [Angel 9.10] Outline Ray tracing review what rays matter? Ray tracing speedup faster

More information

Constructive Solid Geometry and Procedural Modeling. Stelian Coros

Constructive Solid Geometry and Procedural Modeling. Stelian Coros Constructive Solid Geometry and Procedural Modeling Stelian Coros Somewhat unrelated Schedule for presentations February 3 5 10 12 17 19 24 26 March 3 5 10 12 17 19 24 26 30 April 2 7 9 14 16 21 23 28

More information

Comparison of hierarchies for occlusion culling based on occlusion queries

Comparison of hierarchies for occlusion culling based on occlusion queries Comparison of hierarchies for occlusion culling based on occlusion queries V.I. Gonakhchyan pusheax@ispras.ru Ivannikov Institute for System Programming of the RAS, Moscow, Russia Efficient interactive

More information

Computer Graphics Fundamentals. Jon Macey

Computer Graphics Fundamentals. Jon Macey Computer Graphics Fundamentals Jon Macey jmacey@bournemouth.ac.uk http://nccastaff.bournemouth.ac.uk/jmacey/ 1 1 What is CG Fundamentals Looking at how Images (and Animations) are actually produced in

More information

Rendering and Radiosity. Introduction to Design Media Lecture 4 John Lee

Rendering and Radiosity. Introduction to Design Media Lecture 4 John Lee Rendering and Radiosity Introduction to Design Media Lecture 4 John Lee Overview Rendering is the process that creates an image from a model How is it done? How has it been developed? What are the issues

More information

Spatial Data Structures

Spatial Data Structures CSCI 420 Computer Graphics Lecture 17 Spatial Data Structures Jernej Barbic University of Southern California Hierarchical Bounding Volumes Regular Grids Octrees BSP Trees [Angel Ch. 8] 1 Ray Tracing Acceleration

More information

Ray Tracing III. Wen-Chieh (Steve) Lin National Chiao-Tung University

Ray Tracing III. Wen-Chieh (Steve) Lin National Chiao-Tung University Ray Tracing III Wen-Chieh (Steve) Lin National Chiao-Tung University Shirley, Fundamentals of Computer Graphics, Chap 10 Doug James CG slides, I-Chen Lin s CG slides Ray-tracing Review For each pixel,

More information

Physically-Based Modeling and Animation. University of Missouri at Columbia

Physically-Based Modeling and Animation. University of Missouri at Columbia Overview of Geometric Modeling Overview 3D Shape Primitives: Points Vertices. Curves Lines, polylines, curves. Surfaces Triangle meshes, splines, subdivision surfaces, implicit surfaces, particles. Solids

More information

Intro to Ray-Tracing & Ray-Surface Acceleration

Intro to Ray-Tracing & Ray-Surface Acceleration Lecture 12 & 13: Intro to Ray-Tracing & Ray-Surface Acceleration Computer Graphics and Imaging UC Berkeley Course Roadmap Rasterization Pipeline Core Concepts Sampling Antialiasing Transforms Geometric

More information

Abstract. Introduction. Kevin Todisco

Abstract. Introduction. Kevin Todisco - Kevin Todisco Figure 1: A large scale example of the simulation. The leftmost image shows the beginning of the test case, and shows how the fluid refracts the environment around it. The middle image

More information

CSE 167: Introduction to Computer Graphics Lecture #11: Visibility Culling

CSE 167: Introduction to Computer Graphics Lecture #11: Visibility Culling CSE 167: Introduction to Computer Graphics Lecture #11: Visibility Culling Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2017 Announcements Project 3 due Monday Nov 13 th at

More information

Spatial Data Structures

Spatial Data Structures CSCI 480 Computer Graphics Lecture 7 Spatial Data Structures Hierarchical Bounding Volumes Regular Grids BSP Trees [Ch. 0.] March 8, 0 Jernej Barbic University of Southern California http://www-bcf.usc.edu/~jbarbic/cs480-s/

More information

CS 465 Program 4: Modeller

CS 465 Program 4: Modeller CS 465 Program 4: Modeller out: 30 October 2004 due: 16 November 2004 1 Introduction In this assignment you will work on a simple 3D modelling system that uses simple primitives and curved surfaces organized

More information

03 Vector Graphics. Multimedia Systems. 2D and 3D Graphics, Transformations

03 Vector Graphics. Multimedia Systems. 2D and 3D Graphics, Transformations Multimedia Systems 03 Vector Graphics 2D and 3D Graphics, Transformations Imran Ihsan Assistant Professor, Department of Computer Science Air University, Islamabad, Pakistan www.imranihsan.com Lectures

More information

9. Three Dimensional Object Representations

9. Three Dimensional Object Representations 9. Three Dimensional Object Representations Methods: Polygon and Quadric surfaces: For simple Euclidean objects Spline surfaces and construction: For curved surfaces Procedural methods: Eg. Fractals, Particle

More information

Graphics and Interaction Rendering pipeline & object modelling

Graphics and Interaction Rendering pipeline & object modelling 433-324 Graphics and Interaction Rendering pipeline & object modelling Department of Computer Science and Software Engineering The Lecture outline Introduction to Modelling Polygonal geometry The rendering

More information

COMP3421. Global Lighting Part 2: Radiosity

COMP3421. Global Lighting Part 2: Radiosity COMP3421 Global Lighting Part 2: Radiosity Recap: Global Lighting The lighting equation we looked at earlier only handled direct lighting from sources: We added an ambient fudge term to account for all

More information

A Real-time Rendering Method Based on Precomputed Hierarchical Levels of Detail in Huge Dataset

A Real-time Rendering Method Based on Precomputed Hierarchical Levels of Detail in Huge Dataset 32 A Real-time Rendering Method Based on Precomputed Hierarchical Levels of Detail in Huge Dataset Zhou Kai, and Tian Feng School of Computer and Information Technology, Northeast Petroleum University,

More information

Adaptive Tessellation for Trimmed NURBS Surface

Adaptive Tessellation for Trimmed NURBS Surface Adaptive Tessellation for Trimmed NURBS Surface Ma YingLiang and Terry Hewitt 2 Manchester Visualization Centre, University of Manchester, Manchester, M3 9PL, U.K. may@cs.man.ac.uk 2 W.T.Hewitt@man.ac.uk

More information

Shading Languages. Ari Silvennoinen Apri 12, 2004

Shading Languages. Ari Silvennoinen Apri 12, 2004 Shading Languages Ari Silvennoinen Apri 12, 2004 Introduction The recent trend in graphics hardware has been to replace fixed functionality in vertex and fragment processing with programmability [1], [2],

More information

NPR. CS 334 Non-Photorealistic Rendering. Daniel G. Aliaga

NPR. CS 334 Non-Photorealistic Rendering. Daniel G. Aliaga NPR CS 334 Non-Photorealistic Rendering Daniel G. Aliaga 3D Computer Graphics Today Miraculous performance leaps Stunning price cuts Curiously low impact Games Movies * Slides courtesy of Lee Markosian

More information

Culling. Computer Graphics CSE 167 Lecture 12

Culling. Computer Graphics CSE 167 Lecture 12 Culling Computer Graphics CSE 167 Lecture 12 CSE 167: Computer graphics Culling Definition: selecting from a large quantity In computer graphics: selecting primitives (or batches of primitives) that are

More information

National Chiao Tung Univ, Taiwan By: I-Chen Lin, Assistant Professor

National Chiao Tung Univ, Taiwan By: I-Chen Lin, Assistant Professor Computer Graphics 1. Graphics Systems National Chiao Tung Univ, Taiwan By: I-Chen Lin, Assistant Professor Textbook: Hearn and Baker, Computer Graphics, 3rd Ed., Prentice Hall Ref: E.Angel, Interactive

More information

RACBVHs: Random Accessible Compressed Bounding Volume Hierarchies

RACBVHs: Random Accessible Compressed Bounding Volume Hierarchies RACBVHs: Random Accessible Compressed Bounding Volume Hierarchies Published at IEEE Transactions on Visualization and Computer Graphics, 2010, Vol. 16, Num. 2, pp. 273 286 Tae Joon Kim joint work with

More information

Shape Representation Basic problem We make pictures of things How do we describe those things? Many of those things are shapes Other things include

Shape Representation Basic problem We make pictures of things How do we describe those things? Many of those things are shapes Other things include Shape Representation Basic problem We make pictures of things How do we describe those things? Many of those things are shapes Other things include motion, behavior Graphics is a form of simulation and

More information

Accelerating Ray Tracing

Accelerating Ray Tracing Accelerating Ray Tracing Ray Tracing Acceleration Techniques Faster Intersections Fewer Rays Generalized Rays Faster Ray-Object Intersections Object bounding volumes Efficient intersection routines Fewer

More information

Computer Graphics CS 543 Lecture 13a Curves, Tesselation/Geometry Shaders & Level of Detail

Computer Graphics CS 543 Lecture 13a Curves, Tesselation/Geometry Shaders & Level of Detail Computer Graphics CS 54 Lecture 1a Curves, Tesselation/Geometry Shaders & Level of Detail Prof Emmanuel Agu Computer Science Dept. Worcester Polytechnic Institute (WPI) So Far Dealt with straight lines

More information

Hierarchical Models Josef Pelikán & Alexander Wilkie CGG MFF UK Praha

Hierarchical Models Josef Pelikán & Alexander Wilkie CGG MFF UK Praha Hierarchical Models 1995-2015 Josef Pelikán & Alexander Wilkie CGG MFF UK Praha pepca@cgg.mff.cuni.cz http://cgg.mff.cuni.cz/~pepca/ 1 / 16 Hierarchies for 3D Modeling Bottom-up modeling Complex models

More information

CLOTH - MODELING, DEFORMATION, AND SIMULATION

CLOTH - MODELING, DEFORMATION, AND SIMULATION California State University, San Bernardino CSUSB ScholarWorks Electronic Theses, Projects, and Dissertations Office of Graduate Studies 3-2016 CLOTH - MODELING, DEFORMATION, AND SIMULATION Thanh Ho Computer

More information

Computing Visibility. Backface Culling for General Visibility. One More Trick with Planes. BSP Trees Ray Casting Depth Buffering Quiz

Computing Visibility. Backface Culling for General Visibility. One More Trick with Planes. BSP Trees Ray Casting Depth Buffering Quiz Computing Visibility BSP Trees Ray Casting Depth Buffering Quiz Power of Plane Equations We ve gotten a lot of mileage out of one simple equation. Basis for D outcode-clipping Basis for plane-at-a-time

More information

Ray Tracing Acceleration Data Structures

Ray Tracing Acceleration Data Structures Ray Tracing Acceleration Data Structures Sumair Ahmed October 29, 2009 Ray Tracing is very time-consuming because of the ray-object intersection calculations. With the brute force method, each ray has

More information

Effects needed for Realism. Ray Tracing. Ray Tracing: History. Outline. Foundations of Computer Graphics (Spring 2012)

Effects needed for Realism. Ray Tracing. Ray Tracing: History. Outline. Foundations of Computer Graphics (Spring 2012) Foundations of omputer Graphics (Spring 202) S 84, Lecture 5: Ray Tracing http://inst.eecs.berkeley.edu/~cs84 Effects needed for Realism (Soft) Shadows Reflections (Mirrors and Glossy) Transparency (Water,

More information

COMP30019 Graphics and Interaction Rendering pipeline & object modelling

COMP30019 Graphics and Interaction Rendering pipeline & object modelling COMP30019 Graphics and Interaction Rendering pipeline & object modelling Department of Computer Science and Software Engineering The Lecture outline Introduction to Modelling Polygonal geometry The rendering

More information

Lecture outline. COMP30019 Graphics and Interaction Rendering pipeline & object modelling. Introduction to modelling

Lecture outline. COMP30019 Graphics and Interaction Rendering pipeline & object modelling. Introduction to modelling Lecture outline COMP30019 Graphics and Interaction Rendering pipeline & object modelling Department of Computer Science and Software Engineering The Introduction to Modelling Polygonal geometry The rendering

More information

Anti-aliased and accelerated ray tracing. University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell

Anti-aliased and accelerated ray tracing. University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell Anti-aliased and accelerated ray tracing University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell Reading Required: Watt, sections 12.5.3 12.5.4, 14.7 Further reading: A. Glassner.

More information

Surface and Solid Geometry. 3D Polygons

Surface and Solid Geometry. 3D Polygons Surface and Solid Geometry D olygons Once we know our plane equation: Ax + By + Cz + D = 0, we still need to manage the truncation which leads to the polygon itself Functionally, we will need to do this

More information

View-Dependent Multiresolution Model for Foliage

View-Dependent Multiresolution Model for Foliage View-Dependent Multiresolution Model for Foliage I. Remolar M. Chover J. Ribelles O. Belmonte Dep. Lenguajes y Sistemas Informáticos Universitat Jaume I Campus Riu Sec Spain 12071, Castellón {remolar,

More information

Schedule. MIT Monte-Carlo Ray Tracing. Radiosity. Review of last week? Limitations of radiosity. Radiosity

Schedule. MIT Monte-Carlo Ray Tracing. Radiosity. Review of last week? Limitations of radiosity. Radiosity Schedule Review Session: Tuesday November 18 th, 7:30 pm, Room 2-136 bring lots of questions! MIT 6.837 Monte-Carlo Ray Tracing Quiz 2: Thursday November 20 th, in class (one weeks from today) MIT EECS

More information

MIT Monte-Carlo Ray Tracing. MIT EECS 6.837, Cutler and Durand 1

MIT Monte-Carlo Ray Tracing. MIT EECS 6.837, Cutler and Durand 1 MIT 6.837 Monte-Carlo Ray Tracing MIT EECS 6.837, Cutler and Durand 1 Schedule Review Session: Tuesday November 18 th, 7:30 pm bring lots of questions! Quiz 2: Thursday November 20 th, in class (one weeks

More information

Real-time Rendering of Complex Vector Data on 3d Terrain Models

Real-time Rendering of Complex Vector Data on 3d Terrain Models Real-time Rendering of Complex Vector Data on 3d Terrain Models M. Schneider, M. Guthe, and R. Klein 1 Universität Bonn, Römerstraße 164, 53117 Bonn, Germany Figure 1: Rendering of vector data with our

More information

LODESTAR: An Octree-Based Level Of Detail Generator For VRML

LODESTAR: An Octree-Based Level Of Detail Generator For VRML LODESTAR: An Octree-Based Level Of Detail Generator For VRML Dieter Schmalstieg Vienna University of Technology, Austria dieter@cg.tuwien.ac.at - http://www.cg.tuwien.ac.at/~dieter/ Abstract. Level of

More information

CSE 167: Introduction to Computer Graphics Lecture #8: Scene Graph. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2015

CSE 167: Introduction to Computer Graphics Lecture #8: Scene Graph. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2015 CSE 167: Introduction to Computer Graphics Lecture #8: Scene Graph Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2015 Announcements Thursday: Midterm exam Friday: Project 3

More information

Lecture 1. Computer Graphics and Systems. Tuesday, January 15, 13

Lecture 1. Computer Graphics and Systems. Tuesday, January 15, 13 Lecture 1 Computer Graphics and Systems What is Computer Graphics? Image Formation Sun Object Figure from Ed Angel,D.Shreiner: Interactive Computer Graphics, 6 th Ed., 2012 Addison Wesley Computer Graphics

More information

An Approach to Content Creation for Trainz

An Approach to Content Creation for Trainz An Approach to Content Creation for Trainz Paul Hobbs Part 6 GMax Basics (Updates and sample files available from http://www.44090digitalmodels.de) Page 1 of 18 Version 3 Index Foreward... 3 The Interface...

More information

View-dependent Refinement of Multiresolution Meshes Using Programmable Graphics Hardware <CGI special issue>

View-dependent Refinement of Multiresolution Meshes Using Programmable Graphics Hardware <CGI special issue> The Visual Computer manuscript No. 642 (will be inserted by the editor) JUNFENG JI 1,3,4, ENHUA WU 1,2, SHENG LI 1,5, XUEHUI LIU 1 View-dependent Refinement of Multiresolution Meshes Using Programmable

More information

First Steps in Hardware Two-Level Volume Rendering

First Steps in Hardware Two-Level Volume Rendering First Steps in Hardware Two-Level Volume Rendering Markus Hadwiger, Helwig Hauser Abstract We describe first steps toward implementing two-level volume rendering (abbreviated as 2lVR) on consumer PC graphics

More information

Next-Generation Graphics on Larrabee. Tim Foley Intel Corp

Next-Generation Graphics on Larrabee. Tim Foley Intel Corp Next-Generation Graphics on Larrabee Tim Foley Intel Corp Motivation The killer app for GPGPU is graphics We ve seen Abstract models for parallel programming How those models map efficiently to Larrabee

More information

Fractals and Solid Modeling

Fractals and Solid Modeling EUROGRAPHICS '92 / A. Kilgour and L. Kjelldahl (Guest Editors), Blackwell Publishers Eurographics Association, 1992 Volume 11, (1992), number 3 Fractals and Solid Modeling Eduard Gröller Technische Universität

More information

Rendering Subdivision Surfaces Efficiently on the GPU

Rendering Subdivision Surfaces Efficiently on the GPU Rendering Subdivision Surfaces Efficiently on the GPU Gy. Antal, L. Szirmay-Kalos and L. A. Jeni Department of Algorithms and their Applications, Faculty of Informatics, Eötvös Loránd Science University,

More information

Radiosity. Johns Hopkins Department of Computer Science Course : Rendering Techniques, Professor: Jonathan Cohen

Radiosity. Johns Hopkins Department of Computer Science Course : Rendering Techniques, Professor: Jonathan Cohen Radiosity Radiosity Concept Global computation of diffuse interreflections among scene objects Diffuse lighting changes fairly slowly across a surface Break surfaces up into some number of patches Assume

More information

3D Modeling techniques

3D Modeling techniques 3D Modeling techniques 0. Reconstruction From real data (not covered) 1. Procedural modeling Automatic modeling of a self-similar objects or scenes 2. Interactive modeling Provide tools to computer artists

More information

Soft Shadow Volumes for Ray Tracing with Frustum Shooting

Soft Shadow Volumes for Ray Tracing with Frustum Shooting Soft Shadow Volumes for Ray Tracing with Frustum Shooting Thorsten Harter Markus Osswald Chalmers University of Technology Chalmers University of Technology University Karlsruhe University Karlsruhe Ulf

More information