(Joseph Hocking, Unity in Action, 2015, p.70) textures + shaders. general appl. matrix & other computations

Size: px
Start display at page:

Download "(Joseph Hocking, Unity in Action, 2015, p.70) textures + shaders. general appl. matrix & other computations"

Transcription

1 Outline Introduction to Game Programming Autumn Graphics for games Juha Vihavainen University of Helsinki Creating and drawing game entities from 2D images (sprites sprites) ) to 3D models the position, dimensions, and visual data of game objects represented for computer graphics 3D models ~ triangle meshes ~ geometry/shape (plus other info) On rendering pipeline Creating and using virtual (synthetic) in-world camera 2 Literature on 3D graphics (Madhav, 2014) Ch. 2 2D Graphics,, Ch. 4 3D Graphics, Ch. 8 Cameras (Gregory, 2014) Ch. 10 The Rendering Engine, pp ; 10.2 The Rendering Pipeline, p Dunn Fletcher, Parberry Ian: 3D Math Primer for Graphics and Game Development.. A K Peters/CRC Press, Edward Angel, Dave Shreiner,, Interactive Computer Graphics: A Top-Down Approach with Shader-Based OpenGL, 6th Ed. Addison- Wesley, Tomas Akenine-Moller, Eric Haines, Naty Hoffman, Real-Time Rendering,, 3rd Ed. A K Peters/CRC Press, Junghyan Han, 3D Graphics for Game Programming.. CRC, 2011 Motivation for linear algebra A game is (essentially) a mathematical model of a virtual world simulated on a computer a game engine needs to keep track of the positions, orientations, and scales of objects, animate them in the game world, and transform them into screen space so they can be rendered on screen 3D objects are (almost always) made up of triangles, the vertices of which are represented by vectors/points Mathematics pervades everything in game development games make use many branches of mathematics, e.g., trigonometry, algebra, and calculus (often probability, too) the most important kind of mathematics for a game programmer is vector and matrix math,, i.e., linear algebra 3 4

2 Some 3D terminology Types of art assets (Joseph Hocking, Unity in Action, 2015, p.70) Rasterization set of algorithms that draw 3D objects into a 2D color buffer (part of frame buffer with other data) Modern computers use a graphics processing unit (GPU) that can do most rasterization but need to tell the GPU what we want to draw and how textures + shaders Due to limited resources, can't achieve photo-realistic images graphic (visual) artifact = some unwanted result (anomaly) from digital image processing (of using approximate algorithms, or imprecise or corrupted data) 5 6 A graphics system (sketch) general appl. matrix & other computations Consists of: input devices, CPU, GPU, memory, frame buffer, output devices E.g., PCs, workstations, mobile phones, video game consoles, GPS systems, etc. CRT monitor basics 2D image = an array of picture elements known as pixels for color displays, each pixel contains a red, green,, and blue sub-pixel an RGBA value - for Red, Green, and Blue plus Alpha (alpha = 0 => totally transparent image/part) Resolution width x height determines the number of pixels 300 x 200 means each row (or scan line) has 300 pixels and there's a total of 200 rows. CRTs used an electron gun to activate the various pixels Modern display technologies: plasma, LCD (liquid-crystal display), etc. replaced CRT displays in (most) applications 7 8

3 CRT monitor basics (historically) Color buffer Electron gun draws one scan line at a time When it gets to bottom-right corner, it takes some time to get the aim back to top left (vertical blank interval or VBLANK) a VSYNC signal reports that the drawing is complete Basic CRT drawing A buffer is memory that stores the color data for all the pixels on the screen With only a single color buffer, writing to it while still displaying the old image results in screen tearing Screen tearing caused by updating video data while drawing LCD displays require the timing signals of their own: VSYNC (reset row pointer to top), HSYNC (reset column pointer to edge), LCDCLK (LCD clock to control display refresh rate) new image Meshes up info from two or more frames in a single screen draw old contents 9 10 Double buffering (as a game pattern) Use two color buffers A and B: while buffer A is written to, display buffer B then next frame, write to B and display A An interrupt service routine can run to modify data in the video display memory while it is not being read (by a special signal from the device) Double Buffer game programming pattern cause a series of sequential operations to appear instantaneous or simultaneous (i.e., as atomic) e.g., in game graphics, the scene must update smoothly and quickly, displaying a series of complete frames, each appearing instantly Sometimes, even triple buffering (three color buffers) if the back buffer becomes filled while display is not ready => start filling a third buffer potential drawback: input lag What is a graphic engine? An API for real-time 2D and 3D applications (games) often runs the "main loop" => a software framework Provides development environment for programmers may target multiple platforms, e.g., PC, consoles, smartphones, tablets A graphics engine provides a level of abstraction wraps DirectX, OpenGL or Vulkan inside the provided API API calls may still closely mirror the low-level level C API shader programs are written and run on the GPU 11 12

