SlideShare una empresa de Scribd logo
1 de 64
Descargar para leer sin conexión
Graphics Programming in
OpenGL
Arvind Devaraj
Arvind Devaraj2
OpenGL and GLUT Overview
�� OpenGL is graphics API.OpenGL is graphics API.
�� Makes graphics programmingMakes graphics programming h/wh/w
independentindependent
�� GLUT is a toolkitGLUT is a toolkit
library of utilities using OpenGLlibrary of utilities using OpenGL
makes easier to use OpenGLmakes easier to use OpenGL
Arvind Devaraj
A
Arvind Devaraj
High Level
� Represent Objects as Primitives
� Apply Transformations on objects
� Projection : Visible portions are rendered
� Add realism by adding Light and
Texture
� Remember using State information
� Customize using Shaders
� Framebuffer operations
Arvind Devaraj5
OpenGL Geometric Primitives
GL_QUAD_STRIPGL_QUAD_STRIP
GL_POLYGONGL_POLYGON
GL_TRIANGLE_STRIPGL_TRIANGLE_STRIP GL_TRIANGLE_FANGL_TRIANGLE_FAN
GL_POINTSGL_POINTS
GL_LINESGL_LINES
GL_LINE_LOOPGL_LINE_LOOPGL_LINE_STRIPGL_LINE_STRIP
GL_TRIANGLESGL_TRIANGLES
GL_QUADSGL_QUADS
Arvind Devaraj6
Shapes Tutorial
Arvind Devaraj
Transformations
Arvind Devaraj8
Camera Analogy
�� Graphics Rendering is like taking aGraphics Rendering is like taking a
photographphotograph
�� 3D model3D model �� 2D image2D image
camera
tripod model
viewing
volume
Arvind Devaraj9
Transformations
�� Steps in Forming an ImageSteps in Forming an Image
� specify geometry (world coordinates)
� specify camera (camera coordinates)
� project (window coordinates)
� map to viewport (screen coordinates)
�� Each step uses transformationsEach step uses transformations
�� Transformation = change in coordinateTransformation = change in coordinate
systemssystems
Arvind Devaraj1
0
Camera Analogy of
Transformations
�� Projection transformationsProjection transformations
� adjust the lens of the camera
�� Viewing transformationsViewing transformations
� tripod–define position and orientation of
the viewing volume in the world
�� Modeling transformationsModeling transformations
� moving the model
�� ViewportViewport transformationstransformations
� enlarge or reduce the physical photograph
Arvind Devaraj1
1
Affine Transformations
�� Want transformations which preserveWant transformations which preserve
geometrygeometry
� Rotation, translation, scaling
� Projection
� Concatenation (composition)
Arvind Devaraj
Affine Transformations
� Basic Transformations
� Any transformation is Composition of these
Arvind Devaraj
Affine Transformation Matrix
Arvind Devaraj1
4
3D Transformations
�� A vertex is transformed by 4 x 4 matricesA vertex is transformed by 4 x 4 matrices
� all affine operations are matrix multiplications
� all matrices are stored column-major in
OpenGL
� matrices are always post-multiplied
� product of matrix and vector is
v
�
M
�
�
�
�
�
�
�
�
�
�
�
�
�
151173
141062
13951
12840
mmmm
mmmm
mmmm
mmmm
M
Arvind Devaraj1
5
Programming
Transformations
�� Prior to rendering, view, locate, andPrior to rendering, view, locate, and
orient:orient:
� eye/camera position
� 3D geometry
�� Manage the matricesManage the matrices
� including matrix stack
�� Combine (composite) transformationsCombine (composite) transformations
Arvind Devaraj1
6
v
e
r
t
e
x
Modelview
Matrix
Projection
Matrix
Perspective
Division
Viewport
Transform
Modelview
Modelview
Projection
�
�
�
object eye clip normalized
device
window
Transformation
Pipeline
Arvind Devaraj1
7
Viewing Transformations
�� Position the camera/eye in the scenePosition the camera/eye in the scene
� place the tripod down; aim camera
�� ToTo ““fly throughfly through”” a scenea scene
� change viewing transformation and
redraw scene
�� gluLookAtgluLookAt(( eyeeyexx,, eyeeyeyy,, eyeeyezz,,
aimaimxx,, aimaimyy,, aimaimzz,,
upupxx,, upupyy,, upupzz ))
� up vector determines unique orientation
tripod
Arvind Devaraj
Arvind Devaraj1
9
Transformations in OpenGL
�� ModelingModeling
�� ViewingViewing
� orient camera
� projection
�� AnimationAnimation
�� Map to screenMap to screen
Arvind Devaraj2
0
Transformation Tutorial
Arvind Devaraj
Projection
Arvind Devaraj2
2
Projection Tutorial
Arvind Devaraj2
3
Connection: Viewing and
Modeling
�� Moving camera is equivalent to movingMoving camera is equivalent to moving
every object in the world towards aevery object in the world towards a
stationary camerastationary camera
�� Viewing transformations are equivalentViewing transformations are equivalent
to several modeling transformationsto several modeling transformations
Arvind Devaraj2
4
Double Buffering
1
2
4
8
16
1
2
4
8
16
Front
Buffer
Back
Buffer
Display
Arvind Devaraj2
5
Depth Buffering and
Hidden Surface Removal
1
2
4
8
16
1
2
4
8
16
Color
Buffer
Depth
Buffer
Display
Arvind Devaraj
Lighting
Arvind Devaraj2
7
Phong Principles
�� Lighting simulates how objects reflectLighting simulates how objects reflect
lightlight
� material composition of object
� light’s color and position
Arvind Devaraj
Arvind Devaraj
Various Lighting Models
Arvind Devaraj3
0
Simulating Lights
�� PhongPhong lighting modellighting model
� Computed at vertices
�� Lighting contributorsLighting contributors
� Surface material properties
� Light properties
� Lighting model properties
Arvind Devaraj3
1
Surface
Normals
�� NormalsNormals define how a surface reflectsdefine how a surface reflects
lightlight
glNormal3f(glNormal3f( x, y, zx, y, z ))
� Current normal is used to compute vertex’s
color
Arvind Devaraj3
2
Light Position Tutorial
Arvind Devaraj
Texture Mapping
Arvind Devaraj3
4
Texture
Mapping
�� Apply image to geometryApply image to geometry
�� UsesUses
� Reduce Geometric complexity
� Add Realism
� Reflections
Arvind Devaraj
Texture Mapping
Reduce Geometric Complexity
Arvind Devaraj
Arvind Devaraj
Reflections – Environmental
Map
Arvind Devaraj3
8
Texture Mapping
s
t
x
y
z
image
geometry screen
Arvind Devaraj3
9
Texture Example
�� The texture (below) is aThe texture (below) is a
256 x 256 image that has been256 x 256 image that has been
mapped to a rectangularmapped to a rectangular
polygonpolygon
Arvind Devaraj4
0
Tutorial: Texture
Arvind Devaraj4
1
OpenGL’s State Machine
All Rendering info are remembered as state
info
State Information
Lighting
Shading
Texturing
Blending
Arvind Devaraj4
2
OpenGL’s State MachineAll Rendering info are remembered as state
info
Manipulating vertex attribute changes state
info
glColor()
glNormal()
glTexCoord()
Arvind Devaraj
Shaders
� Allow these transformations to be user
programmable
Arvind Devaraj
Arvind Devaraj
Shaders
Arvind Devaraj
Arvind Devaraj4
7
Getting to the Framebuffer
BlendingBlendingDepth
Test
Depth
Test DitheringDithering Logical
Operations
Logical
Operations
Scissor
Test
Scissor
Test
Stencil
Test
Stencil
Test
Alpha
Test
Alpha
Test
Fragment
Framebuffer
Arvind Devaraj
Blending
Stencil test
Depth test
Arvind Devaraj
Alpha : for blending effect
Arvind Devaraj
Arvind Devaraj5
1
Blending (using Alpha)
�� AlphaAlpha--Measure of OpacityMeasure of Opacity
� simulate translucent objects
� glass, water, etc.
� composite images
� Antialiasing
glEnable( GL_BLEND )
Arvind Devaraj5
2
Blending
�� Combine pixels with whatCombine pixels with what’’s in alreadys in already
in thein the framebufferframebuffer
glBlendFuncglBlendFunc(( srcsrc,, dstdst ))
FramebufferFramebuffer
PixelPixel
((dstdst))
Blending
Equation
Blending
Equation
FragmentFragment
((srcsrc))
BlendedBlended
PixelPixel
pfr CdstCsrcC
���
��
Arvind Devaraj
Blending- Demo
� Exercises
� add multiple shaders
� simple blend
� Demo (url devmaster)
� Advanced (notes)
Other blending modes
Texture blending
Arvind Devaraj
Stencil test
Arvind Devaraj
Stencil test
Arvind Devaraj
Accumulation buffer
� The accumulation buffer is simply an
extra image buffer that is used to
accumulate composite images.
Arvind Devaraj
Accumulation buffer
� Color buffer loses precision, so use float
buffer
�� CompositingCompositing
�� AntialiasingAntialiasing
�� FilteringFiltering
�� Motion BlurMotion Blur
Arvind Devaraj
OpenGLES
� There is no support for glBegin or
glEnd. Use vertex arrays and vertex
buffer objects instead.
� The only supported rasterization
primitives are points, lines and
triangles. Quads are not supported
� There is no support for display lists.
Arvind Devaraj
OpenGLES
� There is no support for the fixed-function
graphics pipeline. You must use your own
vertex and fragment shader programs.
� There is no support for viewing transforms
such as glFrustumf. You must compute your
own transformation matrix, pass it to the
vertex shader as a uniform variable, and
perform the matrix multiplication in the
shader.
� There is no support for specialized functions
such as glVertexPointer and glNormalPointer.
Use glVertexAttribPointer instead.
Arvind Devaraj
OpenGLES- Buffer Objects
� OpenGL cannot directly see any of your
memory
� Therefore, the first step is to allocate
some memory that OpenGL can see .
This is done with something called a
buffer object.
Think of a buffer object as an array of
GPU memory.
Arvind Devaraj
OpenGLES- Buffer Objects
� Pass arrays of vertices, colors, etc. to OpenGL
in a large chunk
glVertexPointer( 3, GL_FLOAT, 0, coords )
glColorPointer( 4, GL_FLOAT, 0, colors )
glEnableClientState( GL_VERTEX_ARRAY )
glEnableClientState( GL_COLOR_ARRAY )
glDrawArrays( GL_TRIANGLE_STRIP, 0,
numVerts );
Arvind Devaraj
OpenGLES - BufferObjects
� void InitializeVertexBuffer() {
glGenBuffers(1, &positionBufferObject);
glBindBuffer(GL_ARRAY_BUFFER, positionBufferObject);
glBufferData(GL_ARRAY_BUFFER, siz, vertexPositions,
GL_STATIC_DRAW);
glBindBuffer(GL_ARRAY_BUFFER, 0);
}
Arvind Devaraj
Exercises
� Moving ball animation
� Blending
� Texturing
���������������������������������������������������������������������������
���������������������������������������������������������������������������������
�����������������������������������������������������

