SlideShare uma empresa Scribd logo
1 de 21
Baixar para ler offline
360|Flex Indianapolis

               Bending and Flexing Using Pixel Bender with Flex

               Ryan Phelan - www.rphelan.com - @rphelan




Copyright © 2004 - 2009 All Rights Reserved
Bending and Flexing?




                                         ?    ?
Copyright © 2004 - 2009 All Rights Reserved
Who Am I?

              5+ years developing RIA & desktop apps in Flash/Flex/AIR
              Currently Lead Interactive Developer at Phenomblue
              Focus on
                    Emerging technologies
                    Improving workflow and productivity


Copyright © 2004 - 2009 All Rights Reserved
Topics
              Practical applications of Pixel Bender
              Technology/terminology overview
              Pixel Bender Toolkit
              Project Integration
              Performance Considerations
              Advanced Techniques
              Demos

Copyright © 2004 - 2009 All Rights Reserved
What is a pixel shader?
                                               Coloring
                                               Lighting
                                Bump Mapping
                                              Reflection
                       Specular Highlights
                                              Distortion
                                      Other Effects

Copyright © 2004 - 2009 All Rights Reserved
What is a pixel shader?

              One pixel at a time
              Can be done in parallel
              Takes 0 or more images as input
              and outputs an image based on
              a set of parameters



Copyright © 2004 - 2009 All Rights Reserved
What is Pixel Bender?
              Programming language for creating pixel shaders   Similar to other C-based
                                                                shader languages
              Used with Flash, After Effects, and Photoshop

                                                                  GLSL

                                                                  HLSL




Copyright © 2004 - 2009 All Rights Reserved
GPU vs. CPU


              Only runs on CPU in Flash
              Multi-threading used instead
              How does this affect performance?




Copyright © 2004 - 2009 All Rights Reserved
The Pixel Bender Toolkit
           http://labs.adobe.com/downloads/pixelbender.html

Copyright © 2004 - 2009 All Rights Reserved
Data Types
              Basic:                          Vector:
                    bool, int, float, pixel1     float2, float3, float4
              Matrix:                           bool2, bool3, bool4
                    float2x2                     int2, int3, int4
                    float3x3                     pixel2, pixel3, pixel4
                    float4x4


Copyright © 2004 - 2009 All Rights Reserved
Vector Swizzling & Write Masking
                          (AKA topics that will make you a hit at any party)

              3 Forms:                        Interchangeable                  Not mixable
                    r, g, b, a                  pixel.r == pixel.x               pixel.ryp
                    x, y, z, w                  pixel.rgb == pixel.stp           pixel.xyza
                    s, t, p, q




Copyright © 2004 - 2009 All Rights Reserved
Vector Swizzling & Write Masking
                          (AKA topics that will make you a hit at any party)

              You can change the order to                        You can repeat channels
              swap values
                                                                    pixel.rrr
                    pixel.bgr
                                                                    pixel.xx
                    pixel.yx




Copyright © 2004 - 2009 All Rights Reserved
Limitations
          Specification

              Pixel Bender is Based on Shader Model spec (directX)
                    Flash uses Shader Model 2.0
                    Photoshop and After Effects use Shader Model 3.0
              Why? Flash is web based, needs to work on wider range of
              hardware.



Copyright © 2004 - 2009 All Rights Reserved
Limitations
          What can’t Pixel Bender Do?

              Loops or control structures other than if and else
              Custom support functions and libraries
              Region functions
              Arrays
              Dependent values
              Non-constant indices into vector values

Copyright © 2004 - 2009 All Rights Reserved
Incorporating Pixel Bender in Flex
         1. Embed or load at runtime
         2. Pass byte code to instance of Shader class
         3. Render
                    Use as a filter via DisplayObject.filters or BitmapData.applyFilter
                    Use as a fill via Graphics.beginShaderFill or GraphicsShaderFill
                    Use as a blend mode via DisplayObject.blendShader
                    Crunch numbers via ShaderJob

Copyright © 2004 - 2009 All Rights Reserved
Performance
              ActionScript is faster for small data sets
              Asynchronous ShaderJobs are slower
              than synchronous
              Vector input is faster than ByteArray for
              large data sets
              Your mileage may vary
              (Don’t forget about alchemy)

Copyright © 2004 - 2009 All Rights Reserved
Wrapper Classes
              Wrapper classes provide
                    Strong typing
                    Known API
                    Better reusability
                    Ability to limit shader input values
              For fills and blend modes, extend flash.display.Shader
              For filters, extend flash.display.ShaderFilter

