Outdoor 3D Scenery. Rendering a 3D world using Geometrical Mipmaps. and Quadtree Culling. Andreas Spante. Jonas Roos

Size: px
Start display at page:

Download "Outdoor 3D Scenery. Rendering a 3D world using Geometrical Mipmaps. and Quadtree Culling. Andreas Spante. Jonas Roos"

Transcription

1 Outdoor 3D Scenery Rendering a 3D world using Geometrical Mipmaps and Quadtree Culling Andreas Spante Jonas Roos

2 Luleå Tekniska Universitet Institution Skellefteå GSCEPT Immense 3D Scenery - Building a 3D world using Geometrical Mipmaps and Quadtree Culling by Spante, Andreas Roos, Jonas - GSCEPT GSCEPT 2005 Abstract Theoretical and practical information on how to effectively build an outside world using Geometrical Mipmaps, Heightmaps and Quadtree culling.

3 Table of Contents: 1 INTRODUCTION PROJECT INTRODUCTION CONTRACTOR AND PERFORMERS: QUESTION AT ISSUE: GOAL: METHODS ACKNOWLEDGEMENTS OVERVIEW LEVEL OF DETAIL ALGORITHMS SPATIAL DATA STRUCTURES QUADTREES OCTREES IMPLEMENTATION TERRAIN REPRESENTATION GEOMETRICAL MIPMAPPING SOLVING GEOMETRY GAPS CHOOSING AN APPROPRIATE LEVEL OF DETAIL FUTURE WORK RESULTS CONCLUSION SUMMARY REFERENCES:... 15

4 1 Introduction 1.1 Project introduction The problem with an outdoor world is that one wants to show as many triangles as possible but on the other hand wants as high framerate as possible. The applications that have these problems are usually games and other graphical applications. The most common way to eliminate these problems is to use some kind of Level of detail algorithm and to use Octree or Quadtree culling. 1.2 Contractor and performers: The project was carried out by Andreas Spante and Jonas Roos studying at the GSCEPT institution at Luleå Technical University. It is part of the examination of a course in Graphical Programming. 1.3 Question at issue: We want to find out if there is a suitable method for real time rendering of terrain in AgentFX. 1.4 Goal: The goal with this project is to find out the most suitable level of detail algorithm and culling algorithm for an outdoor 3D world and implement them into a simple demo using AgentFX. 1.5 Methods Research of existing material Mathematics 1.6 Acknowledgements We acknowledge Lasse Wedin and Martin Börjeson for their work in the same area. We've had a lot of discussions regarding implementation and have talked a lot about the best solutions available for our problems.

5 2 Overview 2.1 Level of detail algorithms There are couple of algorithms that can be used for the level of detail problem that one has when dealing with large map data. Here we will look at some of the differnt algorithms and talk briefly about them. Geometrical ClipMap Overview: A Geometrical Clipmap is a sort of level of detail algorithm that utilizes the fast memory of the graphics card for vertex buffer storage. When the camera moves over the landscape the vertex buffers are incrementally refilled. That assures visual continuety and a stable framerate. The terain is cashed in the memory as nested regular grids around the viewer and the closer they get the finer the detail gets. They are stored at power of two resolutions.[l4] Fig 1: Illustration using a coarse geometry clipmap. [B1] ROAMing Overview: ROAMing is a level of detail algorithm where all the triangles are sorted into two binary trees that later will be manipulated. The entire terrain dataset is encapsulated in the two combined root triangles. The vertices of the root triangles are extracted from the root node in the quadtree strukture. Each triangle is assigned pointers to its neighbours and to its left and right child. When this is done the root triangles are pushed onto a FIFO queue so that one can do a bredth first traversal through the binary trees. The algorithm has five phases that are done every frame. First it uses recursive, incremental update to calculate the view frustum culling. The second step is to do a priority update for the triangles that can be split or merged in step three. Then it merges or splits the triangles that are in the two priority cueues. The last step is to update the triangles affected by the culling in step one and the split/merges from phase three.[l5] MipMapping Overview: Geometrical MipMapping is a level of detail algorithm based on the same theory as that of Texture MipMaps. It uses a terrain grid that is divided into a set number of quadratic terrain blocks. For each block, a set number of versions with different level of detail are created. Based on the distance away from the camera along with a few other conditions to avoid unwanted popping artifacts, an appropriate GeoMipMap level is chosen for each block. [L1]

6 2.2 Spatial Data Structures We have looked at different spatial data structures to handle the culling that needs to be taken care of in our program. Here we will discuss the pros and cons with the different techniques. Spatial Data Overview: A spatial data structure is a structure that takes care of geometry data and organizes it in an n-dimensional tree. They are usually used for culling, ray tracing and collision detection. The concept with the spatial data structure is that instead of checking all geometry one can traverse trough a tree and only check the relevant geometry. A linear search for a node would be an O(n) search and a tree search would take O(log n) searches. It is quite expensive to build a spatial data structure so they are often preprocessed. [L2] For example: If there are 64 geometry nodes and one just want to draw one of them the worst case scenario with a linear structure would take 64 searches to find the node. When using a Quadtree structure the worst case would take 12 searches. Root Node Internal Node Internal Node Internal Node Internal Node Internal NodeInternal NodeInternal NodeInternal Node Leaf Node Leaf Node Leaf Node Leaf Node Fig 2: A Quadtree Search with tree levels will in the worst case make 12 searches to find the right Node. There are a number of different spatial data structures, the most commonly used for culling in an outdoor environment are Octrees and Quadtrees. If there is more than one level in the tree a Quadtree consists of four internal nodes at the first level and an Octree consists of eight nodes.

7 2.3 Quadtrees A quadtree is a spatial data structure in which each internal node can consist of up to four children. It is an iteration process where each of the nodes are divided along the center of the nodes x and y axis. The iteration continues until some predefined condition is fulfilled. The last level of the tree consists of the leaf nodes which contain the actual data. The data is usually an object or a set of polygons. When using Quadtrees with view frustum culling the program checks if the internal node is inside, outside or partially inside the view frustum. If the node is entirely inside the frustum it gets attached to the rendering node. If it is entirely outside the frustum the program will discard it and not make any more calculations on that node. If the node is partially inside the view frustum it will continue to check the nodes children and see if the are inside, outside or partially inside the frustum. The iteration will continue until all the affected nodes have been discarded or attached to the rendering node. The last step is to send the rendering node down the graphical pipeline for rendering. [L2], [L3] Fig 3: A simple Picture of how a Quadtree is divided along the X and Y axis in a 2D plane. The red square is the root node, the blue square is one of four internal nodes and the green square is another internal node within the blue node. The leaf nodes are represented by the yellow squares and they contain the actual graphical data. The Quadtree is best used for a static landscape which has no flying objects since the height is cut out of the equation. So if you for example have an object 20 meters above ground and the camera is on 10 meters looking down the program will not cull away that object. This means that it will be sent down to the graphical pipeline and drawn for no use at all.

