# 3D Programming. 3D Programming Concepts. Outline. 3D Concepts. 3D Concepts -- Coordinate Systems. 3D Concepts Displaying 3D Models

Save this PDF as:

Size: px
Start display at page:

Download "3D Programming. 3D Programming Concepts. Outline. 3D Concepts. 3D Concepts -- Coordinate Systems. 3D Concepts Displaying 3D Models"

## Transcription

1 3D Programming Concepts Outline 3D Concepts Displaying 3D Models 3D Programming CS D Computer 1 2 3D Concepts 3D Model is a 3D simulation of an object. Coordinate Systems 3D Models 3D Shapes 3D Concepts -- Coordinate Systems The coordinate systems for 3D and how they related to the 2D computer screen are important. The stages of the rendering pipeline, the steps involved in convening an abstract math model of an object into an effective on-screen picture. Our world is the XYZ-axis with height (Y-axis), width (X-axis) and depth (Z-axis). To simulate the third dimensioin (Z-axis) for "depth" in the screen, we use on-screen 3d simulations of the 3d object model using shading, shadows, textures and other visual characteristics

2 3D Concepts -- Coordinate Systems Coordinates specify points in space 3D coords commonly use X, Y, & Z A vertex is a 'corner' of an object Different coordinate systems have different measurement orientations 3D objects in isolation are measured in object space 3D views are measured in world space 3D Concepts -- Coordinate Systems The dimensional measure of a object is given by coordinates to mark each vertex (or corner) of the object. "We" must decide which variable will represent which dimension - height, width or depth in what order to list them where is the zero point? how do these specifications related to our object. When thinking of the 3d object itself, each of the directions is represented by an axis. When we consider a single object, in isolation, the 3d space it occupies is called object space. The point in object where X, Y, Z are all 0 is the geometric center or an object. The geometric center is usually inside the object. If positive X-values are to the right, positive Y-values are up and positive Z-values are away from you, then you have the Lefthanded Coordinated system 5 6 3D Concepts -- Coordinate Systems 3D Concepts -- Coordinate Systems Positive Y Positive Z Left-Handed coordinate system Positive X Torque Game Engine (TGE) uses a right-handed system. In the right-handed coordinated system, Y and Z are oriented as in the lefthanded system, but X is positive in the opposite direction, i.e. X is positive to the left, Y is positive up and Z is positive away from you. We can use the thumb, index finger and middle finger of our hands to figure out the "handedness" of the system. Positive Y Positive Z Positive X Right-Handed coordinate system 7 8 2

3 3D Concepts -- Coordinate Systems For Torque, we also orient the system in a slightly different way: the Z-axis is up-down, the X-axis is "somewhat left-right" the Y-axis is "somewhat near-far" The "somewhat" specifies that we are looking down on a map from above, with north at the top of the map. Right and left (positive and negative X) are East and West, respectively. And positive Y refers to North, negative Y refers to South. This defines our World Space. 3D Concepts -- Coordinate Systems Object space D Models 3D Models Simple 3D models are called primitives: cylinder, cube, cone, sphere Simplified model views often use an axis bug instead of a full axis rendition We can define a model by giving its significant vertices (corners). We start with a simple 3d shape - the cube - in Fig 3.6. This cube is 2 units deep, 2 units high and 2 units wide (2 x 2 x 2). Fig 3.6 presents this in object space. Note the geometric center is offset to a position outside the cube. There is more information presented in Fig 3.6 than we really need and this can make it difficult to get a sense of the object itself We only need to state whether the object is in object space or world space and indicate the raw coordinates of each vertex. This is done in Fig 3.7, along with a small XYZ-axis notation in the corner. This is actually grey-scale-color coded: dark yellow = light gray for X-axis dark cyan = medium gray for Y-axis dark magenta = dark gray for Z-axis It is common practice to place the XYZ-axis key at the geometric center of the model