Copyright © 2004 - 2009 All Rights Reserved
Wrap Up

                    Pixel Bender can be used in a large variety of ways, it’s not just for
                    image editing apps.
                    It can do certain types of calculations very efficiently.
                    It can also be a CPU hog.
                    Wrapper classes make your shaders simple to use.
                    We have only scratched the surface. Go out there and innovate!


Copyright © 2004 - 2009 All Rights Reserved
Resources
          Official
                    Pixel Bender Wiki – http://www.adobe.com/go/pixelbender_toolkit
                    Pixel Bender Exchange – http://www.adobe.com/cfusion/exchange/index.cfm?
                    event=productHome&exc=26
                    Pixel Bender on Twitter - http://twitter.com/pixelbender
                    Forums - http://forums.adobe.com/community/adobe_labs/pixelbender




Copyright © 2004 - 2009 All Rights Reserved
Resources
          Sample Code
                    Pixel Bender Explorer - http://extjs.com/blog/2009/02/19/pixel-bender-explorer
                    BendPixels – http://code.google.com/p/bendpixels
                    WPF Pixel Shader Effects Library - http://wpffx.codeplex.com
                    Tutorials - http://www.gotoandlearn.com

          Authoring
                    Eclipse Plugin - http://blog.joa-ebert.com/pbdt/


Copyright © 2004 - 2009 All Rights Reserved
Resources
          Blogs
                    Ryan Phelan - http://www.rphelan.com
                    Joa Ebert - http://blog.joa-ebert.com
                    Mr. Doob - http://mrdoob.com/blog
                    Tom Beddard - http://www.subblue.com
                    David Lenaert - http://www.derschmale.com
                    Frank Reitberger - http://www.dasprinzip.com/prinzipiell
                    Petri Leskinen - http://pixelero.wordpress.com


Copyright © 2004 - 2009 All Rights Reserved

Mais conteúdo relacionado

Mais procurados

Motion graphics worksheet web banners
Motion graphics worksheet  web bannersMotion graphics worksheet  web banners
Motion graphics worksheet web bannersirrealimagens
 
King kong e4 sting
King kong e4 stingKing kong e4 sting
King kong e4 stingClaySkorski
 
Motion graphics worksheet idents11
Motion graphics worksheet  idents11Motion graphics worksheet  idents11
Motion graphics worksheet idents11irrealimagens
 
Motion graphics analysis stings
Motion graphics analysis stingsMotion graphics analysis stings
Motion graphics analysis stingsBethMelia
 
Rendering AAA-Quality Characters of Project A1
Rendering AAA-Quality Characters of Project A1Rendering AAA-Quality Characters of Project A1
Rendering AAA-Quality Characters of Project A1Ki Hyunwoo
 
Bhs13 oct 2012 inkjet
Bhs13 oct 2012   inkjetBhs13 oct 2012   inkjet
Bhs13 oct 2012 inkjetEmpoy Ase
 
Motion graphics worksheet idents
Motion graphics worksheet  identsMotion graphics worksheet  idents
Motion graphics worksheet identsirrealimagens
 

Mais procurados (10)

Motion graphics worksheet web banners
Motion graphics worksheet  web bannersMotion graphics worksheet  web banners
Motion graphics worksheet web banners
 
Wip sibigrapi cacique
Wip sibigrapi caciqueWip sibigrapi cacique
Wip sibigrapi cacique
 
King kong e4 sting
King kong e4 stingKing kong e4 sting
King kong e4 sting
 
Motion graphics worksheet idents11
Motion graphics worksheet  idents11Motion graphics worksheet  idents11
Motion graphics worksheet idents11
 
Motion graphics analysis stings
Motion graphics analysis stingsMotion graphics analysis stings
Motion graphics analysis stings
 
Rendering AAA-Quality Characters of Project A1
Rendering AAA-Quality Characters of Project A1Rendering AAA-Quality Characters of Project A1
Rendering AAA-Quality Characters of Project A1
 
Annotation3
Annotation3Annotation3
Annotation3
 
Bhs13 oct 2012 inkjet
Bhs13 oct 2012   inkjetBhs13 oct 2012   inkjet
Bhs13 oct 2012 inkjet
 
Motion graphics worksheet idents
Motion graphics worksheet  identsMotion graphics worksheet  idents
Motion graphics worksheet idents
 
Worksheet 3
Worksheet 3Worksheet 3
Worksheet 3
 