8 2.4 Octrees An Octree works just as a Quadtree but in 3 dimensions. So each iteration splits the cube along the x, y and z axis. The iteration will continue until the predefined condition is fulfilled. The predefined condition might be that the smallest cube should fit the entire object or that no cube should be smaller than 2x2x2 pixels. So each internal node has eight children instead of the four in Quadtree culling. The data is contained in the leaf nodes which has no children. When doing view frustum culling with Octrees it checks if a box is inside, outside or partially inside the frustum. If a box is inside the frustum it will be added to the rendering node and if it's not it will be discarded. When a box is partially inside the view frustum it will check its children to see if they are inside, outside or partially inside the frustum. The iteration will continue until all the affected boxes are checked. Lastly the rendering node is sent down the pipeline for rendering. [L2], [L3] Fig 4: A simple picture showing how an Octree is divided along the center of the nodes X, Y and Z axis. [B2] Octrees are ideal for culling in an open 3D room such as open space with planets and stars. The drawback when using Octrees for culling is that it takes more time than using a Quadtree.

9 3 Implementation We wanted to base our implementation on algorithms that are easy to understand and simple to implement - basic but still fast. In keeping it simple we decided to avoid any algorithms requiring GPU programming and instead try to make use of the GPU power by sending appropriately sized triangle batches to the GPU. Based on these wishes, Geometrical MipMapping felt like the most suitable choice; easier to understand than ROAMing and not requiring any GPU programming like Clipmaps. We will use quadtree culling in our program since we are not working with an immense universe and we put speed in the foremost room. 3.1 Terrain representation Our terrain is built up as a 2n x 2n grid in the xz-plane consisiting of (2n+1) x (2n+1) vertices with a fixed distance between them. Each vertex is then assigned a height (y) value from an 8-bit grayscale heightmap of the same dimensions as the terrain. This means one has 256 different shades of gray, from black to white, where each shade represents a different height. This representation is not only simple to implement but also very suitable for geometrical mipmapping. The main disadvantage is that it doesn't support overhangs, which might be an issue depending on what type of terrain you intend to make [L1]. In our case, the heightmap is loaded from a.raw-file which is the format Terragen [P1] exports to, but most image formats should work. Fig 5: An 8 x 8 grid (9 x 9 vertices) where each circle represents a vertex. The height value is fetched from an 8-bit grayscale heightmap.

10 3.2 Geometrical mipmapping The concept of geometrical mipmapping of terrain is very similar to that of texture mipmaps [L2]. This is basically how it applies to terrain rendering: First you divide the terrain into fixed size terrain blocks of size 2m x 2m. For our application, we use a terrain size of 1024 x 1024 built up from 256 terrain blocks where each block is of the size 64 x 64 (units). Experimentation is key when trying to figure out the optimal terrain size and block size for various applications Fig 6: A 16 x 16 terrain build up from 16 4 x 4 blocks. For each block, a set number of versions with different resolution are created (dependant on the block size). This is what is called geometrical mipmaps [L1]. They can be precalculated at terrain load time and stored in memory. The idea being that a terrain block far away from the camera doesn't need to be rendered at the same resolution as a nearby block, so we choose to render a lower resolution version of the block further away. The default (highest) resolution version of each block is called Level 0. When making this block a step size of 1 is used, meaning the distance between vertices (vertical and horizontal) is one unit. For this level, all values in the heightmap are utilized giving the block a very fine detail. The second highest resolution of a block is called Level 1 and so on. Every time you step down one level in resolution, you double the step size. In effect, each lower level resolution version contains only ¼ the number of triangles compared to the level above it.

11 Step = 1 Step = 2 Level 0 Step = 4 Level 1 Step = 8 Level 2 Level 3 Fig 7: Illustrations of the different levels of an 8 x 8 sized terrain block. The green circles show the vertices used to build up that particular level and the white circles show the vertices skipped.

12 3.3 Solving geometry gaps But what happens when you have two blocks with different level of detail next to each other as in the picture below? Fig 8: Adjacent blocks of different detail level. Geometry gaps will occur along the edge between the blocks (thick line) as a result of the fact that the less detailed block uses fewer vertices to build up the edge. One way to solve this is through the use of triangle fans as decribed in [L1]. We've opted for a somewhat different approach that felt easier to implement with AgentFX [P2]. First, the edges are separated from the centrum of the block. Each edge is then adjusted to fit the resolution of the adjacent block as shown in the following images: Level 1 North Edge West Edge East Edge Center South Edge Level 0 Fig 9: The yellow edges (north and west) are made to fit a lower resolution block while the blue edges (south and east) are made to fit a a block of the same resolution.

13 In separating the edges like this, none of the them need to take into account the detail level of the block's other edges (for example, the north edge doesn't need to know the detail level of the east and west edge). The main drawback of patching blocks together this way is that the difference in detail between two adjacent blocks may never be more than one level. However, this limit also makes it easier to precalculate the edges and store them in memory, since we only need two versions of each edge for each level except for the lowest level of detail (for which we need only one). To be able to choose the appropriate edges for a block, each block needs to keep references to its neighbors. When two adjacent blocks have different detail, it's always the block with the higher resolution that is responsible for making its edge fit to the lower resolution block. 3.4 Choosing an appropriate Level of Detail We decided to go with the easiest and most straightforward way to choose an appropriate resolution for a block, which simply is to calculate the distance away from the camera and set the detail accordingly. If a block is far away from the camera a lower resolution version will be used. 3.5 Texturing and Shading For texturing, we use a single large texture that is stretched over the entire map. The AFX Texture Manager class is utilized to load the texture into memory. Based on the height map, we then calculate a normal for each vertex to give the terrain a nicely shaded look when lighting is applied. A single white point light is used to light the scene. 4 Future work Improvements that can be made to the application: Take into account the height difference between different levels of detail when deciding which version of the block to be used, instead of just distance away from the camera, to reduce popping artifacts. MultiTexturing