4 "Getting started is easier.." Writing graphic applications can be hard to get started create your "graphics device" lots of low-level level initialization and set-up code handle input and other events (in a platform-independent way) load/unload various file formats of graphic/audio resources A graphics engine tries to hide (most of) the complexity the framework provides already running "empty" application Ideally, tools are integrated (XNA/MonoGame, Unreal, Unity) games are written and debugged within an IDE or builder separate project kinds/builds for consoles, smartphones content pipeline modifies assets (textures, 3D models) to a form more suitable for the game program (e.g., part of import or build phase) plus audio tools to author, organize, and play audio assets, etc Implementation of sprites Sprites are 2D visual objects that represent game characters other dynamic objects for simple games, backgrounds, too 13 Making a 2D game entity ("sprite") A"sprite" is often used to mean an element of a 2D game usually both a texture and a position on the screen (state) the texture is often shared but the position changes possibly using "speed speed" " variable (say, new vector2 2 (3, 3)) The position of a 2D object on the screen is given as coordinates based on screen pixels some appropriate window size (e.g., 800 * 480 pixels) these define the range for display coordinates Specify source rectangle (from a sprite sheet) ) if want to draw only a part of an image Scale an image (uniform, non-uniform along x and y, rectangle) Sprite depth (float)) between 0 (= front) and 1 (= back) We can draw things off the screen but then nothing is seen Painter's algorithm Sprites are drawn from back to front: nearest images are placed at the top so that background images become hidden (more or less) 14 The corresponding image format can vary depending on the platform (PNG, TGA, and PVR are potential options) class Sprite ImageFile image; // (current) texture int draworder; // using an int value, here int x, y; // specify location (e.g., top left corner) function Draw ( ) // draw the image at the correct (x, y) ).. Painter s algorithm applied to a 2D space scene 15 16

5 From 2D to 3D Left-- vs. right Left right--handed coordinate systems left-handed Definitely more complex than 2D graphics 2D is like painting on a canvas: placement of sprites on a 2D screen Juha Vihavainen / University of Helsinki Defined by position position,, direction vector, up vector, field of view (angle angle), ), near and far plane Used by OpenGL OpenGL,, DirectX DirectX,, ray tracing image processing, etc. Create the image of those shapes located inside the frustum "geometry" (triangles, lines, points, and more) material surface properties of geometry how to draw it (a shader program) textures (images to glue onto the geometry) far world 2D projection light sources and their properties A triangle consists of 3 vertices a vertex is 3D position, and may include normals and more To take a picture, we need a camera a virtual one decides what will end up in the final image Juha Vihavainen / University of Helsinki "Virtual" (synthetic) 3D camera A 3D scene is OpenGL XNA/MonoGame Unreal (z-up world ) "3D scene" scene" in computer graphics item DirectX Unity 3D simulates more more--or or--less "solid" game entities located in a 3D world recording them with a freelyfreely-moving video camera right-handed Juha Vihavainen / University of Helsinki near fov(angle) dir point Juha Vihavainen / University of Helsinki 20

6 3D camera (cont.) Can have objects in a scene that aren t (currently) visible objects can be rotated around three axes a freely moving camera can also be rotated around all 3 axes the camera determines what shows up on screen of course, if the camera is pointing in the opposite direction from an object, we won't see it Models in 3D games 3D games consist of large numbers of visible objects In practice, these objects are not created by game code by defining each individual primitive (triangle) Instead, artists create objects for a game world, game designers focus on behavior of those objects, and programmers mostly concentrate on support systems Special 3D modeling tools are used, e.g., Blender,, 3ds Max, Maya... modeling tools permit separate editing of models plug-in tools allow models to be saved in a number of different file formats A sphere made of triangles Drawing the triangles in GPU In 3D graphics engines, all rendering is ultimately handled by the GPU and shader programs shaders are small special-purpose purpose programs that execute inside the GPU and define how the data received from a game program is processed in the programmable stages of the rendering pipeline shader programs are defined using a high level shader language (e.g., Microsoft's HLSL, OpenGL GLSL) Vulkan supports shaders in a bytecode format, called SPIR-V, as opposed to human-readable syntax like GLSL and HLSL provide wide range of visual effects not part of this course see (Gregory) for explanations and examples of GPU programming Luckily, the game IDE / tools often provide many predefined default shaders 23 24

7 Rendering data Drawing shapes as sets of triangles Shared data between the CPU and the GPU 3D model data: streams of vertices specifying triangles.. matrices that represent object transforms and skeletal animation lighting parameters, and other kinds of "shader constants" used for computations Data (almost exclusively) produced and managed by the GPU vertex and index buffers, frame buffers 3D shapes (in games) are (ultimately) composed of triangles A triangle has 3 points, one for each corner is the minimum number of vertices (points) to define a plane these vertices need to be sent to GPU for processing vert01 = new vertexpositioncolor (new vector3 3 (0, 1, 0), many alternatives Color.Blue); represents the location of one vertex in a triangle defines the color of a vertex (to be interpolated over) A vertex structure may include other relevant info processed by shader programs Typical vertex structures (used by graphics API) 1. VertexPositionColor x, y, z plus a color for each vertex useful for basic shapes, basic colors 2. VertexPositionTexture x, y, z plus relative u, v coordinates into a texture (bitmap) can overlay a bitmap texture onto a shape 3. VertexPositionNormalTexture x, y, z plus u, v,, coordinates plus a normal vector normal permits calculating lighting effects 4. VertexPositionColorTexture x, y, z plus u, v coordinates plus color color information changes color of bitmap texture can potentially reuse same texture in different contexts What are texture coordinates? vertexpositiontexture takes two parameters vector3 represents the position (x,y,z) of a vertex vector2 represents relative texture coordinates u and v telling which image point (texel)) hits the vertex u is a horizontal coordinate in the range v is a vertical coordinate in the range top-left corner = { 0, 0 } a point exactly in the middle of a texture = { 0.5, 0.5 } bottom-right corner = { 1, 1 } Note that these relative (u, v) ) coordinates are now independent of the size of the image (good for potential scaling or other changes) 27 28

