SlideShare una empresa de Scribd logo
1 de 37
Engaging the consumer  with visual effects –  Architectures and implementations for graphics  Prabindh Sundareson ( [email_address] )  Texas Instruments India TIITC2009 : Customer Centric Strategies DSPS
Outline ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],TIITC2009 : Customer Centric Strategies
What can Graphics do for me ? TIITC2009 : Customer Centric Strategies http://cg.cs.tsinghua.edu.cn:8080/cmm/?page_id=155
Graphics Frameworks Cheatsheet TIITC2009 : Customer Centric Strategies FB, V4l2 Cairo Clutter, QT, Opera DirectFB Surfaces X Window System/Mgrs Application Frameworks Buffers / blits Note: Cheatsheet table in appendix GDI DDr a w Win32/ Windowing System Win32, .NET, Silverlight
2D Graphics ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],TIITC2009 : Customer Centric Strategies
Case study: Webkit’s Call Sequence TIITC2009 : Customer Centric Strategies FillRectangles () BatchBlit() Blit(), mem_copy() Clear() Blit() TileBlit() FILL RECTANGLE SHOW GLYPHS SET CLIP  REGION ACQUIRE FONT  CACHE ALLOCATE  FONT CACHE SURFACE  COMPOSITE PREPARE/FINISH COMPOSITE
Summary of 2D – Browser Rendering Processes ,[object Object],[object Object],[object Object],[object Object],TIITC2009 : Customer Centric Strategies
2D Features - Anti-aliasing TIITC2009 : Customer Centric Strategies Coverage  proportional to  (1/x) Many advances – Supersampling is common now in all GPUs x
2D Features - Compositing TIITC2009 : Customer Centric Strategies SRC 1 -a src DST 1-a dst a dst SRC & DST SRC & NO-DST NO-DST & NO-SRC Compositing
Porter-Duff Operations ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],TIITC2009 : Customer Centric Strategies
A typical 2D Graphics HW Feature Set ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],TIITC2009 : Customer Centric Strategies
3D vs 2D ,[object Object],[object Object],[object Object],TIITC2009 : Customer Centric Strategies
Pixology  –  Video & Graphics ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],TIITC2009 : Customer Centric Strategies Basics
3D Concepts TIITC2009 : Customer Centric Strategies Light Source Shadows, Realism 1 2 3 4 This is hidden by  another object ! Not visible in the current Viewport !
3D Graphics ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],TIITC2009 : Customer Centric Strategies
Key OpenGL Terminologies ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],TIITC2009 : Customer Centric Strategies
The OpenGL  Bazaar TIITC2009 : Customer Centric Strategies OPENGL Full version ES version Common Common-Lite GLSL companion GLSL-ES companion What we miss in ES compared to desktop version: Polygons, Display lists, Accumulation buffers,… Currently in 3.0 Currently in 2.0 Currently in 1.0.16 Currently in 1.20 EGL Currently in 1.3 Core GL Spec Vertex/Frag shaders Platform interface and  Configuration setup EGL Currently in 1.3 2.0 vs 1.1
ES2.0,ES1.1 and Full Function ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],TIITC2009 : Customer Centric Strategies
ES2.0 Pipeline TIITC2009 : Customer Centric Strategies
Sample OpenGL ES 2.0 program TIITC2009 : Customer Centric Strategies Handle = get_platform_specific_window_handle(); eglGetDisplay (handle); eglInitialize (); eglBindAPI ( EGL_OPENGL_ES_API ); eglChooseConfig (); eglCreateWindowSurface (); eglCreateContext (); eglMakeCurrent (); //Compile and Load the shaders before this step … float  afVertices [] = {G,H,F,  F,H,E,  E,A,F, F,A,B, …}; glEnableVertexAttribArray (0); glVertexAttribPointer ( VERTEX_ARRAY, 3, GL_FLOAT, GL_FALSE, 0, (const void*)afVertices); glDrawArrays(GL_TRIANGLE_STRIP, 0, 4) ; eglSwapBuffers(eglDisplay, eglSurface); Setup Actors Show Keep showing the actors, in a loop, change view/position/texture ..  How does the shader code look like ?
Simple Shader ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],TIITC2009 : Customer Centric Strategies GL ES 2.0 permits shader code to be precompiled and loaded, or dynamically compiled and loaded
Alpha Blending ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],TIITC2009 : Customer Centric Strategies
Texturing using OpenGL ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],TIITC2009 : Customer Centric Strategies When we do texturing, scaling is automatic
Rotation with OpenGL ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],TIITC2009 : Customer Centric Strategies
Texturing with SGX - Example TIITC2009 : Customer Centric Strategies An example Window manager using texturing  and SGX only Efficient Rendering
Efficient Rendering Paths TIITC2009 : Customer Centric Strategies Discussion: How many ways can we implement this ?  ..SGX Core Display Draw
Overview of the SGX core TIITC2009 : Customer Centric Strategies SGX uses “deferred” rendering REF: POWERVR SGX.OpenGL ES 2.0 Application Development Recommendations.1.8f.External.pdf (from AnandTech)
Measuring Performance ,[object Object],[object Object],[object Object],TIITC2009 : Customer Centric Strategies DDR Bandwidth Raw Throughput Quality Raw Throughput Quality CPU Utilisation
Benchmarking Tools ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],TIITC2009 : Customer Centric Strategies
SGX Debugging Tools ,[object Object],[object Object],[object Object],TIITC2009 : Customer Centric Strategies GPU futures…
Texture as data ,[object Object],[object Object],[object Object],[object Object],TIITC2009 : Customer Centric Strategies
The OpenCL standard ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],TIITC2009 : Customer Centric Strategies Possibilities
Possibilities of GPU moving forward ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Conclusion
Conclusion ,[object Object],[object Object],[object Object],[object Object],[object Object],TIITC2009 : Customer Centric Strategies
References ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],TIITC2009 : Customer Centric Strategies
Which Graphics ? TIITC2009 : Customer Centric Strategies
Graphics Cheatsheet TIITC2009 : Customer Centric Strategies Name Author Description Cairo Cairo-graphics API that can take care of interfacing to multiple backends like X, DirectFB etc Flash Adobe Application framework for games, animation, video and others Clutter Intel UI development framework, based completely on OpenGL, with different backends Gst-Gl Gstreamer Plugin for allowing video to be played as OpenGL ES textures XGL,WGL,EGL Multiple Interfaces for native platform support for interfacing to the windowing system OpenGL/ES Khronos An API for 3D Graphics programming OpenCL Khronos An API for multi core programming QT Nokia/Trolltech An application framework to develop native applications Silverlight Microsoft An API primarily for Web Application programming, but also for native .NET Microsoft An API for application programming, with C# language Surfaceflinger Android/Google Framework for surface creation and managing drawing DirectFB DirectFB Framework for surface creation and managing drawing, mostly using HW support X11 X org A windowing system/Manager very common on Linux system DirectX Microsoft A collective name for interfaces like DirectDraw etc. Currently in DirectX11 version. Handles 3D and 2D GDI Microsoft Native API for Win32 programming Opera Opera Optimised Browser for embedded platforms Mesa3D/Gallium Mesa An Opensource implementation of OpenGL API on Linux, can use HW if present. Moving to Gallium3D Vincent3D Vincent An Opensource pure software implementation of OpenGL API on WinCE/Mo SDL SDL A UI API that is cross platform, primarily meant for Games but also used as backend for rendering GLEW - Linux library that makes it easier for an OpenGL application to use GL extensions GLUT - Cross platform library, having window system and GL utility funcs on different platforms