14 5 Results Results from testing on a Pentium GHz with a Radeon 9800 Pro and 512 MB RAM. Block size: 65 x 65 vertices Map size: 1025 x 1025 vertices LOD enabled Culling enabled Average FPS Conclusion It is possible to create an Outdoor 3D scenery in AgentFX using Geometrical MipMapping and Quadtree culling. The results showed us that the algorithms we used were a good choice and provided satisfactory framerates. 7 Summary To improve computer rendering speed of large terrains, one has to use some kind of Level of Detail algorithm. This paper describes the theory behind one such algorithm called geometrical mipmapping To improve the culling in OpenGL it is a good idea to use some kind of Spatial Data structure. The most efficient one for culling in an outdoor 3D environment without loose flying objects is Quadtree Culling. Quadtrees uses an iteration process that checks if a quadrant is inside, outside or partially inside the View frustum. The nodes that are inside the frustum will be set as children to a draw node which will get passed down the graphical pipeline to be rendered.

15 References: [B1] Geometrical Clipmap [B2] Octree Image [L1] Willem H. de Boer, Fast Terrain Rendering Using Geometrical MipMapping [L2] Real-Time Rendering. Tomas Möller, Eric Haines. A K Peters, Ltd. ISBN [L3] Object Representation by Means of Nonminimal Division Quadtrees and Octrees [L4] Geometry Clipmaps: Terrain Rendering Using Nested Regular Grids [L5] View-dependent Real-time Terrain Rendering Using Static LOD [L4] GPGPU:General General-Purpose Purpose Computation on GPUs [P1] Terragen, Planetside Software [P2] AgentFX, Agency 9 AB

Image Processing and Computer Graphics. Rendering Pipeline. Matthias Teschner. Computer Science Department University of Freiburg

Image Processing and Computer Graphics. Rendering Pipeline. Matthias Teschner. Computer Science Department University of Freiburg Image Processing and Computer Graphics Rendering Pipeline Matthias Teschner Computer Science Department University of Freiburg Outline introduction rendering pipeline vertex processing primitive processing

More information

INTRODUCTION TO RENDERING TECHNIQUES

INTRODUCTION TO RENDERING TECHNIQUES INTRODUCTION TO RENDERING TECHNIQUES 22 Mar. 212 Yanir Kleiman What is 3D Graphics? Why 3D? Draw one frame at a time Model only once X 24 frames per second Color / texture only once 15, frames for a feature

More information

A Short Introduction to Computer Graphics

A Short Introduction to Computer Graphics A Short Introduction to Computer Graphics Frédo Durand MIT Laboratory for Computer Science 1 Introduction Chapter I: Basics Although computer graphics is a vast field that encompasses almost any graphical

More information

Scan-Line Fill. Scan-Line Algorithm. Sort by scan line Fill each span vertex order generated by vertex list

Scan-Line Fill. Scan-Line Algorithm. Sort by scan line Fill each span vertex order generated by vertex list Scan-Line Fill Can also fill by maintaining a data structure of all intersections of polygons with scan lines Sort by scan line Fill each span vertex order generated by vertex list desired order Scan-Line

More information

Modern Graphics Engine Design. Sim Dietrich NVIDIA Corporation sim.dietrich@nvidia.com

Modern Graphics Engine Design. Sim Dietrich NVIDIA Corporation sim.dietrich@nvidia.com Modern Graphics Engine Design Sim Dietrich NVIDIA Corporation sim.dietrich@nvidia.com Overview Modern Engine Features Modern Engine Challenges Scene Management Culling & Batching Geometry Management Collision

More information

3D Drawing. Single Point Perspective with Diminishing Spaces

3D Drawing. Single Point Perspective with Diminishing Spaces 3D Drawing Single Point Perspective with Diminishing Spaces The following document helps describe the basic process for generating a 3D representation of a simple 2D plan. For this exercise we will be

More information

3D Drawing. Single Point Perspective with Diminishing Spaces

3D Drawing. Single Point Perspective with Diminishing Spaces 3D Drawing Single Point Perspective with Diminishing Spaces The following document helps describe the basic process for generating a 3D representation of a simple 2D plan. For this exercise we will be

More information

1. Relational database accesses data in a sequential form. (Figures 7.1, 7.2)

1. Relational database accesses data in a sequential form. (Figures 7.1, 7.2) Chapter 7 Data Structures for Computer Graphics (This chapter was written for programmers - option in lecture course) Any computer model of an Object must comprise three different types of entities: 1.

More information

1. Definition of the project. 2. Initial version (simplified texture) 3. Second version (full textures) 5. Modelling and inserting 3D objects

1. Definition of the project. 2. Initial version (simplified texture) 3. Second version (full textures) 5. Modelling and inserting 3D objects Index 1. Definition of the project 2. Initial version (simplified texture) 3. Second version (full textures) 4. Final version in C++ 5. Modelling and inserting 3D objects 6. Interface design 7. Additional

More information

Consolidated Visualization of Enormous 3D Scan Point Clouds with Scanopy

Consolidated Visualization of Enormous 3D Scan Point Clouds with Scanopy Consolidated Visualization of Enormous 3D Scan Point Clouds with Scanopy Claus SCHEIBLAUER 1 / Michael PREGESBAUER 2 1 Institute of Computer Graphics and Algorithms, Vienna University of Technology, Austria

More information

CUBE-MAP DATA STRUCTURE FOR INTERACTIVE GLOBAL ILLUMINATION COMPUTATION IN DYNAMIC DIFFUSE ENVIRONMENTS

CUBE-MAP DATA STRUCTURE FOR INTERACTIVE GLOBAL ILLUMINATION COMPUTATION IN DYNAMIC DIFFUSE ENVIRONMENTS ICCVG 2002 Zakopane, 25-29 Sept. 2002 Rafal Mantiuk (1,2), Sumanta Pattanaik (1), Karol Myszkowski (3) (1) University of Central Florida, USA, (2) Technical University of Szczecin, Poland, (3) Max- Planck-Institut

More information

Introduction to Computer Graphics

Introduction to Computer Graphics Introduction to Computer Graphics Torsten Möller TASC 8021 778-782-2215 torsten@sfu.ca www.cs.sfu.ca/~torsten Today What is computer graphics? Contents of this course Syllabus Overview of course topics

More information

Topographic Change Detection Using CloudCompare Version 1.0

Topographic Change Detection Using CloudCompare Version 1.0 Topographic Change Detection Using CloudCompare Version 1.0 Emily Kleber, Arizona State University Edwin Nissen, Colorado School of Mines J Ramón Arrowsmith, Arizona State University Introduction CloudCompare

More information

Visualization of 2D Domains

Visualization of 2D Domains Visualization of 2D Domains This part of the visualization package is intended to supply a simple graphical interface for 2- dimensional finite element data structures. Furthermore, it is used as the low

More information

Binary Search Trees CMPSC 122