8 What is a virtual game camera In game graphics, a virtual camera is implemented by software to simulate the way a real camera (or an eye) would work in real- world situations In the game/engine, the virtual camera is made up from mathematical calculations that determine how objects will be finally rendered based on the location and angle of the virtual camera in the program 3D is like a video camera recording - what camera sees (inside its viewing frustum) ) is shown on screen Implementing 3D graphics system (GPU) Vertex and index buffers are used to stream lots of 3D points (vertices) to the graphics device for rendering indices are just indirect pointers to shared vertices (to save space and bandwidth) Separately must tell how consequent vertices are to be interpreted as primitive shapes (e.g., triangles forming a 3D object): whether adjacent triangles use shared vertices or not (lists, strips, fans) Shaders and related data structures (registers, memory) in GPU processing of vertices, primitives, and pixels nowadays, always need to use shaders (default/custom) apply matrix transformations (Transform component) to vertices translation (i.e., movement), rotation,, and scale apply colors and textures to triangles specify lighting, its location (plus other properties) Painter's algorithm (again) Painter's algorithm doesn't work well for 3D scenes We would have to sort every triangle/pixel back to front worse, the camera is dynamic, so we'd have to re-sort! In 3D, there is a possibility that no one triangle is the furthest back Overlapping- triangles-failure case The painter's algorithm has a lot of overdraw unnecessary redrawing the same pixel multiple times per frame => inefficient 31 Solution: Z-buffering Which elements (parts) of a rendered scene are visible, and which are hidden Create a new screen-sized sized buffer called the z-buffer (depth buffering), to determine what is closer to the camera It stores the depth (z coordinate) of every pixel that is drawn (or actually, of the last one) As we draw pixels in the scene, only draw it if the depth stored in the z-buffer is greater than the depth of the current pixel (and so located further out in the scene) => pixels can be drawn in any appropriate order, simplifying the overall processing of triangles A sample scene and its corresponding z-buffer (Wikipedia) 32

9 On the rendering pipeline Note: "rasterization" - a scene with 3D models (shapes) converted into a raster image (consisting of pixels or dots) need only to represent the surface/outer boundary of an object the most popular technique for producing real-time 3D computer graphics; nearly all visual models used in game graphics colors and textures can be applied A pipeline is a sequence of stages operating in a fixed order (and potentially in parallel), e.g. vertex processing, rasterization, pixel (fragment) processing,.. each stage receives its input from the prior stage and sends its output to the subsequent stage A 3D application (game) sends to the GPU a sequence of vertices batched into geometric "primitives", typically triangles (in buffers) Juha Vihavainen / University of Helsinki 33 [Gregory, 10.2 The Rendering Pipeline, p. 489] Here, the pipeline includes tools used to create scenes and game entities 1. Tools stage (offline): defining geometry and surface properties (materials), animations, audio resources, etc. 2. Asset conditioning (offline): geometry and materials are processed by asset conditioning pipeline (ACP) into an engine-ready format 3. Application stage (CPU): potentially visible mesh instances are identified and submitted to the graphics hardware along with their materials for rendering 4. Geometry processing (GPU): vertices are transformed and lit and projected into (homogeneous) clip space; triangles are processed by the optional geometry shader and then clipped to the frustum (lines and surfaces outside the view volume are removed) 5. Rasterization stage (GPU): triangles are converted into fragments that are shaded, passed through various tests (z test, alpha test, stencil test, etc.) and finally blended into the frame buffer 34 The rendering pipeline (simplified overview) Rendering pipeline transforms data (1) (offline) (2) (offlline) (3) (CPU) (4) (GPU) <= For explanations, see the previous slide ACP = Asset Conditioning Pipeline fragment = potential pixel (OpenGL) (5) (GPU) [Greg, Fig , p. 491] 35 The tools and asset conditioning stages deal with meshes and materials The application stage deals in terms of mesh instances and submeshes, each of which is associated with a single material During the geometry stage, each submesh is broken down into individual vertices, which are processed largely in parallel; at its conclusion, the triangles are reconstructed from the fully transformed and shaded vertices In the rasterization stage, each triangle is broken into fragments, and these fragments are either discarded, or they are eventually written into the frame buffer as colors 36

10 Z-buffering in GPU hardware When using z-buffering, we don't draw triangles back-to-front,, or many draws will become waisted (when overridden) Transparent objects, such as water, need some special arrangements first draw all non-transparent objects, and then transparent ones (partly disabling z-buffering - to blend) otherwise transparent objects would totally hide objects behind them (background opaque ones would not be drawn) Occlusion culling tehniques eliminate, at application stage, entire scene objects that cannot be visible on a current frame e.g., a tree totally occluded by a building uses spatial partitioning for efficiency An algorithm in pseudo-language, see next slide 37 // clear the frame and depth buffers fillcolorbuffer (backgroundcolor); filldepthbuffer (infinity); (3D Math Primer for Graphics and Game Development, 2011), p. 346 // outer loop iterates over all the primitives (usually triangles) for each geometric primitive do // first rasterize the primitive.. for each pixel x, y in the projection of the primitive do // test the depth buffer, to see if a closer pixel has been written float primdepth = getdepthofprimitiveatpixel (x, y) ; // pixel of this primitive is obscured, discard it if primdepth > readdepthbuffer (x, y) continue; // determine primitive color at this pixel Color c = getcolorofprimitiveatpixel (x, y) // update the color and depth buffers writecolorbuffer (x, y, c) writedepthbuffer (x, y, primdepth)

CS451Real-time Rendering Pipeline

CS451Real-time Rendering Pipeline 1 CS451Real-time Rendering Pipeline JYH-MING LIEN DEPARTMENT OF COMPUTER SCIENCE GEORGE MASON UNIVERSITY Based on Tomas Akenine-Möller s lecture note You say that you render a 3D 2 scene, but what does

More information

