# lecture 20 Image Compositing - chroma keying - alpha - F over B - OpenGL blending - chroma keying revisited: "pulling a matte"

Save this PDF as:

Size: px
Start display at page:

Download "lecture 20 Image Compositing - chroma keying - alpha - F over B - OpenGL blending - chroma keying revisited: "pulling a matte""

## Transcription

1 lecture 20 Image Compositing - chroma keying - alpha - F over B - OpenGL blending - chroma keying revisited: "pulling a matte"

2 Organization of Course 1: Viewing transformations 2: Visibility, geometry modelling 3: Rendering: light, material, texture, transparency Transparency is a mix of rendering and image capture/display. It is a bridge between parts 3 and 4 of the course. 4: Image Capture and Display

3 Many computer graphics techniques use real images in some way. We have seen several examples - scanned 3D models - texture mapping using photos - environment mapping Let's start today's lecture with another example.

4 Image Segmentation Classic computer (and human) vision problem: Partition an image into regions. It is a difficult problem (and not so well defined).

5 Specific version of segmentation: Given an image, partition it into a foreground and a background. input foreground

6 Computer graphics application: the foreground can then be pasted over a different background ("compositing") input (semi) automatic segmentation output (composite with new background)

7 This is an old idea e.g. chroma-keying (green or blue screen)

8 It doesn't always work. (see video link)

9 General Approach Step 1: Take picture of background B (not necessarily green screen) Step 2: Take image/video of foreground character in front of background (F over B) Step 3: // Compute foreground mask For each pixel, if (F over B)(x,y) == B(x,y) mask(x,y) = 0 // background else mask(x,y) = 1 // foreground Step 4: // Write foreground image over a new background Bnew For each pixel (x,y) if mask(x,y) == 1 I(x,y) = F(x,y) else I(x,y) = Bnew(x,y)

10 Why doesn't it always work? - Cast shadows (foreground object can change background) - Interreflections (green screen can reflect, so foreground takes on color of background) - Foreground object might happen to have same color as background (in Step 3) -- see green screen example 2 slides ago - Soft edges become hard (mask) e.g Hair and furry object boundaries are difficult to model with a binary mask. Now let's look at a more general situation...

11 lecture 20 Image Compositing - chroma keying - alpha - F over B - OpenGL blending - Chroma keying revisited: "pulling a matte"

12 Partially occupied pixels & "alpha" Think of a pixel as a little square. pixel is called "alpha". The occupancy or coverage of a 0 means not occupied at all (transparent). 1 means fully occupied (opaque) 0 < < 1 means partially occupied In representing RGB images is common to include a 4th component to indicate how much of the pixel is occupied, so we have RGBA. Typically one uses 8 bits for each "channel" so this gives 32 bits per pixel.

13 Examples of RGBA (0, 0, 0, 1) - black and opaque (1, 0, 0, 1) - red and opaque etc. (1, 1, 1, 1) - white and opaque In the following, I used "premultiplied" notation (explained soon) (.5, 0, 0,.5) - red and 50% transparent (.5,.5,.5,.5) - white and 50% transparent (.1,.1,.1,.5) - dark grey and 50% transparent (.1,.1,.1,.1) - white and 10% opaque (90% transparent) (0, 0, 0, 0) - color undefined, 100% transparent

14 I will sometimes write RGB and sometimes rgb. The reasons will be explained later ("premultiplied values") To give you a flavour of what's to come... Q: How do we darken a pixel without changing its opacity? A: darken( Irgb r, g, b, I Q: How do we change the opacity of a pixel without changing the underlying color (sometimes called "dissolve")? dissolve( Irgb r, g, b,

15 Where do alpha values come from? In OpenGL, we can define surfaces as partially transparent. e.g. diffuse_material = [ 1, 0, 0, 0.5 ] glmaterial(gl_front, GL_DIFFUSE, diffuse_material) drawpolygon() The material has a red color with 50% transparency.