Más contenido relacionado

La actualidad más candente

5강 알파와알파소팅
5강 알파와알파소팅5강 알파와알파소팅
5강 알파와알파소팅
JP Jung
 

La actualidad más candente (20)

VRM 標準シェーダ MToon の使い方
VRM 標準シェーダ MToon の使い方VRM 標準シェーダ MToon の使い方
VRM 標準シェーダ MToon の使い方
 
Introduction of openGL
Introduction  of openGLIntroduction  of openGL
Introduction of openGL
 
ゲーム開発とMVC
ゲーム開発とMVCゲーム開発とMVC
ゲーム開発とMVC
 
Unity道場08「絵づくりの基礎」ライティング虎の巻
Unity道場08「絵づくりの基礎」ライティング虎の巻Unity道場08「絵づくりの基礎」ライティング虎の巻
Unity道場08「絵づくりの基礎」ライティング虎の巻
 
OpenGL Basics
OpenGL BasicsOpenGL Basics
OpenGL Basics
 
Unity用ビジュアルノベルツール「宴3」開発帰還報告書
Unity用ビジュアルノベルツール「宴3」開発帰還報告書Unity用ビジュアルノベルツール「宴3」開発帰還報告書
Unity用ビジュアルノベルツール「宴3」開発帰還報告書
 
