Creating Photo and Video Effects Using Depth

Size: px
Start display at page:

Download "Creating Photo and Video Effects Using Depth"

Transcription

1 Session #WWDC18 Creating Photo and Video Effects Using Depth 503 Emmanuel Piuze-Phaneuf, Core Image Ron Sokolovsky, Video Engineering 2018 Apple Inc. All rights reserved. Redistribution or public display not permitted without written permission from Apple.

2 Portrait

3 Portrait Depth

4 NEW Portrait Depth Matte

5

6

7 Portrait Segmentation API

8 Portrait Matte

9 Portrait Matte Segmentation Background Foreground

10 Portrait Matte Segmentation Fuzzy mask 1.0 Background Foreground

11 Portrait Matte Segmentation Fuzzy mask 1.0 Fine details Background Foreground

12 Portrait Matte Segmentation Fuzzy mask 1.0 Fine details Background Many applications Foreground

13

14 ios 12

15 ios 12 Front and rear

16 ios 12 Front and rear Portrait

17 ios 12 Front and rear Portrait People

18 ios 12 Front and rear Portrait People Linear

19 ios 12 Front and rear Portrait People Linear No guarantee

20 Loading ImageIO let auxiliarydata = CGImageSourceCopyAuxiliaryDataInfoAtIndex( imagesource, // CGImageSource 0, // Int kcgimageauxiliarydatatypeportraiteffectsmatte) // New ImageIO flag

21 Loading ImageIO let auxiliarydata = CGImageSourceCopyAuxiliaryDataInfoAtIndex( imagesource, // CGImageSource 0, // Int kcgimageauxiliarydatatypeportraiteffectsmatte) // New ImageIO flag

22 Loading ImageIO let auxiliarydata = CGImageSourceCopyAuxiliaryDataInfoAtIndex( imagesource, // CGImageSource 0, // Int kcgimageauxiliarydatatypeportraiteffectsmatte) // New ImageIO flag { kcgimageauxiliarydatainfodata: CFDataRef, // Image data kcgimageauxiliarydatainfodatadescription: CFDictionary, // Pixel buffer attributes kcgimageauxiliarydatainfometadata: CGImageMetadataRef // Image metadata }

23 Loading AVPortraitEffectsMatte let auxiliarydata = CGImageSourceCopyAuxiliaryDataInfoAtIndex(...) let mattedata = AVPortraitEffectsMatte(fromDictionaryRepresentation: auxiliarydata)

24 Loading AVPortraitEffectsMatte let auxiliarydata = CGImageSourceCopyAuxiliaryDataInfoAtIndex(...) let mattedata = AVPortraitEffectsMatte(fromDictionaryRepresentation: auxiliarydata)

25 Loading AVPortraitEffectsMatte let auxiliarydata = CGImageSourceCopyAuxiliaryDataInfoAtIndex(...) let mattedata = AVPortraitEffectsMatte(fromDictionaryRepresentation: auxiliarydata)

26 Loading AVPortraitEffectsMatte let auxiliarydata = CGImageSourceCopyAuxiliaryDataInfoAtIndex(...) let mattedata = AVPortraitEffectsMatte(fromDictionaryRepresentation: auxiliarydata) let buf = mattedata.mattingimage; // CVPixelBuffer let format = mattedata.pixelformattype; // OSType kcvpixelformattype_onecomponent8

27 Loading AVPortraitEffectsMatte let auxiliarydata = CGImageSourceCopyAuxiliaryDataInfoAtIndex(...) let mattedata = AVPortraitEffectsMatte(fromDictionaryRepresentation: auxiliarydata) let buf = mattedata.mattingimage; // CVPixelBuffer let format = mattedata.pixelformattype; // OSType kcvpixelformattype_onecomponent8

28 Capture AVCapturePhoto AVCaptureInput AVCaptureDevice AVCaptureSession

29 Capture AVCapturePhoto AVCaptureInput Check support AVCaptureDevice AVCaptureSession AVCapturePhotoOutput.isDepthDataDeliverySupported.isPortraitEffectsMatteDeliverySupported

30 Capture AVCapturePhoto AVCaptureInput Check support AVCaptureDevice Enable with Depth AVCaptureSession AVCapturePhotoOutput.isDepthDataDeliverySupported.isPortraitEffectsMatteDeliverySupported AVCapturePhotoSettings.isPortraitEffectsMatteDeliveryEnabled=true.isDepthDataDeliveryEnabled=true

31 Capture AVCapturePhoto AVCaptureInput Check support AVCaptureDevice Enable with Depth AVCaptureSession Get the matte AVCapturePhotoOutput.isDepthDataDeliverySupported.isPortraitEffectsMatteDeliverySupported AVCapturePhotoSettings didfinishprocessingphoto:.isportraiteffectsmattedeliveryenabled=true.isdepthdatadeliveryenabled=true AVCapturePhoto.portraitEffectsMatte

32 Loading and Saving Core Image let opts = [ CIImageOption.auxiliaryPortraitEffectsMatte: true ] let matte = CIImage(imageWithContentsOfURL:url options:opts)

33 Loading and Saving Core Image let opts = [ CIImageOption.auxiliaryPortraitEffectsMatte: true ] let matte = CIImage(imageWithContentsOfURL:url options:opts)

34 Loading and Saving Core Image let opts = [ CIImageOption.auxiliaryPortraitEffectsMatte: true ] let matte = CIImage(imageWithContentsOfURL:url options:opts)

35 Loading and Saving Core Image let opts = [ CIImageOption.auxiliaryPortraitEffectsMatte: true ] let matte = CIImage(imageWithContentsOfURL:url options:opts) let opts = [ CIImageOption.portraitEffectsMatteImage : matte ] [ctx writeheifrepresentationofimage(of:image to:url format:.rgba8 colorspace:cs options:opts error:&error]

36 Loading and Saving Core Image let opts = [ CIImageOption.auxiliaryPortraitEffectsMatte: true ] let matte = CIImage(imageWithContentsOfURL:url options:opts) let opts = [ CIImageOption.portraitEffectsMatteImage : matte ] [ctx writeheifrepresentationofimage(of:image to:url format:.rgba8 colorspace:cs options:opts error:&error]

37 Loading and Saving Core Image let opts = [ CIImageOption.auxiliaryPortraitEffectsMatte: true ] let matte = CIImage(imageWithContentsOfURL:url options:opts) let opts = [ CIImageOption.portraitEffectsMatteImage : matte ] [ctx writeheifrepresentationofimage(of:image to:url format:.rgba8 colorspace:cs options:opts error:&error]

38 RGB Depth Matte RFC 4032 x x x 1512 FFC TrueDepth 3088 x x x 1160

39 RGB Depth Matte RFC 4032 x x x 1512 FFC TrueDepth 3088 x x x 1160

40 Demo Jupyter Notebook

41 Related Session Core Image: Performance, Prototyping, and Python Executive Ballroom Thursday 5:00PM

42 Real-Time Video Effects with TrueDepth Ron Sokolovsky, Video Engineering

43

44

45 TrueDepth stream Point clouds Backdrop

46 TrueDepth stream Point clouds Backdrop

47 Depth Map Minimum to maximum depth in frame Black pixels no depth

48

49 Video TrueDepth stream

50 The dark side TrueDepth stream

51 The dark side TrueDepth stream

52 How do you add a TrueDepth stream?

53 // Discover the TrueDepth camera let videodevicediscoverysession = AVCaptureDevice.DiscoverySession(deviceTypes: [.builtintruedepthcamera], mediatype:.video, position:.front) // Initialize capture device input let videodeviceinput = try AVCaptureDeviceInput(device: videodevicediscoverysession.devices.first!) // Add a depth data output to the session let depthdataoutput = AVCaptureDepthDataOutput() session.addoutput(depthdataoutput) depthdataoutput.setdelegate(self, callbackqueue: dataoutputqueue)

54 // Discover the TrueDepth camera let videodevicediscoverysession = AVCaptureDevice.DiscoverySession(deviceTypes: [.builtintruedepthcamera], mediatype:.video, position:.front) // Initialize capture device input let videodeviceinput = try AVCaptureDeviceInput(device: videodevicediscoverysession.devices.first!) // Add a depth data output to the session let depthdataoutput = AVCaptureDepthDataOutput() session.addoutput(depthdataoutput) depthdataoutput.setdelegate(self, callbackqueue: dataoutputqueue)

55 // Discover the TrueDepth camera let videodevicediscoverysession = AVCaptureDevice.DiscoverySession(deviceTypes: [.builtintruedepthcamera], mediatype:.video, position:.front) // Initialize capture device input let videodeviceinput = try AVCaptureDeviceInput(device: videodevicediscoverysession.devices.first!) // Add a depth data output to the session let depthdataoutput = AVCaptureDepthDataOutput() session.addoutput(depthdataoutput) depthdataoutput.setdelegate(self, callbackqueue: dataoutputqueue)

56 // Discover the TrueDepth camera let videodevicediscoverysession = AVCaptureDevice.DiscoverySession(deviceTypes: [.builtintruedepthcamera], mediatype:.video, position:.front) // Initialize capture device input let videodeviceinput = try AVCaptureDeviceInput(device: videodevicediscoverysession.devices.first!) // Add a depth data output to the session let depthdataoutput = AVCaptureDepthDataOutput() session.addoutput(depthdataoutput) depthdataoutput.setdelegate(self, callbackqueue: dataoutputqueue)

57 // Discover the TrueDepth camera let videodevicediscoverysession = AVCaptureDevice.DiscoverySession(deviceTypes: [.builtintruedepthcamera], mediatype:.video, position:.front) // Initialize capture device input let videodeviceinput = try AVCaptureDeviceInput(device: videodevicediscoverysession.devices.first!) // Add a depth data output to the session let depthdataoutput = AVCaptureDepthDataOutput() session.addoutput(depthdataoutput) depthdataoutput.setdelegate(self, callbackqueue: dataoutputqueue)

58 Disparity or Depth? Disparity usually yields better results Depth values are intuitive, but the error goes with Z 2 let disparitymap = depthmap.applyingfilter( CIDepthToDisparity, parameters: nil)

59 Resolution sessionpreset Aspect Ratio RGB TrueDepth.photo 4:3 1440x x480.hd1920x :9 1920x x360.hd1280x720 16:9 1280x x360.vga640x480 4:3 640x x480

60 Resolution sessionpreset Aspect Ratio RGB TrueDepth.photo 4:3 1440x x480.hd1920x :9 1920x x360.hd1280x720 16:9 1280x x360.vga640x480 4:3 640x x480

61 Test System Pressure High resolutions + fast frame rate + processing + duration AVCaptureDevice.SystemPressureState.Level Nominal Fair Serious Critical Shutdown

62 Monitor System Pressure and Adapt Prevent AVCaptureDevice shutdown Reduce frame rate when level is increasing: Nominal (30 fps) Serious (15 fps) Nominal (30 fps) Fair (24 fps) Serious (20 fps) Critical (15 fps) capturedevice.lockforconfiguration() capturedevice.activevideominframeduration = CMTimeMake(1, 15) // 15 fps capturedevice.unlockforconfiguration()

63 Holey depth map, Batman!

64 Filtered Depth Map Smoothed, spatially and temporally Holes filled, using RGB For photography/segmentation applications ios 12: spatial resolution of filtering improved from ios 11 depthdataoutput.isfilteringenabled = true // default

65

66

67 Using Raw Depth Data Use for point clouds, or real world measurements No depth value == 0 Watch out for averaging/downsampling depthdataoutput.isfilteringenabled = false

68 Depth Map Holes The TrueDepth camera detects most objects up to about five meters Low reflectivity materials absorb light

69

70

71

72

73 Depth Map Holes Reflectivity Specular materials reflect light only from certain directions

74

75

76

77

78 Depth Map Holes Reflectivity Specular Outdoor conditions are more challenging

79 Outdoor

80 Outdoor

81 Depth Map Holes Reflectivity Specular Outdoor Shadow from parallax between projector and camera

82 Shadows

83 Shadows

84 Shadows

85 Demo TrueDepthStreamer

86 TrueDepth stream Point clouds Backdrop

87 TrueDepth stream Point clouds Backdrop

88 Depth Map Z = func(u, V)

89 Depth Map Z = func(u, V) Point Cloud (X, Y, Z)

90 Depth Map Z = func(u, V) Point Cloud (X, Y, Z)

91 From Depth Map to Point Cloud Intrinsics Matrix X = (U - X0) Z fx Y = (V - Y0) Z fy f s x x f y y

92 From Depth Map to Point Cloud Intrinsics Matrix X = (U - X0) Z fx Y = (V - Y0) Z fy f s x x f y y matrix_float3x3 intrinsicsdepthdata.cameracalibrationdata.intrinsicmatrix;

93 RGB-D Infrared Camera Front RGB Camera

94 RGB-D Infrared Camera Front RGB Camera

95 Metal Graphic Shaders

96 Vertex Shader Point location Z = func(u, V) Transform to (X, Y, Z) Reproject with view matrix

97 Vertex Shader Point location Z = func(u, V) Transform to (X, Y, Z) Reproject with view matrix

98 Fragment Shader Point color Get vertex info Discard holes (Z == 0) Apply color from RGB frame at vertex coordinates

99 Fragment Shader Point color Get vertex info Discard holes (Z == 0) Apply color from RGB frame at vertex coordinates

100 TrueDepth stream Point clouds Backdrop

101 TrueDepth stream Point clouds Backdrop

102 Demo Backdrop

103 Per-Frame, Real-Time Processing Detect a face Create binary foreground mask, smooth, and upscale Upscale foreground to background and blend

104 Per-Frame, Real-Time Processing Detect a face Create binary foreground mask, smooth, and upscale Upscale foreground to background and blend Resize background to video resolution once: Not upscaling foreground Blending at lower resolution

105 Getting Face Metadata Until a face is detected, use default face depth of 0.5 meters Transform center of face to depth map coordinates, and get its depth metadataoutput.metadataobjecttypes = [AVMetadataObject.ObjectType.face]

106 Binary Foreground Mask Threshold = face depth meters Binary mask: Foreground = 1 Background = 0

107 Binary Mask

108 Binary Mask

109 Gaussian Blur Background Foreground Mask Blurred DepthMask GaussianBlur

110 Blur Radius

111 Blur Radius

112 Gamma Adjust Background Foreground Mask Blurred Gamma=2 DepthMask GaussianBlur Gamma = 2

113 Gamma Adjust Background Foreground 1 Gamma= Mask Blurred DepthMask GaussianBlur Gamma = 2 Gamma = 0.5 Gamma=0.5

114 Adjusting Gamma

115 Adjusting Gamma

116 Binary Mask Alpha matte let matte = depthmask.applyingfilter("cigaussianblur", parameters: ["inputradius": 20]).applyingFilter("CIGammaAdjust", parameters: ["inputpower": 2]).applyingFilter( CIBicubicScaleTransform, parameters: inputscale : RGBwidth/depthWidth]) Mask

117 Binary Mask Alpha matte let matte = depthmask.applyingfilter("cigaussianblur", parameters: ["inputradius": 20]).applyingFilter("CIGammaAdjust", parameters: ["inputpower": 2]).applyingFilter( CIBicubicScaleTransform, parameters: inputscale : RGBwidth/depthWidth]) Mask Blurred

118 Binary Mask Alpha matte let matte = depthmask.applyingfilter("cigaussianblur", parameters: ["inputradius": 20]).applyingFilter("CIGammaAdjust", parameters: ["inputpower": 2]).applyingFilter( CIBicubicScaleTransform, parameters: inputscale : RGBwidth/depthWidth]) Mask Blurred Gamma

119 Binary Mask Alpha matte let matte = depthmask.applyingfilter("cigaussianblur", parameters: ["inputradius": 20]).applyingFilter("CIGammaAdjust", parameters: ["inputpower": 2]).applyingFilter( CIBicubicScaleTransform, parameters: inputscale : RGBwidth/depthWidth]) Mask Blurred Gamma Upscale to RGB

120 Clamp Before Filtering Avoiding edge softening let matte = depthmask.clampedtoextent().applyingfilter("cigaussianblur", parameters: ["inputradius": 20]).applyingFilter("CIGammaAdjust", parameters: ["inputpower": 2]).applyingFilter( CIBicubicScaleTransform, parameters: [ inputscale : RGBwidth/depthWidth])

121 Crop After Filtering Keeping the original extent let matte = depthmask.clampedtoextent().applyingfilter("cigaussianblur", parameters: ["inputradius": 20]).applyingFilter("CIGammaAdjust", parameters: ["inputpower": 2]).cropped(to: depthmask.extent).applyingfilter( CIBicubicScaleTransform, parameters: [ inputscale : RGBwidth/depthWidth])

122 Blending Foreground with Background let output = rgbimage.applyingfilter( CIBlendWithMask", parameters: ["inputmaskimage": matte, inputbackgroundimage : background])

123 Blending Foreground with Background let output = rgbimage.applyingfilter( CIBlendWithMask", parameters: ["inputmaskimage": matte, inputbackgroundimage : background])

124 TrueDepth Stream 640x480 depth map registered to video at 30 fps

125 TrueDepth Stream 640x480 depth map registered to video at 30 fps

126 TrueDepth Stream 640x480 depth map registered to video at 30 fps

127 More Information AVCapture Lab Technology Lab 4 Thursday 3:00PM

128

Building Visually Rich User Experiences

Building Visually Rich User Experiences Session App Frameworks #WWDC17 Building Visually Rich User Experiences 235 Noah Witherspoon, Software Engineer Warren Moore, Software Engineer 2017 Apple Inc. All rights reserved. Redistribution or public

More information

Core ML in Depth. System Frameworks #WWDC17. Krishna Sridhar, Core ML Zach Nation, Core ML

Core ML in Depth. System Frameworks #WWDC17. Krishna Sridhar, Core ML Zach Nation, Core ML System Frameworks #WWDC17 Core ML in Depth Krishna Sridhar, Core ML Zach Nation, Core ML 2017 Apple Inc. All rights reserved. Redistribution or public display not permitted without written permission from

More information

SceneKit: What s New Session 604

SceneKit: What s New Session 604 Graphics and Games #WWDC17 SceneKit: What s New Session 604 Thomas Goossens, SceneKit engineer Amaury Balliet, SceneKit engineer Anatole Duprat, SceneKit engineer Sébastien Métrot, SceneKit engineer 2017

More information

Metal for Ray Tracing Acceleration

Metal for Ray Tracing Acceleration Session #WWDC18 Metal for Ray Tracing Acceleration 606 Sean James, GPU Software Engineer Wayne Lister, GPU Software Engineer 2018 Apple Inc. All rights reserved. Redistribution or public display not permitted

More information

Vision Framework. Building on Core ML. Media #WWDC17. Brett Keating, Apple Manager Frank Doepke, He who wires things together

Vision Framework. Building on Core ML. Media #WWDC17. Brett Keating, Apple Manager Frank Doepke, He who wires things together Session Media #WWDC17 Vision Framework Building on Core ML 506 Brett Keating, Apple Manager Frank Doepke, He who wires things together 2017 Apple Inc. All rights reserved. Redistribution or public display

More information

Introducing Metal 2. Graphics and Games #WWDC17. Michal Valient, GPU Software Engineer Richard Schreyer, GPU Software Engineer

Introducing Metal 2. Graphics and Games #WWDC17. Michal Valient, GPU Software Engineer Richard Schreyer, GPU Software Engineer Session Graphics and Games #WWDC17 Introducing Metal 2 601 Michal Valient, GPU Software Engineer Richard Schreyer, GPU Software Engineer 2017 Apple Inc. All rights reserved. Redistribution or public display

More information

Working with Metal Overview

Working with Metal Overview Graphics and Games #WWDC14 Working with Metal Overview Session 603 Jeremy Sandmel GPU Software 2014 Apple Inc. All rights reserved. Redistribution or public display not permitted without written permission

More information

What s New in watchos

What s New in watchos Session App Frameworks #WWDC17 What s New in watchos 205 Ian Parks, watchos Engineering 2017 Apple Inc. All rights reserved. Redistribution or public display not permitted without written permission from

More information

Working With Metal Advanced

Working With Metal Advanced Graphics and Games #WWDC14 Working With Metal Advanced Session 605 Gokhan Avkarogullari GPU Software Aaftab Munshi GPU Software Serhat Tekin GPU Software 2014 Apple Inc. All rights reserved. Redistribution

More information

ios Memory Deep Dive #WWDC18 Kyle Howarth, Software Engineer James Snee, Software Engineer Kris Markel, Software Engineer

ios Memory Deep Dive #WWDC18 Kyle Howarth, Software Engineer James Snee, Software Engineer Kris Markel, Software Engineer Session #WWDC18 ios Memory Deep Dive 416 Kyle Howarth, Software Engineer James Snee, Software Engineer Kris Markel, Software Engineer 2018 Apple Inc. All rights reserved. Redistribution or public display

More information

What s New in Xcode App Signing

What s New in Xcode App Signing Developer Tools #WWDC16 What s New in Xcode App Signing Developing and distributing Session 401 Joshua Pennington Tools Engineering Manager Itai Rom Tools Engineer 2016 Apple Inc. All rights reserved.

More information

Applications of Explicit Early-Z Z Culling. Jason Mitchell ATI Research

Applications of Explicit Early-Z Z Culling. Jason Mitchell ATI Research Applications of Explicit Early-Z Z Culling Jason Mitchell ATI Research Outline Architecture Hardware depth culling Applications Volume Ray Casting Skin Shading Fluid Flow Deferred Shading Early-Z In past

More information

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

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

More information

Using and Extending the Xcode Source Editor

Using and Extending the Xcode Source Editor Developer Tools #WWDC16 Using and Extending the Xcode Source Editor Session 414 Mike Swingler Xcode Infrastructure and Editors Chris Hanson Xcode Infrastructure and Editors 2016 Apple Inc. All rights reserved.

More information

What s New in tvos #WWDC16. App Frameworks. Session 206. Hans Kim tvos Engineer

What s New in tvos #WWDC16. App Frameworks. Session 206. Hans Kim tvos Engineer App Frameworks #WWDC16 What s New in tvos Session 206 Hans Kim tvos Engineer 2016 Apple Inc. All rights reserved. Redistribution or public display not permitted without written permission from Apple. Welcome

More information

What s New in Metal, Part 2

What s New in Metal, Part 2 Graphics and Games #WWDC15 What s New in Metal, Part 2 Session 607 Dan Omachi GPU Software Frameworks Engineer Anna Tikhonova GPU Software Frameworks Engineer 2015 Apple Inc. All rights reserved. Redistribution

More information

OpenGl Pipeline. triangles, lines, points, images. Per-vertex ops. Primitive assembly. Texturing. Rasterization. Per-fragment ops.

OpenGl Pipeline. triangles, lines, points, images. Per-vertex ops. Primitive assembly. Texturing. Rasterization. Per-fragment ops. OpenGl Pipeline Individual Vertices Transformed Vertices Commands Processor Per-vertex ops Primitive assembly triangles, lines, points, images Primitives Fragments Rasterization Texturing Per-fragment

More information

HARDWARE ACCELERATED 3D/2D RENDERING

HARDWARE ACCELERATED 3D/2D RENDERING HARDWARE ACCELERATED 3D/2D RENDERING Gergely Agnecz: agnegerg@gmail.com Norbert Zsolt Zentai: zenorbi@gmail.com Roland Takacs: rolland0208@hotmail.com WHERE WE CAME FROM HUNGARY (LOCATION) HUNGARY BUDAPEST,

More information

Building Watch Apps #WWDC15. Featured. Session 108. Neil Desai watchos Engineer

Building Watch Apps #WWDC15. Featured. Session 108. Neil Desai watchos Engineer Featured #WWDC15 Building Watch Apps Session 108 Neil Desai watchos Engineer 2015 Apple Inc. All rights reserved. Redistribution or public display not permitted without written permission from Apple. Agenda

More information

Advanced Color Grading in DaVinci Resolve 15

Advanced Color Grading in DaVinci Resolve 15 Advanced Color Grading in DaVinci Resolve 15 1. Introduction Color Page Overview 2. Opening a Resolve Archive Opening an Archive Grading Workflow Steps Balancing Shots Shot Matching Secondary Grading Creating

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

Integrating Apps and Content with AR Quick Look

Integrating Apps and Content with AR Quick Look Session #WWDC18 Integrating Apps and Content with AR Quick Look 603 David Lui, ARKit Engineering Dave Addey, ARKit Engineering 2018 Apple Inc. All rights reserved. Redistribution or public display not

More information

Media and Gaming Accessibility

Media and Gaming Accessibility Session System Frameworks #WWDC17 Media and Gaming Accessibility 217 Greg Hughes, Software Engineering Manager Charlotte Hill, Software Engineer 2017 Apple Inc. All rights reserved. Redistribution or public

More information

CSE/EE-576, Final Project

CSE/EE-576, Final Project 1 CSE/EE-576, Final Project Torso tracking Ke-Yu Chen Introduction Human 3D modeling and reconstruction from 2D sequences has been researcher s interests for years. Torso is the main part of the human

More information

Dominic Filion, Senior Engineer Blizzard Entertainment. Rob McNaughton, Lead Technical Artist Blizzard Entertainment

Dominic Filion, Senior Engineer Blizzard Entertainment. Rob McNaughton, Lead Technical Artist Blizzard Entertainment Dominic Filion, Senior Engineer Blizzard Entertainment Rob McNaughton, Lead Technical Artist Blizzard Entertainment Screen-space techniques Deferred rendering Screen-space ambient occlusion Depth of Field

More information

Autodesk Combustion 4 Integration with 3ds Max and Autodesk VIZ

Autodesk Combustion 4 Integration with 3ds Max and Autodesk VIZ 12/1/2005-8:00 am - 11:30 am Room:Peacock 2 (Swan) Walt Disney World Swan and Dolphin Resort Orlando, Florida Autodesk Combustion 4 Integration with 3ds Max and Autodesk VIZ Gary Davis - visualz, LLC DV41-2

More information

Mali Demos: Behind the Pixels. Stacy Smith

Mali Demos: Behind the Pixels. Stacy Smith Mali Demos: Behind the Pixels Stacy Smith Mali Graphics: Behind the demos Mali Demo Team: Doug Day Stacy Smith (Me) Sylwester Bala Roberto Lopez Mendez PHOTOGRAPH UNAVAILABLE These days I spend more time

More information

What s New in Audio. Media #WWDC17. Akshatha Nagesh, AudioEngine-eer Béla Balázs, Audio Artisan Torrey Holbrook Walker, Audio/MIDI Black Ops

What s New in Audio. Media #WWDC17. Akshatha Nagesh, AudioEngine-eer Béla Balázs, Audio Artisan Torrey Holbrook Walker, Audio/MIDI Black Ops Session Media #WWDC17 What s New in Audio 501 Akshatha Nagesh, AudioEngine-eer Béla Balázs, Audio Artisan Torrey Holbrook Walker, Audio/MIDI Black Ops 2017 Apple Inc. All rights reserved. Redistribution

More information

Introducing Password AutoFill for Apps

Introducing Password AutoFill for Apps Session App Frameworks #WWDC17 Introducing Password AutoFill for Apps Reducing friction for your users 206 Ricky Mondello, ios Engineer 2017 Apple Inc. All rights reserved. Redistribution or public display

More information

Introducing the Photos Frameworks

Introducing the Photos Frameworks Media #WWDC14 Introducing the Photos Frameworks Session 511 Adam Swift ios Photos Frameworks 2014 Apple Inc. All rights reserved. Redistribution or public display not permitted without written permission

More information

Your Apps and the Future of macos Security

Your Apps and the Future of macos Security #WWDC18 Your Apps and the Future of macos Security Pierre-Olivier Martel, Security Engineering Manager Kelly Yancey, OS Security Garrett Jacobson, Trusted Execution 2018 Apple Inc. All rights reserved.

More information

Data Delivery with Drag and Drop

Data Delivery with Drag and Drop Session App Frameworks #WWDC17 Data Delivery with Drag and Drop 227 Dave Rahardja, UIKit Tanu Singhal, UIKit 2017 Apple Inc. All rights reserved. Redistribution or public display not permitted without

More information

HLS Authoring Update. Media #WWDC17. Eryk Vershen, AVFoundation Engineer

HLS Authoring Update. Media #WWDC17. Eryk Vershen, AVFoundation Engineer Session Media #WWDC17 HLS Authoring Update 515 Eryk Vershen, AVFoundation Engineer 2017 Apple Inc. All rights reserved. Redistribution or public display not permitted without written permission from Apple.

More information

Advances in AVFoundation Playback

Advances in AVFoundation Playback Media #WWDC16 Advances in AVFoundation Playback Waiting, looping, switching, widening, optimizing Session 503 Sam Bushell Media Systems Architect 2016 Apple Inc. All rights reserved. Redistribution or

More information

Writing Energy Efficient Apps

Writing Energy Efficient Apps Session App Frameworks #WWDC17 Writing Energy Efficient Apps 238 Daniel Schucker, Software Power Engineer Prajakta Karandikar, Software Power Engineer 2017 Apple Inc. All rights reserved. Redistribution

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

Digital Image Fundamentals. Prof. George Wolberg Dept. of Computer Science City College of New York

Digital Image Fundamentals. Prof. George Wolberg Dept. of Computer Science City College of New York Digital Image Fundamentals Prof. George Wolberg Dept. of Computer Science City College of New York Objectives In this lecture we discuss: - Image acquisition - Sampling and quantization - Spatial and graylevel

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

Render-To-Texture Caching. D. Sim Dietrich Jr.

Render-To-Texture Caching. D. Sim Dietrich Jr. Render-To-Texture Caching D. Sim Dietrich Jr. What is Render-To-Texture Caching? Pixel shaders are becoming more complex and expensive Per-pixel shadows Dynamic Normal Maps Bullet holes Water simulation

More information

Depth Post-Processing for Intel RealSense D400 Depth Cameras

Depth Post-Processing for Intel RealSense D400 Depth Cameras Depth Post-Processing for Intel RealSense D400 Depth Cameras Anders Grunnet-Jepsen, Dave Tong Rev 1.0.2 A. Introduction The RealSense D4xx depth cameras can stream live depth (i.e. ranging data) and color

More information

CONTENTS. High-Accuracy Stereo Depth Maps Using Structured Light. Yeojin Yoon

CONTENTS. High-Accuracy Stereo Depth Maps Using Structured Light. Yeojin Yoon [Paper Seminar 7] CVPR2003, Vol.1, pp.195-202 High-Accuracy Stereo Depth Maps Using Structured Light Daniel Scharstein Middlebury College Richard Szeliski Microsoft Research 2012. 05. 30. Yeojin Yoon Introduction

More information

PanosFX VINYL RECORDS & DVDs User guide. VINYL RECORDS & DVDs. Photoshop actions. For Photoshop CC, CS6, CS5, CS4. User Guide

PanosFX VINYL RECORDS & DVDs User guide. VINYL RECORDS & DVDs. Photoshop actions. For Photoshop CC, CS6, CS5, CS4. User Guide VINYL RECORDS & DVDs Photoshop actions For Photoshop CC, CS6, CS5, CS4 User Guide Contents THE BASICS... 1 About the effects... 1 How the action set is organized... 1 THE CORE ACTIONS... 2 The minimum

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

From Art to Engine with Model I/O

From Art to Engine with Model I/O Session Graphics and Games #WWDC17 From Art to Engine with Model I/O 610 Nick Porcino, Game Technologies Engineer Nicholas Blasingame, Game Technologies Engineer 2017 Apple Inc. All rights reserved. Redistribution

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

Real-Time Hair Rendering on the GPU NVIDIA

Real-Time Hair Rendering on the GPU NVIDIA Real-Time Hair Rendering on the GPU Sarah Tariq NVIDIA Motivation Academia and the movie industry have been simulating and rendering impressive and realistic hair for a long time We have demonstrated realistic

More information

Interactive Cloth Simulation. Matthias Wloka NVIDIA Corporation

Interactive Cloth Simulation. Matthias Wloka NVIDIA Corporation Interactive Cloth Simulation Matthias Wloka NVIDIA Corporation MWloka@nvidia.com Overview Higher-order surfaces Vertex-shader deformations Lighting modes Per-vertex diffuse Per-pixel diffuse with bump-map

More 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

Chapter Answers. Appendix A. Chapter 1. This appendix provides answers to all of the book s chapter review questions.

Chapter Answers. Appendix A. Chapter 1. This appendix provides answers to all of the book s chapter review questions. Appendix A Chapter Answers This appendix provides answers to all of the book s chapter review questions. Chapter 1 1. What was the original name for the first version of DirectX? B. Games SDK 2. Which

More information

Evolution of GPUs Chris Seitz

Evolution of GPUs Chris Seitz Evolution of GPUs Chris Seitz Overview Concepts: Real-time rendering Hardware graphics pipeline Evolution of the PC hardware graphics pipeline: 1995-1998: Texture mapping and z-buffer 1998: Multitexturing

More information

Laboratory of Applied Robotics

Laboratory of Applied Robotics Laboratory of Applied Robotics OpenCV: Shape Detection Paolo Bevilacqua RGB (Red-Green-Blue): Color Spaces RGB and HSV Color defined in relation to primary colors Correlated channels, information on both

More information

CS 381 Computer Graphics, Fall 2008 Midterm Exam Solutions. The Midterm Exam was given in class on Thursday, October 23, 2008.

CS 381 Computer Graphics, Fall 2008 Midterm Exam Solutions. The Midterm Exam was given in class on Thursday, October 23, 2008. CS 381 Computer Graphics, Fall 2008 Midterm Exam Solutions The Midterm Exam was given in class on Thursday, October 23, 2008. 1. [4 pts] Drawing Where? Your instructor says that objects should always be

More information

Computer Graphics (CS 543) Lecture 10: Soft Shadows (Maps and Volumes), Normal and Bump Mapping

Computer Graphics (CS 543) Lecture 10: Soft Shadows (Maps and Volumes), Normal and Bump Mapping Computer Graphics (CS 543) Lecture 10: Soft Shadows (Maps and Volumes), Normal and Bump Mapping Prof Emmanuel Agu Computer Science Dept. Worcester Polytechnic Institute (WPI) Shadow Buffer Theory Observation:

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

Using Accelerate and simd

Using Accelerate and simd Session #WWDC18 Using Accelerate and simd 701 Matthew Badin, CoreOS, Vector and Numerics Luke Chang, CoreOS, Vector and Numerics 2018 Apple Inc. All rights reserved. Redistribution or public display not

More information

Adobe After Effects CS6 Digital Classroom

Adobe After Effects CS6 Digital Classroom Adobe After Effects CS6 Digital Classroom AGI Creative ISBN-13: 9781118142790 Table of Contents Starting up About Digital Classroom 1 Prerequisites 1 System requirements 1 Starting Adobe After Effects

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

Using Grouped Notifications

Using Grouped Notifications #WWDC18 Using Grouped Notifications Session 711 Michele Campeotto, ios User Notifications 2018 Apple Inc. All rights reserved. Redistribution or public display not permitted without written permission

More information

Topics and things to know about them:

Topics and things to know about them: Practice Final CMSC 427 Distributed Tuesday, December 11, 2007 Review Session, Monday, December 17, 5:00pm, 4424 AV Williams Final: 10:30 AM Wednesday, December 19, 2007 General Guidelines: The final will

More information

Getting fancy with texture mapping (Part 2) CS559 Spring Apr 2017

Getting fancy with texture mapping (Part 2) CS559 Spring Apr 2017 Getting fancy with texture mapping (Part 2) CS559 Spring 2017 6 Apr 2017 Review Skyboxes as backdrops Credits : Flipmode 3D Review Reflection maps Credits : NVidia Review Decal textures Credits : andreucabre.com

More information

GUERRILLA DEVELOP CONFERENCE JULY 07 BRIGHTON

GUERRILLA DEVELOP CONFERENCE JULY 07 BRIGHTON Deferred Rendering in Killzone 2 Michal Valient Senior Programmer, Guerrilla Talk Outline Forward & Deferred Rendering Overview G-Buffer Layout Shader Creation Deferred Rendering in Detail Rendering Passes

More information

AVContentKeySession Best Practices

AVContentKeySession Best Practices Session #WWDC18 AVContentKeySession Best Practices 507 Anil Katti, AVFoundation Engineer 2018 Apple Inc. All rights reserved. Redistribution or public display not permitted without written permission from

More information

Validating HTTP Live Streams

Validating HTTP Live Streams Media #WWDC16 Validating HTTP Live Streams Session 510 Eryk Vershen Media Engineer 2016 Apple Inc. All rights reserved. Redistribution or public display not permitted without written permission from Apple.

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

MAXIS-mizing Darkspore*: A Case Study of Graphic Analysis and Optimizations in Maxis Deferred Renderer

MAXIS-mizing Darkspore*: A Case Study of Graphic Analysis and Optimizations in Maxis Deferred Renderer MAXIS-mizing Darkspore*: A Case Study of Graphic Analysis and Optimizations in Maxis Deferred Renderer A New Gaming Experience Made Possible With Processor Graphics Released in early 2011, the 2nd Generation

More information

Programmable Shaders for Deformation Rendering

Programmable Shaders for Deformation Rendering Programmable Shaders for Deformation Rendering Carlos D. Correa, Deborah Silver Rutgers, The State University of New Jersey Motivation We present a different way of obtaining mesh deformation. Not a modeling,

More information

Face ID Security. November 2017

Face ID Security. November 2017 Face ID Security November 2017 Face ID Security Overview With a simple glance, Face ID securely unlocks iphone X. It provides intuitive and secure authentication enabled by the TrueDepth camera system,

More information

LEVEL 1 ANIMATION ACADEMY2010

LEVEL 1 ANIMATION ACADEMY2010 1 Textures add more realism to an environment and characters. There are many 2D painting programs that can be used to create textures, such as Adobe Photoshop and Corel Painter. Many artists use photographs

More information

Getting the Most Out of HealthKit

Getting the Most Out of HealthKit App Frameworks #WWDC16 Getting the Most Out of HealthKit What s new and best practices Session 209 Matthew Salesi ios Software Engineer Joefrey Kibuule ios Software Engineer 2016 Apple Inc. All rights

More information

Working with the BCC Bump Map Generator

Working with the BCC Bump Map Generator Working with the BCC Bump Map Generator Bump mapping is used to create three dimensional detail on an image based on the luminance information in the image. The luminance value of each pixel of the image

More information

Fundamentals of Photography presented by Keith Bauer.

Fundamentals of Photography presented by Keith Bauer. Fundamentals of Photography presented by Keith Bauer kcbauer@juno.com http://keithbauer.smugmug.com Homework Assignment Composition Class will be February 7, 2012 Please provide 2 images by next Tuesday,

More information

BCC Textured Wipe Animation menu Manual Auto Pct. Done Percent Done

BCC Textured Wipe Animation menu Manual Auto Pct. Done Percent Done BCC Textured Wipe The BCC Textured Wipe creates is a non-geometric wipe using the Influence layer and the Texture settings. By default, the Influence is generated from the luminance of the outgoing clip

More information

Getting Published in Apple News

Getting Published in Apple News Media #WWDC16 Getting Published in Apple News Session 502 Ryan Griggs Apple News 2016 Apple Inc. All rights reserved. Redistribution or public display not permitted without written permission from Apple.

More information

OpenGL Status - November 2013 G-Truc Creation

OpenGL Status - November 2013 G-Truc Creation OpenGL Status - November 2013 G-Truc Creation Vendor NVIDIA AMD Intel Windows Apple Release date 02/10/2013 08/11/2013 30/08/2013 22/10/2013 Drivers version 331.10 beta 13.11 beta 9.2 10.18.10.3325 MacOS

More information

Extending Your Apps with SiriKit

Extending Your Apps with SiriKit App Frameworks #WWDC16 Extending Your Apps with SiriKit Session 225 Vineet Khosla SiriKit Engineering Diana Huang SiriKit Engineering Scott Andrus SiriKit Engineering 2016 Apple Inc. All rights reserved.

More information

The Kinect Sensor. Luís Carriço FCUL 2014/15

The Kinect Sensor. Luís Carriço FCUL 2014/15 Advanced Interaction Techniques The Kinect Sensor Luís Carriço FCUL 2014/15 Sources: MS Kinect for Xbox 360 John C. Tang. Using Kinect to explore NUI, Ms Research, From Stanford CS247 Shotton et al. Real-Time

More information

Improved Deep Image Compositing Using Subpixel Masks

Improved Deep Image Compositing Using Subpixel Masks Improved Deep Image Compositing Using Subpixel Masks Jonathan Egstad DreamWorks Animation jonathan.egstad@dreamworks.com Mark Davis Dylan Lacewell DreamWorks Animation DreamWorks Animation / NVIDIA mark.davis@dreamworks.com

More information

Introduction to Siri Shortcuts

Introduction to Siri Shortcuts #WWDC8 Introduction to Siri Shortcuts Session 2 Ari Weinstein, Siri Willem Mattelaer, Siri 208 Apple Inc. All rights reserved. Redistribution or public display not permitted without written permission

More information

Crop Counting and Metrics Tutorial

Crop Counting and Metrics Tutorial Crop Counting and Metrics Tutorial The ENVI Crop Science platform contains remote sensing analytic tools for precision agriculture and agronomy. In this tutorial you will go through a typical workflow

More information

Recap. DoF Constraint Solver. translation. affine. homography. 3D rotation

Recap. DoF Constraint Solver. translation. affine. homography. 3D rotation Image Blending Recap DoF Constraint Solver translation affine homography 3D rotation Recap DoF Constraint Solver translation 2 affine homography 3D rotation Recap DoF Constraint Solver translation 2 affine

More information

Photo-realism Fundamentals

Photo-realism Fundamentals 1-(800) 877-2745 www.ashlar-vellum.com Photo-realism Fundamentals Using Cobalt, Xenon, Argon Copyright 2008 Ashlar Incorporated. All rights reserved. Photo-realism Fundamentals Photo-realistic rendering

More information

SGI OpenGL Shader. Marc Olano SGI

SGI OpenGL Shader. Marc Olano SGI SGI OpenGL Shader Marc Olano SGI Interactive Rendering Illusion of Presence 10 30 60 frames per second Immediate response Simple appearance Multi-pass Rendering Improved appearance Build effects Per-frame

More information

New Ways to Work with Workouts

New Ways to Work with Workouts Session #WWDC18 New Ways to Work with Workouts 707 Niharika Bedekar, Fitness Software Engineer Karim Benhmida, Health Software Engineer 2018 Apple Inc. All rights reserved. Redistribution or public display

More information

Custom Wipe Using a Bitmap Image

Custom Wipe Using a Bitmap Image Custom Wipe Using a Bitmap Image In this tutorial, you ll create a custom wipe using a bitmap image as the template. You can use the pixel information of an image to create many different types of wipes.

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

Advance features for existing SDK lost

Advance features for existing SDK lost Advance features for existing SDK lost scanning data- how SDK decodes images In SDK, you can use invert pattern to get better result. But the issue still happens at low difference. GRAY_CODE_PARAMETERS_PATTERN_INCLUDE_INVERTED

More information

Enabling Your App for CarPlay

Enabling Your App for CarPlay Session App Frameworks #WWDC17 Enabling Your App for CarPlay 719 Albert Wan, CarPlay Engineering 2017 Apple Inc. All rights reserved. Redistribution or public display not permitted without written permission

More information

A Low Power, High Throughput, Fully Event-Based Stereo System: Supplementary Documentation

A Low Power, High Throughput, Fully Event-Based Stereo System: Supplementary Documentation A Low Power, High Throughput, Fully Event-Based Stereo System: Supplementary Documentation Alexander Andreopoulos, Hirak J. Kashyap, Tapan K. Nayak, Arnon Amir, Myron D. Flickner IBM Research March 25,

More information

Project report Augmented reality with ARToolKit

Project report Augmented reality with ARToolKit Project report Augmented reality with ARToolKit FMA175 Image Analysis, Project Mathematical Sciences, Lund Institute of Technology Supervisor: Petter Strandmark Fredrik Larsson (dt07fl2@student.lth.se)

More information

Image Processing. CSCI 420 Computer Graphics Lecture 22

Image Processing. CSCI 420 Computer Graphics Lecture 22 CSCI 42 Computer Graphics Lecture 22 Image Processing Blending Display Color Models Filters Dithering [Ch 7.13, 8.11-8.12] Jernej Barbic University of Southern California 1 Alpha Channel Frame buffer Simple

More information

Screen Space Ambient Occlusion. Daniel Kvarfordt & Benjamin Lillandt

Screen Space Ambient Occlusion. Daniel Kvarfordt & Benjamin Lillandt Screen Space Ambient Occlusion Daniel Kvarfordt & Benjamin Lillandt Ambient light Same from all directions. Lambertian shading doesn't show form well. Need shadows to see form. Global illumination can

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

11/28/17. Midterm Review. Magritte, Homesickness. Computational Photography Derek Hoiem, University of Illinois

11/28/17. Midterm Review. Magritte, Homesickness. Computational Photography Derek Hoiem, University of Illinois Midterm Review 11/28/17 Computational Photography Derek Hoiem, University of Illinois Magritte, Homesickness Major Topics Linear Filtering How it works Template and Frequency interpretations Image pyramids

More information

Easy Decal Version Easy Decal. Operation Manual. &u - Assets

Easy Decal Version Easy Decal. Operation Manual. &u - Assets Easy Decal Operation Manual 1 All information provided in this document is subject to change without notice and does not represent a commitment on the part of &U ASSETS. The software described by this

More information

Adobe After Effects CS5 Digital Classroom

Adobe After Effects CS5 Digital Classroom Adobe After Effects CS5 Digital Classroom Team, AGI Creative ISBN-13: 9780470595244 Table of Contents Starting Up. About Digital Classroom. Prerequisites. System requirements. Starting Adobe After Effects

More information

Physically Based Shading in Unity. Aras Pranckevičius Rendering Dude

Physically Based Shading in Unity. Aras Pranckevičius Rendering Dude Physically Based Shading in Unity Aras Pranckevičius Rendering Dude Outline New built-in shaders in Unity 5 What, how and why And all related things Shaders in Unity 4.x A lot of good things are available

More information

Image Processing. Alpha Channel. Blending. Image Compositing. Blending Errors. Blending in OpenGL

Image Processing. Alpha Channel. Blending. Image Compositing. Blending Errors. Blending in OpenGL CSCI 42 Computer Graphics Lecture 22 Image Processing Blending Display Color Models Filters Dithering [Ch 6, 7] Jernej Barbic University of Southern California Alpha Channel Frame buffer Simple color model:

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

CP SC 4040/6040 Computer Graphics Images. Joshua Levine

CP SC 4040/6040 Computer Graphics Images. Joshua Levine CP SC 4040/6040 Computer Graphics Images Joshua Levine levinej@clemson.edu Lecture 03 File Formats Aug. 27, 2015 Agenda pa01 - Due Tues. 9/8 at 11:59pm More info: http://people.cs.clemson.edu/ ~levinej/courses/6040

More information