4 3D Models As an alternative, Fig 3.9 presents the cube with the geometric center within the object. Which of these diagrams more easily conveys the shape of the object? 3D Shapes We can specify more general models by connecting the vertices with lines, known as edges. If we connect three or more vertices with edges to create a closed figure, this is a polygon. The simplest polygon is a triangle Usually triangles are used to define polygons Triangles are effective for modeling complex 3d shapes, since any complex polygon can be decomposed into a collection of triangles, which we call a mesh 3D accelerated graphics cards work best with triangle polygons The polygons that make up a shape are called faces Faces within a shape that are not viewable are called hidden faces Faces on the backside of a shape are called back faces D Shapes The area of the model is known as the surface. The polygonal surfaces are called facets, though this term is changing to be faces. Sometimes a surface can only be viewed from one side, so when you are looking at it from its "invisible side", it is called a hidden surface (or hidden face). A double-sided face can be viewed from either side. The edges of hidden surfaces are called hidden lines. With most models, there are faces on the back side of the model, facing away from the viewer, called backfaces

5 Displaying 3D Models Transformation Scaling Rotation Translation Full transformation Rendering Flat shading Lambert shading Gouraud shading Phong shading Fake Phoung shading Texture mapping Shaders Bump mapping Environmental Mapping Displaying 3D Models Three-step process: 1. Convert to world space (transformation) 2. Convert to view space (3D rendering) 3. Convert to screen space (2D rendering) Displaying 3D Models -- Transformation Scaling Rotating Translating Displaying 3D Models -- Scaling Multiply measurements in each axis Apply to all of a shape's vertices Scale factors larger than 1 will make object bigger Scale factors smaller than 1 will make object smaller Scale factors of 0 or less are not applicable

6 Displaying 3D Models -- Scaling Displaying 3D Models -- Rotation Each axis is rotated in turn Order of rotation matters Roll: rotate around longitudinal (Z) axis Pitch: rotate around lateral (X) axis Yaw: rotate around vertical (Y) axis Common convention is roll-pitch-yaw ordering Displaying 3D Models -- Rotation Displaying 3D Models -- Translation Moves an object in space Vectors are applied to a shape s vertices to translate it Shape is not changed Shape is not re-oriented

7 Displaying 3D Models -- Translation Displaying 3D Models Full Transformation Rendering is a process of converting a 3D model of a shape to 2D picture A face is a set of contiguous adjacent triangles Shading Mapping Graphing

10 An environment map, sometimes referred to as a reflection map, is a method for applying environment reflections to a surface The technique of Mipmapping involves preprocessing a texture to create multiple copies, where each successive copy is one-half the size of the prior copy. When a 3D card has to map a polygon with a texture of a 1:1 relationship of 1 texel (texture element) in the original texture map corresponds to 1 pixel on a polygon. If the polygon you are displaying is scaled down to half size, then effectively the texture is displaying every other texel. Normal-Mapping is a technique used to light a 3D model with a low polygon count as if it were a more detailed model. Normal Mapping is a powerful technique used to create the appearance of detail in a 3D model while maintaining the model itself in a highly streamlined form. This offers the advantage of significantly reducing the data size of the original model, accelerating the rendering process and generating higher-quality rendered result. The technique originated from the need to increase the visual fidelity of 3D games while maintaining real-time performance and interaction

11 Parallax Mapping (also, Offset Mapping or Virtual Displacement Mapping) is an enhancement of the bump mapping or normal mapping techniques applied to textures in 3D rendering applications. Parallax mapping is implemented by displacing the texture coordinates at a point on the rendered polygon by a function of the view angle in tangent space (the angle relative to the surface normal) and the value of the height map at that point. At steeper view angles the texture coordinates are displaced more, and so give the illusion of depth due to parallax effects as the view changes A scene graph is a hierarchical approach to describing objects and their relationship to each other

12 Draw the star Save the current matrix Apply a rotation Draw Planet One Save the current matrix Apply a second rotation Draw Moon A Draw Moon B Reset the matrix Draw Planet two Save the current matrix Apply a rotation Draw Moon C Draw Moon D Reset the matrix Reset the matrix Draw the Star Save the current matrix Apply a rotation Save the current matrix Apply a wobble Draw Planet 1 Save the current matrix Apply a rotation Draw Moon A Draw Moon B Reset the Matrix Reset the matrix Reset the matrix Reset the matrix Save the current matrix Apply a rotation Draw Planet 2 Save the current matrix Apply a rotation Draw Moon C Draw Moon D Reset the current matrix Reset the current matrix Reset the current matrix Displaying 3D Models -- 3D Audio Add the sense of realism to a game Positioning sound in 3D using stereo Balancing left & right & volume control can approximate 3D position of sound