Binary Search Trees CMPSC 122 Binary Search Trees CMPSC 122 Note: This notes packet has significant overlap with the first set of trees notes I do in CMPSC 360, but goes into much greater depth on turning BSTs into pseudocode than

More information

A NEW METHOD OF STORAGE AND VISUALIZATION FOR MASSIVE POINT CLOUD DATASET

A NEW METHOD OF STORAGE AND VISUALIZATION FOR MASSIVE POINT CLOUD DATASET 22nd CIPA Symposium, October 11-15, 2009, Kyoto, Japan A NEW METHOD OF STORAGE AND VISUALIZATION FOR MASSIVE POINT CLOUD DATASET Zhiqiang Du*, Qiaoxiong Li State Key Laboratory of Information Engineering

More information

DATA STRUCTURES USING C

DATA STRUCTURES USING C DATA STRUCTURES USING C QUESTION BANK UNIT I 1. Define data. 2. Define Entity. 3. Define information. 4. Define Array. 5. Define data structure. 6. Give any two applications of data structures. 7. Give

More information

Triangulation by Ear Clipping

Triangulation by Ear Clipping Triangulation by Ear Clipping David Eberly Geometric Tools, LLC http://www.geometrictools.com/ Copyright c 1998-2016. All Rights Reserved. Created: November 18, 2002 Last Modified: August 16, 2015 Contents

More information

A FRAMEWORK FOR REAL-TIME TERRAIN VISUALIZATION WITH ADAPTIVE SEMI- REGULAR MESHES

A FRAMEWORK FOR REAL-TIME TERRAIN VISUALIZATION WITH ADAPTIVE SEMI- REGULAR MESHES A FRAMEWORK FOR REAL-TIME TERRAIN VISUALIZATION WITH ADAPTIVE SEMI- REGULAR MESHES Lourena Rocha, Sérgio Pinheiro, Marcelo B. Vieira, Luiz Velho IMPA - Instituto Nacional de Matemática Pura e Aplicada

More information

Shader Model 3.0. Ashu Rege. NVIDIA Developer Technology Group

Shader Model 3.0. Ashu Rege. NVIDIA Developer Technology Group Shader Model 3.0 Ashu Rege NVIDIA Developer Technology Group Talk Outline Quick Intro GeForce 6 Series (NV4X family) New Vertex Shader Features Vertex Texture Fetch Longer Programs and Dynamic Flow Control

More information

CSE 326, Data Structures. Sample Final Exam. Problem Max Points Score 1 14 (2x7) 2 18 (3x6) 3 4 4 7 5 9 6 16 7 8 8 4 9 8 10 4 Total 92.

CSE 326, Data Structures. Sample Final Exam. Problem Max Points Score 1 14 (2x7) 2 18 (3x6) 3 4 4 7 5 9 6 16 7 8 8 4 9 8 10 4 Total 92. Name: Email ID: CSE 326, Data Structures Section: Sample Final Exam Instructions: The exam is closed book, closed notes. Unless otherwise stated, N denotes the number of elements in the data structure

More information

Chapter 13: Query Processing. Basic Steps in Query Processing

Chapter 13: Query Processing. Basic Steps in Query Processing Chapter 13: Query Processing! Overview! Measures of Query Cost! Selection Operation! Sorting! Join Operation! Other Operations! Evaluation of Expressions 13.1 Basic Steps in Query Processing 1. Parsing

More information

Hardware design for ray tracing

Hardware design for ray tracing Hardware design for ray tracing Jae-sung Yoon Introduction Realtime ray tracing performance has recently been achieved even on single CPU. [Wald et al. 2001, 2002, 2004] However, higher resolutions, complex

More information

SECONDARY STORAGE TERRAIN VISUALIZATION IN A CLIENT-SERVER ENVIRONMENT: A SURVEY

SECONDARY STORAGE TERRAIN VISUALIZATION IN A CLIENT-SERVER ENVIRONMENT: A SURVEY SECONDARY STORAGE TERRAIN VISUALIZATION IN A CLIENT-SERVER ENVIRONMENT: A SURVEY Kai Xu and Xiaofang Zhou School of Information Technology and Electrical Engineering The University of Queensland, Brisbane,

More information

Dual Marching Cubes: Primal Contouring of Dual Grids

Dual Marching Cubes: Primal Contouring of Dual Grids Dual Marching Cubes: Primal Contouring of Dual Grids Scott Schaefer and Joe Warren Rice University 6100 Main St. Houston, TX 77005 sschaefe@rice.edu and jwarren@rice.edu Abstract We present a method for

More information

GPU Architecture. Michael Doggett ATI

GPU Architecture. Michael Doggett ATI GPU Architecture Michael Doggett ATI GPU Architecture RADEON X1800/X1900 Microsoft s XBOX360 Xenos GPU GPU research areas ATI - Driving the Visual Experience Everywhere Products from cell phones to super

More information

Recent Advances and Future Trends in Graphics Hardware. Michael Doggett Architect November 23, 2005

Recent Advances and Future Trends in Graphics Hardware. Michael Doggett Architect November 23, 2005 Recent Advances and Future Trends in Graphics Hardware Michael Doggett Architect November 23, 2005 Overview XBOX360 GPU : Xenos Rendering performance GPU architecture Unified shader Memory Export Texture/Vertex

More information

Development and Evaluation of Point Cloud Compression for the Point Cloud Library

Development and Evaluation of Point Cloud Compression for the Point Cloud Library Development and Evaluation of Point Cloud Compression for the Institute for Media Technology, TUM, Germany May 12, 2011 Motivation Point Cloud Stream Compression Network Point Cloud Stream Decompression

More information

Cabri Geometry Application User Guide

Cabri Geometry Application User Guide Cabri Geometry Application User Guide Preview of Geometry... 2 Learning the Basics... 3 Managing File Operations... 12 Setting Application Preferences... 14 Selecting and Moving Objects... 17 Deleting

More information

Multiresolution 3D Rendering on Mobile Devices

Multiresolution 3D Rendering on Mobile Devices Multiresolution 3D Rendering on Mobile Devices Javier Lluch, Rafa Gaitán, Miguel Escrivá, and Emilio Camahort Computer Graphics Section Departament of Computer Science Polytechnic University of Valencia

More information

Visualizing Data: Scalable Interactivity

Visualizing Data: Scalable Interactivity Visualizing Data: Scalable Interactivity The best data visualizations illustrate hidden information and structure contained in a data set. As access to large data sets has grown, so has the need for interactive

More information

Bachelor of Games and Virtual Worlds (Programming) Subject and Course Summaries