Pipeline Operations. CS 4620 Lecture Steve Marschner. Cornell CS4620 Spring 2018 Lecture 11

Pipeline Operations. CS 4620 Lecture Steve Marschner. Cornell CS4620 Spring 2018 Lecture 11 Pipeline Operations CS 4620 Lecture 11 1 Pipeline you are here APPLICATION COMMAND STREAM 3D transformations; shading VERTEX PROCESSING TRANSFORMED GEOMETRY conversion of primitives to pixels RASTERIZATION

More information

Rendering Objects. Need to transform all geometry then

Rendering Objects. Need to transform all geometry then Intro to OpenGL Rendering Objects Object has internal geometry (Model) Object relative to other objects (World) Object relative to camera (View) Object relative to screen (Projection) Need to transform

More information

Pipeline Operations. CS 4620 Lecture 14

Pipeline Operations. CS 4620 Lecture 14 Pipeline Operations CS 4620 Lecture 14 2014 Steve Marschner 1 Pipeline you are here APPLICATION COMMAND STREAM 3D transformations; shading VERTEX PROCESSING TRANSFORMED GEOMETRY conversion of primitives

More information

CS 354R: Computer Game Technology

CS 354R: Computer Game Technology CS 354R: Computer Game Technology Texture and Environment Maps Fall 2018 Texture Mapping Problem: colors, normals, etc. are only specified at vertices How do we add detail between vertices without incurring

More information

LOD and Occlusion Christian Miller CS Fall 2011

LOD 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 information

Real-Time Rendering (Echtzeitgraphik) Michael Wimmer

Real-Time Rendering (Echtzeitgraphik) Michael Wimmer Real-Time Rendering (Echtzeitgraphik) Michael Wimmer wimmer@cg.tuwien.ac.at Walking down the graphics pipeline Application Geometry Rasterizer What for? Understanding the rendering pipeline is the key

More information

Computer Graphics Introduction. Taku Komura

Computer Graphics Introduction. Taku Komura Computer Graphics Introduction Taku Komura What s this course all about? We will cover Graphics programming and algorithms Graphics data structures Applied geometry, modeling and rendering Not covering

More information

Rendering. Converting a 3D scene to a 2D image. Camera. Light. Rendering. View Plane

Rendering. Converting a 3D scene to a 2D image. Camera. Light. Rendering. View Plane Rendering Pipeline Rendering Converting a 3D scene to a 2D image Rendering Light Camera 3D Model View Plane Rendering Converting a 3D scene to a 2D image Basic rendering tasks: Modeling: creating the world

More information

Ulf Assarsson Department of Computer Engineering Chalmers University of Technology

Ulf Assarsson Department of Computer Engineering Chalmers University of Technology Ulf Assarsson Department of Computer Engineering Chalmers University of Technology Tracing Photons One way to form an image is to follow rays of light from a point source finding which rays enter the lens

More information

TSBK03 Screen-Space Ambient Occlusion

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

More information

Spring 2009 Prof. Hyesoon Kim

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

More information

Spring 2011 Prof. Hyesoon Kim

Spring 2011 Prof. Hyesoon Kim Spring 2011 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

More information

C P S C 314 S H A D E R S, O P E N G L, & J S RENDERING PIPELINE. Mikhail Bessmeltsev

C P S C 314 S H A D E R S, O P E N G L, & J S RENDERING PIPELINE. Mikhail Bessmeltsev C P S C 314 S H A D E R S, O P E N G L, & J S RENDERING PIPELINE UGRAD.CS.UBC.C A/~CS314 Mikhail Bessmeltsev 1 WHAT IS RENDERING? Generating image from a 3D scene 2 WHAT IS RENDERING? Generating image

More information