16 // glenable(gl_blend) // glblendfunc (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA) // explain later // gldisable(gl_depth_test) def drawyellowtriangle(): glbegin (GL_TRIANGLES) glcolor4f(1.0, 1.0, 0.0, 0.75) glvertex3f(0.1, 0.9, 0.0) glvertex3f(0.1, 0.1, 0.0) glvertex3f(0.7, 0.5, 0.0) glend() # yellow def drawcyantriangle(): glbegin (GL_TRIANGLES) glcolor4f(0.0, 1.0, 1.0, 0.75) glvertex3f(0.9, 0.9, 0.0) glvertex3f(0.3, 0.5, 0.0) glvertex3f(0.9, 0.1, 0.0) glend() # cyan def drawmain(): glpushmatrix() drawyellowtriangle() // right pair drawcyantriangle() gltranslatef(-1,0, 0) drawcyantriangle() drawyellowtriangle() glpopmatrix() // left pair

17 In the previous example, all triangles were in the z=0 plane (and depth buffering was turned off). I just wanted to illustrate that the drawing order matters. Here is another example which illustrates a more subtle point. For this example, there is no correct order to draw the two rectangles, since you cannot say that one rectangle is over another. If you draw blue first, then green will be drawn over blue at each pixel. However, there are some pixels in which the green rectangle is behind the blue one. (Drawing the green first creates a similar problem.) The solution is similar to the painter's algorithm: split one of the rectangles and draw them from far to near.

18 lecture 20 Image Compositing - chroma keying - alpha - F over B - OpenGL blending - Chroma keying revisited: "pulling a matte"

19 F over B Let's look at the "over" operation more formally. How to put a foreground RGBA layer over a background RGBA layer? I will use lower case "rgb" instead of RGB (for reasons to be explained later -- namely using "premultiplied" values). Notation: Foreground Frgb Background Brgb Goal: How to compute a new RGBA layer which is the foreground layer over the background layer, i.e. ( F over B )rgb =?

20 Special but common case (opaque background): background is opaque, B = 1 foreground may be partly transparent, 0 < F < 1 one pixel: ( F over B ) = F + (1 - F ) B 1 Let's not write out color yet.

21 I changed the slide order and content from the lecture. More general case: Background may be partly transparent, 0 <= B <= 1 Foreground may be partly transparent, 0 <= F <= 1 Again, given Frgb Brgb how do we define (F over B )rgb? Note this is a per-pixel definition.

22 Example Suppose the background color is black. Its RGB color is (0, 0, 0). Suppose the foreground color is red. We think of foreground RGB color as (1,0,0), e.g. glcolor(1, 0, 0) Suppose the foreground has = 0.5. There are two ways to interpret a partially occupied pixel. First, the pixel is transparent. Second, the underlying surface may be opaque but it only covers part of the pixel because it is near the boundary of the surface. For the present discussion, we don't care which of these two situations is present. (The illustrations use the second.)

23 How should the RGBA values of the foreground pixel be interpreted/defined/represented? - You might argue it should be represented as (1, 0, 0, 0.5) since we have a red surface and the alpha value is Or, you might argue that it should be represented as (0.5, 0, 0, 0.5) since the RGB value to be displayed at that pixel is (0.5, 0, 0). Both are possible.

24 Pre-multiplied color In the latter case, (0.5, 0, 0, 0.5), we say the rgb values have "pre-multiplied" by (r, g, b, ) = R, G, B, ) RGB is the color that is computed when rendering e.g. with Blinn-Phong or glcolor(). The is given in the definition of the surface material or in glcolor() as in our early example with cyan and yellow triangles. [ASIDE: Note the similarly to homogeneous coordinates. e.g. (w x, w y, w z, w) represents the 3D point (x, y, z). ]

25 Given Frgb Brgb how do we define ( F over B )rgb? As we argued earlier: assume the geometry below within a pixel. This gives us the formula below for the alpha value of the resulting layer, at each pixel. ( F over B ) = F + (1 - F ) B

26 If we use pre-multiplied color values, then we get the same formula for the rgb values: ( F over B )rgb = Frgb + (1 - F ) Brgb That is, by definition of "premultiplied", i.e. Xrgb = X XRGB, ( F over B )rgb = F FRGB + (1 - F ) B BRGB