Bachelor of Games and Virtual Worlds (Programming) Subject and Course Summaries First Semester Development 1A On completion of this subject students will be able to apply basic programming and problem solving skills in a 3 rd generation object-oriented programming language (such as

More information

Big Data and Scripting. Part 4: Memory Hierarchies

Big Data and Scripting. Part 4: Memory Hierarchies 1, Big Data and Scripting Part 4: Memory Hierarchies 2, Model and Definitions memory size: M machine words total storage (on disk) of N elements (N is very large) disk size unlimited (for our considerations)

More information

How To Create A Surface From Points On A Computer With A Marching Cube

How To Create A Surface From Points On A Computer With A Marching Cube Surface Reconstruction from a Point Cloud with Normals Landon Boyd and Massih Khorvash Department of Computer Science University of British Columbia,2366 Main Mall Vancouver, BC, V6T1Z4, Canada {blandon,khorvash}@cs.ubc.ca

More information

Calibration Best Practices

Calibration Best Practices Calibration Best Practices for Manufacturers SpectraCal, Inc. 17544 Midvale Avenue N., Suite 100 Shoreline, WA 98133 (206) 420-7514 info@spectracal.com http://studio.spectracal.com Calibration Best Practices

More information

GAP CLOSING. 2D Measurement. Intermediate / Senior Student Book

GAP CLOSING. 2D Measurement. Intermediate / Senior Student Book GAP CLOSING 2D Measurement Intermediate / Senior Student Book 2-D Measurement Diagnostic...3 Areas of Parallelograms, Triangles, and Trapezoids...6 Areas of Composite Shapes...14 Circumferences and Areas

More information

1) The postfix expression for the infix expression A+B*(C+D)/F+D*E is ABCD+*F/DE*++

1) The postfix expression for the infix expression A+B*(C+D)/F+D*E is ABCD+*F/DE*++ Answer the following 1) The postfix expression for the infix expression A+B*(C+D)/F+D*E is ABCD+*F/DE*++ 2) Which data structure is needed to convert infix notations to postfix notations? Stack 3) The

More information

OpenGL Performance Tuning

OpenGL Performance Tuning OpenGL Performance Tuning Evan Hart ATI Pipeline slides courtesy John Spitzer - NVIDIA Overview What to look for in tuning How it relates to the graphics pipeline Modern areas of interest Vertex Buffer

More information

Persistent Data Structures

Persistent Data Structures 6.854 Advanced Algorithms Lecture 2: September 9, 2005 Scribes: Sommer Gentry, Eddie Kohler Lecturer: David Karger Persistent Data Structures 2.1 Introduction and motivation So far, we ve seen only ephemeral

More information

Silverlight for Windows Embedded Graphics and Rendering Pipeline 1

Silverlight for Windows Embedded Graphics and Rendering Pipeline 1 Silverlight for Windows Embedded Graphics and Rendering Pipeline 1 Silverlight for Windows Embedded Graphics and Rendering Pipeline Windows Embedded Compact 7 Technical Article Writers: David Franklin,

More information

Algebra Geometry Glossary. 90 angle

Algebra Geometry Glossary. 90 angle lgebra Geometry Glossary 1) acute angle an angle less than 90 acute angle 90 angle 2) acute triangle a triangle where all angles are less than 90 3) adjacent angles angles that share a common leg Example:

More information

Computational Geometry. Lecture 1: Introduction and Convex Hulls

Computational Geometry. Lecture 1: Introduction and Convex Hulls Lecture 1: Introduction and convex hulls 1 Geometry: points, lines,... Plane (two-dimensional), R 2 Space (three-dimensional), R 3 Space (higher-dimensional), R d A point in the plane, 3-dimensional space,

More information

Optimizing Unity Games for Mobile Platforms. Angelo Theodorou Software Engineer Unite 2013, 28 th -30 th August

Optimizing Unity Games for Mobile Platforms. Angelo Theodorou Software Engineer Unite 2013, 28 th -30 th August Optimizing Unity Games for Mobile Platforms Angelo Theodorou Software Engineer Unite 2013, 28 th -30 th August Agenda Introduction The author and ARM Preliminary knowledge Unity Pro, OpenGL ES 3.0 Identify

More information

Home Page. Data Structures. Title Page. Page 1 of 24. Go Back. Full Screen. Close. Quit

Home Page. Data Structures. Title Page. Page 1 of 24. Go Back. Full Screen. Close. Quit Data Structures Page 1 of 24 A.1. Arrays (Vectors) n-element vector start address + ielementsize 0 +1 +2 +3 +4... +n-1 start address continuous memory block static, if size is known at compile time dynamic,

More information

Intersection of a Line and a Convex. Hull of Points Cloud

Intersection of a Line and a Convex. Hull of Points Cloud Applied Mathematical Sciences, Vol. 7, 213, no. 13, 5139-5149 HIKARI Ltd, www.m-hikari.com http://dx.doi.org/1.12988/ams.213.37372 Intersection of a Line and a Convex Hull of Points Cloud R. P. Koptelov

More information

Optimization for DirectX9 Graphics. Ashu Rege

Optimization for DirectX9 Graphics. Ashu Rege Optimization for DirectX9 Graphics Ashu Rege Last Year: Batch, Batch, Batch Moral of the story: Small batches BAD What is a batch Every DrawIndexedPrimitive call is a batch All render, texture, shader,...

More information

Monash University Clayton s School of Information Technology CSE3313 Computer Graphics Sample Exam Questions 2007

Monash University Clayton s School of Information Technology CSE3313 Computer Graphics Sample Exam Questions 2007 Monash University Clayton s School of Information Technology CSE3313 Computer Graphics Questions 2007 INSTRUCTIONS: Answer all questions. Spend approximately 1 minute per mark. Question 1 30 Marks Total

More information

MATHEMATICAL ENGINEERING TECHNICAL REPORTS. The Best-fit Heuristic for the Rectangular Strip Packing Problem: An Efficient Implementation

MATHEMATICAL ENGINEERING TECHNICAL REPORTS. The Best-fit Heuristic for the Rectangular Strip Packing Problem: An Efficient Implementation MATHEMATICAL ENGINEERING TECHNICAL REPORTS The Best-fit Heuristic for the Rectangular Strip Packing Problem: An Efficient Implementation Shinji IMAHORI, Mutsunori YAGIURA METR 2007 53 September 2007 DEPARTMENT

More information

5. A full binary tree with n leaves contains [A] n nodes. [B] log n 2 nodes. [C] 2n 1 nodes. [D] n 2 nodes.