Real-Time Shadows. Last Time? Textures can Alias. Schedule. Questions? Quiz 1: Tuesday October 26 th, in class (1 week from today!

Real-Time Shadows. Last Time? Textures can Alias. Schedule. Questions? Quiz 1: Tuesday October 26 th, in class (1 week from today! Last Time? Real-Time Shadows Perspective-Correct Interpolation Texture Coordinates Procedural Solid Textures Other Mapping Bump Displacement Environment Lighting Textures can Alias Aliasing is the under-sampling

More information

Adaptive Point Cloud Rendering

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

More information

Pipeline Operations. CS 4620 Lecture 10

Pipeline Operations. CS 4620 Lecture 10 Pipeline Operations CS 4620 Lecture 10 2008 Steve Marschner 1 Hidden surface elimination Goal is to figure out which color to make the pixels based on what s in front of what. Hidden surface elimination

More information

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

3D Programming. 3D Programming Concepts. Outline. 3D Concepts. 3D Concepts -- Coordinate Systems. 3D Concepts Displaying 3D Models 3D Programming Concepts Outline 3D Concepts Displaying 3D Models 3D Programming CS 4390 3D Computer 1 2 3D Concepts 3D Model is a 3D simulation of an object. Coordinate Systems 3D Models 3D Shapes 3D Concepts

More information

CS130 : Computer Graphics. Tamar Shinar Computer Science & Engineering UC Riverside

CS130 : Computer Graphics. Tamar Shinar Computer Science & Engineering UC Riverside CS130 : Computer Graphics Tamar Shinar Computer Science & Engineering UC Riverside Raster Devices and Images Raster Devices Hearn, Baker, Carithers Raster Display Transmissive vs. Emissive Display anode

More information

Computer Graphics 10 - Shadows

Computer Graphics 10 - Shadows Computer Graphics 10 - Shadows Tom Thorne Slides courtesy of Taku Komura www.inf.ed.ac.uk/teaching/courses/cg Overview Shadows Overview Projective shadows Shadow textures Shadow volume Shadow map Soft

More information

graphics pipeline computer graphics graphics pipeline 2009 fabio pellacini 1

graphics pipeline computer graphics graphics pipeline 2009 fabio pellacini 1 graphics pipeline computer graphics graphics pipeline 2009 fabio pellacini 1 graphics pipeline sequence of operations to generate an image using object-order processing primitives processed one-at-a-time

More information

CS4620/5620: Lecture 14 Pipeline

CS4620/5620: Lecture 14 Pipeline CS4620/5620: Lecture 14 Pipeline 1 Rasterizing triangles Summary 1! evaluation of linear functions on pixel grid 2! functions defined by parameter values at vertices 3! using extra parameters to determine

More information

graphics pipeline computer graphics graphics pipeline 2009 fabio pellacini 1

graphics pipeline computer graphics graphics pipeline 2009 fabio pellacini 1 graphics pipeline computer graphics graphics pipeline 2009 fabio pellacini 1 graphics pipeline sequence of operations to generate an image using object-order processing primitives processed one-at-a-time

More information

Transforms 3: Projection Christian Miller CS Fall 2011

Transforms 3: Projection Christian Miller CS Fall 2011 Transforms 3: Projection Christian Miller CS 354 - Fall 2011 Eye coordinates Eye space is the coordinate system at the camera: x right, y up, z out (i.e. looking down -z) [RTR] The setup Once we ve applied

More information

Computer Graphics Fundamentals. Jon Macey

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

More information

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

More information

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

Real-Time Shadows. Last Time? Today. Why are Shadows Important? Shadows as a Depth Cue. For Intuition about Scene Lighting

Real-Time Shadows. Last Time? Today. Why are Shadows Important? Shadows as a Depth Cue. For Intuition about Scene Lighting Last Time? Real-Time Shadows Today Why are Shadows Important? Shadows & Soft Shadows in Ray Tracing Planar Shadows Projective Texture Shadows Shadow Maps Shadow Volumes Why are Shadows Important? Depth

More information

PowerVR Hardware. Architecture Overview for Developers

PowerVR Hardware. Architecture Overview for Developers Public Imagination Technologies PowerVR Hardware Public. This publication contains proprietary information which is subject to change without notice and is supplied 'as is' without warranty of any kind.

More information

The Graphics Pipeline

The Graphics Pipeline The Graphics Pipeline Ray Tracing: Why Slow? Basic ray tracing: 1 ray/pixel Ray Tracing: Why Slow? Basic ray tracing: 1 ray/pixel But you really want shadows, reflections, global illumination, antialiasing

More information

3D Rendering Pipeline

3D Rendering Pipeline 3D Rendering Pipeline Reference: Real-Time Rendering 3 rd Edition Chapters 2 4 OpenGL SuperBible 6 th Edition Overview Rendering Pipeline Modern CG Inside a Desktop Architecture Shaders Tool Stage Asset

More information

CSE 167: Introduction to Computer Graphics Lecture #9: Visibility. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2018

CSE 167: Introduction to Computer Graphics Lecture #9: Visibility. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2018 CSE 167: Introduction to Computer Graphics Lecture #9: Visibility Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2018 Announcements Midterm Scores are on TritonEd Exams to be

More information

Real - Time Rendering. Graphics pipeline. Michal Červeňanský Juraj Starinský

Real - Time Rendering. Graphics pipeline. Michal Červeňanský Juraj Starinský Real - Time Rendering Graphics pipeline Michal Červeňanský Juraj Starinský Overview History of Graphics HW Rendering pipeline Shaders Debugging 2 History of Graphics HW First generation Second generation

More information

Rasterization Overview

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

More information

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

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

More information

Computer Graphics. Lecture 02 Graphics Pipeline. Edirlei Soares de Lima.

Computer Graphics. Lecture 02 Graphics Pipeline. Edirlei Soares de Lima. Computer Graphics Lecture 02 Graphics Pipeline Edirlei Soares de Lima What is the graphics pipeline? The Graphics Pipeline is a special software/hardware subsystem

More information

The Application Stage. The Game Loop, Resource Management and Renderer Design

The Application Stage. The Game Loop, Resource Management and Renderer Design 1 The Application Stage The Game Loop, Resource Management and Renderer Design Application Stage Responsibilities 2 Set up the rendering pipeline Resource Management 3D meshes Textures etc. Prepare data

More information

Nonphotorealism. Christian Miller CS Fall 2011

Nonphotorealism. Christian Miller CS Fall 2011 Nonphotorealism Christian Miller CS 354 - Fall 2011 Different goals Everything we ve done so far has been working (more or less) towards photorealism But, you might not want realism as a stylistic choice

More information

Computer Graphics and Visualization. Graphics Systems and Models

Computer Graphics and Visualization. Graphics Systems and Models UNIT -1 Graphics Systems and Models 1.1 Applications of computer graphics: Display Of Information Design Simulation & Animation User Interfaces 1.2 Graphics systems A Graphics system has 5 main elements:

More information

Deferred Rendering Due: Wednesday November 15 at 10pm

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

More information

Shaders. Slide credit to Prof. Zwicker

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)?

More information

Computer Graphics. Chapter 1 (Related to Introduction to Computer Graphics Using Java 2D and 3D)

Computer Graphics. Chapter 1 (Related to Introduction to Computer Graphics Using Java 2D and 3D) Computer Graphics Chapter 1 (Related to Introduction to Computer Graphics Using Java 2D and 3D) Introduction Applications of Computer Graphics: 1) Display of Information 2) Design 3) Simulation 4) User

More information

Introduction to Computer Graphics with WebGL