27 Exercise: if we don't use premultiplied values, then we get a more complicated formula: ( F over B )RGB = F FRGB + (1 - F ) B BRGB F + (1 - F ) B

28 The main idea (without the math) We are distinguishing two representations: - RGBA surface properties that you declare in OpenGL Here, material and opacity are declared independently (which is preferable from the programmer's perspective). In terms of the graphics pipeline, this is a vertex property. - pre-multiplied pixel color values, rgba, that are written in the image buffer The transformation between the two happens in the fragment

29 We are distinguishing two representations: - RGBA surface properties that you declare in OpenGL Here, material and opacity are independent (which is preferable from the programmer's perspective). In terms of the graphics pipeline, this is a vertex property. - pre-multiplied pixel color values, rgba, that are written in the image buffer The transformation between the two happens in the fragment shader. [ADDED: this is oversimplified. It doesn't deal with textures which can also be defined as RGBA. ]

30 OpenGL Blending Blending must be enabled, else alpha is ignored and incoming fragment is written over the current pixel. incoming fragment RGB rendered value n, (s, t), z,... fragment processor pixel r, g, b, (pre-multiplied) The fragment processor takes in fragments and uses them to modify pixels in the frame buffer i.e. image.

31 The fragment processor takes a fragment, and "blends" it with the current pixel to produce a modified pixel. incoming fragment RGBA (current) pixel r g b (modified) pixel r g b "source" blending factor "destination" blending factors

32 Example 1: (F over B )rgb incoming fragment FRGB (current) pixel Brgb (modified) pixel Brgb F "source" blending factor (4-tuple) 1 - F "destination" blending factors (4-tuple) This gives the new background.

33 Example 2: Blending not enabled (default ) incoming fragment FRGB (current) pixel Brgb (modified) pixel Brgb 1 0 "source" blending factors (4-tuple) "destination" blending factors (4-tuple) This gives the new background.

34 Classic OpenGL offers several blending functions. glblendfunc( source_blending_factor, destination_blending_factor ) For Example 1: glblendfunc(gl_src_alpha, GL_ONE_MINUS_SRC_ALPHA). For Example 2: glblendfunc(gl_one, GL_ZERO). Modern OpenGL allows you to write your own blending functions.

36 lecture 20 Image Compositing - Chroma keying - alpha - F over B - OpenGL blending - Chroma keying revisited: "pulling a matte"

37 "Pulling a matte" (image processing) (alpha channel = a "matte", binary alpha channel = a "mask") We are given (F over B)rgb and maybe something else. We would like to - compute F rgb - given a new new background B', compute (F over B' )rgb

38 Alpha estimation using computer vision Use one image only! Exercise: Show you have 7 unknown variables at each pixel (but only 3 knowns, namely RGB). Method: Assume: F and B have non-overlapping different distributions of colors in 3D color space. Allowed: user marks by hand regions that that are B and other regions that are in F (and regions that may be in either). This partitions the image pixels inot three regions, called a "tri-map".

39 [Ruzon and Tomasi, 2000] original "tri-map" composited result on new background (matte not given)

40 [Wang and Cohen 2006]

41 A Related Application: "1st and Ten" Exercise: what must be computed for this to work?

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

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

### Silverlight for Windows Embedded Graphics and Rendering Pipeline 1

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

### BCC Multi Stripe Wipe

BCC Multi Stripe Wipe The BCC Multi Stripe Wipe is a similar to a Horizontal or Vertical Blind wipe. It offers extensive controls to randomize the stripes parameters. The following example shows a Multi

### Digital Image Processing. Prof. P.K. Biswas. Department of Electronics & Electrical Communication Engineering

Digital Image Processing Prof. P.K. Biswas Department of Electronics & Electrical Communication Engineering Indian Institute of Technology, Kharagpur Lecture - 27 Colour Image Processing II Hello, welcome

### Image Synthesis. Transparency. computer graphics & visualization

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

