SlideShare une entreprise Scribd logo
1  sur  21
What is OpenGL ?
KOLIBER
OpenGL ( Open Graphics Library )
• Is a cross-language, cross-platformAPI for rendering 2D and 3D
vector graphics.The API is typically used to interact with a graphics
processing unit (GPU), to achieve hardware-accelerated rendering
• the people who make GPUs, are responsible for writing
implementations of the OpenGL rendering system.Their
implementations, commonly called "drivers“ , translate OpenGL API
commands into GPU commands
OpenGL History
• Development started by SGI (Silicon Graphics INC.) at 1991 (
developers groups name was ARB ( IBM , Microsoft , Nvidia , … )
• First release at 1992 ( OpenGL 1.0 )
• Last release by SGI at 2 July 2006 ( OpenGL 2.1 )
• Maintainer changed at July 2006 ( from SGI to Khronos Group( SGI ,
ATI , Nvidia , … ) )
• First big release by Khronos at 11 Agust 2008 ( OpenGL 3.0 )
• Last release by Khronos at 31 July 2017 ( OpenGL 4.6 )
OpenGL usages
Games Animations andVideos
virtual realityCAD (Computer Aided Design )
Mobile phones
OpenGL Libraries
• gl: OpenGL Core library ( rendering , drawing vertices , … )
• glu: OpenGL Utility library ( transforming , rotating , mathematical
operations over GPU , … )
• glut: OpenGL Utility Toolkit library ( multiplatform window system
interface )
• wgl,cgl,glx: Advance window system interface for OS (windows ,
*unix , mac , … )
OpenGL Libraries
OpenGL implementations
• Nvidia OpenGL ( called nvidia driver – for nvidia GPUs )
• AMD OpenGL ( called amd driver – for amd GPUs )
• Mesa3D ( open source opengl implementation for Intel HD graphics )
Deep into base !
Some questions
• What is GPU ?
Like CPUs , GPUs are processors , but for huge processes like
rendering
• What is Rendering ?
Rendering means the process of translating 2D or 3D geometry to raster
Image
• Is GPU only for rendering ?
Of course not , GPGPU ( general purpose graphics processing
unit ) , is the use of a GPU to perform computation in
applications traditionally handled by the CPU
Some questions
• CPU vs GPU ?
As we know CPUs are devided by brands (Intel , AMD , …) , ISAs
(CISC , RISC , ZISC , MISC , …) , … , GPUs can be devided by
parameters such brands ( Nvidia , Intel , AMD , … ) ,
Architectures (Kepler , Maxwell , Pascal ,Volta , … ) and etc
• Can we write an application for GPU ?
Like CPUs that have compiler ( translating high-level language
to assembly ( clang , gcc , cc , … ) ) and assembler ( translate
assembly to machine code ( nasm , yasm , … ) ) , GPUs are
programmable , too and have compiler ( nvcc , hcc , … ) and
assembler ( gcnasm , asfermi , … )
• What is OpenGL for ?
For writing applications with interacting to GPU for rendering , we
need deep knowledge about our GPU Architecture and hardware to
create a simple application , renders a model , so OpenGL is a higher
level API for simple interacting with GPU
Deep into OpenGL !
OpenGL rendering pipeline
• At the first level OpenGL gets vertex array of our model and
our texture coordinates or ( color and coordinates )
• At the second level OpenGL will translate , rotate , scale our
vertices based on the transformation and perspective
matrices ( position calculator )
• At the third level OpenGL assembles our vertices into
triangles based on primitive type
• At the fourth level OpenGL rasterizes our triangles into pixel
format based on view port matrices and
• At the fifth level OpenGL will colorize and texturize our pixels (
called fragment shader or pixel shader ) ( color chooser )
• At the sixth level OpenGL will test our pixels and do some
blending operations and at the end will write pixels into
framebuffer for showing in display
OpenGL rendering pipeline
Vertex shader ( position calculator )
Fragment shader (color chooser )
Another simple view of OpenGL pipeline
OpenGL rendering pipeline
Primitive types for triangle assembling at level two
Rasterization ?
Rasterization ?
Testing ?
Some time’s OpenGL may fail to
rendering correctly like this picture
The DepthTest is a per-sample
processing operation performed
after the Fragment Shader for
detecting incorrect frames and
discarding them .
An important question !
How can you render this simple wall ? How many
triangles you need to render it ? 100 ? 1000 ? Millions ?
Oh is wrong to use Millions of triangles for rendering a
simple wall !
So how can you ?
Of course ! Textures 
You can use a simple rectangle and map this image on
it ( called texture mapping )
An important question !
OpenGL texture mapping
Any question ?
Resources
• https://www.khronos.org/
• https://www.wikipedia.org/
• https://www.mesa3d.org/
• https://code.tutsplus.com/

Contenu connexe

Tendances

Lecture 6 introduction to open gl and glut
Lecture 6   introduction to open gl and glutLecture 6   introduction to open gl and glut
Lecture 6 introduction to open gl and glut
simpleok
 
Graphics software
Graphics softwareGraphics software
Graphics software
Mohd Arif
 
Graphics Kernel System (GKS).pptx
Graphics Kernel System (GKS).pptxGraphics Kernel System (GKS).pptx
Graphics Kernel System (GKS).pptx
FriendsPark1
 
B spline surfeces
B spline surfecesB spline surfeces
B spline surfeces
ramac123
 
Visible surface determination
Visible  surface determinationVisible  surface determination
Visible surface determination
Patel Punit
 
Graphics software standards
Graphics software standardsGraphics software standards
Graphics software standards
Ankit Garg
 

Tendances (20)

Opengl presentation
Opengl presentationOpengl presentation
Opengl presentation
 
OpenGL Basics
OpenGL BasicsOpenGL Basics
OpenGL Basics
 
Lecture 6 introduction to open gl and glut
Lecture 6   introduction to open gl and glutLecture 6   introduction to open gl and glut
Lecture 6 introduction to open gl and glut
 
Seminar presentation on OpenGL
Seminar presentation on OpenGLSeminar presentation on OpenGL
Seminar presentation on OpenGL
 
Open gl
Open glOpen gl
Open gl
 
Introduction to 2D/3D Graphics
Introduction to 2D/3D GraphicsIntroduction to 2D/3D Graphics
Introduction to 2D/3D Graphics
 
Clipping
ClippingClipping
Clipping
 
Graphics programming in open gl
Graphics programming in open glGraphics programming in open gl
Graphics programming in open gl
 
Graphics software
Graphics softwareGraphics software
Graphics software
 
Curves and surfaces
Curves and surfacesCurves and surfaces
Curves and surfaces
 
Anti- aliasing computer graphics
Anti- aliasing computer graphicsAnti- aliasing computer graphics
Anti- aliasing computer graphics
 
Graphics Kernel System (GKS).pptx
Graphics Kernel System (GKS).pptxGraphics Kernel System (GKS).pptx
Graphics Kernel System (GKS).pptx
 
B spline surfeces
B spline surfecesB spline surfeces
B spline surfeces
 
Applications Of Computer Graphics
Applications Of Computer GraphicsApplications Of Computer Graphics
Applications Of Computer Graphics
 
Cs8092 computer graphics and multimedia unit 3
Cs8092 computer graphics and multimedia unit 3Cs8092 computer graphics and multimedia unit 3
Cs8092 computer graphics and multimedia unit 3
 
Mid point circle algorithm
Mid point circle algorithmMid point circle algorithm
Mid point circle algorithm
 
Computer graphics
Computer graphicsComputer graphics
Computer graphics
 
Fixed point scaling
Fixed point scalingFixed point scaling
Fixed point scaling
 
Visible surface determination
Visible  surface determinationVisible  surface determination
Visible surface determination
 
Graphics software standards
Graphics software standardsGraphics software standards
Graphics software standards
 

Similaire à What is OpenGL ?

Gdc 14 bringing unreal engine 4 to open_gl
Gdc 14 bringing unreal engine 4 to open_glGdc 14 bringing unreal engine 4 to open_gl
Gdc 14 bringing unreal engine 4 to open_gl
changehee lee
 
13th kandroid OpenGL and EGL
13th kandroid OpenGL and EGL13th kandroid OpenGL and EGL
13th kandroid OpenGL and EGL
Jungsoo Nam
 
SIGGRAPH Asia 2008 Modern OpenGL
SIGGRAPH Asia 2008 Modern OpenGLSIGGRAPH Asia 2008 Modern OpenGL
SIGGRAPH Asia 2008 Modern OpenGL
Mark Kilgard
 
VisionizeBeforeVisulaize_IEVC_Final
VisionizeBeforeVisulaize_IEVC_FinalVisionizeBeforeVisulaize_IEVC_Final
VisionizeBeforeVisulaize_IEVC_Final
Masatsugu HASHIMOTO
 
Android open gl2_droidcon_2014
Android open gl2_droidcon_2014Android open gl2_droidcon_2014
Android open gl2_droidcon_2014
Droidcon Berlin
 

Similaire à What is OpenGL ? (20)

OpenGL Shading Language
OpenGL Shading LanguageOpenGL Shading Language
OpenGL Shading Language
 
High performance graphics and computation - OpenGL ES and RenderScript
High performance graphics and computation - OpenGL ES and RenderScript High performance graphics and computation - OpenGL ES and RenderScript
High performance graphics and computation - OpenGL ES and RenderScript
 
Gdc 14 bringing unreal engine 4 to open_gl
Gdc 14 bringing unreal engine 4 to open_glGdc 14 bringing unreal engine 4 to open_gl
Gdc 14 bringing unreal engine 4 to open_gl
 
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
 
(2) gui drawing
(2) gui drawing(2) gui drawing
(2) gui drawing
 
The next generation of GPU APIs for Game Engines
The next generation of GPU APIs for Game EnginesThe next generation of GPU APIs for Game Engines
The next generation of GPU APIs for Game Engines
 
Compute API –Past & Future
Compute API –Past & FutureCompute API –Past & Future
Compute API –Past & Future
 
13th kandroid OpenGL and EGL
13th kandroid OpenGL and EGL13th kandroid OpenGL and EGL
13th kandroid OpenGL and EGL
 
Shader Programming With Unity
Shader Programming With UnityShader Programming With Unity
Shader Programming With Unity
 
Android native gl
Android native glAndroid native gl
Android native gl
 
Graphics Libraries
Graphics LibrariesGraphics Libraries
Graphics Libraries
 
2D graphics
2D graphics2D graphics
2D graphics
 
SIGGRAPH Asia 2008 Modern OpenGL
SIGGRAPH Asia 2008 Modern OpenGLSIGGRAPH Asia 2008 Modern OpenGL
SIGGRAPH Asia 2008 Modern OpenGL
 
(2) gui drawing
(2) gui drawing(2) gui drawing
(2) gui drawing
 
VisionizeBeforeVisulaize_IEVC_Final
VisionizeBeforeVisulaize_IEVC_FinalVisionizeBeforeVisulaize_IEVC_Final
VisionizeBeforeVisulaize_IEVC_Final
 
CS 354 Programmable Shading
CS 354 Programmable ShadingCS 354 Programmable Shading
CS 354 Programmable Shading
 
OpenGL ES and Mobile GPU
OpenGL ES and Mobile GPUOpenGL ES and Mobile GPU
OpenGL ES and Mobile GPU
 
Android open gl2_droidcon_2014
Android open gl2_droidcon_2014Android open gl2_droidcon_2014
Android open gl2_droidcon_2014
 
3 CG_U1_P2_PPT_3 OpenGL.pptx
3 CG_U1_P2_PPT_3 OpenGL.pptx3 CG_U1_P2_PPT_3 OpenGL.pptx
3 CG_U1_P2_PPT_3 OpenGL.pptx
 
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
 

Dernier

%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
masabamasaba
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
masabamasaba
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
VictoriaMetrics
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
masabamasaba
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
chiefasafspells
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
masabamasaba
 

Dernier (20)

WSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security Program
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
 
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 

What is OpenGL ?

  • 1. What is OpenGL ? KOLIBER
  • 2. OpenGL ( Open Graphics Library ) • Is a cross-language, cross-platformAPI for rendering 2D and 3D vector graphics.The API is typically used to interact with a graphics processing unit (GPU), to achieve hardware-accelerated rendering • the people who make GPUs, are responsible for writing implementations of the OpenGL rendering system.Their implementations, commonly called "drivers“ , translate OpenGL API commands into GPU commands
  • 3. OpenGL History • Development started by SGI (Silicon Graphics INC.) at 1991 ( developers groups name was ARB ( IBM , Microsoft , Nvidia , … ) • First release at 1992 ( OpenGL 1.0 ) • Last release by SGI at 2 July 2006 ( OpenGL 2.1 ) • Maintainer changed at July 2006 ( from SGI to Khronos Group( SGI , ATI , Nvidia , … ) ) • First big release by Khronos at 11 Agust 2008 ( OpenGL 3.0 ) • Last release by Khronos at 31 July 2017 ( OpenGL 4.6 )
  • 4. OpenGL usages Games Animations andVideos virtual realityCAD (Computer Aided Design ) Mobile phones
  • 5. OpenGL Libraries • gl: OpenGL Core library ( rendering , drawing vertices , … ) • glu: OpenGL Utility library ( transforming , rotating , mathematical operations over GPU , … ) • glut: OpenGL Utility Toolkit library ( multiplatform window system interface ) • wgl,cgl,glx: Advance window system interface for OS (windows , *unix , mac , … )
  • 7. OpenGL implementations • Nvidia OpenGL ( called nvidia driver – for nvidia GPUs ) • AMD OpenGL ( called amd driver – for amd GPUs ) • Mesa3D ( open source opengl implementation for Intel HD graphics )
  • 9. Some questions • What is GPU ? Like CPUs , GPUs are processors , but for huge processes like rendering • What is Rendering ? Rendering means the process of translating 2D or 3D geometry to raster Image • Is GPU only for rendering ? Of course not , GPGPU ( general purpose graphics processing unit ) , is the use of a GPU to perform computation in applications traditionally handled by the CPU
  • 10. Some questions • CPU vs GPU ? As we know CPUs are devided by brands (Intel , AMD , …) , ISAs (CISC , RISC , ZISC , MISC , …) , … , GPUs can be devided by parameters such brands ( Nvidia , Intel , AMD , … ) , Architectures (Kepler , Maxwell , Pascal ,Volta , … ) and etc • Can we write an application for GPU ? Like CPUs that have compiler ( translating high-level language to assembly ( clang , gcc , cc , … ) ) and assembler ( translate assembly to machine code ( nasm , yasm , … ) ) , GPUs are programmable , too and have compiler ( nvcc , hcc , … ) and assembler ( gcnasm , asfermi , … ) • What is OpenGL for ? For writing applications with interacting to GPU for rendering , we need deep knowledge about our GPU Architecture and hardware to create a simple application , renders a model , so OpenGL is a higher level API for simple interacting with GPU
  • 12. OpenGL rendering pipeline • At the first level OpenGL gets vertex array of our model and our texture coordinates or ( color and coordinates ) • At the second level OpenGL will translate , rotate , scale our vertices based on the transformation and perspective matrices ( position calculator ) • At the third level OpenGL assembles our vertices into triangles based on primitive type • At the fourth level OpenGL rasterizes our triangles into pixel format based on view port matrices and • At the fifth level OpenGL will colorize and texturize our pixels ( called fragment shader or pixel shader ) ( color chooser ) • At the sixth level OpenGL will test our pixels and do some blending operations and at the end will write pixels into framebuffer for showing in display
  • 13. OpenGL rendering pipeline Vertex shader ( position calculator ) Fragment shader (color chooser ) Another simple view of OpenGL pipeline
  • 14. OpenGL rendering pipeline Primitive types for triangle assembling at level two
  • 17. Testing ? Some time’s OpenGL may fail to rendering correctly like this picture The DepthTest is a per-sample processing operation performed after the Fragment Shader for detecting incorrect frames and discarding them .
  • 18. An important question ! How can you render this simple wall ? How many triangles you need to render it ? 100 ? 1000 ? Millions ? Oh is wrong to use Millions of triangles for rendering a simple wall ! So how can you ? Of course ! Textures  You can use a simple rectangle and map this image on it ( called texture mapping )
  • 19. An important question ! OpenGL texture mapping
  • 21. Resources • https://www.khronos.org/ • https://www.wikipedia.org/ • https://www.mesa3d.org/ • https://code.tutsplus.com/