Introduction to Computer Graphics with WebGL Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science Laboratory University of New Mexico Models and Architectures

More information

Bringing AAA graphics to mobile platforms. Niklas Smedberg Senior Engine Programmer, Epic Games

Bringing AAA graphics to mobile platforms. Niklas Smedberg Senior Engine Programmer, Epic Games Bringing AAA graphics to mobile platforms Niklas Smedberg Senior Engine Programmer, Epic Games Who Am I A.k.a. Smedis Platform team at Epic Games Unreal Engine 15 years in the industry 30 years of programming

More information

CS230 : Computer Graphics Lecture 4. Tamar Shinar Computer Science & Engineering UC Riverside

CS230 : Computer Graphics Lecture 4. Tamar Shinar Computer Science & Engineering UC Riverside CS230 : Computer Graphics Lecture 4 Tamar Shinar Computer Science & Engineering UC Riverside Shadows Shadows for each pixel do compute viewing ray if ( ray hits an object with t in [0, inf] ) then compute

More information

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

CSE 167: Introduction to Computer Graphics Lecture #5: Rasterization. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2015 CSE 167: Introduction to Computer Graphics Lecture #5: Rasterization Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2015 Announcements Project 2 due tomorrow at 2pm Grading window

More information

Computer Graphics. Lecture 9 Environment mapping, Mirroring

Computer Graphics. Lecture 9 Environment mapping, Mirroring Computer Graphics Lecture 9 Environment mapping, Mirroring Today Environment Mapping Introduction Cubic mapping Sphere mapping refractive mapping Mirroring Introduction reflection first stencil buffer

More information

2D rendering takes a photo of the 2D scene with a virtual camera that selects an axis aligned rectangle from the scene. The photograph is placed into

2D rendering takes a photo of the 2D scene with a virtual camera that selects an axis aligned rectangle from the scene. The photograph is placed into 2D rendering takes a photo of the 2D scene with a virtual camera that selects an axis aligned rectangle from the scene. The photograph is placed into the viewport of the current application window. A pixel

More information

Scanline Rendering 2 1/42

Scanline Rendering 2 1/42 Scanline Rendering 2 1/42 Review 1. Set up a Camera the viewing frustum has near and far clipping planes 2. Create some Geometry made out of triangles 3. Place the geometry in the scene using Transforms

More information

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

CSE 167: Lecture #5: Rasterization. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012 CSE 167: Introduction to Computer Graphics Lecture #5: Rasterization Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012 Announcements Homework project #2 due this Friday, October

More information

Chapter IV Fragment Processing and Output Merging. 3D Graphics for Game Programming

Chapter IV Fragment Processing and Output Merging. 3D Graphics for Game Programming Chapter IV Fragment Processing and Output Merging Fragment Processing The per-fragment attributes may include a normal vector, a set of texture coordinates, a set of color values, a depth, etc. Using these

More information

E.Order of Operations

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

More information

Optimizing 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 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 information

CS488. Visible-Surface Determination. Luc RENAMBOT

CS488. Visible-Surface Determination. Luc RENAMBOT CS488 Visible-Surface Determination Luc RENAMBOT 1 Visible-Surface Determination So far in the class we have dealt mostly with simple wireframe drawings of the models The main reason for this is so that

More information

Could you make the XNA functions yourself?

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

More information

TDA362/DIT223 Computer Graphics EXAM (Same exam for both CTH- and GU students)

TDA362/DIT223 Computer Graphics EXAM (Same exam for both CTH- and GU students) TDA362/DIT223 Computer Graphics EXAM (Same exam for both CTH- and GU students) Saturday, January 13 th, 2018, 08:30-12:30 Examiner Ulf Assarsson, tel. 031-772 1775 Permitted Technical Aids None, except

More information

Why modern versions of OpenGL should be used Some useful API commands and extensions

Why modern versions of OpenGL should be used Some useful API commands and extensions Michał Radziszewski Why modern versions of OpenGL should be used Some useful API commands and extensions Timer Query EXT Direct State Access (DSA) Geometry Programs Position in pipeline Rendering wireframe

More information

Game Architecture. 2/19/16: Rasterization

Game Architecture. 2/19/16: Rasterization Game Architecture 2/19/16: Rasterization Viewing To render a scene, need to know Where am I and What am I looking at The view transform is the matrix that does this Maps a standard view space into world

More information

Shadows in the graphics pipeline

Shadows in the graphics pipeline Shadows in the graphics pipeline Steve Marschner Cornell University CS 569 Spring 2008, 19 February There are a number of visual cues that help let the viewer know about the 3D relationships between objects

More information

COMPUTER GRAPHICS COURSE. Rendering Pipelines

COMPUTER GRAPHICS COURSE. Rendering Pipelines COMPUTER GRAPHICS COURSE Rendering Pipelines Georgios Papaioannou - 2014 A Rendering Pipeline Rendering or Graphics Pipeline is the sequence of steps that we use to create the final image Many graphics/rendering

More information

For Intuition about Scene Lighting. Today. Limitations of Planar Shadows. Cast Shadows on Planar Surfaces. Shadow/View Duality.

For Intuition about Scene Lighting. Today. Limitations of Planar Shadows. Cast Shadows on Planar Surfaces. Shadow/View Duality. Last Time Modeling Transformations Illumination (Shading) Real-Time Shadows Viewing Transformation (Perspective / Orthographic) Clipping Projection (to Screen Space) Graphics Pipeline Clipping Rasterization

More information

Two basic types: image-precision and object-precision. Image-precision For each pixel, determine which object is visable Requires np operations