Más contenido relacionado

La actualidad más candente

Introduction to computer graphics
Introduction to computer graphicsIntroduction to computer graphics
Introduction to computer graphics
Amandeep Kaur
 
Window to viewport transformation&matrix representation of homogeneous co...
Window to viewport transformation&matrix representation of homogeneous co...Window to viewport transformation&matrix representation of homogeneous co...
Window to viewport transformation&matrix representation of homogeneous co...
Mani Kanth
 
Window to viewport transformation
Window to viewport transformationWindow to viewport transformation
Window to viewport transformation
Ankit Garg
 

La actualidad más candente (20)

Computer graphics notes
Computer graphics notesComputer graphics notes
Computer graphics notes
 
Introduction to computer graphics
Introduction to computer graphicsIntroduction to computer graphics
Introduction to computer graphics
 
Mid point circle algorithm
Mid point circle algorithmMid point circle algorithm
Mid point circle algorithm
 
Applications Of Computer Graphics
Applications Of Computer GraphicsApplications Of Computer Graphics
Applications Of Computer Graphics
 
3D Display
3D Display3D Display
3D Display
 
GRPHICS01 - Introduction to 3D Graphics
GRPHICS01 - Introduction to 3D GraphicsGRPHICS01 - Introduction to 3D Graphics
GRPHICS01 - Introduction to 3D Graphics
 