13 Displaying 3D Models -- 3D Programming Torque has built-in script functions to use Scenegraph insertion is automatic placing (spawning) transforming allows us to manually manipulate objects as well Displaying 3D Models Lab 1: Simple Direct Movement Move an object from one location to another Input script statements directly via the console Displaying 3D Models Displaying 3D Models Lab 2: Programmed Movement Move an object from one place to another over time Use script files to move objects Real-time scene manipulation

14 Displaying 3D Models Lab 3: Programmed Rotation Make an object rotate about one or more axes Use script files to move objects Real-time scene manipulation Displaying 3D Models Lab 4: Programmed Scaling Change an object's size smoothly over time Use script files to re-size objects Real-time scene manipulation Displaying 3D Models Lab 5: Programmed Animation Perform complex transformations smoothly over time Utilize a loop in game script Practice ad hoc game animation using script Real-time scene manipulation 3D Programming Programmed Translation Programmed Rotation Programmed Scaling Programmed Animation 3D Audio

15 Summary 3D coordinates can be expressed as left-handed or right-handed Objects are designed in object space, placed in game world in world space Object space may use a different coordinate system than world space, and each uses a different center (zero reference) Changing an object's size, orientation, or location is called transforming the object Order of transformation matters The axis order of rotation matters Summary Converting the mathematical description of an object to a visual representation on a screen is called rendering Scene graphs contain and organize objects in a world in preparation for rendering and manipulation Torque provides many script commands for manipulating and moving 3D objects in real time 3D Audio effects can be handled in exactly the same way as regular 3D objects

### Advanced Lighting Techniques Due: Monday November 2 at 10pm

CMSC 23700 Autumn 2015 Introduction to Computer Graphics Project 3 October 20, 2015 Advanced Lighting Techniques Due: Monday November 2 at 10pm 1 Introduction This assignment is the third and final part

### Chapter 17: The Truth about Normals

Chapter 17: The Truth about Normals What are Normals? When I first started with Blender I read about normals everywhere, but all I knew about them was: If there are weird black spots on your object, go

### ECS 175 COMPUTER GRAPHICS. Ken Joy.! Winter 2014

