Meshes Part II. June 13, 2005
|
|
- Bonnie Walters
- 5 years ago
- Views:
Transcription
1 Game Programming Meshes Part II June 13, 2005 Objectives To learn how to load the data of an XFile into an ID3DXMesh object To gain an understanding of the benefits of using progressive meshes and how to use the progressive mesh interface ID3DXPMesh To learn about bounding volume, why they are useful, and how to create them using the D3DX functions
2 ID3DXBuffer Generic data structure to store data in a contiguous block of memory Two methods ex) Must be released to avoid a memory leak ex) Creating an empty ID3DXBuffer LPVOID LPVOID ID3DXBuffer::GetBufferPointer(VOID); DWORD DWORD ID3DXBuffer::GetBufferSize(VOID); DWORD* info = (DWORD*)adjacencyInfo->GetBufferPointer( ); D3DXMATERIAL *mtrls = (D3DXMATERIAL*)mtrlBuffer->GetBufferPointer( ); adjacencyinfo->release( ); mtrlbuffer->release( ); HRESULT HRESULT D3DXCreateBuffer ( DWORD DWORD NumBytes, NumBytes, LPD3DXBUFFER LPD3DXBUFFER *ppbuffer *ppbuffer ); ); ID3DXBuffer* buffer = 0; D3DXCreateBuffer( 4*sizeof(int), &buffer ); XFiles 3D modelers 3DS Max ( LightWave3D ( Maya ( export the created mesh data (geometry, materials, animations, and other possible useful data) to Xfiles
3 MSDN Exporter for 3DS MAX MSDN Exporter for Maya
4 Loading an XFile Creating an ID3DXMesh object and loading the geometric data of the XFile into it ex) HRESULT HRESULT D3DXLoadMeshFromX ( LPCSTR LPCSTR pfilename, pfilename, DWORD DWORD Options, Options, LPDIRECT3DDEVICE9 pdevice, pdevice, LPD3DXBUFFER* LPD3DXBUFFER* ppadjacency, ppadjacency, LPD3DXBUFFER* LPD3DXBUFFER* ppmaterials, ppmaterials, LPD3DXBUFFER* LPD3DXBUFFER* ppeffectinstances, PDWORD PDWORD pnummaterials, pnummaterials, LPD3DXMESH* LPD3DXMESH* ppmesh ppmesh ); ); HRESULT hr = 0; ID3DXBuffer* adjbuffer = 0; ID3DXBuffer* mtrlbuffer = 0; DWORD nummtrls = 0; hr = D3DXLoadMeshFromX( "bigship1.x", D3DXMESH_MANAGED, Device, &adjbuffer, &mtrlbuffer, 0, &nummtrls, &Mesh ); XFile Materials Array of D3DXMATERIAL structures containing the material data argument five of D3DXLoadMeshFromX function XFile doesn t embed the texture data Number of materials that mesh contains argument seven typedef typedef struct struct D3DXMATERIAL D3DXMATERIAL { D3DMATERIAL9 D3DMATERIAL9 MatD3D; MatD3D; LPSTR LPSTR ptexturefilename; } D3DXMATERIAL; D3DXMATERIAL; The ith entry in the returned D3DMATERIAL array corresponds with the ith subset
5 Sample: XFile Global Variables
6 Loading the XFile Extracting Materials & Loading Textures (1)
7 Extracting Materials & Loading Textures (2) Rotating the Mesh
8 Rendering the Mesh Generating Vertex Normals if XFile does not contain vertex normal data adjacency info to disregard duplicated vertices must have a D3DFVF_NORMAL in the vertex format ex) HRESULT HRESULT D3DXComputeNormals ( LPD3DXBASEMESH LPD3DXBASEMESH pmesh, pmesh, CONST CONST DWORD DWORD *padjacency *padjacency ); ); if(!(pmesh->getfvf() & D3DFVF_NORMAL) ) { ID3DXMesh* ptempmesh = 0; pmesh->clonemeshfvf ( D3DXMESH_MANAGED, pmesh->getfvf() D3DFVF_NORMAL, Device, &ptempmesh ); D3DXComputeNormals( ptempmesh, 0 ); pmesh->release(); pmesh = ptempmesh; }
9 Progressive Meshes (1) New representation for storing and transmitting arbitrary triangle meshes (H. Hoppe, SIGGRAPH 96) ID3DXPMesh interface simplify a mesh by applying a sequence of edge collapse transformations (ETC) Progressive Meshes (2) Edge collapse vs. vertex split v u ecollapse(v u,v t,v s ) v l v r v l v r v t vsplit(vs,v v s l,v r,v u,v t ) Base mesh + sequence of vertex splits M 0 M 175 M 425 M n = M org vsplit 0 vsplit 174 vsplit i vsplit n-1 PM
10 Progressive Meshes (3) LOD (level of detail) High Resolution Medium Resolution Low Resolution a small, far-away mesh does not need as high a triangle count as a large, close-up mesh to adjust the LOD of a mesh based on its distance from the camera Generating a Progressive Mesh Creating an ID3DXPMesh object HRESULT HRESULT D3DXGeneratePMesh ( LPD3DXMESH LPD3DXMESH pmesh, pmesh, CONST CONST DWORD DWORD *padjacency, *padjacency, CONST CONST LPD3DXATTRIBUTEWEIGHTS pvertexattributeweights, CONST CONST FLOAT FLOAT *pvertexweights, DWORD DWORD MinValues, MinValues, DWORD DWORD Options, Options, LPD3DXPMESH LPD3DXPMESH *pppmesh *pppmesh ); ); pvertexattributeweights pointer to a D3DXATTRIBUTEWEIGHTS array of size pmesh- >GetNumVertices() pvertexweights pointer to a float array of size pmesh->getnumvertices() MinValue the minimum vertices or faces Options D3DXMESHSIMP_VERTEX, D3DXMESHSIMP_FACE
11 Vertex Attribute Weights to specify a weight for each possible component of a vertex the default weights are recommended typedef typedef struct struct _D3DXATTRIBUTEWEIGHTS { FLOAT FLOAT Position; Position; FLOAT FLOAT Boundary; Boundary; FLOAT FLOAT Normal; Normal; FLOAT FLOAT Diffuse; Diffuse; FLOAT FLOAT Specular; Specular; FLOAT FLOAT Texcoord[8]; Texcoord[8]; FLOAT FLOAT Tangent; Tangent; FLOAT FLOAT Binormal; Binormal; } D3DXATTRIBUTEWEIGHTS; D3DXATTRIBUTEWEIGHTS AttributeWeights; AttributeWeights.Position = 1.0; AttributeWeights.Boundary = 1.0; AttributeWeights.Normal = 1.0; AttributeWeights.Diffuse = 0.0; AttributeWeights.Specular = 0.0; AttributeWeights.Texcoord[8] = { 0, 0, 0, 0, 0, 0, 0, 0 }; ID3DXPMesh Methods (1) ID3DXPMesh interface inherits from the ID3DXBaseMesh interface ID3DXBaseMesh Adjust LOD Additional methods ID3DXPMesh DWORD ID3DXPMesh::GetMaxFaces(VOID); DWORD ID3DXPMesh::GetMaxVertices(VOID); DWORD ID3DXPMesh::GetMinFaces(VOID); DWORD ID3DXPMesh::GetMinVertices(VOID); HRESULT ID3DXPMesh::SetNumFaces(DWORD Faces); HRESULT ID3DXPMesh::SetNumVertices(DWORD Vertices);
12 ID3DXPMesh Methods (2) Additional methods (cont.) HRESULT ID3DXPMesh::TrimByFaces ( DWORD NewFacesMin, DWORD NewFacesMax, DWORD *rgifaceremap, DWORD *rgivertremap ); HRESULT ID3DXPMesh::TrimByVertices ( DWORD NewVerticesMin, DWORD NewVerticesMax, DWORD *rgifaceremap, DWORD *rgivertremap ); Sample: Progressive Mesh
13 Global Variables Loading the XFile data
14 Extracting Materials & Loading Textures Optimizing the Mesh
15 Generating the Progressive Mesh Setting the Resolution
16 Adjusting the LOD Rendering the Progressive Mesh
17 Bounding Volumes (1) Common example spheres and boxes Others cylinders, ellipsoids, lozenges, capsules max center radius min to speed up visibility tests and collision tests Bounding Volumes (2) D3DX library provides functions HRESULT HRESULT D3DXComputeBoundingSphere ( LPD3DXVECTOR3 LPD3DXVECTOR3 pfirstposition, pfirstposition, DWORD DWORD NumVertices, NumVertices, DWORD DWORD dwstride, dwstride, D3DXVECTOR3* D3DXVECTOR3* pcenter, pcenter, FLOAT* FLOAT* pradius pradius ); ); HRESULT HRESULT D3DXComputeBoundingBox ( LPD3DXVECTOR3 LPD3DXVECTOR3 pfirstposition, pfirstposition, DWORD DWORD NumVertices, NumVertices, DWORD DWORD dwstride, dwstride, D3DXVECTOR3* D3DXVECTOR3* pmin, pmin, D3DXVECTOR3* D3DXVECTOR3* pmax pmax ); ); dwstride the size of each vertex in bytes
18 Sample: Bounding Volumes Some New Special Constants Floating Point Imprecision
19 Bounding Volume Types (1) Bounding Volume Types (2)
20 Global Variables Computing Bounding Volumes
21 Cleanup Rendering Bounding Volumes
22 Window Procedure Computing Bounding Sphere
23 Computing Bounding Box Vertex Hierarchy (1) vsplit v s v u v t
24 Vertex Hierarchy (2) PM : M 0 M0 M 0 vsplit 0 vsplit 0 1 vsplit 1 2 vsplit 2 3 vsplit 3 4 vsplit v 0 v 0 v1 v 1 v2 v 2 v 10 v 11 v 4 v 5 v 8 v 9 M n v 12 v 13 v 6 v 7 v 14 v 15 Selective Refinement (1/2) M0 M 0 vsplit 00 vsplit 11 vsplit i i vsplit n-1 n-1
25 Selective Refinement (2/2) PM : M 0 M0 M 0 vsplit 0 0 vsplit 1 21 vsplit 2 2 vsplit 3 3 vsplit 4 4 vsplit 5 v1 v2 v 0 v 1 v2 v 2 v 10 v 11 v 4 v 5 v 8 v 9 v 12 v 13 v 6 v 7 v 14 v 15 Selectively Refined Mesh Construction of PM Mesh Optimization modify the energy function with respect to the original E ( M ) = E ( M ) + E ( M ) + E ( M ) E ( M ) dist spring scalar + Distance energy Spring energy dist Preserving scalar attributes E E spring n 2 ( K, V ) = d ( xi, φv ( K )) ( K V ) Escalar V = cscalar xi φv bk Preserving discontinuity curves: disallow i or penalize i= 1, = κ v v { j, k} K j k 2 disc 2 ( ) ( ) ( ) 2
26 Simplification of PM Minimizing E scalar original (200x200 vertices) simplified mesh (400 vertices) LOD of PM Dragon model
Meshes. 9 th Week, To gain an understanding of the internal data organization of an ID3DXMesh object
Meshes 9 th Week, 2009 Objectives To gain an understanding of the internal data organization of an ID3DXMesh object To find out how to create, optimize, i and render an ID3DXMesh object To learn how to
More informationMeshes. Meshes what are they? How to use them? Progressive Meshes? Doron Nussbaum COMP Meshes 1. Doron Nussbaum COMP Meshes 2
Meshes Doron Nussbaum COMP 3501 - Meshes 1 Meshes what are they? How to use them? Progressive Meshes? Doron Nussbaum COMP 3501 - Meshes 2 Meshes Doron Nussbaum COMP 3501 - Meshes 3 What is a mesh? A collection
More informationD3DX Mesh Objects. Chapter Overview
Chapter 19 D3DX Mesh Objects net, n.: Anything reticulated or decussated at equal distances, with interstices between the intersections Samuel Johnson: Dictionary, 1755 19.1 Overview A surface modelled
More information3/1/2010. Acceleration Techniques V1.2. Goals. Overview. Based on slides from Celine Loscos (v1.0)
Acceleration Techniques V1.2 Anthony Steed Based on slides from Celine Loscos (v1.0) Goals Although processor can now deal with many polygons (millions), the size of the models for application keeps on
More informationProgramming With D3DX. Anuj Gosalia Development Lead DirectX Graphics Microsoft Corporation
Programming With D3DX Anuj Gosalia Development Lead DirectX Graphics Microsoft Corporation Talk Overview D3DX 8.0 Overview Mesh functions Skinning using D3DX Effect Framework Preview of what s coming in
More informationand Recent Extensions Progressive Meshes Progressive Meshes Multiresolution Surface Modeling Multiresolution Surface Modeling Hugues Hoppe
Progressive Meshes Progressive Meshes and Recent Extensions Hugues Hoppe Microsoft Research SIGGRAPH 97 Course SIGGRAPH 97 Course Multiresolution Surface Modeling Multiresolution Surface Modeling Meshes
More information!" "!#$!"%!&% ' ( )) * ) )+( ( ))+ ))(, ) ( - +,./ )) ) ) $( -( 1), , ) ( -)) ') 5 ' +) 67 4 ) ' 8, ( ) ( 9 :! ; $) ) ; 5<4,4$6 ( =) >
!" "!#$!"%!&% ' ( )) * ) )+( ( ))+ ))(, ) ( - +,./ )) ) ) ( ))) 0 $( -( 1),2, ) ( -))+- 3 4 ') 5 ' +) 67 4 ) ' 8, ( ) ( 9 :! ; $) ) ; 5 " + ) &)) >( ))( -*( /( *( 1 =?/+) *( : == ) + /))(
More informationThe Effects Framework. October 31, Composed of the following components:
Game Programming The Effects Framework October 31, 2005 Rendering Effect Composed of the following components: one ore more rendering passes a list of device states a vertex and/or pixel shader Effect
More informationShaders Part II. Traditional Rendering Pipeline
Shaders Part II Doron Nussbaum Doron Nussbaum COMP 3501 - Shaders Part II 1 Traditional Rendering Pipeline Traditional pipeline (older graphics cards) restricts developer to texture and the 3-term lighting
More informationAdvanced 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 informationAll the Polygons You Can Eat. Doug Rogers Developer Relations
All the Polygons You Can Eat Doug Rogers Developer Relations doug@nvidia.com Future of Games Very high resolution models 20,000 triangles per model Lots of them Complex Lighting Equations Floating point
More informationCloth Simulation on the GPU. Cyril Zeller NVIDIA Corporation
Cloth Simulation on the GPU Cyril Zeller NVIDIA Corporation Overview A method to simulate cloth on any GPU supporting Shader Model 3 (Quadro FX 4500, 4400, 3400, 1400, 540, GeForce 6 and above) Takes advantage
More informationAn Algorithm of 3D Mesh Reconstructing Based on the Rendering Pipeline
3rd International Conference on Mechatronics and Information Technology (ICMIT 2016) An Algorithm of 3D Mesh Reconstructing Based on the Rendering Pipeline Zhengjie Deng1, a, Shuqian He1,b, Chun Shi1,c,
More informationMesh Repairing and Simplification. Gianpaolo Palma
Mesh Repairing and Simplification Gianpaolo Palma Mesh Repairing Removal of artifacts from geometric model such that it becomes suitable for further processing Input: a generic 3D model Output: (hopefully)a
More informationApplications. Oversampled 3D scan data. ~150k triangles ~80k triangles
Mesh Simplification Applications Oversampled 3D scan data ~150k triangles ~80k triangles 2 Applications Overtessellation: E.g. iso-surface extraction 3 Applications Multi-resolution hierarchies for efficient
More informationLOD and Occlusion Christian Miller CS Fall 2011
LOD and Occlusion Christian Miller CS 354 - Fall 2011 Problem You want to render an enormous island covered in dense vegetation in realtime [Crysis] Scene complexity Many billions of triangles Many gigabytes
More informationPhysically-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 informationGeometric Features for Non-photorealistiic Rendering
CS348a: Computer Graphics Handout # 6 Geometric Modeling and Processing Stanford University Monday, 27 February 2017 Homework #4: Due Date: Mesh simplification and expressive rendering [95 points] Wednesday,
More informationReal-Time Universal Capture Facial Animation with GPU Skin Rendering
Real-Time Universal Capture Facial Animation with GPU Skin Rendering Meng Yang mengyang@seas.upenn.edu PROJECT ABSTRACT The project implements the real-time skin rendering algorithm presented in [1], and
More informationFont. Overview. ID3DXFont. ID3DXFont. ID3DXFont 인터페이스를이용해텍스트를렌더링하는방법
Overview Font 인터페이스를이용해텍스트를렌더링하는방법 클래스를이용해텍스트를렌더링하는방법 초당렌더링되는프레임수 (fps) 를계산하는방법 D3DXCreateText 함수를이용해 3D 텍스트를만들고렌더링하는방법 305890 2009년봄학기 5/6/2009 박경신 글꼴출력방법 내부적으로 GDI를이용. 복잡한글꼴과포맷을지원함. GDI가아닌Direct3D를이용.
More informationMotivation MGB Agenda. Compression. Scalability. Scalability. Motivation. Tessellation Basics. DX11 Tessellation Pipeline
MGB 005 Agenda Motivation Tessellation Basics DX Tessellation Pipeline Instanced Tessellation Instanced Tessellation in DX0 Displacement Mapping Content Creation Compression Motivation Save memory and
More informationProgressive Mesh. Reddy Sambavaram Insomniac Games
Progressive Mesh Reddy Sambavaram Insomniac Games LOD Schemes Artist made LODs (time consuming, old but effective way) ViewDependentMesh (usually used for very large complicated meshes. CAD apps. Probably
More informationNothing is ever said that has not been said before. Terence: Eunuchus, prologue, c. 160 B.C.
Chapter 15 D3DX Utility Library Nothing is ever said that has not been said before. Terence: Eunuchus, prologue, c. 160 B.C. 15.1 Overview D3DX is a static library designed for production use in shipping
More informationA Developer s Survey of Polygonal Simplification algorithms. CS 563 Advanced Topics in Computer Graphics Fan Wu Mar. 31, 2005
A Developer s Survey of Polygonal Simplification algorithms CS 563 Advanced Topics in Computer Graphics Fan Wu Mar. 31, 2005 Some questions to ask Why simplification? What are my models like? What matters
More informationMany rendering scenarios, such as battle scenes or urban environments, require rendering of large numbers of autonomous characters.
1 2 Many rendering scenarios, such as battle scenes or urban environments, require rendering of large numbers of autonomous characters. Crowd rendering in large environments presents a number of challenges,
More informationCS 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 informationSimplified Mesh Generation from Renders. Thorvald Natvig
Simplified Mesh Generation from Renders Thorvald Natvig Department of Computer and Information Science (IDI) Norwegian University of Science and Technology (NTNU) Sem Sælandsvei 7-9, NO-7491 Trondheim
More informationA Comparison of Mesh Simplification Algorithms
A Comparison of Mesh Simplification Algorithms Nicole Ortega Project Summary, Group 16 Browser Based Constructive Solid Geometry for Anatomical Models - Orthotics for cerebral palsy patients - Fusiform
More informationSpeeding up your game
Speeding up your game The scene graph Culling techniques Level-of-detail rendering (LODs) Collision detection Resources and pointers (adapted by Marc Levoy from a lecture by Tomas Möller, using material
More informationUser Guide. Melody 1.2 Normal Map Creation & Multiple LOD Generation
User Guide Melody 1.2 Normal Map Creation & Multiple LOD Generation DA-01601-001-v01 November 2004 Table of Contents Introduction to Melody...1 Features... 1 Using Melody...1 Loading a Model... 1 Model
More informationgltf 2.0: Status and Outlook
gltf 2.0: Status and Outlook 31st July 2018 by Norbert Nopper (nopper@ux3d.io, @McNopper) Content Status (15 minutes) Outlook (35 minutes) Questions & Answers (10 minutes) Status gltf 2.0 What we currently
More informationMesh Simplification. Mesh Simplification. Mesh Simplification Goals. Mesh Simplification Motivation. Vertex Clustering. Mesh Simplification Overview
Mesh Simplification Mesh Simplification Adam Finkelstein Princeton University COS 56, Fall 008 Slides from: Funkhouser Division, Viewpoint, Cohen Mesh Simplification Motivation Interactive visualization
More informationOptimizing and Profiling Unity Games for Mobile Platforms. Angelo Theodorou Senior Software Engineer, MPG Gamelab 2014, 25 th -27 th June
Optimizing and Profiling Unity Games for Mobile Platforms Angelo Theodorou Senior Software Engineer, MPG Gamelab 2014, 25 th -27 th June 1 Agenda Introduction ARM and the presenter Preliminary knowledge
More informationAbout the FBX Exporter package
About the FBX Exporter package Version : 1.3.0f1 The FBX Exporter package provides round-trip workflows between Unity and 3D modeling software. Use this workflow to send geometry, Lights, Cameras, and
More informationLesson 01 Polygon Basics 17. Lesson 02 Modeling a Body 27. Lesson 03 Modeling a Head 63. Lesson 04 Polygon Texturing 87. Lesson 05 NURBS Basics 117
Table of Contents Project 01 Lesson 01 Polygon Basics 17 Lesson 02 Modeling a Body 27 Lesson 03 Modeling a Head 63 Lesson 04 Polygon Texturing 87 Project 02 Lesson 05 NURBS Basics 117 Lesson 06 Modeling
More informationVANSTEENKISTE LEO DAE GD ENG UNFOLD SHADER. Introduction
VANSTEENKISTE LEO 2015 G E O M E T RY S H A D E R 2 DAE GD ENG UNFOLD SHADER Introduction Geometry shaders are a powerful tool for technical artists, but they always seem to be used for the same kind of
More informationAppearance Preservation
CS 283 Advanced Computer Graphics Mesh Simplification James F. O Brien Professor U.C. Berkeley Based on slides by Ravi Ramamoorthi 1 Appearance Preservation Caltech & Stanford Graphics Labs and Jonathan
More informationNVMeshMender User Guide
NVMeshMender User Guide The NVMeshMender library is designed to prepare meshes for per-pixel lighting, by generating normals, tangents and binormals. Some of the issues that the library can address are:
More informationMultiresolution Meshes. COS 526 Tom Funkhouser, Fall 2016 Slides by Guskov, Praun, Sweldens, etc.
Multiresolution Meshes COS 526 Tom Funkhouser, Fall 2016 Slides by Guskov, Praun, Sweldens, etc. Motivation Huge meshes are difficult to render store transmit edit Multiresolution Meshes! [Guskov et al.]
More informationMODELING 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 informationGeometric Modeling and Processing
Geometric Modeling and Processing Tutorial of 3DIM&PVT 2011 (Hangzhou, China) May 16, 2011 6. Mesh Simplification Problems High resolution meshes becoming increasingly available 3D active scanners Computer
More informationComputer Graphics I Lecture 11
15-462 Computer Graphics I Lecture 11 Midterm Review Assignment 3 Movie Midterm Review Midterm Preview February 26, 2002 Frank Pfenning Carnegie Mellon University http://www.cs.cmu.edu/~fp/courses/graphics/
More informationDirectX Programming #4. Kang, Seongtae Computer Graphics, 2009 Spring
DirectX Programming #4 Kang, Seongtae Computer Graphics, 2009 Spring Programmable Shader For recent hardwares, vertex and pixel processing stage of the graphics pipeline is programmable Programmable Vertex
More informationRadiosity. 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 informationOptimal Möbius Transformation for Information Visualization and Meshing
Optimal Möbius Transformation for Information Visualization and Meshing Marshall Bern Xerox Palo Alto Research Ctr. David Eppstein Univ. of California, Irvine Dept. of Information and Computer Science
More informationFull Screen Layout. Main Menu Property-specific Options. Object Tools ( t ) Outliner. Object Properties ( n ) Properties Buttons
Object Tools ( t ) Full Screen Layout Main Menu Property-specific Options Object Properties ( n ) Properties Buttons Outliner 1 Animation Controls The Create and Add Menus 2 The Coordinate and Viewing
More informationTriangle meshes. Computer Graphics CSE 167 Lecture 8
Triangle meshes Computer Graphics CSE 167 Lecture 8 Examples Spheres Andrzej Barabasz Approximate sphere Rineau & Yvinec CGAL manual Based on slides courtesy of Steve Marschner 2 Examples Finite element
More informationCloth Simulation on GPU
Cloth Simulation on GPU Cyril Zeller Cloth as a Set of Particles A cloth object is a set of particles Each particle is subject to: A force (gravity or wind) Various constraints: To maintain overall shape
More informationContent Loader Introduction
Content Loader Introduction by G.Paskaleva Vienna University of Technology Model Formats Quake II / III (md2 / md3, md4) Doom 3 (md5) FBX Ogre XML Collada (dae) Wavefront (obj) 1 Must-Have Geometry Information
More information3-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 informationGUERRILLA DEVELOP CONFERENCE JULY 07 BRIGHTON
Deferred Rendering in Killzone 2 Michal Valient Senior Programmer, Guerrilla Talk Outline Forward & Deferred Rendering Overview G-Buffer Layout Shader Creation Deferred Rendering in Detail Rendering Passes
More informationOptimisation. CS7GV3 Real-time Rendering
Optimisation CS7GV3 Real-time Rendering Introduction Talk about lower-level optimization Higher-level optimization is better algorithms Example: not using a spatial data structure vs. using one After that
More informationTexture. Texture Mapping. Texture Mapping. CS 475 / CS 675 Computer Graphics. Lecture 11 : Texture
Texture CS 475 / CS 675 Computer Graphics Add surface detail Paste a photograph over a surface to provide detail. Texture can change surface colour or modulate surface colour. Lecture 11 : Texture http://en.wikipedia.org/wiki/uv_mapping
More informationCS 475 / CS 675 Computer Graphics. Lecture 11 : Texture
CS 475 / CS 675 Computer Graphics Lecture 11 : Texture Texture Add surface detail Paste a photograph over a surface to provide detail. Texture can change surface colour or modulate surface colour. http://en.wikipedia.org/wiki/uv_mapping
More informationCMSC427 Advanced shading getting global illumination by local methods. Credit: slides Prof. Zwicker
CMSC427 Advanced shading getting global illumination by local methods Credit: slides Prof. Zwicker Topics Shadows Environment maps Reflection mapping Irradiance environment maps Ambient occlusion Reflection
More informationEECE 478. Learning Objectives. Learning Objectives. Rasterization & Scenes. Rasterization. Compositing
EECE 478 Rasterization & Scenes Rasterization Learning Objectives Be able to describe the complete graphics pipeline. Describe the process of rasterization for triangles and lines. Compositing Manipulate
More informationpolygon meshes polygon meshes representation
polygon meshes computer graphics polygon meshes 2009 fabio pellacini 1 polygon meshes representation which representation is good? often triangles/quads only will work on triangles compact efficient for
More informationView-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 informationTriangle meshes I. CS 4620 Lecture Steve Marschner. Cornell CS4620 Spring 2017
Triangle meshes I CS 4620 Lecture 2 2017 Steve Marschner 1 spheres Andrzej Barabasz approximate sphere Rineau & Yvinec CGAL manual 2017 Steve Marschner 2 finite element analysis PATRIOT Engineering 2017
More information3D Graphics for Game Programming (J. Han) Chapter II Vertex Processing
Chapter II Vertex Processing Rendering Pipeline Main stages in the pipeline The vertex processing stage operates on every input vertex stored in the vertex buffer and performs various operations such as
More informationCopyright (c) 1994 The Board of Trustees of The Leland Stanford Junior University. All rights reserved.
Copyright (c) 1994 The Board of Trustees of The Leland Stanford Junior University. All rights reserved. Permission to use, copy, modify and distribute this software and its documentation for any purpose
More informationDirectX Programming #2. Hyunna Lee Computer Graphics, 2010 Spring
DirectX Programming #2 Hyunna Lee Computer Graphics, 2010 Spring Lights and Materials Lights and Materials } Lighting } To illuminate objects in a scene } Calculates the color of each object vertex based
More informationAdjacency Data Structures
Last Time? Simple Transformations Adjacency Data Structures material from Justin Legakis Classes of Transformations Representation homogeneous coordinates Composition not commutative Orthographic & Perspective
More informationSurface 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 informationScene 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 informationKang, Seong-tae Computer Graphics, 2007 Spring. Texture mapping Texture mapping on Direct3D. CGLab
DirectX Programming #4 Kang, Seong-tae Computer Graphics, 2007 Spring Contents Texture mapping Texture mapping on Direct3D Texture Mapping Kang, Seong-tae Computer Graphics, 2007 Spring Texture In real
More information3D Modeling. 3D Modeling 1
3D Modeling 3D Modeling 1 Virtual enviroments can be populated with "models" as well as regular geometries (glut shapes, glu quadrics, gl primitives). Models are: collections of primitives often in a display
More informationLecture 18 of 41. Scene Graphs: Rendering Lab 3b: Shader
Scene Graphs: Rendering Lab 3b: Shader William H. Hsu Department of Computing and Information Sciences, KSU KSOL course pages: http://bit.ly/hgvxlh / http://bit.ly/evizre Public mirror web site: http://www.kddresearch.org/courses/cis636
More informationPolygon Meshes and Implicit Surfaces
CSCI 420 Computer Graphics Lecture 9 Polygon Meshes and Implicit Surfaces Polygon Meshes Implicit Surfaces Constructive Solid Geometry [Angel Ch. 10] Jernej Barbic University of Southern California 1 Modeling
More informationPolygon Meshes and Implicit Surfaces
CSCI 420 Computer Graphics Lecture 9 and Constructive Solid Geometry [Angel Ch. 10] Jernej Barbic University of Southern California Modeling Complex Shapes An equation for a sphere is possible, but how
More informationOpen Game Engine Exchange Specification
Open Game Engine Exchange Specification Version 1.0.1 by Eric Lengyel Terathon Software LLC Roseville, CA Open Game Engine Exchange Specification ISBN-13: 978-0-9858117-2-3 Copyright 2014, by Eric Lengyel
More informationMesh Decimation. Mark Pauly
Mesh Decimation Mark Pauly Applications Oversampled 3D scan data ~150k triangles ~80k triangles Mark Pauly - ETH Zurich 280 Applications Overtessellation: E.g. iso-surface extraction Mark Pauly - ETH Zurich
More informationView-Dependent Selective Refinement for Fast Rendering
1 View-Dependent Selective Refinement for Fast Rendering Kyle Brocklehurst Department of Computer Science and Engineering The Pennsylvania State University kpb136@psu.edu Abstract Triangle meshes are used
More informationTriangle meshes I. CS 4620 Lecture 2
Triangle meshes I CS 4620 Lecture 2 2014 Steve Marschner 1 spheres Andrzej Barabasz approximate sphere Rineau & Yvinec CGAL manual 2014 Steve Marschner 2 finite element analysis PATRIOT Engineering 2014
More informationRay Tracing CSCI 4239/5239 Advanced Computer Graphics Spring 2018
Ray Tracing CSCI 4239/5239 Advanced Computer Graphics Spring 2018 What is it? Method for rendering a scene using the concept of optical rays bouncing off objects More realistic Reflections Shadows How
More informationCSE 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 informationSurface Rendering. Surface Rendering
Surface Rendering Surface Rendering Introduce Mapping Methods - Texture Mapping - Environmental Mapping - Bump Mapping Go over strategies for - Forward vs backward mapping 2 1 The Limits of Geometric Modeling
More informationGeometric Modeling in Graphics
Geometric Modeling in Graphics Part 2: Meshes properties Martin Samuelčík www.sccg.sk/~samuelcik samuelcik@sccg.sk Meshes properties Working with DCEL representation One connected component with simple
More informationDeferred Rendering Due: Wednesday November 15 at 10pm
CMSC 23700 Autumn 2017 Introduction to Computer Graphics Project 4 November 2, 2017 Deferred Rendering Due: Wednesday November 15 at 10pm 1 Summary This assignment uses the same application architecture
More informationShaders in Eve Online Páll Ragnar Pálsson
Shaders in Eve Online Páll Ragnar Pálsson EVE Online Eve Online Trinity First released 2003 Proprietary graphics engine DirectX 9 (DX11 on its way) Shader Model 3 (4 & 5 in development) HLSL Turning this
More informationXSI TO SINS: COMMANDS & SHORTCUTS
XSI TO SINS: COMMANDS & SHORTCUTS I. Commonly Used Basic Modeling Commands and Shortcuts in XSI: Section A: The Main Control Panel Select Menu Group/Cluster Selection (See Fig. 1.1 for a quick visual overview)
More informationDirectX 11 First Elements
DirectX 11 First Elements 0. Project changes changed Dx11Base.h void Update( float dt ); void Render( ); to virtual void Update( float dt ) = 0; virtual void Render( ) = 0; new App3D.h #ifndef _APP_3D_H_
More informationA 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 informationDirectX Programming #1. Hyunna Lee Computer Graphics, 2010 Spring
DirectX Programming #1 Hyunna Lee Computer Graphics, 2010 Spring Contents } Installation and Settings } Introduction to Direct3D 9 Graphics } Initializing Direct3D } Rendering Vertices } The D3D coordinate
More informationINFOGR Computer Graphics. J. Bikker - April-July Lecture 11: Visibility. Welcome!
INFOGR Computer Graphics J. Bikker - April-July 2016 - Lecture 11: Visibility Welcome! Smallest Ray Tracers: Executable 5692598 & 5683777: RTMini_minimal.exe 2803 bytes 5741858: ASM_CPU_Min_Exe 994 bytes
More informationGeometric Modeling. Mesh Decimation. Mesh Decimation. Applications. Copyright 2010 Gotsman, Pauly Page 1. Oversampled 3D scan data
Applications Oversampled 3D scan data ~150k triangles ~80k triangles 2 Copyright 2010 Gotsman, Pauly Page 1 Applications Overtessellation: E.g. iso-surface extraction 3 Applications Multi-resolution hierarchies
More informationParametric description
Examples: surface of revolution Vase Torus Parametric description Parameterization for a subdivision curve Modeling Polygonal meshes Graphics I Faces Face based objects: Polygonal meshes OpenGL is based
More informationCSE 167: Introduction to Computer Graphics Lecture #19: Wrapping Up. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2017
CSE 167: Introduction to Computer Graphics Lecture #19: Wrapping Up Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2017 Announcements TA evaluations CAPE Final project blog entries
More informationInteractive Cloth Simulation. Matthias Wloka NVIDIA Corporation
Interactive Cloth Simulation Matthias Wloka NVIDIA Corporation MWloka@nvidia.com Overview Higher-order surfaces Vertex-shader deformations Lighting modes Per-vertex diffuse Per-pixel diffuse with bump-map
More informationCS 4620 Midterm, March 21, 2017
CS 460 Midterm, March 1, 017 This 90-minute exam has 4 questions worth a total of 100 points. Use the back of the pages if you need more space. Academic Integrity is expected of all students of Cornell
More informationSimple Silhouettes for Complex Surfaces
Eurographics Symposium on Geometry Processing(2003) L. Kobbelt, P. Schröder, H. Hoppe (Editors) Simple Silhouettes for Complex Surfaces D. Kirsanov, P. V. Sander, and S. J. Gortler Harvard University Abstract
More informationReal-Time Hair Rendering on the GPU NVIDIA
Real-Time Hair Rendering on the GPU Sarah Tariq NVIDIA Motivation Academia and the movie industry have been simulating and rendering impressive and realistic hair for a long time We have demonstrated realistic
More informationShadows & Decals: D3D10 techniques from Frostbite. Johan Andersson Daniel Johansson
Shadows & Decals: D3D10 techniques from Frostbite Johan Andersson Daniel Johansson Single-pass Stable Cascaded Bounding Box Shadow Maps (SSCBBSM?!) Johan Andersson Overview» Basics» Shadowmap rendering»
More informationNVIDIA SDK. NVMeshMender Code Sample User Guide
NVIDIA SDK NVMeshMender Code Sample User Guide Introduction What Is This? The NVMeshMender library is designed to prepare meshes for per-pixel lighting, by generating normals, tangents and binormals. Some
More informationCurves & Surfaces. Last Time? Progressive Meshes. Selective Refinement. Adjacency Data Structures. Mesh Simplification. Mesh Simplification
Last Time? Adjacency Data Structures Curves & Surfaces Geometric & topologic information Dynamic allocation Efficiency of access Mesh Simplification edge collapse/vertex split geomorphs progressive transmission
More informationCSE 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 information11/1/13. Polygon Meshes and Implicit Surfaces. Shape Representations. Polygon Models in OpenGL. Modeling Complex Shapes
CSCI 420 Computer Graphics Lecture 7 and Constructive Solid Geometry [Angel Ch. 12.1-12.3] Jernej Barbic University of Southern California Modeling Complex Shapes An equation for a sphere is possible,
More information3D GRAPHICS. design. animate. render
3D GRAPHICS design animate render 3D animation movies Computer Graphics Special effects Computer Graphics Advertising Computer Graphics Games Computer Graphics Simulations & serious games Computer Graphics
More informationLecture 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 informationCS 563 Advanced Topics in Computer Graphics. by Emmanuel Agu
CS 563 Advanced Topics in Computer Graphics by Emmanuel Agu Parsing: uses lex and yacc: core/pbrtlex.l and core/pbrtparse.y After parsing, a scene object is created (core/scene.*) Rendering: Scene::Render()
More information