Depth Buffer Method
Depth Buffer MethodDepth Buffer Method
Depth Buffer Method
 
Polygon mesh
Polygon  meshPolygon  mesh
Polygon mesh
 
3 d display methods
3 d display methods3 d display methods
3 d display methods
 
Back face detection
Back face detectionBack face detection
Back face detection
 
Cyrus beck line clipping algorithm
Cyrus beck line clipping algorithmCyrus beck line clipping algorithm
Cyrus beck line clipping algorithm
 
Curves and surfaces
Curves and surfacesCurves and surfaces
Curves and surfaces
 
Window to viewport transformation&matrix representation of homogeneous co...
Window to viewport transformation&matrix representation of homogeneous co...Window to viewport transformation&matrix representation of homogeneous co...
Window to viewport transformation&matrix representation of homogeneous co...
 
Color models
Color modelsColor models
Color models
 
3D transformation in computer graphics
3D transformation in computer graphics3D transformation in computer graphics
3D transformation in computer graphics
 
Chapter 5 : ANIMATION
Chapter 5 : ANIMATIONChapter 5 : ANIMATION
Chapter 5 : ANIMATION
 
Computer Graphics
Computer GraphicsComputer Graphics
Computer Graphics
 
Introduction to computer graphics
Introduction to computer graphicsIntroduction to computer graphics
Introduction to computer graphics
 
Window to viewport transformation
Window to viewport transformationWindow to viewport transformation
Window to viewport transformation
 
Quadric surfaces
Quadric surfacesQuadric surfaces
Quadric surfaces
 

Destacado

Lecture 1.1 - Terms & Concepts
Lecture 1.1 - Terms & ConceptsLecture 1.1 - Terms & Concepts
Lecture 1.1 - Terms & Concepts
mgordon320
 
B.how to face_technological_tsunami_clustering_.pmi
B.how to face_technological_tsunami_clustering_.pmiB.how to face_technological_tsunami_clustering_.pmi
B.how to face_technological_tsunami_clustering_.pmi
gunseli
 
3D Graphics
3D Graphics3D Graphics
3D Graphics
ViTAly
 
Intro to 3D modeling a human
Intro to 3D modeling a human Intro to 3D modeling a human
Intro to 3D modeling a human
iain bruce
 

Destacado (20)

2D graphics
2D graphics2D graphics
2D graphics
 
3D Graphics & Rendering in Computer Graphics
3D Graphics & Rendering in Computer Graphics3D Graphics & Rendering in Computer Graphics
3D Graphics & Rendering in Computer Graphics
 
3 D Graphics
3 D Graphics3 D Graphics
3 D Graphics
 
3D visualisation - Chris Friel
3D visualisation - Chris Friel3D visualisation - Chris Friel
3D visualisation - Chris Friel
 
Ai3D_2016_
Ai3D_2016_Ai3D_2016_
Ai3D_2016_
 
WebGL: 3D Graphics for the Web
WebGL: 3D Graphics for the WebWebGL: 3D Graphics for the Web
WebGL: 3D Graphics for the Web
 
3 d
3 d3 d
3 d
 
Lecture 1.1 - Terms & Concepts
Lecture 1.1 - Terms & ConceptsLecture 1.1 - Terms & Concepts
Lecture 1.1 - Terms & Concepts
 
B.how to face_technological_tsunami_clustering_.pmi
B.how to face_technological_tsunami_clustering_.pmiB.how to face_technological_tsunami_clustering_.pmi
B.how to face_technological_tsunami_clustering_.pmi
 
Gamemaker lesson 1
Gamemaker lesson 1Gamemaker lesson 1
Gamemaker lesson 1
 