Two basic types: image-precision and object-precision. Image-precision For each pixel, determine which object is visable Requires np operations walters@buffalo.edu CSE 480/580 Lecture 21 Slide 1 Visible-Surface Determination (Hidden Surface Removal) Computationaly expensive Two basic types: image-precision and object-precision For n objects and

More information

Last Time. Why are Shadows Important? Today. Graphics Pipeline. Clipping. Rasterization. Why are Shadows Important?

Last Time. Why are Shadows Important? Today. Graphics Pipeline. Clipping. Rasterization. Why are Shadows Important? Last Time Modeling Transformations Illumination (Shading) Real-Time Shadows Viewing Transformation (Perspective / Orthographic) Clipping Projection (to Screen Space) Graphics Pipeline Clipping Rasterization

More information

POWERVR MBX. Technology Overview

POWERVR MBX. Technology Overview POWERVR MBX Technology Overview Copyright 2009, Imagination Technologies Ltd. All Rights Reserved. This publication contains proprietary information which is subject to change without notice and is supplied

More information

Lecture 2. Shaders, GLSL and GPGPU

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

More information

Real Time Rendering of Complex Height Maps Walking an infinite realistic landscape By: Jeffrey Riaboy Written 9/7/03

Real Time Rendering of Complex Height Maps Walking an infinite realistic landscape By: Jeffrey Riaboy Written 9/7/03 1 Real Time Rendering of Complex Height Maps Walking an infinite realistic landscape By: Jeffrey Riaboy Written 9/7/03 Table of Contents 1 I. Overview 2 II. Creation of the landscape using fractals 3 A.

More information

Chapter 1 Introduction

Chapter 1 Introduction Graphics & Visualization Chapter 1 Introduction Graphics & Visualization: Principles & Algorithms Brief History Milestones in the history of computer graphics: 2 Brief History (2) CPU Vs GPU 3 Applications

More information

CMSC427 Transformations II: Viewing. Credit: some slides from Dr. Zwicker

CMSC427 Transformations II: Viewing. Credit: some slides from Dr. Zwicker CMSC427 Transformations II: Viewing Credit: some slides from Dr. Zwicker What next? GIVEN THE TOOLS OF The standard rigid and affine transformations Their representation with matrices and homogeneous coordinates

More information

Graphics Processing Unit Architecture (GPU Arch)

Graphics Processing Unit Architecture (GPU Arch) Graphics Processing Unit Architecture (GPU Arch) With a focus on NVIDIA GeForce 6800 GPU 1 What is a GPU From Wikipedia : A specialized processor efficient at manipulating and displaying computer graphics

More information

Computer Graphics. Shadows

Computer Graphics. Shadows Computer Graphics Lecture 10 Shadows Taku Komura Today Shadows Overview Projective shadows Shadow texture Shadow volume Shadow map Soft shadows Why Shadows? Shadows tell us about the relative locations

More information

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

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

More information

Graphics Hardware. Instructor Stephen J. Guy

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!

More information

CHAPTER 1 Graphics Systems and Models 3

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

More information

CS 381 Computer Graphics, Fall 2012 Midterm Exam Solutions. The Midterm Exam was given in class on Tuesday, October 16, 2012.

CS 381 Computer Graphics, Fall 2012 Midterm Exam Solutions. The Midterm Exam was given in class on Tuesday, October 16, 2012. CS 381 Computer Graphics, Fall 2012 Midterm Exam Solutions The Midterm Exam was given in class on Tuesday, October 16, 2012. 1. [7 pts] Synthetic-Camera Model. Describe the Synthetic-Camera Model : how

More information

CIS 581 Interactive Computer Graphics

CIS 581 Interactive Computer Graphics CIS 581 Interactive Computer Graphics Instructor: Han-Wei Shen (hwshen@cse.ohio-state.edu) Credit: 4 Class: MWF 2:30 pm 3:18 pm DL 264 Office hours: TuTr 11 am - 12pm DL 789 Web: http://www.cse.ohio-state.edu/~hwshen/581

More information

Shaders (some slides taken from David M. course)

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

More information

The Rasterization Pipeline

The Rasterization Pipeline Lecture 5: The Rasterization Pipeline (and its implementation on GPUs) Computer Graphics CMU 15-462/15-662, Fall 2015 What you know how to do (at this point in the course) y y z x (w, h) z x Position objects

More information

Today. Rendering pipeline. Rendering pipeline. Object vs. Image order. Rendering engine Rendering engine (jtrt) Computergrafik. Rendering pipeline

Today. Rendering pipeline. Rendering pipeline. Object vs. Image order. Rendering engine Rendering engine (jtrt) Computergrafik. Rendering pipeline Computergrafik Today Rendering pipeline s View volumes, clipping Viewport Matthias Zwicker Universität Bern Herbst 2008 Rendering pipeline Rendering pipeline Hardware & software that draws 3D scenes on

More information

S U N G - E U I YO O N, K A I S T R E N D E R I N G F R E E LY A VA I L A B L E O N T H E I N T E R N E T

S U N G - E U I YO O N, K A I S T R E N D E R I N G F R E E LY A VA I L A B L E O N T H E I N T E R N E T S U N G - E U I YO O N, K A I S T R E N D E R I N G F R E E LY A VA I L A B L E O N T H E I N T E R N E T Copyright 2018 Sung-eui Yoon, KAIST freely available on the internet http://sglab.kaist.ac.kr/~sungeui/render

More information

Homework #2 and #3 Due Friday, October 12 th and Friday, October 19 th