Destaque

Erik Loehfelm - Experience Design with Flash Catalyst and Flex Gumbo
Erik Loehfelm - Experience Design with Flash Catalyst and Flex GumboErik Loehfelm - Experience Design with Flash Catalyst and Flex Gumbo
Erik Loehfelm - Experience Design with Flash Catalyst and Flex Gumbo360|Conferences
 
Tyler Wright - Undo History with Flight
Tyler Wright - Undo History with FlightTyler Wright - Undo History with Flight
Tyler Wright - Undo History with Flight360|Conferences
 
Oğuz Demirkapı - Hands On Training: Creating Our First i18N Flex Application ...
Oğuz	Demirkapı - Hands On Training: Creating Our First i18N Flex Application ...Oğuz	Demirkapı - Hands On Training: Creating Our First i18N Flex Application ...
Oğuz Demirkapı - Hands On Training: Creating Our First i18N Flex Application ...360|Conferences
 
Giorgio Natilli - Blaze DS Connectivity Framework
Giorgio Natilli - Blaze DS Connectivity FrameworkGiorgio Natilli - Blaze DS Connectivity Framework
Giorgio Natilli - Blaze DS Connectivity Framework360|Conferences
 
Mansour Raad & Anthony Jayaprakash - Yet Another Mapping Framework, NOT!
Mansour Raad & Anthony Jayaprakash - Yet Another Mapping Framework, NOT!Mansour Raad & Anthony Jayaprakash - Yet Another Mapping Framework, NOT!
Mansour Raad & Anthony Jayaprakash - Yet Another Mapping Framework, NOT!360|Conferences
 
Douglas Knudsen - Great Mash Up
Douglas Knudsen - Great Mash UpDouglas Knudsen - Great Mash Up
Douglas Knudsen - Great Mash Up360|Conferences
 

Destaque (6)

Erik Loehfelm - Experience Design with Flash Catalyst and Flex Gumbo
Erik Loehfelm - Experience Design with Flash Catalyst and Flex GumboErik Loehfelm - Experience Design with Flash Catalyst and Flex Gumbo
Erik Loehfelm - Experience Design with Flash Catalyst and Flex Gumbo
 
Tyler Wright - Undo History with Flight
Tyler Wright - Undo History with FlightTyler Wright - Undo History with Flight
Tyler Wright - Undo History with Flight
 
Oğuz Demirkapı - Hands On Training: Creating Our First i18N Flex Application ...
Oğuz	Demirkapı - Hands On Training: Creating Our First i18N Flex Application ...Oğuz	Demirkapı - Hands On Training: Creating Our First i18N Flex Application ...
Oğuz Demirkapı - Hands On Training: Creating Our First i18N Flex Application ...
 
Giorgio Natilli - Blaze DS Connectivity Framework
Giorgio Natilli - Blaze DS Connectivity FrameworkGiorgio Natilli - Blaze DS Connectivity Framework
Giorgio Natilli - Blaze DS Connectivity Framework
 
Mansour Raad & Anthony Jayaprakash - Yet Another Mapping Framework, NOT!
Mansour Raad & Anthony Jayaprakash - Yet Another Mapping Framework, NOT!Mansour Raad & Anthony Jayaprakash - Yet Another Mapping Framework, NOT!
Mansour Raad & Anthony Jayaprakash - Yet Another Mapping Framework, NOT!
 
Douglas Knudsen - Great Mash Up
Douglas Knudsen - Great Mash UpDouglas Knudsen - Great Mash Up
Douglas Knudsen - Great Mash Up
 

Semelhante a Bending Pixels with Flex and Pixel Bender

[DSC Europe 23] Alexander Kovalchuk - Finetuning Stable Diffusion with low-ra...
[DSC Europe 23] Alexander Kovalchuk - Finetuning Stable Diffusion with low-ra...[DSC Europe 23] Alexander Kovalchuk - Finetuning Stable Diffusion with low-ra...
[DSC Europe 23] Alexander Kovalchuk - Finetuning Stable Diffusion with low-ra...DataScienceConferenc1
 
ITCamp 2011 - Raul Andrisan - What’s new in Silverlight 5
ITCamp 2011 - Raul Andrisan - What’s new in Silverlight 5ITCamp 2011 - Raul Andrisan - What’s new in Silverlight 5
ITCamp 2011 - Raul Andrisan - What’s new in Silverlight 5ITCamp
 
The future of the Adobe Flash platform
The future of the Adobe Flash platformThe future of the Adobe Flash platform
The future of the Adobe Flash platformMichael Chaize
 