5. A full binary tree with n leaves contains [A] n nodes. [B] log n 2 nodes. [C] 2n 1 nodes. [D] n 2 nodes. 1. The advantage of.. is that they solve the problem if sequential storage representation. But disadvantage in that is they are sequential lists. [A] Lists [B] Linked Lists [A] Trees [A] Queues 2. The

More information

Krishna Institute of Engineering & Technology, Ghaziabad Department of Computer Application MCA-213 : DATA STRUCTURES USING C

Krishna Institute of Engineering & Technology, Ghaziabad Department of Computer Application MCA-213 : DATA STRUCTURES USING C Tutorial#1 Q 1:- Explain the terms data, elementary item, entity, primary key, domain, attribute and information? Also give examples in support of your answer? Q 2:- What is a Data Type? Differentiate

More information

The following is an overview of lessons included in the tutorial.

The following is an overview of lessons included in the tutorial. Chapter 2 Tutorial Tutorial Introduction This tutorial is designed to introduce you to some of Surfer's basic features. After you have completed the tutorial, you should be able to begin creating your

More information

TECHNICAL ANALYSIS OF REMOTE 3D

TECHNICAL ANALYSIS OF REMOTE 3D ABSTRACT TECHNICAL ANALYSIS OF REMOTE 3D VISUALIZATION ON MOBILE DEVICES Ms. U. S. Junghare 1, Dr. V. M. Thakare 2, Dr. R. V. Dharaskar 3, Dr. S. S. Sherekar 4 1 Brijlal Biyani Science College, Amravati,

More information

Data Structure [Question Bank]

Data Structure [Question Bank] Unit I (Analysis of Algorithms) 1. What are algorithms and how they are useful? 2. Describe the factor on best algorithms depends on? 3. Differentiate: Correct & Incorrect Algorithms? 4. Write short note:

More information

COMP175: Computer Graphics. Lecture 1 Introduction and Display Technologies

COMP175: Computer Graphics. Lecture 1 Introduction and Display Technologies COMP175: Computer Graphics Lecture 1 Introduction and Display Technologies Course mechanics Number: COMP 175-01, Fall 2009 Meetings: TR 1:30-2:45pm Instructor: Sara Su (sarasu@cs.tufts.edu) TA: Matt Menke

More information

3D-GIS in the Cloud USER MANUAL. August, 2014

3D-GIS in the Cloud USER MANUAL. August, 2014 3D-GIS in the Cloud USER MANUAL August, 2014 3D GIS in the Cloud User Manual August, 2014 Table of Contents 1. Quick Reference: Navigating and Exploring in the 3D GIS in the Cloud... 2 1.1 Using the Mouse...

More information

Computer Graphics Hardware An Overview