Homework #2 and #3 Due Friday, October 12 th and Friday, October 19 th Homework #2 and #3 Due Friday, October 12 th and Friday, October 19 th 1. a. Show that the following sequences commute: i. A rotation and a uniform scaling ii. Two rotations about the same axis iii. Two

More information

Graphics Hardware and Display Devices

Graphics Hardware and Display Devices Graphics Hardware and Display Devices CSE328 Lectures Graphics/Visualization Hardware Many graphics/visualization algorithms can be implemented efficiently and inexpensively in hardware Facilitates interactive

More information

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

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

More information

Computer Graphics Shadow Algorithms

Computer Graphics Shadow Algorithms Computer Graphics Shadow Algorithms Computer Graphics Computer Science Department University of Freiburg WS 11 Outline introduction projection shadows shadow maps shadow volumes conclusion Motivation shadows

More information

Rendering Algorithms: Real-time indirect illumination. Spring 2010 Matthias Zwicker

Rendering Algorithms: Real-time indirect illumination. Spring 2010 Matthias Zwicker Rendering Algorithms: Real-time indirect illumination Spring 2010 Matthias Zwicker Today Real-time indirect illumination Ray tracing vs. Rasterization Screen space techniques Visibility & shadows Instant

More information

Ulf Assarsson Department of Computer Engineering Chalmers University of Technology

Ulf Assarsson Department of Computer Engineering Chalmers University of Technology Ulf Assarsson Department of Computer Engineering Chalmers University of Technology 1. I am located in room 4115 in EDIT-huset 2. Email: 3. Phone: 031-772 1775 (office) 4. Course assistant: Tomas Akenine-Mőller

More information

CS 464 Review. Review of Computer Graphics for Final Exam

CS 464 Review. Review of Computer Graphics for Final Exam CS 464 Review Review of Computer Graphics for Final Exam Goal: Draw 3D Scenes on Display Device 3D Scene Abstract Model Framebuffer Matrix of Screen Pixels In Computer Graphics: If it looks right then

More information

Computer Graphics Lecture 2

Computer Graphics Lecture 2 1 / 16 Computer Graphics Lecture 2 Dr. Marc Eduard Frîncu West University of Timisoara Feb 28th 2012 2 / 16 Outline 1 Graphics System Graphics Devices Frame Buffer 2 Rendering pipeline 3 Logical Devices

More information

9. Visible-Surface Detection Methods

9. Visible-Surface Detection Methods 9. Visible-Surface Detection Methods More information about Modelling and Perspective Viewing: Before going to visible surface detection, we first review and discuss the followings: 1. Modelling Transformation:

More information

Lecture 17: Shading in OpenGL. CITS3003 Graphics & Animation

Lecture 17: Shading in OpenGL. CITS3003 Graphics & Animation Lecture 17: Shading in OpenGL CITS3003 Graphics & Animation E. Angel and D. Shreiner: Interactive Computer Graphics 6E Addison-Wesley 2012 Objectives Introduce the OpenGL shading methods - per vertex shading

More information

CSE 167: Introduction to Computer Graphics Lecture #4: Vertex Transformation

CSE 167: Introduction to Computer Graphics Lecture #4: Vertex Transformation CSE 167: Introduction to Computer Graphics Lecture #4: Vertex Transformation Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2013 Announcements Project 2 due Friday, October 11

More information

We assume that you are familiar with the following:

We assume that you are familiar with the following: We will use WebGL 1.0. WebGL 2.0 is now being supported by most browsers but requires a better GPU so may not run on older computers or on most cell phones and tablets. See http://webglstats.com/. We will

More information

Hidden Surface Removal

Hidden Surface Removal Outline Introduction Hidden Surface Removal Hidden Surface Removal Simone Gasparini gasparini@elet.polimi.it Back face culling Depth sort Z-buffer Introduction Graphics pipeline Introduction Modeling Geom

More information

VANSTEENKISTE LEO DAE GD ENG UNFOLD SHADER. Introduction

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

More information

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

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

More information

Drawing Fast The Graphics Pipeline

Drawing Fast The Graphics Pipeline Drawing Fast The Graphics Pipeline CS559 Fall 2015 Lecture 9 October 1, 2015 What I was going to say last time How are the ideas we ve learned about implemented in hardware so they are fast. Important:

More information

Models and Architectures. Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts University of New Mexico

Models and Architectures. Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts University of New Mexico Models and Architectures Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts University of New Mexico 1 Objectives Learn the basic design of a graphics system Introduce

More information

Graphics Hardware, Graphics APIs, and Computation on GPUs. Mark Segal

Graphics Hardware, Graphics APIs, and Computation on GPUs. Mark Segal Graphics Hardware, Graphics APIs, and Computation on GPUs Mark Segal Overview Graphics Pipeline Graphics Hardware Graphics APIs ATI s low-level interface for computation on GPUs 2 Graphics Hardware High

More information

Models and Architectures

Models and Architectures Models and Architectures Objectives Learn the basic design of a graphics system Introduce graphics pipeline architecture Examine software components for an interactive graphics system 1 Image Formation

More information

PowerVR Series5. Architecture Guide for Developers

PowerVR Series5. Architecture Guide for Developers Public Imagination Technologies PowerVR Series5 Public. This publication contains proprietary information which is subject to change without notice and is supplied 'as is' without warranty of any kind.

More information

Introduction to Computer Graphics. Knowledge basic concepts 2D and 3D computer graphics

Introduction to Computer Graphics. Knowledge basic concepts 2D and 3D computer graphics Introduction to Computer Graphics Knowledge basic concepts 2D and 3D computer graphics 1 Introduction 2 Basic math 3 2D transformations 4 3D transformations 5 Viewing 6 Primitives 7 Geometry 8 Shading

More information