Adobe AIR - Mobile Performance – Tips & Tricks
Adobe AIR - Mobile Performance – Tips & TricksAdobe AIR - Mobile Performance – Tips & Tricks
Adobe AIR - Mobile Performance – Tips & TricksMihai Corlan
 
Unleashing Intel® Advanced Vector Extensions 512 (Intel® AVX-512) Inside the ...
Unleashing Intel® Advanced Vector Extensions 512 (Intel® AVX-512) Inside the ...Unleashing Intel® Advanced Vector Extensions 512 (Intel® AVX-512) Inside the ...
Unleashing Intel® Advanced Vector Extensions 512 (Intel® AVX-512) Inside the ...Intel® Software
 
Qualcomm Snapdragon Processors: A Super Gaming Platform
Qualcomm Snapdragon Processors: A Super Gaming Platform Qualcomm Snapdragon Processors: A Super Gaming Platform
Qualcomm Snapdragon Processors: A Super Gaming Platform Qualcomm Developer Network
 
UplinQ - qualcomm® snapdragon™ processors a super gaming platform
UplinQ - qualcomm® snapdragon™ processors a super gaming platformUplinQ - qualcomm® snapdragon™ processors a super gaming platform
UplinQ - qualcomm® snapdragon™ processors a super gaming platformSatya Harish
 
GPU - DirectX 10.1 Architecture White paper
GPU - DirectX 10.1 Architecture White paperGPU - DirectX 10.1 Architecture White paper
GPU - DirectX 10.1 Architecture White paperBenson Tao
 
Towards Semantic Virtual Worlds
Towards Semantic Virtual WorldsTowards Semantic Virtual Worlds
Towards Semantic Virtual WorldsDavid Burden
 
iVideo Editor with Background Remover and Image Inpainting
iVideo Editor with Background Remover and Image InpaintingiVideo Editor with Background Remover and Image Inpainting
iVideo Editor with Background Remover and Image InpaintingIRJET Journal
 
Sirius: Graphical Editors for your DSLs
Sirius: Graphical Editors for your DSLsSirius: Graphical Editors for your DSLs
Sirius: Graphical Editors for your DSLsmikaelbarbero
 
CMP213_GPU(G3) Applications in Media and Entertainment Workloads
CMP213_GPU(G3) Applications in Media and Entertainment WorkloadsCMP213_GPU(G3) Applications in Media and Entertainment Workloads
CMP213_GPU(G3) Applications in Media and Entertainment WorkloadsAmazon Web Services
 
Xebia adobe flash mobile applications
Xebia adobe flash mobile applicationsXebia adobe flash mobile applications
Xebia adobe flash mobile applicationsMichael Chaize
 
SiriusCon 2015 - Breathe Life into Your Designer!
SiriusCon 2015 - Breathe Life into Your Designer!SiriusCon 2015 - Breathe Life into Your Designer!
SiriusCon 2015 - Breathe Life into Your Designer!melbats
 
Ghajini - The Game Development
Ghajini - The Game DevelopmentGhajini - The Game Development
Ghajini - The Game DevelopmentImran K
 
Free video editing software
Free video editing softwareFree video editing software
Free video editing softwareSmartPixel
 
WIN203_With Amazon EC2 for Windows Server and Thinkbox Deadline
WIN203_With Amazon EC2 for Windows Server and Thinkbox DeadlineWIN203_With Amazon EC2 for Windows Server and Thinkbox Deadline
WIN203_With Amazon EC2 for Windows Server and Thinkbox DeadlineAmazon Web Services
 
Shaders - Claudia Doppioslash - Unity With the Best
Shaders - Claudia Doppioslash - Unity With the BestShaders - Claudia Doppioslash - Unity With the Best
Shaders - Claudia Doppioslash - Unity With the BestBeMyApp
 

Semelhante a Bending Pixels with Flex and Pixel Bender (20)

[DSC Europe 23] Alexander Kovalchuk - Finetuning Stable Diffusion with low-ra...
[DSC Europe 23] Alexander Kovalchuk - Finetuning Stable Diffusion with low-ra...[DSC Europe 23] Alexander Kovalchuk - Finetuning Stable Diffusion with low-ra...
[DSC Europe 23] Alexander Kovalchuk - Finetuning Stable Diffusion with low-ra...
 
