SlideShare ist ein Scribd-Unternehmen logo
1 von 64
Downloaden Sie, um offline zu lesen
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
���������������������������������������������������������������������������
���������������������������������������������������������������������������������
�����������������������������������������������������

Weitere ähnliche Inhalte

Was ist angesagt?

Introduction of openGL
Introduction  of openGLIntroduction  of openGL
Introduction of openGLGary Yeh
 
Handwritten character recognition using artificial neural network
Handwritten character recognition using artificial neural networkHandwritten character recognition using artificial neural network
Handwritten character recognition using artificial neural networkHarshana Madusanka Jayamaha
 
Mathematical operations in image processing
Mathematical operations in image processingMathematical operations in image processing
Mathematical operations in image processingAsad Ali
 
Computer Vision Presentation Artificial Intelligence (AI)
Computer Vision Presentation Artificial Intelligence (AI)Computer Vision Presentation Artificial Intelligence (AI)
Computer Vision Presentation Artificial Intelligence (AI)AshTheMidBenchers
 
Image processing
Image processingImage processing
Image processingPooja G N
 
Image cryptography
Image cryptographyImage cryptography
Image cryptographyMuneesh Wari
 
Lec14 multiview stereo
Lec14 multiview stereoLec14 multiview stereo
Lec14 multiview stereoBaliThorat1
 
ImageJを使った画像解析実習〜起動・終了とファイルの入出力〜
ImageJを使った画像解析実習〜起動・終了とファイルの入出力〜ImageJを使った画像解析実習〜起動・終了とファイルの入出力〜
ImageJを使った画像解析実習〜起動・終了とファイルの入出力〜LPIXEL
 
Object Pose Estimation
Object Pose EstimationObject Pose Estimation
Object Pose EstimationArithmer Inc.
 
Fundamentals steps in Digital Image processing
Fundamentals steps in Digital Image processingFundamentals steps in Digital Image processing
Fundamentals steps in Digital Image processingKarthicaMarasamy
 
Intensity Transformation Functions of image with Matlab
Intensity Transformation Functions of image with Matlab Intensity Transformation Functions of image with Matlab
Intensity Transformation Functions of image with Matlab Shafi Sourov
 
TFLite_and_PyTorch_Mobile
TFLite_and_PyTorch_MobileTFLite_and_PyTorch_Mobile
TFLite_and_PyTorch_Mobileyusuke shibui
 

Was ist angesagt? (20)

Introduction of openGL
Introduction  of openGLIntroduction  of openGL
Introduction of openGL
 
Handwritten character recognition using artificial neural network
Handwritten character recognition using artificial neural networkHandwritten character recognition using artificial neural network
Handwritten character recognition using artificial neural network
 
Dip chapter 2
Dip chapter 2Dip chapter 2
Dip chapter 2
 
Computer vision ppt
Computer vision pptComputer vision ppt
Computer vision ppt
 
Computer vision ppt
Computer vision pptComputer vision ppt
Computer vision ppt
 
Image processing
Image processingImage processing
Image processing
 
Mathematical operations in image processing
Mathematical operations in image processingMathematical operations in image processing
Mathematical operations in image processing
 
Computer Vision Presentation Artificial Intelligence (AI)
Computer Vision Presentation Artificial Intelligence (AI)Computer Vision Presentation Artificial Intelligence (AI)
Computer Vision Presentation Artificial Intelligence (AI)
 
Computer Vision
Computer VisionComputer Vision
Computer Vision
 
Image processing
Image processingImage processing
Image processing
 
Image cryptography
Image cryptographyImage cryptography
Image cryptography
 
Lec14 multiview stereo
Lec14 multiview stereoLec14 multiview stereo
Lec14 multiview stereo
 
ImageJを使った画像解析実習〜起動・終了とファイルの入出力〜
ImageJを使った画像解析実習〜起動・終了とファイルの入出力〜ImageJを使った画像解析実習〜起動・終了とファイルの入出力〜
ImageJを使った画像解析実習〜起動・終了とファイルの入出力〜
 
Object Pose Estimation
Object Pose EstimationObject Pose Estimation
Object Pose Estimation
 
Image segmentation
Image segmentationImage segmentation
Image segmentation
 
OpenGL basics
OpenGL basicsOpenGL basics
OpenGL basics
 
Fundamentals steps in Digital Image processing
Fundamentals steps in Digital Image processingFundamentals steps in Digital Image processing
Fundamentals steps in Digital Image processing
 
Intensity Transformation Functions of image with Matlab
Intensity Transformation Functions of image with Matlab Intensity Transformation Functions of image with Matlab
Intensity Transformation Functions of image with Matlab
 
Image processing
Image processingImage processing
Image processing
 
TFLite_and_PyTorch_Mobile
TFLite_and_PyTorch_MobileTFLite_and_PyTorch_Mobile
TFLite_and_PyTorch_Mobile
 

Andere mochten auch

Solid modelling cg
Solid modelling cgSolid modelling cg
Solid modelling cgNareek
 
Computer Graphics: Visible surface detection methods
Computer Graphics: Visible surface detection methodsComputer Graphics: Visible surface detection methods
Computer Graphics: Visible surface detection methodsJoseph Charles
 
Itcs 4120 introduction (c)
Itcs 4120 introduction (c)Itcs 4120 introduction (c)
Itcs 4120 introduction (c)yaminigoyal
 
OpenGLES Android Graphics
OpenGLES Android GraphicsOpenGLES Android Graphics
OpenGLES Android GraphicsArvind Devaraj
 
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 renderscriptArvind Devaraj
 