Launch of 3D project
Launch of 3D projectLaunch of 3D project
Launch of 3D project
 
3D Graphics
3D Graphics3D Graphics
3D Graphics
 
Intro to 3D modeling a human
Intro to 3D modeling a human Intro to 3D modeling a human
Intro to 3D modeling a human
 
[Android] 2D Graphics
[Android] 2D Graphics[Android] 2D Graphics
[Android] 2D Graphics
 
Unity 2d sharp
Unity 2d sharpUnity 2d sharp
Unity 2d sharp
 
2D Game Development with Starling
2D Game Development with Starling2D Game Development with Starling
2D Game Development with Starling
 
Computer_Graphics_basic_definitions_summary
Computer_Graphics_basic_definitions_summaryComputer_Graphics_basic_definitions_summary
Computer_Graphics_basic_definitions_summary
 
My Level Design For 2D Scroll Game
My Level Design For 2D Scroll GameMy Level Design For 2D Scroll Game
My Level Design For 2D Scroll Game
 
Developing a 2D Game - A Case Study (Ninja Puzzle) - Presented at CGGA 2013
Developing a 2D Game - A Case Study (Ninja Puzzle) - Presented at CGGA 2013Developing a 2D Game - A Case Study (Ninja Puzzle) - Presented at CGGA 2013
Developing a 2D Game - A Case Study (Ninja Puzzle) - Presented at CGGA 2013
 
3D Graphics 101
3D Graphics 1013D Graphics 101
3D Graphics 101
 

Similar a Introduction to 2D/3D Graphics

Introduction To Geometry Shaders
Introduction To Geometry ShadersIntroduction To Geometry Shaders
Introduction To Geometry Shaders
pjcozzi
 
VisionizeBeforeVisulaize_IEVC_Final
VisionizeBeforeVisulaize_IEVC_FinalVisionizeBeforeVisulaize_IEVC_Final
VisionizeBeforeVisulaize_IEVC_Final
Masatsugu HASHIMOTO
 

Similar a Introduction to 2D/3D Graphics (20)

openGL basics for sample program (1).ppt
openGL basics for sample program (1).pptopenGL basics for sample program (1).ppt
openGL basics for sample program (1).ppt
 
openGL basics for sample program.ppt
openGL basics for sample program.pptopenGL basics for sample program.ppt
openGL basics for sample program.ppt
 
OpenGL ES based UI Development on TI Platforms
OpenGL ES based UI Development on TI PlatformsOpenGL ES based UI Development on TI Platforms
OpenGL ES based UI Development on TI Platforms
 
Advanced Graphics Workshop - GFX2011
Advanced Graphics Workshop - GFX2011Advanced Graphics Workshop - GFX2011
Advanced Graphics Workshop - GFX2011
 
A Follow-up Cg Runtime Tutorial for Readers of The Cg Tutorial
A Follow-up Cg Runtime Tutorial for Readers of The Cg TutorialA Follow-up Cg Runtime Tutorial for Readers of The Cg Tutorial
A Follow-up Cg Runtime Tutorial for Readers of The Cg Tutorial
 
Opengl basics
Opengl basicsOpengl basics
Opengl basics
 
JIT Spraying Never Dies - Bypass CFG By Leveraging WARP Shader JIT Spraying.pdf
JIT Spraying Never Dies - Bypass CFG By Leveraging WARP Shader JIT Spraying.pdfJIT Spraying Never Dies - Bypass CFG By Leveraging WARP Shader JIT Spraying.pdf
JIT Spraying Never Dies - Bypass CFG By Leveraging WARP Shader JIT Spraying.pdf
 
Skia & Freetype - Android 2D Graphics Essentials
Skia & Freetype - Android 2D Graphics EssentialsSkia & Freetype - Android 2D Graphics Essentials
Skia & Freetype - Android 2D Graphics Essentials
 
OpenGL Introduction
OpenGL IntroductionOpenGL Introduction
OpenGL Introduction
 
OpenGL Fixed Function to Shaders - Porting a fixed function application to “m...
OpenGL Fixed Function to Shaders - Porting a fixed function application to “m...OpenGL Fixed Function to Shaders - Porting a fixed function application to “m...
OpenGL Fixed Function to Shaders - Porting a fixed function application to “m...
 