ECS 175 COMPUTER GRAPHICS Ken Joy Winter 2014 Shading To be able to model shading, we simplify Uniform Media no scattering of light Opaque Objects No Interreflection Point Light Sources RGB Color (eliminating

### TSBK03 Screen-Space Ambient Occlusion

TSBK03 Screen-Space Ambient Occlusion Joakim Gebart, Jimmy Liikala December 15, 2013 Contents 1 Abstract 1 2 History 2 2.1 Crysis method..................................... 2 3 Chosen method 2 3.1 Algorithm

### Lets assume each object has a defined colour. Hence our illumination model is looks unrealistic.

Shading Models There are two main types of rendering that we cover, polygon rendering ray tracing Polygon rendering is used to apply illumination models to polygons, whereas ray tracing applies to arbitrary

### Surface Graphics. 200 polys 1,000 polys 15,000 polys. an empty foot. - a mesh of spline patches:

Surface Graphics Objects are explicitely defined by a surface or boundary representation (explicit inside vs outside) This boundary representation can be given by: - a mesh of polygons: 200 polys 1,000

### Computer Graphics (CS 543) Lecture 10: Normal Maps, Parametrization, Tone Mapping

Computer Graphics (CS 543) Lecture 10: Normal Maps, Parametrization, Tone Mapping Prof Emmanuel Agu Computer Science Dept. Worcester Polytechnic Institute (WPI) Normal Mapping Store normals in texture

### CMSC427 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

### Introduction to 3D Graphics

Graphics Without Polygons Volume Rendering May 11, 2010 So Far Volumetric Rendering Techniques Misc. So Far Extended the Fixed Function Pipeline with a Programmable Pipeline Programming the pipeline is

### Rasterization Overview

Rendering Overview The process of generating an image given a virtual camera objects light sources Various techniques rasterization (topic of this course) raytracing (topic of the course Advanced Computer

### How do we draw a picture?

1 How do we draw a picture? Define geometry. Now what? We can draw the edges of the faces. Wireframe. We can only draw the edges of faces that are visible. We can fill in the faces. Giving each object

### Topic 10: Scene Management, Particle Systems and Normal Mapping. CITS4242: Game Design and Multimedia

CITS4242: Game Design and Multimedia Topic 10: Scene Management, Particle Systems and Normal Mapping Scene Management Scene management means keeping track of all objects in a scene. - In particular, keeping

Last Time? Programmable GPUS Planar Shadows Projective Texture Shadows Shadow Maps Shadow Volumes frame buffer depth buffer stencil buffer Stencil Buffer Homework 4 Reading for Create some geometry "Rendering

### IMAGE-BASED RENDERING AND ANIMATION

DH2323 DGI17 INTRODUCTION TO COMPUTER GRAPHICS AND INTERACTION IMAGE-BASED RENDERING AND ANIMATION Christopher Peters CST, KTH Royal Institute of Technology, Sweden chpeters@kth.se http://kth.academia.edu/christopheredwardpeters

### Mia Round Corners Node

Mia Round Corners Node NAKHLE Georges - july 2007 This tutorial describes how to use the mental ray MIA Round Corners node. 1) Create a polygonal cube, and make sure that mental ray plug-in is loaded.

### 5 Subdivision Surfaces

5 Subdivision Surfaces In Maya, subdivision surfaces possess characteristics of both polygon and NURBS surface types. This hybrid surface type offers some features not offered by the other surface types.

### CGS 3220 Lecture 17 Subdivision Surfaces

CGS 3220 Lecture 17 Subdivision Surfaces Introduction to Computer Aided Modeling Instructor: Brent Rossen Overview Converting from polygons to subdivision surfaces (sub-d) Modeling with sub-d using polygon

### Deferred 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

### MAYA; AN INTRODUCTION TO MAYA; EndOfLine.info;

MAYA; AN INTRODUCTION TO MAYA; EndOfLine.info; Maya is an intuitive modelling and animation software that relies on a different set of techniques and strategies than Rhinoceros. It is important to note

### Surface 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

### Computer Graphics 1. Chapter 2 (May 19th, 2011, 2-4pm): 3D Modeling. LMU München Medieninformatik Andreas Butz Computergraphik 1 SS2011

Computer Graphics 1 Chapter 2 (May 19th, 2011, 2-4pm): 3D Modeling 1 The 3D rendering pipeline (our version for this class) 3D models in model coordinates 3D models in world coordinates 2D Polygons in

9. Illumination and Shading Approaches for visual realism: - Remove hidden surfaces - Shade visible surfaces and reproduce shadows - Reproduce surface properties Texture Degree of transparency Roughness,

### Spring 2009 Prof. Hyesoon Kim

Spring 2009 Prof. Hyesoon Kim Application Geometry Rasterizer CPU Each stage cane be also pipelined The slowest of the pipeline stage determines the rendering speed. Frames per second (fps) Executes on

Illumination and Shading Computer Graphics COMP 770 (236) Spring 2007 Instructor: Brandon Lloyd 2/14/07 1 From last time Texture mapping overview notation wrapping Perspective-correct interpolation Texture

### Computer Graphics. Illumination and Shading

() Illumination and Shading Dr. Ayman Eldeib Lighting So given a 3-D triangle and a 3-D viewpoint, we can set the right pixels But what color should those pixels be? If we re attempting to create a realistic

### Answer Key: Three-Dimensional Cross Sections

Geometry A Unit Answer Key: Three-Dimensional Cross Sections Name Date Objectives In this lesson, you will: visualize three-dimensional objects from different perspectives be able to create a projection

Illumination and Shading Light sources emit intensity: assigns intensity to each wavelength of light Humans perceive as a colour - navy blue, light green, etc. Exeriments show that there are distinct I

### Shaders (some slides taken from David M. course)

Shaders (some slides taken from David M. course) Doron Nussbaum Doron Nussbaum COMP 3501 - Shaders 1 Traditional Rendering Pipeline Traditional pipeline (older graphics cards) restricts developer to texture

### CS GPU and GPGPU Programming Lecture 7: Shading and Compute APIs 1. Markus Hadwiger, KAUST

CS 380 - GPU and GPGPU Programming Lecture 7: Shading and Compute APIs 1 Markus Hadwiger, KAUST Reading Assignment #4 (until Feb. 23) Read (required): Programming Massively Parallel Processors book, Chapter

### Performance OpenGL Programming (for whatever reason)

Performance OpenGL Programming (for whatever reason) Mike Bailey Oregon State University Performance Bottlenecks In general there are four places a graphics system can become bottlenecked: 1. The computer

### The Rasterization Pipeline

Lecture 5: The Rasterization Pipeline Computer Graphics and Imaging UC Berkeley What We ve Covered So Far z x y z x y (0, 0) (w, h) Position objects and the camera in the world Compute position of objects

### Module 13C: Using The 3D Graphics APIs OpenGL ES

Module 13C: Using The 3D Graphics APIs OpenGL ES BREW TM Developer Training Module Objectives See the steps involved in 3D rendering View the 3D graphics capabilities 2 1 3D Overview The 3D graphics library

### Computer Graphics 1. Chapter 7 (June 17th, 2010, 2-4pm): Shading and rendering. LMU München Medieninformatik Andreas Butz Computergraphik 1 SS2010

Computer Graphics 1 Chapter 7 (June 17th, 2010, 2-4pm): Shading and rendering 1 The 3D rendering pipeline (our version for this class) 3D models in model coordinates 3D models in world coordinates 2D Polygons

### Scale Rate by Object Size: Only available when the current Emitter Type is Surface, Curve, or Volume. If you turn on this attribute, the

Basic Emitter Attributes Emitter Name: The name helps you identify the emitter object in the Outliner. If you don t enter a name, the emitter object receives a default name such as emitter1. Solver: (For

### CS GAME PROGRAMMING Question bank

CS6006 - GAME PROGRAMMING Question bank Part A Unit I 1. List the different types of coordinate systems. 2. What is ray tracing? Mention some applications of ray tracing. 3. Discuss the stages involved

### x ~ Hemispheric Lighting

Irradiance and Incoming Radiance Imagine a sensor which is a small, flat plane centered at a point ~ x in space and oriented so that its normal points in the direction n. This sensor can compute the total

### CS 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

### https://ilearn.marist.edu/xsl-portal/tool/d4e4fd3a-a3...

Assessment Preview - This is an example student view of this assessment done Exam 2 Part 1 of 5 - Modern Graphics Pipeline Question 1 of 27 Match each stage in the graphics pipeline with a description

### Tutorial 4: Texture Mapping Techniques

Tutorial 4: Texture Mapping Techniques Completion time 40 minutes In the previous tutorial we learned how to create materials, and how to assign texture maps to those materials. In this tutorial we will

### 3 Polygonal Modeling. Getting Started with Maya 103

3 Polygonal Modeling In Maya, modeling refers to the process of creating virtual 3D surfaces for the characters and objects in the Maya scene. Surfaces play an important role in the overall Maya workflow

### The Rasterization Pipeline

Lecture 5: The Rasterization Pipeline Computer Graphics and Imaging UC Berkeley CS184/284A, Spring 2016 What We ve Covered So Far z x y z x y (0, 0) (w, h) Position objects and the camera in the world

### Computer Science 474 Spring 2010 Viewing Transformation

Viewing Transformation Previous readings have described how to transform objects from one position and orientation to another. One application for such transformations is to create complex models from

### frame buffer depth buffer stencil buffer

Final Project Proposals Programmable GPUS You should all have received an email with feedback Just about everyone was told: Test cases weren t detailed enough Project was possibly too big Motivation could

### Software Engineering. ò Look up Design Patterns. ò Code Refactoring. ò Code Documentation? ò One of the lessons to learn for good design:

Software Engineering ò Look up Design Patterns ò Code Refactoring ò Code Documentation? ò One of the lessons to learn for good design: ò Coupling: the amount of interconnectedness between classes ò Cohesion:

### THE AUSTRALIAN NATIONAL UNIVERSITY Final Examinations(Semester 2) COMP4610/COMP6461 (Computer Graphics) Final Exam

THE AUSTRALIAN NATIONAL UNIVERSITY Final Examinations(Semester 2) 2009 COMP4610/COMP6461 (Computer Graphics) Final Exam Writing Period: 3 hours duration Study Period: 15 minutes duration - you may read

### CSE 690: GPGPU. Lecture 2: Understanding the Fabric - Intro to Graphics. Klaus Mueller Stony Brook University Computer Science Department

CSE 690: GPGPU Lecture 2: Understanding the Fabric - Intro to Graphics Klaus Mueller Stony Brook University Computer Science Department Klaus Mueller, Stony Brook 2005 1 Surface Graphics Objects are explicitely

### Maya tutorial. 1 Camera calibration

Maya tutorial In this tutorial we will augment a real scene with virtual objects. This tutorial assumes that you have downloaded the file Maya.zip from the course web page and extracted it somewhere. 1

### CSE 167: Lecture #8: GLSL. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012

CSE 167: Introduction to Computer Graphics Lecture #8: GLSL Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012 Announcements Homework project #4 due Friday, November 2 nd Introduction:

### 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

### Orthogonal Projection Matrices. Angel and Shreiner: Interactive Computer Graphics 7E Addison-Wesley 2015

Orthogonal Projection Matrices 1 Objectives Derive the projection matrices used for standard orthogonal projections Introduce oblique projections Introduce projection normalization 2 Normalization Rather

### CS 428: Fall Introduction to. Texture mapping and filtering. Andrew Nealen, Rutgers, /18/2010 1

CS 428: Fall 2010 Introduction to Computer Graphics Texture mapping and filtering 10/18/2010 1 Topic overview Image formation and OpenGL Transformations and viewing Polygons and polygon meshes 3D model/mesh

### Could you make the XNA functions yourself?

1 Could you make the XNA functions yourself? For the second and especially the third assignment, you need to globally understand what s going on inside the graphics hardware. You will write shaders, which

### E.Order of Operations

Appendix E E.Order of Operations This book describes all the performed between initial specification of vertices and final writing of fragments into the framebuffer. The chapters of this book are arranged

### OUTLINE. Hierarchical Models Z-Fighting Primitives Besides Triangles Back Face Culling

MATRIX STACKS OUTLINE Hierarchical Models Z-Fighting Primitives Besides Triangles Back Face Culling HIERARCHICAL MODELS Building scenes where objects move in relation to each other rather than independently

Objectives Shading in OpenGL Introduce the OpenGL shading methods - per vertex shading vs per fragment shading - Where to carry out Discuss polygonal shading - Flat - Smooth - Gouraud CITS3003 Graphics

### 4) Finish the spline here. To complete the spline, double click the last point or select the spline tool again.

1) Select the line tool 3) Move the cursor along the X direction (be careful to stay on the X axis alignment so that the line is perpendicular) and click for the second point of the line. Type 0.5 for