Computer Graphics Hardware An Overview Computer Graphics Hardware An Overview Graphics System Monitor Input devices CPU/Memory GPU Raster Graphics System Raster: An array of picture elements Based on raster-scan TV technology The screen (and

More information

Course: 3D Design Title: Deciduous Trees Blender: Version 2.6X Level: Beginning Author; Neal Hirsig (nhirsig@tufts.edu) (June 2012) Deciduous Trees

Course: 3D Design Title: Deciduous Trees Blender: Version 2.6X Level: Beginning Author; Neal Hirsig (nhirsig@tufts.edu) (June 2012) Deciduous Trees Course: 3D Design Title: Deciduous Trees Blender: Version 2.6X Level: Beginning Author; Neal Hirsig (nhirsig@tufts.edu) (June 2012) Deciduous Trees In general, modeling trees is a long and somewhat tedious

More information

Euclidean Minimum Spanning Trees Based on Well Separated Pair Decompositions Chaojun Li. Advised by: Dave Mount. May 22, 2014

Euclidean Minimum Spanning Trees Based on Well Separated Pair Decompositions Chaojun Li. Advised by: Dave Mount. May 22, 2014 Euclidean Minimum Spanning Trees Based on Well Separated Pair Decompositions Chaojun Li Advised by: Dave Mount May 22, 2014 1 INTRODUCTION In this report we consider the implementation of an efficient

More information

Binary Search Trees. A Generic Tree. Binary Trees. Nodes in a binary search tree ( B-S-T) are of the form. P parent. Key. Satellite data L R

Binary Search Trees. A Generic Tree. Binary Trees. Nodes in a binary search tree ( B-S-T) are of the form. P parent. Key. Satellite data L R Binary Search Trees A Generic Tree Nodes in a binary search tree ( B-S-T) are of the form P parent Key A Satellite data L R B C D E F G H I J The B-S-T has a root node which is the only node whose parent

More information

We can display an object on a monitor screen in three different computer-model forms: Wireframe model Surface Model Solid model

We can display an object on a monitor screen in three different computer-model forms: Wireframe model Surface Model Solid model CHAPTER 4 CURVES 4.1 Introduction In order to understand the significance of curves, we should look into the types of model representations that are used in geometric modeling. Curves play a very significant

More information

Fast Sequential Summation Algorithms Using Augmented Data Structures

Fast Sequential Summation Algorithms Using Augmented Data Structures Fast Sequential Summation Algorithms Using Augmented Data Structures Vadim Stadnik vadim.stadnik@gmail.com Abstract This paper provides an introduction to the design of augmented data structures that offer

More information

Computer Graphics CS 543 Lecture 12 (Part 1) Curves. Prof Emmanuel Agu. Computer Science Dept. Worcester Polytechnic Institute (WPI)

Computer Graphics CS 543 Lecture 12 (Part 1) Curves. Prof Emmanuel Agu. Computer Science Dept. Worcester Polytechnic Institute (WPI) Computer Graphics CS 54 Lecture 1 (Part 1) Curves Prof Emmanuel Agu Computer Science Dept. Worcester Polytechnic Institute (WPI) So Far Dealt with straight lines and flat surfaces Real world objects include

More information

SolidWorks Implementation Guides. Sketching Concepts

SolidWorks Implementation Guides. Sketching Concepts SolidWorks Implementation Guides Sketching Concepts Sketching in SolidWorks is the basis for creating features. Features are the basis for creating parts, which can be put together into assemblies. Sketch

More information

5. Binary objects labeling

5. Binary objects labeling Image Processing - Laboratory 5: Binary objects labeling 1 5. Binary objects labeling 5.1. Introduction In this laboratory an object labeling algorithm which allows you to label distinct objects from a

More information

CS 4204 Computer Graphics

CS 4204 Computer Graphics CS 4204 Computer Graphics 3D views and projection Adapted from notes by Yong Cao 1 Overview of 3D rendering Modeling: *Define object in local coordinates *Place object in world coordinates (modeling transformation)

More information

Real-time Processing and Visualization of Massive Air-Traffic Data in Digital Landscapes

Real-time Processing and Visualization of Massive Air-Traffic Data in Digital Landscapes Real-time Processing and Visualization of Massive Air-Traffic Data in Digital Landscapes Digital Landscape Architecture 2015, Dessau Stefan Buschmann, Matthias Trapp, and Jürgen Döllner Hasso-Plattner-Institut,

More information

Chapter 6 - The Scene Graph

Chapter 6 - The Scene Graph Chapter 6 - The Scene Graph Why a scene graph? What is stored in the scene graph? objects appearance camera lights Rendering with a scene graph Practical example 1 The 3D Rendering Pipeline (our version

More information

DEVELOPMENT OF REAL-TIME VISUALIZATION TOOLS FOR THE QUALITY CONTROL OF DIGITAL TERRAIN MODELS AND ORTHOIMAGES

DEVELOPMENT OF REAL-TIME VISUALIZATION TOOLS FOR THE QUALITY CONTROL OF DIGITAL TERRAIN MODELS AND ORTHOIMAGES DEVELOPMENT OF REAL-TIME VISUALIZATION TOOLS FOR THE QUALITY CONTROL OF DIGITAL TERRAIN MODELS AND ORTHOIMAGES Dr.-Ing. Manfred Wiggenhagen University of Hanover, Germany Institute for Photogrammetry and

More information

Converting a Number from Decimal to Binary

Converting a Number from Decimal to Binary Converting a Number from Decimal to Binary Convert nonnegative integer in decimal format (base 10) into equivalent binary number (base 2) Rightmost bit of x Remainder of x after division by two Recursive

More information

A VOXELIZATION BASED MESH GENERATION ALGORITHM FOR NUMERICAL MODELS USED IN FOUNDRY ENGINEERING

A VOXELIZATION BASED MESH GENERATION ALGORITHM FOR NUMERICAL MODELS USED IN FOUNDRY ENGINEERING METALLURGY AND FOUNDRY ENGINEERING Vol. 38, 2012, No. 1 http://dx.doi.org/10.7494/mafe.2012.38.1.43 Micha³ Szucki *, Józef S. Suchy ** A VOXELIZATION BASED MESH GENERATION ALGORITHM FOR NUMERICAL MODELS

More information

Prentice Hall Mathematics: Course 1 2008 Correlated to: Arizona Academic Standards for Mathematics (Grades 6)

Prentice Hall Mathematics: Course 1 2008 Correlated to: Arizona Academic Standards for Mathematics (Grades 6) PO 1. Express fractions as ratios, comparing two whole numbers (e.g., ¾ is equivalent to 3:4 and 3 to 4). Strand 1: Number Sense and Operations Every student should understand and use all concepts and

More information

Welcome to CorelDRAW, a comprehensive vector-based drawing and graphic-design program for the graphics professional.

Welcome to CorelDRAW, a comprehensive vector-based drawing and graphic-design program for the graphics professional. Workspace tour Welcome to CorelDRAW, a comprehensive vector-based drawing and graphic-design program for the graphics professional. In this tutorial, you will become familiar with the terminology and workspace

More information

Modelling, Extraction and Description of Intrinsic Cues of High Resolution Satellite Images: Independent Component Analysis based approaches

Modelling, Extraction and Description of Intrinsic Cues of High Resolution Satellite Images: Independent Component Analysis based approaches Modelling, Extraction and Description of Intrinsic Cues of High Resolution Satellite Images: Independent Component Analysis based approaches PhD Thesis by Payam Birjandi Director: Prof. Mihai Datcu Problematic

More information

Using Photorealistic RenderMan for High-Quality Direct Volume Rendering

Using Photorealistic RenderMan for High-Quality Direct Volume Rendering Using Photorealistic RenderMan for High-Quality Direct Volume Rendering Cyrus Jam cjam@sdsc.edu Mike Bailey mjb@sdsc.edu San Diego Supercomputer Center University of California San Diego Abstract With

More information

ALGEBRA. sequence, term, nth term, consecutive, rule, relationship, generate, predict, continue increase, decrease finite, infinite

ALGEBRA. sequence, term, nth term, consecutive, rule, relationship, generate, predict, continue increase, decrease finite, infinite ALGEBRA Pupils should be taught to: Generate and describe sequences As outcomes, Year 7 pupils should, for example: Use, read and write, spelling correctly: sequence, term, nth term, consecutive, rule,

More information

Arrangements And Duality

Arrangements And Duality Arrangements And Duality 3.1 Introduction 3 Point configurations are tbe most basic structure we study in computational geometry. But what about configurations of more complicated shapes? For example,

More information

Four-Dimensional Interactive Visualization System for Transportation Management and Traveler Information

Four-Dimensional Interactive Visualization System for Transportation Management and Traveler Information Four-Dimensional Interactive Visualization System for Transportation Management and Traveler Information Michael L. Pack, Phillip Weisberg, and Sujal Bista This research developed a system for visualizing

More information

Advanced Graphics and Animations for ios Apps

Advanced Graphics and Animations for ios Apps Tools #WWDC14 Advanced Graphics and Animations for ios Apps Session 419 Axel Wefers ios Software Engineer Michael Ingrassia ios Software Engineer 2014 Apple Inc. All rights reserved. Redistribution or

More information

Image Synthesis. Transparency. computer graphics & visualization

Image Synthesis. Transparency. computer graphics & visualization Image Synthesis Transparency Inter-Object realism Covers different kinds of interactions between objects Increasing realism in the scene Relationships between objects easier to understand Shadows, Reflections,

More information

How To Teach Computer Graphics

How To Teach Computer Graphics Computer Graphics Thilo Kielmann Lecture 1: 1 Introduction (basic administrative information) Course Overview + Examples (a.o. Pixar, Blender, ) Graphics Systems Hands-on Session General Introduction http://www.cs.vu.nl/~graphics/

More information

Scanners and How to Use Them

Scanners and How to Use Them Written by Jonathan Sachs Copyright 1996-1999 Digital Light & Color Introduction A scanner is a device that converts images to a digital file you can use with your computer. There are many different types

More information

How To Make A Texture Map Work Better On A Computer Graphics Card (Or Mac)

How To Make A Texture Map Work Better On A Computer Graphics Card (Or Mac) Improved Alpha-Tested Magnification for Vector Textures and Special Effects Chris Green Valve (a) 64x64 texture, alpha-blended (b) 64x64 texture, alpha tested (c) 64x64 texture using our technique Figure

More information

Geometry and Measurement

Geometry and Measurement The student will be able to: Geometry and Measurement 1. Demonstrate an understanding of the principles of geometry and measurement and operations using measurements Use the US system of measurement for

More information

Picture Maze Generation by Successive Insertion of Path Segment

Picture Maze Generation by Successive Insertion of Path Segment 1 2 3 Picture Maze Generation by Successive Insertion of Path Segment 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32. ABSTRACT Tomio Kurokawa 1* 1 Aichi Institute of Technology,

More information

Voronoi Treemaps in D3

Voronoi Treemaps in D3 Voronoi Treemaps in D3 Peter Henry University of Washington phenry@gmail.com Paul Vines University of Washington paul.l.vines@gmail.com ABSTRACT Voronoi treemaps are an alternative to traditional rectangular

More information

An Introduction to The A* Algorithm

An Introduction to The A* Algorithm An Introduction to The A* Algorithm Introduction The A* (A-Star) algorithm depicts one of the most popular AI methods used to identify the shortest path between 2 locations in a mapped area. The A* algorithm

More information

Clustering & Visualization

Clustering & Visualization Chapter 5 Clustering & Visualization Clustering in high-dimensional databases is an important problem and there are a number of different clustering paradigms which are applicable to high-dimensional data.

More information

TABLE OF CONTENTS. INTRODUCTION... 5 Advance Concrete... 5 Where to find information?... 6 INSTALLATION... 7 STARTING ADVANCE CONCRETE...

TABLE OF CONTENTS. INTRODUCTION... 5 Advance Concrete... 5 Where to find information?... 6 INSTALLATION... 7 STARTING ADVANCE CONCRETE... Starting Guide TABLE OF CONTENTS INTRODUCTION... 5 Advance Concrete... 5 Where to find information?... 6 INSTALLATION... 7 STARTING ADVANCE CONCRETE... 7 ADVANCE CONCRETE USER INTERFACE... 7 Other important

More information

Binary Heaps * * * * * * * / / \ / \ / \ / \ / \ * * * * * * * * * * * / / \ / \ / / \ / \ * * * * * * * * * *

Binary Heaps * * * * * * * / / \ / \ / \ / \ / \ * * * * * * * * * * * / / \ / \ / / \ / \ * * * * * * * * * * Binary Heaps A binary heap is another data structure. It implements a priority queue. Priority Queue has the following operations: isempty add (with priority) remove (highest priority) peek (at highest

More information

Current Standard: Mathematical Concepts and Applications Shape, Space, and Measurement- Primary

Current Standard: Mathematical Concepts and Applications Shape, Space, and Measurement- Primary Shape, Space, and Measurement- Primary A student shall apply concepts of shape, space, and measurement to solve problems involving two- and three-dimensional shapes by demonstrating an understanding of:

More information

A unified representation for interactive 3D modeling

A unified representation for interactive 3D modeling A unified representation for interactive 3D modeling Dragan Tubić, Patrick Hébert, Jean-Daniel Deschênes and Denis Laurendeau Computer Vision and Systems Laboratory, University Laval, Québec, Canada [tdragan,hebert,laurendeau]@gel.ulaval.ca

More information

Making natural looking Volumetric Clouds In Blender 2.48a

Making natural looking Volumetric Clouds In Blender 2.48a I think that everyone using Blender has made some trials about making volumetric clouds. The truth is that a kind of volumetric clouds is already available in Blender for a long time, thanks to the 3D

More information

10CS35: Data Structures Using C

10CS35: Data Structures Using C CS35: Data Structures Using C QUESTION BANK REVIEW OF STRUCTURES AND POINTERS, INTRODUCTION TO SPECIAL FEATURES OF C OBJECTIVE: Learn : Usage of structures, unions - a conventional tool for handling a

More information

CALCULATING THE AREA OF A FLOWER BED AND CALCULATING NUMBER OF PLANTS NEEDED

CALCULATING THE AREA OF A FLOWER BED AND CALCULATING NUMBER OF PLANTS NEEDED This resource has been produced as a result of a grant awarded by LSIS. The grant was made available through the Skills for Life Support Programme in 2010. The resource has been developed by (managers

More information

Math Content by Strand 1

Math Content by Strand 1 Patterns, Functions, and Change Math Content by Strand 1 Kindergarten Kindergarten students construct, describe, extend, and determine what comes next in repeating patterns. To identify and construct repeating

More information

Interactive Information Visualization using Graphics Hardware Študentská vedecká konferencia 2006

Interactive Information Visualization using Graphics Hardware Študentská vedecká konferencia 2006 FAKULTA MATEMATIKY, FYZIKY A INFORMATIKY UNIVERZITY KOMENSKHO V BRATISLAVE Katedra aplikovanej informatiky Interactive Information Visualization using Graphics Hardware Študentská vedecká konferencia 2006

More information

The Evolution of Computer Graphics. SVP, Content & Technology, NVIDIA

The Evolution of Computer Graphics. SVP, Content & Technology, NVIDIA The Evolution of Computer Graphics Tony Tamasi SVP, Content & Technology, NVIDIA Graphics Make great images intricate shapes complex optical effects seamless motion Make them fast invent clever techniques

More information

EXPLORING ALGORITHMIC GEOMETRY WITH BEETLE BLOCKS: A GRAPHICAL PROGRAMMING LANGUAGE FOR GENERATING 3D FORMS

EXPLORING ALGORITHMIC GEOMETRY WITH BEETLE BLOCKS: A GRAPHICAL PROGRAMMING LANGUAGE FOR GENERATING 3D FORMS 15 TH INTERNATIONAL CONFERENCE ON GEOMETRY AND GRAPHICS 2012 ISGG 1-5 AUGUST, 2012, MONTREAL, CANADA EXPLORING ALGORITHMIC GEOMETRY WITH BEETLE BLOCKS: A GRAPHICAL PROGRAMMING LANGUAGE FOR GENERATING 3D

More information

An Interactive Visualization Tool for the Analysis of Multi-Objective Embedded Systems Design Space Exploration

An Interactive Visualization Tool for the Analysis of Multi-Objective Embedded Systems Design Space Exploration An Interactive Visualization Tool for the Analysis of Multi-Objective Embedded Systems Design Space Exploration Toktam Taghavi, Andy D. Pimentel Computer Systems Architecture Group, Informatics Institute

More information

Tutorial 8 Raster Data Analysis

Tutorial 8 Raster Data Analysis Objectives Tutorial 8 Raster Data Analysis This tutorial is designed to introduce you to a basic set of raster-based analyses including: 1. Displaying Digital Elevation Model (DEM) 2. Slope calculations

More information