COMPUTER GRAPHICS PROJECT REPORT
COMPUTER GRAPHICS PROJECT REPORTCOMPUTER GRAPHICS PROJECT REPORT
COMPUTER GRAPHICS PROJECT REPORT
 
Mini Project final report on " LEAKY BUCKET ALGORITHM "
Mini Project final report on " LEAKY BUCKET ALGORITHM "Mini Project final report on " LEAKY BUCKET ALGORITHM "
Mini Project final report on " LEAKY BUCKET ALGORITHM "
 
An35225228
An35225228An35225228
An35225228
 
CAD STANDARDS - SMART MANUFACTURING MECH
CAD STANDARDS - SMART MANUFACTURING MECHCAD STANDARDS - SMART MANUFACTURING MECH
CAD STANDARDS - SMART MANUFACTURING MECH
 
Open gl
Open glOpen gl
Open gl
 
Qt Programming on TI Processors
Qt Programming on TI ProcessorsQt Programming on TI Processors
Qt Programming on TI Processors
 
Data structures graphics library in computer graphics.
Data structures  graphics library in computer graphics.Data structures  graphics library in computer graphics.
Data structures graphics library in computer graphics.
 
Introduction To Geometry Shaders
Introduction To Geometry ShadersIntroduction To Geometry Shaders
Introduction To Geometry Shaders
 
3D Programming Basics: WebGL
3D Programming Basics: WebGL3D Programming Basics: WebGL
3D Programming Basics: WebGL
 
VisionizeBeforeVisulaize_IEVC_Final
VisionizeBeforeVisulaize_IEVC_FinalVisionizeBeforeVisulaize_IEVC_Final
VisionizeBeforeVisulaize_IEVC_Final
 

Más de Prabindh Sundareson

Más de Prabindh Sundareson (20)

Synthetic Data and Graphics Techniques in Robotics
Synthetic Data and Graphics Techniques in RoboticsSynthetic Data and Graphics Techniques in Robotics
Synthetic Data and Graphics Techniques in Robotics
 
Work and Life
Work and Life Work and Life
Work and Life
 
GPU Algorithms and trends 2018
GPU Algorithms and trends 2018GPU Algorithms and trends 2018
GPU Algorithms and trends 2018
 
Machine learning in the Indian Context - IEEE talk at SRM Institute
Machine learning in the Indian Context - IEEE talk at SRM InstituteMachine learning in the Indian Context - IEEE talk at SRM Institute
Machine learning in the Indian Context - IEEE talk at SRM Institute
 
Students Hackathon - 2017
Students Hackathon - 2017Students Hackathon - 2017
Students Hackathon - 2017
 
ICCE Asia 2017 - Program Outline
ICCE Asia 2017 - Program OutlineICCE Asia 2017 - Program Outline
ICCE Asia 2017 - Program Outline
 
Call for Papers - ICCE Asia 2017
Call for Papers - ICCE Asia 2017Call for Papers - ICCE Asia 2017
Call for Papers - ICCE Asia 2017
 
Technology, Innovation - A Perspective
Technology, Innovation - A PerspectiveTechnology, Innovation - A Perspective
Technology, Innovation - A Perspective
 
Open Shading Language (OSL)
Open Shading Language (OSL)Open Shading Language (OSL)
Open Shading Language (OSL)
 
IEEE - Consumer Electronics Trends Opportunities (2015)
IEEE - Consumer Electronics Trends Opportunities (2015)IEEE - Consumer Electronics Trends Opportunities (2015)
IEEE - Consumer Electronics Trends Opportunities (2015)
 
GFX part 8 - Three.js introduction and usage
GFX part 8 - Three.js introduction and usageGFX part 8 - Three.js introduction and usage
GFX part 8 - Three.js introduction and usage
 
GFX Part 7 - Introduction to Rendering Targets in OpenGL ES
GFX Part 7 - Introduction to Rendering Targets in OpenGL ESGFX Part 7 - Introduction to Rendering Targets in OpenGL ES
GFX Part 7 - Introduction to Rendering Targets in OpenGL ES
 