### Real Time Rendering of Expensive Small Environments Colin Branch Stetson University

Real Time Rendering of Expensive Small Environments Colin Branch Stetson University Abstract One of the major goals of computer graphics is the rendering of realistic environments in real-time. One approach

### Advanced 3D Game Programming with DirectX* 10.0

Advanced 3D Game Programming with DirectX* 10.0 Peter Walsh Wordware Publishing, Inc. Acknowledgments Introduction xiii xv Chapter I Windows I A Word about Windows I Hungarian Notation 3 General Windows

### CSE 167: Lecture #8: Lighting. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2011

CSE 167: Introduction to Computer Graphics Lecture #8: Lighting Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2011 Announcements Homework project #4 due Friday, October 28 Introduction:

### Textures. Texture coordinates. Introduce one more component to geometry

Texturing & Blending Prof. Aaron Lanterman (Based on slides by Prof. Hsien-Hsin Sean Lee) School of Electrical and Computer Engineering Georgia Institute of Technology Textures Rendering tiny triangles

### CSE Intro to Computer Graphics. ANSWER KEY: Midterm Examination. November 18, Instructor: Sam Buss, UC San Diego

CSE 167 - Intro to Computer Graphics ANSWER KEY: Midterm Examination November 18, 2003 Instructor: Sam Buss, UC San Diego Write your name or initials on every page before beginning the exam. You have 75