ITCamp 2011 - Raul Andrisan - What’s new in Silverlight 5
ITCamp 2011 - Raul Andrisan - What’s new in Silverlight 5ITCamp 2011 - Raul Andrisan - What’s new in Silverlight 5
ITCamp 2011 - Raul Andrisan - What’s new in Silverlight 5
 
The future of the Adobe Flash platform
The future of the Adobe Flash platformThe future of the Adobe Flash platform
The future of the Adobe Flash platform
 
Adobe AIR - Mobile Performance – Tips & Tricks
Adobe AIR - Mobile Performance – Tips & TricksAdobe AIR - Mobile Performance – Tips & Tricks
Adobe AIR - Mobile Performance – Tips & Tricks
 
Unleashing Intel® Advanced Vector Extensions 512 (Intel® AVX-512) Inside the ...
Unleashing Intel® Advanced Vector Extensions 512 (Intel® AVX-512) Inside the ...Unleashing Intel® Advanced Vector Extensions 512 (Intel® AVX-512) Inside the ...
Unleashing Intel® Advanced Vector Extensions 512 (Intel® AVX-512) Inside the ...
 
PPT Example
PPT ExamplePPT Example
PPT Example
 
Qualcomm Snapdragon Processors: A Super Gaming Platform
Qualcomm Snapdragon Processors: A Super Gaming Platform Qualcomm Snapdragon Processors: A Super Gaming Platform
Qualcomm Snapdragon Processors: A Super Gaming Platform
 
UplinQ - qualcomm® snapdragon™ processors a super gaming platform
UplinQ - qualcomm® snapdragon™ processors a super gaming platformUplinQ - qualcomm® snapdragon™ processors a super gaming platform
UplinQ - qualcomm® snapdragon™ processors a super gaming platform
 
GPU - DirectX 10.1 Architecture White paper
GPU - DirectX 10.1 Architecture White paperGPU - DirectX 10.1 Architecture White paper
GPU - DirectX 10.1 Architecture White paper
 
Towards Semantic Virtual Worlds
Towards Semantic Virtual WorldsTowards Semantic Virtual Worlds
Towards Semantic Virtual Worlds
 
iVideo Editor with Background Remover and Image Inpainting
iVideo Editor with Background Remover and Image InpaintingiVideo Editor with Background Remover and Image Inpainting
iVideo Editor with Background Remover and Image Inpainting
 
Sirius: Graphical Editors for your DSLs
Sirius: Graphical Editors for your DSLsSirius: Graphical Editors for your DSLs
Sirius: Graphical Editors for your DSLs
 
CMP213_GPU(G3) Applications in Media and Entertainment Workloads
CMP213_GPU(G3) Applications in Media and Entertainment WorkloadsCMP213_GPU(G3) Applications in Media and Entertainment Workloads
CMP213_GPU(G3) Applications in Media and Entertainment Workloads
 
Xebia adobe flash mobile applications
Xebia adobe flash mobile applicationsXebia adobe flash mobile applications
Xebia adobe flash mobile applications
 
SiriusCon 2015 - Breathe Life into Your Designer!
SiriusCon 2015 - Breathe Life into Your Designer!SiriusCon 2015 - Breathe Life into Your Designer!
SiriusCon 2015 - Breathe Life into Your Designer!
 
Worksheet 1
Worksheet 1Worksheet 1
Worksheet 1
 
Ghajini - The Game Development
Ghajini - The Game DevelopmentGhajini - The Game Development
Ghajini - The Game Development
 
Free video editing software
Free video editing softwareFree video editing software
Free video editing software
 
WIN203_With Amazon EC2 for Windows Server and Thinkbox Deadline
WIN203_With Amazon EC2 for Windows Server and Thinkbox DeadlineWIN203_With Amazon EC2 for Windows Server and Thinkbox Deadline
WIN203_With Amazon EC2 for Windows Server and Thinkbox Deadline
 
Shaders - Claudia Doppioslash - Unity With the Best
Shaders - Claudia Doppioslash - Unity With the BestShaders - Claudia Doppioslash - Unity With the Best
Shaders - Claudia Doppioslash - Unity With the Best
 

Mais de 360|Conferences

Metaio Mobile Augmented Reality
Metaio Mobile Augmented RealityMetaio Mobile Augmented Reality
Metaio Mobile Augmented Reality360|Conferences
 
Mobile Apps- Business Toolkit for the Manager
Mobile Apps- Business Toolkit for the ManagerMobile Apps- Business Toolkit for the Manager
Mobile Apps- Business Toolkit for the Manager360|Conferences
 