GFX Part 6 - Introduction to Vertex and Fragment Shaders in OpenGL ES
GFX Part 6 - Introduction to Vertex and Fragment Shaders in OpenGL ESGFX Part 6 - Introduction to Vertex and Fragment Shaders in OpenGL ES
GFX Part 6 - Introduction to Vertex and Fragment Shaders in OpenGL ES
 
GFX Part 5 - Introduction to Object Transformations in OpenGL ES
GFX Part 5 - Introduction to Object Transformations in OpenGL ESGFX Part 5 - Introduction to Object Transformations in OpenGL ES
GFX Part 5 - Introduction to Object Transformations in OpenGL ES
 
GFX Part 4 - Introduction to Texturing in OpenGL ES
GFX Part 4 - Introduction to Texturing in OpenGL ESGFX Part 4 - Introduction to Texturing in OpenGL ES
GFX Part 4 - Introduction to Texturing in OpenGL ES
 
GFX Part 3 - Vertices and interactions in OpenGL
GFX Part 3 - Vertices and interactions in OpenGLGFX Part 3 - Vertices and interactions in OpenGL
GFX Part 3 - Vertices and interactions in OpenGL
 
GFX Part 2 - Introduction to GPU Programming
GFX Part 2 - Introduction to GPU ProgrammingGFX Part 2 - Introduction to GPU Programming
GFX Part 2 - Introduction to GPU Programming
 
GFX Part 1 - Introduction to GPU HW and OpenGL ES specifications
GFX Part 1 - Introduction to GPU HW and OpenGL ES specificationsGFX Part 1 - Introduction to GPU HW and OpenGL ES specifications
GFX Part 1 - Introduction to GPU HW and OpenGL ES specifications
 
John Carmack talk at SMU, April 2014 - Virtual Reality
John Carmack talk at SMU, April 2014 - Virtual RealityJohn Carmack talk at SMU, April 2014 - Virtual Reality
John Carmack talk at SMU, April 2014 - Virtual Reality
 
GFX2014 OpenGL ES Quiz
GFX2014 OpenGL ES QuizGFX2014 OpenGL ES Quiz
GFX2014 OpenGL ES Quiz
 

Último

Último (20)

Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 