### move object resize object create a sphere create light source camera left view camera view animation tracks

Computer Graphics & Animation: CS Day @ SIUC This session explores computer graphics and animation using software that will let you create, display and animate 3D Objects. Basically we will create a 3

### COMP3421. Introduction to 3D Graphics

COMP3421 Introduction to 3D Graphics 3D coodinates Moving to 3D is simply a matter of adding an extra dimension to our points and vectors: 3D coordinates 3D coordinate systems can be left or right handed.

### Lecture 2. Shaders, GLSL and GPGPU

Lecture 2 Shaders, GLSL and GPGPU Is it interesting to do GPU computing with graphics APIs today? Lecture overview Why care about shaders for computing? Shaders for graphics GLSL Computing with shaders

### WebGL (Web Graphics Library) is the new standard for 3D graphics on the Web, designed for rendering 2D graphics and interactive 3D graphics.

About the Tutorial WebGL (Web Graphics Library) is the new standard for 3D graphics on the Web, designed for rendering 2D graphics and interactive 3D graphics. This tutorial starts with a basic introduction

### Beginning Direct3D Game Programming: 1. The History of Direct3D Graphics

Beginning Direct3D Game Programming: 1. The History of Direct3D Graphics jintaeks@gmail.com Division of Digital Contents, DongSeo University. April 2016 Long time ago Before Windows, DOS was the most popular