Illumination and shading[vinayak garg]
Illumination and shading[vinayak garg]Illumination and shading[vinayak garg]
Illumination and shading[vinayak garg]Vinayak Garg
 
Introduction to protein structure
Introduction to protein structureIntroduction to protein structure
Introduction to protein structureBilal El Houdaigui
 
Computer graphics - Nitish Nagar
Computer graphics - Nitish NagarComputer graphics - Nitish Nagar
Computer graphics - Nitish NagarNitish Nagar
 
Популярная робототехника и 3д-печать
Популярная робототехника и 3д-печатьПопулярная робототехника и 3д-печать
Популярная робототехника и 3д-печатьAnton Moiseev
 
создание печатных плат
создание печатных платсоздание печатных плат
создание печатных платAnton Moiseev
 
OpenGLES - Graphics Programming in Android
OpenGLES - Graphics Programming in Android OpenGLES - Graphics Programming in Android
OpenGLES - Graphics Programming in Android Arvind Devaraj
 
OpenSCAD: трёхмерное моделирование для школьников и программистов
OpenSCAD: трёхмерное моделирование для школьников и программистовOpenSCAD: трёхмерное моделирование для школьников и программистов
OpenSCAD: трёхмерное моделирование для школьников и программистовAnton Moiseev
 
OpenGL ES 2.x Programming Introduction
OpenGL ES 2.x Programming IntroductionOpenGL ES 2.x Programming Introduction
OpenGL ES 2.x Programming IntroductionChamp Yen
 
regularized boolean set operations
regularized boolean set operationsregularized boolean set operations
regularized boolean set operationsHitesh Parmar
 
Protein protein interaction basic
Protein protein interaction basicProtein protein interaction basic
Protein protein interaction basicAyesha Aftab
 
Open GL Programming Training Session I
Open GL Programming Training Session IOpen GL Programming Training Session I
Open GL Programming Training Session INEEVEE Technologies
 

Andere mochten auch (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
 
OpenGL Basics
OpenGL BasicsOpenGL Basics
OpenGL Basics
 
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
 

Ähnlich wie Graphics Programming Tutorial in OpenGL

Mixing Path Rendering and 3D
Mixing Path Rendering and 3DMixing Path Rendering and 3D
Mixing Path Rendering and 3DMark Kilgard
 
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...ICS
 
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 Mark Kilgard
 
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 OpenGLPrabindh Sundareson
 
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 ESPrabindh Sundareson
 
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 CataldiUnreal Engine
 
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 CataldiLuis Cataldi
 
Shader Programming With Unity
Shader Programming With UnityShader Programming With Unity
Shader Programming With UnityMindstorm Studios
 
Introduction To Geometry Shaders
Introduction To Geometry ShadersIntroduction To Geometry Shaders
Introduction To Geometry Shaderspjcozzi
 
OpenGL 3.2 and More
OpenGL 3.2 and MoreOpenGL 3.2 and More
OpenGL 3.2 and MoreMark Kilgard
 
Avoiding 19 Common OpenGL Pitfalls
Avoiding 19 Common OpenGL PitfallsAvoiding 19 Common OpenGL Pitfalls
Avoiding 19 Common OpenGL PitfallsMark Kilgard
 
NVIDIA's OpenGL Functionality
NVIDIA's OpenGL FunctionalityNVIDIA's OpenGL Functionality
NVIDIA's OpenGL FunctionalityMark Kilgard
 
CS 354 Transformation, Clipping, and Culling
CS 354 Transformation, Clipping, and CullingCS 354 Transformation, Clipping, and Culling
CS 354 Transformation, Clipping, and CullingMark Kilgard
 
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 2Sardar Alam
 
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 APITomi Aarnio
 
Shadow Volumes on Programmable Graphics Hardware
Shadow Volumes on Programmable Graphics HardwareShadow Volumes on Programmable Graphics Hardware
Shadow Volumes on Programmable Graphics Hardwarestefan_b
 

Ähnlich wie Graphics Programming Tutorial in OpenGL (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
 
OpenGL Introduction
OpenGL IntroductionOpenGL Introduction
OpenGL Introduction
 
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
 
NVIDIA's OpenGL Functionality
NVIDIA's OpenGL FunctionalityNVIDIA's OpenGL Functionality
NVIDIA's OpenGL Functionality
 
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
 

Mehr von Arvind Devaraj

Deep learning for NLP and Transformer
 Deep learning for NLP  and Transformer Deep learning for NLP  and Transformer
Deep learning for NLP and TransformerArvind Devaraj
 
NLP using transformers
NLP using transformers NLP using transformers
NLP using transformers Arvind Devaraj
 
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 studentsArvind Devaraj
 
Static Analysis of Computer programs
Static Analysis of Computer programs Static Analysis of Computer programs
Static Analysis of Computer programs Arvind Devaraj
 
Yourstory Android Workshop
Yourstory Android WorkshopYourstory Android Workshop
Yourstory Android WorkshopArvind Devaraj
 
AIDL - Android Interface Definition Language
AIDL  - Android Interface Definition LanguageAIDL  - Android Interface Definition Language
AIDL - Android Interface Definition LanguageArvind Devaraj
 
NDK Programming in Android
NDK Programming in AndroidNDK Programming in Android
NDK Programming in AndroidArvind Devaraj
 
Google Cloud Messaging
Google Cloud MessagingGoogle Cloud Messaging
Google Cloud MessagingArvind 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 TransformsArvind Devaraj
 
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) Arvind Devaraj
 

Mehr von 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
 

Kürzlich hochgeladen

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
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
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
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
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
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
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
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 

Kürzlich hochgeladen (20)

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
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
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
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
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
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
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!
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 

Graphics Programming Tutorial in OpenGL