Introduction to 2D/3D Graphics

  • 1. Engaging the consumer with visual effects – Architectures and implementations for graphics Prabindh Sundareson ( [email_address] ) Texas Instruments India TIITC2009 : Customer Centric Strategies DSPS
  • 2.
  • 3. What can Graphics do for me ? TIITC2009 : Customer Centric Strategies http://cg.cs.tsinghua.edu.cn:8080/cmm/?page_id=155
  • 4. Graphics Frameworks Cheatsheet TIITC2009 : Customer Centric Strategies FB, V4l2 Cairo Clutter, QT, Opera DirectFB Surfaces X Window System/Mgrs Application Frameworks Buffers / blits Note: Cheatsheet table in appendix GDI DDr a w Win32/ Windowing System Win32, .NET, Silverlight
  • 5.
  • 6. Case study: Webkit’s Call Sequence TIITC2009 : Customer Centric Strategies FillRectangles () BatchBlit() Blit(), mem_copy() Clear() Blit() TileBlit() FILL RECTANGLE SHOW GLYPHS SET CLIP REGION ACQUIRE FONT CACHE ALLOCATE FONT CACHE SURFACE COMPOSITE PREPARE/FINISH COMPOSITE
  • 7.
  • 8. 2D Features - Anti-aliasing TIITC2009 : Customer Centric Strategies Coverage proportional to (1/x) Many advances – Supersampling is common now in all GPUs x
  • 9. 2D Features - Compositing TIITC2009 : Customer Centric Strategies SRC 1 -a src DST 1-a dst a dst SRC & DST SRC & NO-DST NO-DST & NO-SRC Compositing
  • 10.
  • 11.
  • 12.
  • 13.
  • 14. 3D Concepts TIITC2009 : Customer Centric Strategies Light Source Shadows, Realism 1 2 3 4 This is hidden by another object ! Not visible in the current Viewport !
  • 15.
  • 16.
  • 17. The OpenGL Bazaar TIITC2009 : Customer Centric Strategies OPENGL Full version ES version Common Common-Lite GLSL companion GLSL-ES companion What we miss in ES compared to desktop version: Polygons, Display lists, Accumulation buffers,… Currently in 3.0 Currently in 2.0 Currently in 1.0.16 Currently in 1.20 EGL Currently in 1.3 Core GL Spec Vertex/Frag shaders Platform interface and Configuration setup EGL Currently in 1.3 2.0 vs 1.1
  • 18.
  • 19. ES2.0 Pipeline TIITC2009 : Customer Centric Strategies
  • 20. Sample OpenGL ES 2.0 program TIITC2009 : Customer Centric Strategies Handle = get_platform_specific_window_handle(); eglGetDisplay (handle); eglInitialize (); eglBindAPI ( EGL_OPENGL_ES_API ); eglChooseConfig (); eglCreateWindowSurface (); eglCreateContext (); eglMakeCurrent (); //Compile and Load the shaders before this step … float afVertices [] = {G,H,F, F,H,E, E,A,F, F,A,B, …}; glEnableVertexAttribArray (0); glVertexAttribPointer ( VERTEX_ARRAY, 3, GL_FLOAT, GL_FALSE, 0, (const void*)afVertices); glDrawArrays(GL_TRIANGLE_STRIP, 0, 4) ; eglSwapBuffers(eglDisplay, eglSurface); Setup Actors Show Keep showing the actors, in a loop, change view/position/texture .. How does the shader code look like ?
  • 21.
  • 22.
  • 23.
  • 24.
  • 25. Texturing with SGX - Example TIITC2009 : Customer Centric Strategies An example Window manager using texturing and SGX only Efficient Rendering
  • 26. Efficient Rendering Paths TIITC2009 : Customer Centric Strategies Discussion: How many ways can we implement this ? ..SGX Core Display Draw
  • 27. Overview of the SGX core TIITC2009 : Customer Centric Strategies SGX uses “deferred” rendering REF: POWERVR SGX.OpenGL ES 2.0 Application Development Recommendations.1.8f.External.pdf (from AnandTech)
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36. Which Graphics ? TIITC2009 : Customer Centric Strategies
  • 37. Graphics Cheatsheet TIITC2009 : Customer Centric Strategies Name Author Description Cairo Cairo-graphics API that can take care of interfacing to multiple backends like X, DirectFB etc Flash Adobe Application framework for games, animation, video and others Clutter Intel UI development framework, based completely on OpenGL, with different backends Gst-Gl Gstreamer Plugin for allowing video to be played as OpenGL ES textures XGL,WGL,EGL Multiple Interfaces for native platform support for interfacing to the windowing system OpenGL/ES Khronos An API for 3D Graphics programming OpenCL Khronos An API for multi core programming QT Nokia/Trolltech An application framework to develop native applications Silverlight Microsoft An API primarily for Web Application programming, but also for native .NET Microsoft An API for application programming, with C# language Surfaceflinger Android/Google Framework for surface creation and managing drawing DirectFB DirectFB Framework for surface creation and managing drawing, mostly using HW support X11 X org A windowing system/Manager very common on Linux system DirectX Microsoft A collective name for interfaces like DirectDraw etc. Currently in DirectX11 version. Handles 3D and 2D GDI Microsoft Native API for Win32 programming Opera Opera Optimised Browser for embedded platforms Mesa3D/Gallium Mesa An Opensource implementation of OpenGL API on Linux, can use HW if present. Moving to Gallium3D Vincent3D Vincent An Opensource pure software implementation of OpenGL API on WinCE/Mo SDL SDL A UI API that is cross platform, primarily meant for Games but also used as backend for rendering GLEW - Linux library that makes it easier for an OpenGL application to use GL extensions GLUT - Cross platform library, having window system and GL utility funcs on different platforms

Notas del editor

  1. Problem Statement and why is it important ( applications, issues etc)
  2. PIX COP – does packing/unpacking of data after rasterisation Texture cop – Generates texture address for fetch into the multi-level cache Tiling cop – Generates tiles from vertex shader (USSE) output and Rejects them if needed based on culling/clipping before giving to pixel shader USSE – vertex,pixel shading done, 4kb cached program Multilevel cache-L0=Textureonly,8pixels,L1=genpurpose 1KB,L2=genpurpose 1kB 32 linesx256bit, 4way set associative
  3. Figure, description, blow-up of part of the diagram if relevant Analogies if any