### Topic 9: Lighting & Reflection models 9/10/2016. Spot the differences. Terminology. Two Components of Illumination. Ambient Light Source

Topic 9: Lighting & Reflection models Lighting & reflection The Phong reflection model diffuse component ambient component specular component Spot the differences Terminology Illumination The transport

### The Importance of Matrices in the DirectX API. by adding support in the programming language for frequently used calculations.

Hermann Chong Dr. King Linear Algebra Applications 28 November 2001 The Importance of Matrices in the DirectX API In the world of 3D gaming, there are two APIs (Application Program Interface) that reign

### CS 450: COMPUTER GRAPHICS TEXTURE MAPPING SPRING 2015 DR. MICHAEL J. REALE

CS 450: COMPUTER GRAPHICS TEXTURE MAPPING SPRING 2015 DR. MICHAEL J. REALE INTRODUCTION Texturing = process that takes a surface and modifies its appearance at each location using some image, function,

### Methodology for Lecture. Importance of Lighting. Outline. Shading Models. Brief primer on Color. Foundations of Computer Graphics (Spring 2010)

Foundations of Computer Graphics (Spring 2010) CS 184, Lecture 11: OpenGL 3 http://inst.eecs.berkeley.edu/~cs184 Methodology for Lecture Lecture deals with lighting (teapot shaded as in HW1) Some Nate

### 3D graphics, raster and colors CS312 Fall 2010

Computer Graphics 3D graphics, raster and colors CS312 Fall 2010 Shift in CG Application Markets 1989-2000 2000 1989 3D Graphics Object description 3D graphics model Visualization 2D projection that simulates

### OpenGL SUPERBIBLE. Fifth Edition. Comprehensive Tutorial and Reference. Richard S. Wright, Jr. Nicholas Haemel Graham Sellers Benjamin Lipchak

OpenGL SUPERBIBLE Fifth Edition Comprehensive Tutorial and Reference Richard S. Wright, Jr. Nicholas Haemel Graham Sellers Benjamin Lipchak AAddison-Wesley Upper Saddle River, NJ Boston Indianapolis San

### Interpolation using scanline algorithm

Interpolation using scanline algorithm Idea: Exploit knowledge about already computed color values. Traverse projected triangle top-down using scanline. Compute start and end color value of each pixel

### 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

### - Rasterization. Geometry. Scan Conversion. Rasterization

Computer Graphics - The graphics pipeline - Geometry Modelview Geometry Processing Lighting Perspective Clipping Scan Conversion Texturing Fragment Tests Blending Framebuffer Fragment Processing - So far,

### Draw Guide. Chapter 7 Working with 3D Objects

Draw Guide Chapter 7 Working with 3D Objects Copyright This document is Copyright 2011 2014 by the LibreOffice Documentation Team. Contributors are listed below. You may distribute or modify it under the

### Computer Graphics. Shading. Based on slides by Dianna Xu, Bryn Mawr College

Computer Graphics Shading Based on slides by Dianna Xu, Bryn Mawr College Image Synthesis and Shading Perception of 3D Objects Displays almost always 2 dimensional. Depth cues needed to restore the third

### Introduction. What s New in This Edition

Introduction Welcome to the fourth edition of the OpenGL SuperBible. For more than ten years, we have striven to provide the world s best introduction to not only OpenGL, but 3D graphics programming in

### Projection Matrix Tricks. Eric Lengyel

Projection Matrix Tricks Eric Lengyel Outline Projection Matrix Internals Infinite Projection Matrix Depth Modification Oblique Near Clipping Plane Slides available at http://www.terathon.com www.terathon.com/