Making Real Money with Mobile Apps
Making Real Money with Mobile AppsMaking Real Money with Mobile Apps
Making Real Money with Mobile Apps360|Conferences
 
Inside Mobile Widgets Publish
Inside Mobile Widgets PublishInside Mobile Widgets Publish
Inside Mobile Widgets Publish360|Conferences
 
Ignite Denver 4 Master Deck
Ignite Denver 4 Master DeckIgnite Denver 4 Master Deck
Ignite Denver 4 Master Deck360|Conferences
 
Chad Udell - Developers are from Mars, Designers are from Venus
Chad Udell - Developers are from Mars, Designers are from VenusChad Udell - Developers are from Mars, Designers are from Venus
Chad Udell - Developers are from Mars, Designers are from Venus360|Conferences
 
Wes Leonardo - Putting AIR into your Application
Wes Leonardo - Putting AIR into your ApplicationWes Leonardo - Putting AIR into your Application
Wes Leonardo - Putting AIR into your Application360|Conferences
 
Samuel Asher Rivello - PureMVC Hands On Part 1
Samuel Asher Rivello - PureMVC Hands On Part 1Samuel Asher Rivello - PureMVC Hands On Part 1
Samuel Asher Rivello - PureMVC Hands On Part 1360|Conferences
 
Adrian Pomilio - Flex Ajax Bridge and Legacy Applications
Adrian Pomilio - Flex Ajax Bridge and Legacy ApplicationsAdrian Pomilio - Flex Ajax Bridge and Legacy Applications
Adrian Pomilio - Flex Ajax Bridge and Legacy Applications360|Conferences
 
Samuel Asher Rivello - PureMVC Hands On Part 2
Samuel Asher Rivello - PureMVC Hands On Part 2Samuel Asher Rivello - PureMVC Hands On Part 2
Samuel Asher Rivello - PureMVC Hands On Part 2360|Conferences
 
Ryan Fishberg and Joan Lafferty - ItemsRenderers
Ryan Fishberg and Joan Lafferty - ItemsRenderersRyan Fishberg and Joan Lafferty - ItemsRenderers
Ryan Fishberg and Joan Lafferty - ItemsRenderers360|Conferences
 
Ryan Campbell - OpenFlux and Flex 4
Ryan Campbell - OpenFlux and Flex 4Ryan Campbell - OpenFlux and Flex 4
Ryan Campbell - OpenFlux and Flex 4360|Conferences
 
Ben Elmore - Do You Speak Flex
Ben Elmore - Do You Speak FlexBen Elmore - Do You Speak Flex
Ben Elmore - Do You Speak Flex360|Conferences
 
Francisco Inchauste - RIA Mojo - Making your Flex application standout with a...
Francisco Inchauste - RIA Mojo - Making your Flex application standout with a...Francisco Inchauste - RIA Mojo - Making your Flex application standout with a...
Francisco Inchauste - RIA Mojo - Making your Flex application standout with a...360|Conferences
 
Joe Johnston - FLEXperience - putting the Flex in UX
Joe Johnston - FLEXperience - putting the Flex in UXJoe Johnston - FLEXperience - putting the Flex in UX
Joe Johnston - FLEXperience - putting the Flex in UX360|Conferences
 
Bryc Barrand - The art of project management in large-scale Flex projects
Bryc Barrand - The art of project management in large-scale Flex projectsBryc Barrand - The art of project management in large-scale Flex projects
Bryc Barrand - The art of project management in large-scale Flex projects360|Conferences
 

Mais de 360|Conferences (20)

InsideMobile Keynote
InsideMobile KeynoteInsideMobile Keynote
InsideMobile Keynote
 
Metaio Mobile Augmented Reality
Metaio Mobile Augmented RealityMetaio Mobile Augmented Reality
Metaio Mobile Augmented Reality
 
Web Os Hands On
Web Os Hands OnWeb Os Hands On
Web Os Hands On
 
Mobile Apps- Business Toolkit for the Manager
Mobile Apps- Business Toolkit for the ManagerMobile Apps- Business Toolkit for the Manager
Mobile Apps- Business Toolkit for the Manager
 
Making Real Money with Mobile Apps
Making Real Money with Mobile AppsMaking Real Money with Mobile Apps
Making Real Money with Mobile Apps
 
Unlocking Android
Unlocking AndroidUnlocking Android
Unlocking Android
 
Inside Mobile Widgets Publish
Inside Mobile Widgets PublishInside Mobile Widgets Publish
Inside Mobile Widgets Publish
 