Cascade Shadow Mapping
Cascade Shadow MappingCascade Shadow Mapping
Cascade Shadow Mapping
 
Introduction to Convolutional Neural Networks
Introduction to Convolutional Neural NetworksIntroduction to Convolutional Neural Networks
Introduction to Convolutional Neural Networks
 
Building a camera in a program | Computer Graphics
Building a camera in a program | Computer GraphicsBuilding a camera in a program | Computer Graphics
Building a camera in a program | Computer Graphics
 
CEDEC 2020 - 高品質かつ低負荷な3Dライブを実現するシェーダー開発 ~『ラブライブ!スクールアイドルフェスティバル ALL STARS』(スク...
CEDEC 2020 - 高品質かつ低負荷な3Dライブを実現するシェーダー開発 ~『ラブライブ!スクールアイドルフェスティバル ALL STARS』(スク...CEDEC 2020 - 高品質かつ低負荷な3Dライブを実現するシェーダー開発 ~『ラブライブ!スクールアイドルフェスティバル ALL STARS』(スク...
CEDEC 2020 - 高品質かつ低負荷な3Dライブを実現するシェーダー開発 ~『ラブライブ!スクールアイドルフェスティバル ALL STARS』(スク...
 
CNN Tutorial
CNN TutorialCNN Tutorial
CNN Tutorial
 
NVIDIA's OpenGL Functionality
NVIDIA's OpenGL FunctionalityNVIDIA's OpenGL Functionality
NVIDIA's OpenGL Functionality
 
Unityとアセットツールで学ぶ「絵づくり」の基礎 ライト、シェーダー、イメージエフェクト
Unityとアセットツールで学ぶ「絵づくり」の基礎 ライト、シェーダー、イメージエフェクトUnityとアセットツールで学ぶ「絵づくり」の基礎 ライト、シェーダー、イメージエフェクト
Unityとアセットツールで学ぶ「絵づくり」の基礎 ライト、シェーダー、イメージエフェクト
 
5강 알파와알파소팅
5강 알파와알파소팅5강 알파와알파소팅
5강 알파와알파소팅
 
Introduction to Computer Vision.pdf
Introduction to Computer Vision.pdfIntroduction to Computer Vision.pdf
Introduction to Computer Vision.pdf
 
つぶやきGLSLのススメ
つぶやきGLSLのススメつぶやきGLSLのススメ
つぶやきGLSLのススメ
 
유니티의 툰셰이딩을 사용한 3D 애니메이션 표현
유니티의 툰셰이딩을 사용한 3D 애니메이션 표현유니티의 툰셰이딩을 사용한 3D 애니메이션 표현
유니티의 툰셰이딩을 사용한 3D 애니메이션 표현
 
NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis
NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis
NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis
 
Photo-realistic Single Image Super-resolution using a Generative Adversarial ...
Photo-realistic Single Image Super-resolution using a Generative Adversarial ...Photo-realistic Single Image Super-resolution using a Generative Adversarial ...
Photo-realistic Single Image Super-resolution using a Generative Adversarial ...
 
[DLHacks]StyleGANとBigGANのStyle mixing, morphing
[DLHacks]StyleGANとBigGANのStyle mixing, morphing[DLHacks]StyleGANとBigGANのStyle mixing, morphing
[DLHacks]StyleGANとBigGANのStyle mixing, morphing
 

Destacado

Android High performance in GPU using opengles and renderscript
Android High performance in GPU using opengles and renderscriptAndroid High performance in GPU using opengles and renderscript
Android High performance in GPU using opengles and renderscript
Arvind Devaraj
 

Destacado (20)

Solid modelling cg
Solid modelling cgSolid modelling cg
Solid modelling cg
 
Computer Graphics: Visible surface detection methods
Computer Graphics: Visible surface detection methodsComputer Graphics: Visible surface detection methods
Computer Graphics: Visible surface detection methods
 
Broadcast Receiver
Broadcast ReceiverBroadcast Receiver
Broadcast Receiver
 
Itcs 4120 introduction (c)
Itcs 4120 introduction (c)Itcs 4120 introduction (c)
Itcs 4120 introduction (c)
 
OpenGLES Android Graphics
OpenGLES Android GraphicsOpenGLES Android Graphics
OpenGLES Android Graphics
 
Android High performance in GPU using opengles and renderscript
Android High performance in GPU using opengles and renderscriptAndroid High performance in GPU using opengles and renderscript
Android High performance in GPU using opengles and renderscript
 
Bai 1
Bai 1Bai 1
Bai 1
 
Illumination and shading[vinayak garg]
Illumination and shading[vinayak garg]Illumination and shading[vinayak garg]
Illumination and shading[vinayak garg]
 
Introduction to protein structure
Introduction to protein structureIntroduction to protein structure
Introduction to protein structure
 
Computer graphics - Nitish Nagar
Computer graphics - Nitish NagarComputer graphics - Nitish Nagar
Computer graphics - Nitish Nagar
 
Популярная робототехника и 3д-печать
Популярная робототехника и 3д-печатьПопулярная робототехника и 3д-печать
Популярная робототехника и 3д-печать
 
создание печатных плат
создание печатных платсоздание печатных плат
создание печатных плат
 
Part I : Introduction to Protein Structure
Part I : Introduction to Protein StructurePart I : Introduction to Protein Structure
Part I : Introduction to Protein Structure
 
OpenGLES - Graphics Programming in Android
OpenGLES - Graphics Programming in Android OpenGLES - Graphics Programming in Android
OpenGLES - Graphics Programming in Android
 
OpenSCAD: трёхмерное моделирование для школьников и программистов
OpenSCAD: трёхмерное моделирование для школьников и программистовOpenSCAD: трёхмерное моделирование для школьников и программистов
OpenSCAD: трёхмерное моделирование для школьников и программистов
 
OpenGL ES 2.x Programming Introduction
OpenGL ES 2.x Programming IntroductionOpenGL ES 2.x Programming Introduction
OpenGL ES 2.x Programming Introduction
 
regularized boolean set operations
regularized boolean set operationsregularized boolean set operations
regularized boolean set operations
 
Protein protein interaction basic
Protein protein interaction basicProtein protein interaction basic
Protein protein interaction basic
 
Open GL Programming Training Session I
Open GL Programming Training Session IOpen GL Programming Training Session I
Open GL Programming Training Session I
 
The Ultimate Window Guide | Paramount Builders
The Ultimate Window Guide | Paramount BuildersThe Ultimate Window Guide | Paramount Builders
The Ultimate Window Guide | Paramount Builders
 

Similar a Graphics programming in open gl

Introduction To Geometry Shaders
Introduction To Geometry ShadersIntroduction To Geometry Shaders
Introduction To Geometry Shaders
pjcozzi
 
13th kandroid OpenGL and EGL
13th kandroid OpenGL and EGL13th kandroid OpenGL and EGL
13th kandroid OpenGL and EGL
Jungsoo Nam
 

Similar a Graphics programming in open gl (20)

Mixing Path Rendering and 3D
Mixing Path Rendering and 3DMixing Path Rendering and 3D
Mixing Path Rendering and 3D
 
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...
 
Modern OpenGL Usage: Using Vertex Buffer Objects Well
Modern OpenGL Usage: Using Vertex Buffer Objects Well Modern OpenGL Usage: Using Vertex Buffer Objects Well
Modern OpenGL Usage: Using Vertex Buffer Objects Well
 
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 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
 
Making High Quality Interactive VR with Unreal Engine Luis Cataldi
Making High Quality Interactive VR with Unreal Engine Luis CataldiMaking High Quality Interactive VR with Unreal Engine Luis Cataldi
Making High Quality Interactive VR with Unreal Engine Luis Cataldi
 
Making High Quality Interactive VR with Unreal Engine Luis Cataldi
Making High Quality Interactive VR with Unreal Engine Luis CataldiMaking High Quality Interactive VR with Unreal Engine Luis Cataldi
Making High Quality Interactive VR with Unreal Engine Luis Cataldi
 
Shader Programming With Unity
Shader Programming With UnityShader Programming With Unity
Shader Programming With Unity
 
Introduction To Geometry Shaders
Introduction To Geometry ShadersIntroduction To Geometry Shaders
Introduction To Geometry Shaders
 
OpenGL 3.2 and More
OpenGL 3.2 and MoreOpenGL 3.2 and More
OpenGL 3.2 and More
 
Avoiding 19 Common OpenGL Pitfalls
Avoiding 19 Common OpenGL PitfallsAvoiding 19 Common OpenGL Pitfalls
Avoiding 19 Common OpenGL Pitfalls
 
CS 354 Transformation, Clipping, and Culling
CS 354 Transformation, Clipping, and CullingCS 354 Transformation, Clipping, and Culling
CS 354 Transformation, Clipping, and Culling
 
3 d graphics with opengl part 2
3 d graphics with opengl  part 23 d graphics with opengl  part 2
3 d graphics with opengl part 2
 
Chapter-3.pdf
Chapter-3.pdfChapter-3.pdf
Chapter-3.pdf
 
Advanced Game Development with the Mobile 3D Graphics API
Advanced Game Development with the Mobile 3D Graphics APIAdvanced Game Development with the Mobile 3D Graphics API
Advanced Game Development with the Mobile 3D Graphics API
 
Android native gl
Android native glAndroid native gl
Android native gl
 
Shadow Volumes on Programmable Graphics Hardware
Shadow Volumes on Programmable Graphics HardwareShadow Volumes on Programmable Graphics Hardware
Shadow Volumes on Programmable Graphics Hardware
 
Opengl basics
Opengl basicsOpengl basics
Opengl basics
 
13th kandroid OpenGL and EGL
13th kandroid OpenGL and EGL13th kandroid OpenGL and EGL
13th kandroid OpenGL and EGL
 
CS 354 Programmable Shading
CS 354 Programmable ShadingCS 354 Programmable Shading
CS 354 Programmable Shading
 

Más de Arvind Devaraj

Yourstory Android Workshop
Yourstory Android WorkshopYourstory Android Workshop
Yourstory Android Workshop
Arvind Devaraj
 
Sorting (introduction)
 Sorting (introduction) Sorting (introduction)
Sorting (introduction)
Arvind Devaraj
 
Data structures (introduction)
 Data structures (introduction) Data structures (introduction)
Data structures (introduction)
Arvind Devaraj
 
Signal Processing Introduction using Fourier Transforms
Signal Processing Introduction using Fourier TransformsSignal Processing Introduction using Fourier Transforms
Signal Processing Introduction using Fourier Transforms
Arvind Devaraj
 

Más de Arvind Devaraj (20)

Deep learning for NLP and Transformer
 Deep learning for NLP  and Transformer Deep learning for NLP  and Transformer
Deep learning for NLP and Transformer
 
NLP using transformers
NLP using transformers NLP using transformers
NLP using transformers
 
Nodejs presentation
Nodejs presentationNodejs presentation
Nodejs presentation
 
Career hunt pitch
Career hunt pitchCareer hunt pitch
Career hunt pitch
 
Career options for CS and IT students
Career options for CS and IT studentsCareer options for CS and IT students
Career options for CS and IT students
 
Careerhunt ebook
Careerhunt ebookCareerhunt ebook
Careerhunt ebook
 
Static Analysis of Computer programs
Static Analysis of Computer programs Static Analysis of Computer programs
Static Analysis of Computer programs
 
Hyperbook
HyperbookHyperbook
Hyperbook
 
Yourstory Android Workshop
Yourstory Android WorkshopYourstory Android Workshop
Yourstory Android Workshop
 
AIDL - Android Interface Definition Language
AIDL  - Android Interface Definition LanguageAIDL  - Android Interface Definition Language
AIDL - Android Interface Definition Language
 
NDK Programming in Android
NDK Programming in AndroidNDK Programming in Android
NDK Programming in Android
 
Google Cloud Messaging
Google Cloud MessagingGoogle Cloud Messaging
Google Cloud Messaging
 
Operating system
Operating systemOperating system
Operating system
 
Sorting (introduction)
 Sorting (introduction) Sorting (introduction)
Sorting (introduction)
 
Data structures (introduction)
 Data structures (introduction) Data structures (introduction)
Data structures (introduction)
 
Signal Processing Introduction using Fourier Transforms
Signal Processing Introduction using Fourier TransformsSignal Processing Introduction using Fourier Transforms
Signal Processing Introduction using Fourier Transforms
 
Thesis: Slicing of Java Programs using the Soot Framework (2006)
Thesis:  Slicing of Java Programs using the Soot Framework (2006) Thesis:  Slicing of Java Programs using the Soot Framework (2006)
Thesis: Slicing of Java Programs using the Soot Framework (2006)
 
Computer Systems
Computer SystemsComputer Systems
Computer Systems
 
Computability
Computability Computability
Computability
 
Fourier Transforms
Fourier TransformsFourier Transforms
Fourier Transforms
 

Último

Último (20)

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
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
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...
 
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, ...
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
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...
 
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
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 

Graphics programming in open gl