### To build shapes from scratch, use the tools are the far right of the top tool bar. These

3D GAME STUDIO TUTORIAL EXERCISE #5 USE MED TO SKIN AND ANIMATE A CUBE REVISED 11/21/06 This tutorial covers basic model skinning and animation in MED the 3DGS model editor. This exercise was prepared

### TEXTURE MAPPING. DVA338 Computer Graphics Thomas Larsson, Afshin Ameri

TEXTURE MAPPING DVA338 Computer Graphics Thomas Larsson, Afshin Ameri OVERVIEW Motivation Texture Mapping Coordinate Mapping (2D, 3D) Perspective Correct Interpolation Texture Filtering Mip-mapping Anisotropic

### Rendering Grass Terrains in Real-Time with Dynamic Lighting. Kévin Boulanger, Sumanta Pattanaik, Kadi Bouatouch August 1st 2006

Rendering Grass Terrains in Real-Time with Dynamic Lighting Kévin Boulanger, Sumanta Pattanaik, Kadi Bouatouch August 1st 2006 Goal Rendering millions of grass blades, at any distance, in real-time, with:

### CS 4621 PPA3: Animation

CS 4621 PPA3: Animation out: Saturday 19 November 2011 due: Friday 2 December 2011 1 Introduction There are two parts to this assignment. In the first part, you will complete the implementation of key

DH2323 DGI15 INTRODUCTION TO COMPUTER GRAPHICS AND INTERACTION LIGHTING AND SHADING Christopher Peters HPCViz, KTH Royal Institute of Technology, Sweden chpeters@kth.se http://kth.academia.edu/christopheredwardpeters

### Computer Viewing. CS 537 Interactive Computer Graphics Prof. David E. Breen Department of Computer Science

Computer Viewing CS 537 Interactive Computer Graphics Prof. David E. Breen Department of Computer Science 1 Objectives Introduce the mathematics of projection Introduce OpenGL viewing functions Look at

### Graphics Hardware. Instructor Stephen J. Guy

Instructor Stephen J. Guy Overview What is a GPU Evolution of GPU GPU Design Modern Features Programmability! Programming Examples Overview What is a GPU Evolution of GPU GPU Design Modern Features Programmability!

### COMP environment mapping Mar. 12, r = 2n(n v) v

Rendering mirror surfaces The next texture mapping method assumes we have a mirror surface, or at least a reflectance function that contains a mirror component. Examples might be a car window or hood,

### 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

### CEng 477 Introduction to Computer Graphics Fall

Illumination Models and Surface-Rendering Methods CEng 477 Introduction to Computer Graphics Fall 2007 2008 Illumination Models and Surface Rendering Methods In order to achieve realism in computer generated

### - Location: Annenberg Text: Mostly Self-Contained on course Web pages. - Al Barr

CS171 Computer Graphics Time: 3pm-3:55pm MW(F) - Location: Annenberg 105 - Text: Mostly Self-Contained on course Web pages Instructor: - Al Barr barradmin@cs.caltech.edu, TAs: - Kevin (Kevli) Li - kevli@caltech.edu

### Creating the Tilt Game with Blender 2.49b

Creating the Tilt Game with Blender 2.49b Create a tilting platform. Start a new blend. Delete the default cube right click to select then press X and choose Erase Selected Object. Switch to Top view (NUM

### CS130 : Computer Graphics Lecture 2: Graphics Pipeline. Tamar Shinar Computer Science & Engineering UC Riverside

CS130 : Computer Graphics Lecture 2: Graphics Pipeline Tamar Shinar Computer Science & Engineering UC Riverside Raster Devices and Images Raster Devices - raster displays show images as a rectangular array

### 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

### VANSTEENKISTE 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

### Texture Mapping and Special Effects

Texture Mapping and Special Effects February 23 rd 26 th 2007 MAE 410-574, Virtual Reality Applications and Research Instructor: Govindarajan Srimathveeravalli HW#5 Due March 2 nd Implement the complete

### 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

### Shaders. Slide credit to Prof. Zwicker

Shaders Slide credit to Prof. Zwicker 2 Today Shader programming 3 Complete model Blinn model with several light sources i diffuse specular ambient How is this implemented on the graphics processor (GPU)?