You Know WebOS
You Know WebOSYou Know WebOS
You Know WebOS
 
Ignite Denver 4 Master Deck
Ignite Denver 4 Master DeckIgnite Denver 4 Master Deck
Ignite Denver 4 Master Deck
 
Chad Udell - Developers are from Mars, Designers are from Venus
Chad Udell - Developers are from Mars, Designers are from VenusChad Udell - Developers are from Mars, Designers are from Venus
Chad Udell - Developers are from Mars, Designers are from Venus
 
Wes Leonardo - Putting AIR into your Application
Wes Leonardo - Putting AIR into your ApplicationWes Leonardo - Putting AIR into your Application
Wes Leonardo - Putting AIR into your Application
 
Samuel Asher Rivello - PureMVC Hands On Part 1
Samuel Asher Rivello - PureMVC Hands On Part 1Samuel Asher Rivello - PureMVC Hands On Part 1
Samuel Asher Rivello - PureMVC Hands On Part 1
 
Adrian Pomilio - Flex Ajax Bridge and Legacy Applications
Adrian Pomilio - Flex Ajax Bridge and Legacy ApplicationsAdrian Pomilio - Flex Ajax Bridge and Legacy Applications
Adrian Pomilio - Flex Ajax Bridge and Legacy Applications
 
Samuel Asher Rivello - PureMVC Hands On Part 2
Samuel Asher Rivello - PureMVC Hands On Part 2Samuel Asher Rivello - PureMVC Hands On Part 2
Samuel Asher Rivello - PureMVC Hands On Part 2
 
Ryan Fishberg and Joan Lafferty - ItemsRenderers
Ryan Fishberg and Joan Lafferty - ItemsRenderersRyan Fishberg and Joan Lafferty - ItemsRenderers
Ryan Fishberg and Joan Lafferty - ItemsRenderers
 
Ryan Campbell - OpenFlux and Flex 4
Ryan Campbell - OpenFlux and Flex 4Ryan Campbell - OpenFlux and Flex 4
Ryan Campbell - OpenFlux and Flex 4
 
Ben Elmore - Do You Speak Flex
Ben Elmore - Do You Speak FlexBen Elmore - Do You Speak Flex
Ben Elmore - Do You Speak Flex
 
Francisco Inchauste - RIA Mojo - Making your Flex application standout with a...
Francisco Inchauste - RIA Mojo - Making your Flex application standout with a...Francisco Inchauste - RIA Mojo - Making your Flex application standout with a...
Francisco Inchauste - RIA Mojo - Making your Flex application standout with a...
 
Joe Johnston - FLEXperience - putting the Flex in UX
Joe Johnston - FLEXperience - putting the Flex in UXJoe Johnston - FLEXperience - putting the Flex in UX
Joe Johnston - FLEXperience - putting the Flex in UX
 
Bryc Barrand - The art of project management in large-scale Flex projects
Bryc Barrand - The art of project management in large-scale Flex projectsBryc Barrand - The art of project management in large-scale Flex projects
Bryc Barrand - The art of project management in large-scale Flex projects
 

Último

Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????blackmambaettijean
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 

Último (20)

Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 