### Maya Foundations: How to use transparencies, to animate a camera with a target and to render an animation Spring 2007` - Jean-Marc Gauthier - All

Maya Foundations: How to use transparencies, to animate a camera with a target and to render an animation Spring 2007` - Jean-Marc Gauthier - All Rights Reserved Part 1- This tutorial shows how to remove

### ROTOSCOPING AND MATTE PAINTING In Blender v2.48a

In the world of Visual Effects, Rotoscoping, Matte Painting and Garbage Painting are necessary and complementary functions. They are used each time a cut-out in the image is necessary, to remove a background

### Lecture 6: Discrete techniques

Lecture 6: Discrete techniques Topics: 1. Buffer operations 2. Texture maps 3. Environmental maps 4. Bump maps 5. Opacity and blending 6. Depth cueing and fog Chapter 7, Sections 7.1, 7.2, 7.3, 7.6, 7.7.,

### EFX Keying/Alpha plugins for After Effects

EFX Keying/Alpha plugins for After Effects Here you'll find description of the plugins developed to help select pixels based on many criteria. Also after selection, there are often things you want to do

### We have learnt that the order of how we draw objects in 3D can have an influence on how the final image looks

Review: Last Week We have learnt that the order of how we draw objects in 3D can have an influence on how the final image looks Depth-sort Z-buffer Transparency Orientation of triangle (order of vertices)

MASKS & CHANNELS WORKING WITH MASKS AND CHANNELS Masks let you isolate and protect parts of an image. When you create a mask from a selection, the area not selected is masked or protected from editing.

### INTRODUCTION TO RENDERING TECHNIQUES

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

### Introduction to Computer Graphics

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

### The Lighting Effects Filter

Appendix appendix E The Lighting Effects Filter The Lighting Effects filter is like a little program in itself. With this filter, you can create a wealth of different lighting effects, from making a particular

### Example Chapter 08-Number 09: This example demonstrates some simple uses of common canned effects found in popular photo editors to stylize photos.

08 SPSE ch08 2/22/10 11:34 AM Page 156 156 Secrets of ProShow Experts: The Official Guide to Creating Your Best Slide Shows with ProShow Gold and Producer Figure 8.18 Using the same image washed out and

### Computer Graphics Hardware An Overview

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

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

CSE 167: Introduction to Computer Graphics Lecture #3: Projection Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2011 Announcements Project 1 due Friday September 30 th, presentation

### Computer Graphics Prof. Sukhendu Das Dept. of Computer Science and Engineering Indian Institute of Technology, Madras Lecture - 4 CRT Display Devices

Computer Graphics Prof. Sukhendu Das Dept. of Computer Science and Engineering Indian Institute of Technology, Madras Lecture - 4 CRT Display Devices Hello everybody, and welcome back to the lecture on

### Making natural looking Volumetric Clouds In Blender 2.48a

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

### Color Image Processing

Color Image Processing What is color? Selective emission/reflectance of different wavelengths What is color? Illumination Reflectance What is color stimuli? X Illumination Reflectance What is perceived

### Computer Graphics. Course Goal. Objectives. Overview. Textbook. These lectures cover Chapters 1-6in detail and survey Chapters 7-1

Computer Graphics Course Goal Paul Farrell Professor of Computer Science, Kent State University Office 270 MSB. Tel 672-9060 farrell@cs.kent.edu. Office hours: 6:00-7:30 TH and by appointment. The goal

### Seeing in black and white

1 Adobe Photoshop CS One sees differently with color photography than black and white...in short, visualization must be modified by the specific nature of the equipment and materials being used Ansel Adams

### Computer Graphics. Anders Hast

Computer Graphics Anders Hast Who am I?! 5 years in Industry after graduation, 2 years as high school teacher.! 1996 Teacher, University of Gävle! 2004 PhD, Computerised Image Processing " Computer Graphics!

### Optimizing AAA Games for Mobile Platforms

Optimizing AAA Games for Mobile Platforms Niklas Smedberg Senior Engine Programmer, Epic Games Who Am I A.k.a. Smedis Epic Games, Unreal Engine 15 years in the industry 30 years of programming C64 demo

### SCAN IN A BOX Guide to the Ideal 3D Scan

SCAN IN A BOX Guide to the Ideal 3D Scan Part I General Considerations This document is a guide for the person that approaches for the first time to the world of 3D scanning. The advices contained in this

### Aston University. School of Engineering & Applied Science

CS2150 Aston University School of Engineering & Applied Science CS2150: Computer Graphics January Examinations 2010 Date: XXX Time: XXX Instructions to Candidates: 1. Answer Question ONE and any other

### Lecture Notes, CEng 477

Computer Graphics Hardware and Software Lecture Notes, CEng 477 What is Computer Graphics? Different things in different contexts: pictures, scenes that are generated by a computer. tools used to make

### Working with the BCC Cylinder Filter

Working with the BCC Cylinder Filter The Cylinder shape maps the source media onto a cylinder. The Cylinder Þlter includes extensive parameters for you to customize. You may need to scroll to see them

### Buffers and Texture Mapping. Overview. Buffers. David Carr Fundamentals of Computer Graphics Spring 2004 Based on Slides by E.

INSTITUTIONEN FÖR SYSTEMTEKNIK LULEÅ TEKNISKA UNIVERSITET Buffers and Texture Mapping David Carr Fundamentals of Computer Graphics Spring 2004 Based on Slides by E. Angel Feb-18-04 SMD159, Buffers and

### Measuring Length and Area of Objects in Digital Images Using AnalyzingDigitalImages Software. John Pickle, Concord Academy, March 19, 2008

Measuring Length and Area of Objects in Digital Images Using AnalyzingDigitalImages Software John Pickle, Concord Academy, March 19, 2008 The AnalyzingDigitalImages software, available free at the Digital

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

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

### CS445 Exam 2 Solutions

November 20, 2014 Name CS445 Exam 2 Solutions Fall 2014 1. (max = 15) 5. (max = 21) 2. (max = 8) 6. (max = 16) 3. (max = 10) 7. (max = 16) 4. (max = 14) Final Score: (max=100) Please try to write legibly.

### 2.1 COLOR AND GRAYSCALE LEVELS

2.1 COLOR AND GRAYSCALE LEVELS Various color and intensity-level options can be made available to a user, depending on the capabilities and design objectives of a particular system. General purpose raster-scan

### INFOGR Computer Graphics. J. Bikker - April-July 2016 - Lecture 12: Post-processing. Welcome!

INFOGR Computer Graphics J. Bikker - April-July 2016 - Lecture 12: Post-processing Welcome! Today s Agenda: The Postprocessing Pipeline Vignetting, Chromatic Aberration Film Grain HDR effects Color Grading

### Working with the BCC Clouds Generator

Working with the BCC Clouds Generator Clouds is a realistic clouds generator. The clouds can act as a Þlter on a layer or generate a sky with clouds and a horizon color. Three different types of clouds

### The Dennis Technique for SketchUp Models in Photoshop

The Dennis Technique for SketchUp Models in Photoshop The big concept is to put a Black & White drawing over a coloured one and then artistically erase just enough of the top Black and White so that essential

### The Five Basic Skills of Drawing

The Five Basic Skills of Drawing by Dan Johnson A free guide for improving your drawing skills, originally published on Right Brain Rockstar http://rightbrainrockstar.com/the-five-basic-skills-of-drawing/

### Lesson 10: Video-Out Interface

Lesson 10: Video-Out Interface 1. Introduction The Altera University Program provides a number of hardware controllers, called cores, to control the Video Graphics Array (VGA) Digital-to-Analog Converter

### QCD as a Video Game?

QCD as a Video Game? Sándor D. Katz Eötvös University Budapest in collaboration with Győző Egri, Zoltán Fodor, Christian Hoelbling Dániel Nógrádi, Kálmán Szabó Outline 1. Introduction 2. GPU architecture

Shading with Shaders Computer Graphics, VT 2015 Lecture 6 Johan Nysjö Centre for Image analysis Swedish University of Agricultural Sciences Uppsala University Today's topics Shading in modern OpenGL Per-vertex

### Lezione 4: Grafica 3D*(II)

Lezione 4: Grafica 3D*(II) Informatica Multimediale Docente: Umberto Castellani *I lucidi sono tratti da una lezione di Maura Melotti (m.melotti@cineca.it) RENDERING Rendering What is rendering? Rendering

### A DVD Menu Design Primer

A DVD Menu Design Primer Introduction While Cubist Post & Effects offers complete Static and Motion Menu Design for DVD, we realize that some of our design savvy clients and partners may be interested

### So, you want to make a photo-realistic rendering of the Earth from orbit, eh? And you want it to look just like what astronauts see from the shuttle

So, you want to make a photo-realistic rendering of the Earth from orbit, eh? And you want it to look just like what astronauts see from the shuttle or ISS (International Space Station). No problem. Just

### GPU(Graphics Processing Unit) with a Focus on Nvidia GeForce 6 Series. By: Binesh Tuladhar Clay Smith

GPU(Graphics Processing Unit) with a Focus on Nvidia GeForce 6 Series By: Binesh Tuladhar Clay Smith Overview History of GPU s GPU Definition Classical Graphics Pipeline Geforce 6 Series Architecture Vertex

### Graphic Design. Background: The part of an artwork that appears to be farthest from the viewer, or in the distance of the scene.

Graphic Design Active Layer- When you create multi layers for your images the active layer, or the only one that will be affected by your actions, is the one with a blue background in your layers palette.

### Self-Positioning Handheld 3D Scanner

Self-Positioning Handheld 3D Scanner Method Sheet: How to scan in Color and prep for Post Processing ZScan: Version 3.0 Last modified: 03/13/2009 POWERED BY Background theory The ZScanner 700CX was built

### Autodesk Fusion 360: Render. Overview

Overview Rendering is the process of generating an image by combining geometry, camera, texture, lighting and shading (also called materials) information using a computer program. Before an image can be

### D animation. Advantages of 2-D2. Advantages of 3-D3. Related work. Key idea. Applications of Computer Graphics in Cel Animation.

Page 1 Applications of Computer Graphics in Cel Animation 3-D D and 2-D 2 D animation Adam Finkelstein Princeton University COS 426 Spring 2003 Homer 3-D3 Homer 2-D2 Advantages of 3-D3 Complex lighting

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

CSE 167: Introduction to Computer Graphics Lecture #18: Deferred Rendering Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012 Announcements Thursday, Dec 13: Final project presentations

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

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

### GPU Architecture Overview. John Owens UC Davis

GPU Architecture Overview John Owens UC Davis The Right-Hand Turn [H&P Figure 1.1] Why? [Architecture Reasons] ILP increasingly difficult to extract from instruction stream Control hardware dominates µprocessors

### Maxwell Render 1.5 complete list of new and enhanced features

Maxwell Render 1.5 complete list of new and enhanced features Multiprocessor Maxwell Render can exploit all of the processors available on your system and can make them work simultaneously on the same

### Introduction to Computer Graphics. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012

CSE 167: Introduction to Computer Graphics Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012 Today Course organization Course overview 2 Course Staff Instructor Jürgen Schulze,

### Otis Photo Lab Inkjet Printing Demo

Otis Photo Lab Inkjet Printing Demo Otis Photography Lab Adam Ferriss Lab Manager aferriss@otis.edu 310.665.6971 Soft Proofing and Pre press Before you begin printing, it is a good idea to set the proof

### OpenGL Performance Tuning

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

### CS 4204 Computer Graphics

CS 4204 Computer Graphics 2D and 3D Transformations Doug Bowman Adapted from notes by Yong Cao Virginia Tech 1 Transformations What are they? changing something to something else via rules mathematics:

### Adding Animation With Cinema 4D XL

Step-by-Step Adding Animation With Cinema 4D XL This Step-by-Step Card covers the basics of using the animation features of Cinema 4D XL. Note: Before you start this Step-by-Step Card, you need to have

### CSE 564: Visualization. GPU Programming (First Steps) GPU Generations. Klaus Mueller. Computer Science Department Stony Brook University

GPU Generations CSE 564: Visualization GPU Programming (First Steps) Klaus Mueller Computer Science Department Stony Brook University For the labs, 4th generation is desirable Graphics Hardware Pipeline

### How to rotoscope in Adobe After Effects

Adobe After Effects CS6 Project 6 guide How to rotoscope in Adobe After Effects Rotoscoping is an animation technique in which you draw, paint, or add other visual effects in a layer over live-action film

### The Monitors: These are more objective measuring tools. Remember, your eyes LIE to you about color and exposure.

Color Correction Notes What is color correction? Corrective. In general, you adjust color (how much of certain colors are in the shadows, mids, highlights), saturation (how much of a color in general)

### Advanced Graphics and Animations for ios Apps

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

### A Short Introduction to Computer Graphics

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

### QNX Software Development Platform 6.6. Screen Graphics Subsystem Developer's Guide

QNX Software Development Platform 6.6 QNX Software Development Platform 6.6 Screen Graphics Subsystem Developer's Guide 2010 2014, QNX Software Systems Limited, a subsidiary of BlackBerry Limited. All

### Advanced Visual Effects with Direct3D

Advanced Visual Effects with Direct3D Presenters: Mike Burrows, Sim Dietrich, David Gosselin, Kev Gee, Jeff Grills, Shawn Hargreaves, Richard Huddy, Gary McTaggart, Jason Mitchell, Ashutosh Rege and Matthias

### Color Theory The art and science of color interaction.

Color Theory The art and science of color interaction. Like a physicist, artists use color wavelengths to create visual effects. Like a chemist, artists are aware of safety and permanence of dyes and pigments.

### CS 543: Computer Graphics Lecture 9 (Part I): Raster Graphics: Drawing Lines. Emmanuel Agu

CS 543: Computer Graphics Lecture 9 (Part I): Raster Graphics: Drawing Lines Emmanuel Agu 2D Graphics Pipeline Clipping Object World Coordinates Applying world window Object subset window to viewport mapping

### Digital Image Processing

1 Introduction in IMAQ Vision. Structure of Digital Image Processing Applications Using IMAQ Vision 1.1 Introduction A grey level image is a function expressing the spatial variation of the light intensity

### Color quality guide. Quality menu. Color quality guide. Page 1 of 6

Page 1 of 6 Color quality guide The Color Quality guide helps users understand how operations available on the printer can be used to adjust and customize color output. Quality menu Menu item Print Mode

### create an alpha channel

How to create an alpha channel or grayscale mask with Primatteʼs mask settings. a tutorial for : primatte chromakey create an alpha channel make masks in minutes. [ from Digital Anarchy ] f/x tools for

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

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

### Image Synthesis. Fur Rendering. computer graphics & visualization

Image Synthesis Fur Rendering Motivation Hair & Fur Human hair ~ 100.000 strands Animal fur ~ 6.000.000 strands Real-Time CG Needs Fuzzy Objects Name your favorite things almost all of them are fuzzy!

### Painting Chun-Li in Corel Painter 12

Painting Chun-Li in Corel Painter 12 Mike Thompson Final painting Painting Chun-Li in Corel Painter 12 1 In this tutorial, I chose to paint Chun-Li from the popular Street Fighter video game series, which

### Coloring a Drawing Using Digital Water Color

This tutorial is the third in a series of educational articles devoted to Corel Painter 8. 1 ILLUSTRATION: CHER THREINEN-PENDARVIS BY CHER THREINEN-PENDARVIS 2 The black-and-white pen-and-ink drawing For

Deferred Shading Shawn Hargreaves Overview Don t bother with any lighting while drawing scene geometry Render to a fat framebuffer format, using multiple rendertargets to store data such as the position

### EPSON SCANNING TIPS AND TROUBLESHOOTING GUIDE Epson Perfection 3170 Scanner

EPSON SCANNING TIPS AND TROUBLESHOOTING GUIDE Epson Perfection 3170 Scanner SELECT A SUITABLE RESOLUTION The best scanning resolution depends on the purpose of the scan. When you specify a high resolution,

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

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

### Extracting Depth and Matte using a Color-Filtered Aperture

Extracting Depth and Matte using a Color-Filtered Aperture Yosuke Bando TOSHIBA + The University of Tokyo Bing-Yu Chen National Taiwan University Tomoyuki Nishita The University of Tokyo Outline Background

### PART 1 Basic Setup. Section 1.1 Direct The Strokes 1.1.1

Animated Impressionism with Adobe After Effects This tutorial covers a technique for animating paint strokes applied to a still image so that it appears to be a work of impressionistic art. Adobe After

### L20: GPU Architecture and Models

L20: GPU Architecture and Models scribe(s): Abdul Khalifa 20.1 Overview GPUs (Graphics Processing Units) are large parallel structure of processing cores capable of rendering graphics efficiently on displays.

### Using MATLAB to Measure the Diameter of an Object within an Image

Using MATLAB to Measure the Diameter of an Object within an Image Keywords: MATLAB, Diameter, Image, Measure, Image Processing Toolbox Author: Matthew Wesolowski Date: November 14 th 2014 Executive Summary

### Chapter 23- Video Sequence Editor

Chapter 23- Video Sequence Editor We've come to the last chapter and what better way to end this introduction to Blender than to compile all of your work into a final movie. Like other programs on the

### Ellenor Brown and Cornelius Ejimofor, Georgia Institute of Technology Graduate Students. Shape

4-8 th Grade Math and Science Lessons Ellenor Brown and Cornelius Ejimofor, Georgia Institute of Technology Graduate Students Shape Georgia Performance Standards Grade 4 M4G1 Students will define and identify

### Colour Image Segmentation Technique for Screen Printing

60 R.U. Hewage and D.U.J. Sonnadara Department of Physics, University of Colombo, Sri Lanka ABSTRACT Screen-printing is an industry with a large number of applications ranging from printing mobile phone

### Touchstone -A Fresh Approach to Multimedia for the PC

Touchstone -A Fresh Approach to Multimedia for the PC Emmett Kilgariff Martin Randall Silicon Engineering, Inc Presentation Outline Touchstone Background Chipset Overview Sprite Chip Tiler Chip Compressed

### You can probably work with decimal. binary numbers needed by the. Working with binary numbers is time- consuming & error-prone.

IP Addressing & Subnetting Made Easy Working with IP Addresses Introduction You can probably work with decimal numbers much easier than with the binary numbers needed by the computer. Working with binary

### Graphic Design Basics. Shannon B. Neely. Pacific Northwest National Laboratory Graphics and Multimedia Design Group

Graphic Design Basics Shannon B. Neely Pacific Northwest National Laboratory Graphics and Multimedia Design Group The Design Grid What is a Design Grid? A series of horizontal and vertical lines that evenly

### Filters for Black & White Photography

Filters for Black & White Photography Panchromatic Film How it works. Panchromatic film records all colors of light in the same tones of grey. Light Intensity (the number of photons per square inch) is

### Graphics Input Primitives. 5. Input Devices Introduction to OpenGL. String Choice/Selection Valuator

4ICT10 Computer Graphics and Virtual Reality 5. Input Devices Introduction to OpenGL Dr Ann McNamara String Choice/Selection Valuator Graphics Input Primitives Locator coordinate pair x,y Pick required

### Highlight Recovery in Camera Raw

WHITEPAPER A little-known capability of the Adobe Camera Raw plug-in is highlight recovery in the nearly overexposed highlights of a raw digital capture. Normally, when one or two of the channels in an

### Graphics Pipeline in a Nutshell

Graphics Pipeline in a Nutshell How do we create a rendering such as this? CS334 Spring 2008 Design the scene (technical drawing in wireframe ) Apply perspective transformations to the scene geometry for