Bending Pixels with Flex and Pixel Bender

  • 1. 360|Flex Indianapolis Bending and Flexing Using Pixel Bender with Flex Ryan Phelan - www.rphelan.com - @rphelan Copyright © 2004 - 2009 All Rights Reserved
  • 2. Bending and Flexing? ? ? Copyright © 2004 - 2009 All Rights Reserved
  • 3. Who Am I? 5+ years developing RIA & desktop apps in Flash/Flex/AIR Currently Lead Interactive Developer at Phenomblue Focus on Emerging technologies Improving workflow and productivity Copyright © 2004 - 2009 All Rights Reserved
  • 4. Topics Practical applications of Pixel Bender Technology/terminology overview Pixel Bender Toolkit Project Integration Performance Considerations Advanced Techniques Demos Copyright © 2004 - 2009 All Rights Reserved
  • 5. What is a pixel shader? Coloring Lighting Bump Mapping Reflection Specular Highlights Distortion Other Effects Copyright © 2004 - 2009 All Rights Reserved
  • 6. What is a pixel shader? One pixel at a time Can be done in parallel Takes 0 or more images as input and outputs an image based on a set of parameters Copyright © 2004 - 2009 All Rights Reserved
  • 7. What is Pixel Bender? Programming language for creating pixel shaders Similar to other C-based shader languages Used with Flash, After Effects, and Photoshop GLSL HLSL Copyright © 2004 - 2009 All Rights Reserved
  • 8. GPU vs. CPU Only runs on CPU in Flash Multi-threading used instead How does this affect performance? Copyright © 2004 - 2009 All Rights Reserved
  • 9. The Pixel Bender Toolkit http://labs.adobe.com/downloads/pixelbender.html Copyright © 2004 - 2009 All Rights Reserved
  • 10. Data Types Basic: Vector: bool, int, float, pixel1 float2, float3, float4 Matrix: bool2, bool3, bool4 float2x2 int2, int3, int4 float3x3 pixel2, pixel3, pixel4 float4x4 Copyright © 2004 - 2009 All Rights Reserved
  • 11. Vector Swizzling & Write Masking (AKA topics that will make you a hit at any party) 3 Forms: Interchangeable Not mixable r, g, b, a pixel.r == pixel.x pixel.ryp x, y, z, w pixel.rgb == pixel.stp pixel.xyza s, t, p, q Copyright © 2004 - 2009 All Rights Reserved
  • 12. Vector Swizzling & Write Masking (AKA topics that will make you a hit at any party) You can change the order to You can repeat channels swap values pixel.rrr pixel.bgr pixel.xx pixel.yx Copyright © 2004 - 2009 All Rights Reserved
  • 13. Limitations Specification Pixel Bender is Based on Shader Model spec (directX) Flash uses Shader Model 2.0 Photoshop and After Effects use Shader Model 3.0 Why? Flash is web based, needs to work on wider range of hardware. Copyright © 2004 - 2009 All Rights Reserved
  • 14. Limitations What can’t Pixel Bender Do? Loops or control structures other than if and else Custom support functions and libraries Region functions Arrays Dependent values Non-constant indices into vector values Copyright © 2004 - 2009 All Rights Reserved
  • 15. Incorporating Pixel Bender in Flex 1. Embed or load at runtime 2. Pass byte code to instance of Shader class 3. Render Use as a filter via DisplayObject.filters or BitmapData.applyFilter Use as a fill via Graphics.beginShaderFill or GraphicsShaderFill Use as a blend mode via DisplayObject.blendShader Crunch numbers via ShaderJob Copyright © 2004 - 2009 All Rights Reserved
  • 16. Performance ActionScript is faster for small data sets Asynchronous ShaderJobs are slower than synchronous Vector input is faster than ByteArray for large data sets Your mileage may vary (Don’t forget about alchemy) Copyright © 2004 - 2009 All Rights Reserved
  • 17. Wrapper Classes Wrapper classes provide Strong typing Known API Better reusability Ability to limit shader input values For fills and blend modes, extend flash.display.Shader For filters, extend flash.display.ShaderFilter Copyright © 2004 - 2009 All Rights Reserved
  • 18. Wrap Up Pixel Bender can be used in a large variety of ways, it’s not just for image editing apps. It can do certain types of calculations very efficiently. It can also be a CPU hog. Wrapper classes make your shaders simple to use. We have only scratched the surface. Go out there and innovate! Copyright © 2004 - 2009 All Rights Reserved
  • 19. Resources Official Pixel Bender Wiki – http://www.adobe.com/go/pixelbender_toolkit Pixel Bender Exchange – http://www.adobe.com/cfusion/exchange/index.cfm? event=productHome&exc=26 Pixel Bender on Twitter - http://twitter.com/pixelbender Forums - http://forums.adobe.com/community/adobe_labs/pixelbender Copyright © 2004 - 2009 All Rights Reserved
  • 20. Resources Sample Code Pixel Bender Explorer - http://extjs.com/blog/2009/02/19/pixel-bender-explorer BendPixels – http://code.google.com/p/bendpixels WPF Pixel Shader Effects Library - http://wpffx.codeplex.com Tutorials - http://www.gotoandlearn.com Authoring Eclipse Plugin - http://blog.joa-ebert.com/pbdt/ Copyright © 2004 - 2009 All Rights Reserved
  • 21. Resources Blogs Ryan Phelan - http://www.rphelan.com Joa Ebert - http://blog.joa-ebert.com Mr. Doob - http://mrdoob.com/blog Tom Beddard - http://www.subblue.com David Lenaert - http://www.derschmale.com Frank Reitberger - http://www.dasprinzip.com/prinzipiell Petri Leskinen - http://pixelero.wordpress.com Copyright © 2004 - 2009 All Rights Reserved