Upload
others
View
5
Download
0
Embed Size (px)
Citation preview
Overview Understanding principles of 3D programmingUnderstanding drawing PrimitivesUnderstanding transformation matrix and ColoringUnderstanding Blending and Texture mappingUnderstanding Shaders programming and Display List.Understanding OpenGL integration with Qt
Duration Three days - 24 hours (8 hours a day)50% of lecture, 50% of practical labs.
Trainer http://www.linkedin.com/in/pravinkumarsinha
Audience Professional 3D Software developers
Prerequisite Knowledge of C programmingIn particular, participants must be familiar with creating and dealing withcomplex data types and structures, with pointers to such symbols, as well aswith function pointers.Advance C training agenda is available athttp://www.minhinc.com/training/c/advance-c-agenda.php
and can be downloaded fromhttp://www.minhinc.com/training/advance-c-agenda.pdf
Knowledge of Object Oriented ConceptsQt integration requires Oops concept like Abstraction, Inheritance,Polymorphism knowledge.
Setup Linux machine with GNU C++ compiler with Qt OpenGL version installed.
OpenGL Essentials Training3-day session
© www.minhinc.com p1
Day 1 Morning
Lecture - Introduction
GPUsShadersHardware accelerationOpenGL History and evolutionGraphics terminologies, i.e. Display list,Resolution, Modeling, GeometryRepresentation, Evaluators, Primitives,Pixel Operations, Rasterization, FragmentOperation)Command SyntaxState machineRendering PipelineOpenGL, OpenGLES, GLX and WebGLGLU and GLEWGLUT, GLFW and OpenGL utility Toolkit
Lecture - Drawing Primitives
Describing points, lines and polygonState managementNormal vectorVertex arrayAttribute groupsInline functionsglu library functionBuffer ObjectsExample, building sphere, cylinder,cone
Lecture - Viewing
TransformationsViewing and Modeling transformationsProjection and Viewport transformationsGrand coordinate systemsFix coordinate systemsManaging Local coordinate systemsManipulating Matrix Stacks.- ModelView matrix- Project matrixExample, Building a solar system
Lecture - Color & Lighting
RGBA and Color index modeColor and Shading modeCreating Light sourceSelecting lighting modelDefining material properties
Lecture
Lecture session will be course content presentation through the trainer.Any source code example related to the topic will be demonstrated, it wouldinclude executing the binaries. Complete lecture material can be downloaded fromhttp://www.minhinc.com/training/advance-gl-slides.pdf
Labs
Labs session would be completely hands on session where each example(with example data and execution instruction) would be provided to thestudents. Students can verify their results with the results provided inthe material.
© www.MinhInc.com p2
Day 1 Afternoon
Lab
Draw a cylinder using normal glVertexDraw a cylinder using vertex arrayValidate if transformations are not associative. i.e translation+roation not same to rotation+translatonAdd a moon to mars in solar systemDraw sphere using glu library. Add and movelight source near and far.Let add lighting support in solar system through sun.
Day 2 Morning
Lecture - Blending, Antialiasing, Fog and Polygon Offset
The source and destination factors in blendingThree dimensional blending with the Depth BufferAntialiasing Geometric Primitives with MultisamplingFog equationsPolygon Offset
Lecture - Display List & Pixel Operation
Creating and executing a display listExecuting multiple display listsManaging state variable with display listsBitmaps and FontsImagesImaging pipeline - Pixel Packing and Unpacking, 32 and 64 bit- Controlling Pixel-Storage Modes, 32-64 bit- Pixel-Transfer Operations- Pixel MappingUsing Buffer Objects with Pixel Rectangle Data- Using Buffer Objects in Transfer and Retrieve Pixel Data
Lecture - Texture Mapping
Steps in texture mappingSpecifying the texture- Texture Proxy, Texture Array- Mipmaps:Multiple LevelFilteringTexture ObjectTexture Functions- Texture combiner functionMultitexturingThe texture matrix stackDepth texture
© www.MinhInc.com p3
Day 2 Afternoon
Lecture - Framebuffer, Tessallators & Quadrics
Color BufferDepth BufferStencil BufferAccumulation BufferPolygon tessallationQuadrics:Rendering Spheres, Cylinders and disks
Lecture - Evaluators and NURBS
EvaluatorsThe GLU NURBS Interfaces
Lab
Draw alphabet using DisplayList and BitmapApply texture on earth in Solar System
Day 3 Morning
Lecture - GLSL Shader Programming
GLSL versionsSyntax (Data types, statements, Functionsand Sub routines)Various Shaders (vertex, fragment,geometry) and relations to GraphicsPipelineCreating ShaderInter Shader CommunicationAccessing Texture maps in shaders
© www.MinhInc.com p4
Day 3 Afternoon
Lecture - OpenGL integration with Qt
gl functions through Qt-QOpenGLFunctionsFramebuffer operationsVertex-QOpenGLVertexArrayObject-QSurfaceFormat-QOpenGLContext-QOpenGLFramebufferObject-QOpenGLFramebufferObjectFormatWindow-QOpenGLWidget-initialzeGL,resizeGL,paintGL functions-painting 2D and 3D togetherShader programming-QOpenGLShader-QOpenGLShaderProgram
Lecture - OpenGL Modeling programs
OpenGL Modeling programs(Overview)- Autodesk- Maya- Google SkethcUpOpenGL Blender- Blender 3D
Lab
Create a cube and place a lightsource
© www.MinhInc.com p5
OpenGL EssentialsOpenGL Essenstials- Training Course
Minh, Inc.
DISCLAIMERDISCLAIMER
Text of this document is written in Bembo Std Otf(13 pt) font.Text of this document is written in Bembo Std Otf(13 pt) font.
Code parts are written in Consolas (10 pts) font.Code parts are written in Consolas (10 pts) font.
This training material is provided through This training material is provided through Minh, Inc., B'lore, India, B'lore, IndiaPdf version of this document is available at Pdf version of this document is available at http://www.minhinc.com/training/advance-gl-slides.pdfFor suggestion(s) or complaint(s) write to us at For suggestion(s) or complaint(s) write to us at [email protected]
Document modified on Sep-30-2019 Document modified on Sep-30-2019
Document contains 24 pages.Document contains 24 pages.
Day 1 Morning
1. IntroductionOpenGL - IntroductionOpenGL - IntroductionGPUs, Shaders, Hadrdware AccelerationGPUs, Shaders, Hadrdware Acceleration
OpenGL History and evolutionOpenGL History and evolution
Abstract : OpengGL library is a software interface to graphics hardware. It does not : OpengGL library is a software interface to graphics hardware. It does not provides any windowing system.provides any windowing system.
Day 1 Morning
1. IntroductionOpenGL - IntroductionOpenGL - Introduction
GPUs, Shaders, Hadrdware AccelerationGPUs, Shaders, Hadrdware AccelerationOpenGL History and evolutionOpenGL History and evolution
Abstract:Graphics process unit (GPU) is a special hardware that does faster mathematical:Graphics process unit (GPU) is a special hardware that does faster mathematical computations for matrixes.computations for matrixes.
- OpenGL provide 'C' programming interface to control graphics hardware.- OpenGL does not provide any windowing system or way to control user input.
Note :- OpenGL doesn't provide readymade 3D high level model, like automobile models. It instead provide basic point,line and polygon drawing primitives. GLU library uses glu basic primitives and provides high level mesh, Nurbs surface drawing algorthims.- OpenGL is just an alogorithms which takes input from a) Vertex primitives b) Textures
in order to generate the framebuffer and then finally display buffer. --------------- ------------ | texture | | vertex | | (pixel data)| | primitives| --------------- ------------- | | | | +------------------------------+ | . . | --------------- | Per Fragment| | Operation | --------------- | --------------- | Framebuffer | | Operation | --------------- | v Output dataOpenGL basic architecture is to initialize the various drawing states then draw the primtives | | v --------------- | Set the | | States | |for Primitives| --------------- | | v -------------- | Draw the | | Primitives | -------------- | | v
GPU is a processing unit with its own physical memory. Vertex transformations and Fragment computations are done on GPU.
GPU processes code written in shaders language. Shaders are fed to GPU to make the computation. Most used shaders are- Vertex shaders- Fragment shaders
© www.minhinc.com p6
Day 1 Morning
1. IntroductionOpenGL - IntroductionOpenGL - Introduction
GPUs, Shaders, Hadrdware AccelerationGPUs, Shaders, Hadrdware Acceleration
OpenGL History and evolutionOpenGL History and evolution
OpenGL is a 3D drawing c APIs developed by Silicon Graphics Inc. (SGI) in 1991. Where it inspired by available Iris 3D GL programming. First version 1.0 was released in 1992 without texture support.
1991-2006 - Silicon Graphics2006 - Khronos Group
Various OpenGL major releasesOpenGL 1.0 (1992)OpenGL 1.1 (1997) - Vertex arrays - Polygon offsets - Texture - Texture proxy - Texture objectsOpenGL 1.2(1998) - 3D textures - pixel formats - vertex array draw element rangeOpengL 1.3 (2001) - Multisample - Multitexture - Transpose matrixOpengGL 1.4 (2002) - Blend squaring - Depth textures and shadows - Fog coordinates - Multiple draw arrays - Stencil wrapOpenGL 1.5 (2003) - Buffer objectsOpenGL 2.0 (2004)--+--- Shader Programming Language introduced - GLSL 1.1 | - Shader programs +---- Fixed line functions implemetented through GLSL internally - Shader objects - Seprate stencilOpenGL 2.1 (2006) - GLSL 1.2 - Pixel buffer objects - sRGB texturesOpenGL 3.0 (2008) - GLSL 1.3 - Framebuffer objects - Multisample renderbuffer objects - conditional rendering - array textures Deprecated features - color index mode - Begin/End primitve - Fixed function vertex processing - Bitmaps - Pixel drawing - Polygon stripple - Display Lists - Texture borders - Alpha test - Accumuation buffers - Evaluators - Fixed function fragment processing - Shading language 1.10 and 1.20OpenGL 3.1 (2009)
© www.minhinc.com p7
- GLSL 1.40 with Instancing - Deprecated features removed except wide lines - Buffer textures - Rectangle textures /----> core (only programming line functions)OpenGL 3.2 (2009)------- - GLSL 1.5 \----> compatibility (retaining fixed line functions) - Core(no deprecated function) and compatibility profiles(with deprecated functions)OpenGL 3.3 (2010) - GLSL 3.3 - Dual - source blending - Sample Objects - Texture swizzle - Instanced arrays - Vertex attributes 2.10.10.10OpenGL 4.0 (2010) - GLSL 4.0 with tessalation on GPU, shaders with 64-bit precision - Buffer texture - Indirect drawing without multidrawOpenGL 4.1 (2010) - GLSL 4.1 developer-friendly debug output - compatibility with OpenGL ES 2.0 - Query and load binary blob for program objectsOpenGL 4.2 (2011) - GLSL 4.20 Shaders with atomic counters - Allowing shaders to read and write images - Allowing incrementing/decrementing ad fetching of buffer object memory locations from shadersOpenGL 4.3 (2012) - GLSL 4.30 Compute shaders leveraging GPU parallelism - shader storage buffer objectsOpenGL 4.4 (2013) - GLSL 4.40 Buffer Placement Control - Shader Variable Layout - Bindless Texture Extension - Sparse Texture ExtensionOpenGL 4.5 (2014) - GLSL 4.50 Direct State Access (DSA) - Flush Control - DX11 emulation featuresOpenGL 4.6 (2017) - GLSL 4.60 More efficient geometry processing and shader execution - polygon offset clamp - SPIR-V - anisotropic filtering
Any functions introduced by venders gets vendor name, i.e NVI introduced constants are GL_NV_half_float, GL_HALF_FLOAT_NV and the function glVertex2hNV(). If these functions become ubiquitous then it is introduced as EXT or ARB (Archtecture review board) extension. Khronos group is new name for ARB group.OpenGL stack on Linux
© www.minhinc.com p8
© www.minhinc.com p9
Day 1 Morning
2. Drawing PrimitivesDescribing points, lines and polygonDescribing points, lines and polygonState managementState management
Normal vectorNormal vector
Vertex arrayVertex array
Attribute groupsAttribute groups
Inline functionsInline functions
glu library functionglu library function
Buffer ObjectsBuffer Objects
Example, building sphere, cylinder,Example, building sphere, cylinder, cone cone
Day 1 Morning
2. Drawing PrimitivesDescribing points, lines and polygonDescribing points, lines and polygon
State managementState managementNormal vectorNormal vector
Vertex arrayVertex array
Attribute groupsAttribute groups
Inline functionsInline functions
glu library functionglu library function
Buffer ObjectsBuffer Objects
Example, building sphere, cylinder,Example, building sphere, cylinder, cone cone
Day 1 Morning
2. Drawing PrimitivesDescribing points, lines and polygonDescribing points, lines and polygon
State managementState management
Normal vectorNormal vectorVertex arrayVertex array
Attribute groupsAttribute groups
Inline functionsInline functions
glu library functionglu library function
Buffer ObjectsBuffer Objects
Example, building sphere, cylinder,Example, building sphere, cylinder, cone cone
Day 1 Morning
2. Drawing PrimitivesDescribing points, lines and polygonDescribing points, lines and polygon
State managementState management
Normal vectorNormal vector
Vertex arrayVertex arrayAttribute groupsAttribute groups
Inline functionsInline functions
glu library functionglu library function
Buffer ObjectsBuffer Objects
Example, building sphere, cylinder,Example, building sphere, cylinder, cone cone
Day 1 Morning
2. Drawing PrimitivesDescribing points, lines and polygonDescribing points, lines and polygon
State managementState management
Normal vectorNormal vector
Vertex arrayVertex array
Attribute groupsAttribute groupsInline functionsInline functions
glu library functionglu library function
Buffer ObjectsBuffer Objects
Example, building sphere, cylinder,Example, building sphere, cylinder, cone cone
Day 1 Morning
2. Drawing PrimitivesDescribing points, lines and polygonDescribing points, lines and polygon
State managementState management
Normal vectorNormal vector
Vertex arrayVertex array
Attribute groupsAttribute groups
Inline functionsInline functionsglu library functionglu library function
Buffer ObjectsBuffer Objects
Example, building sphere, cylinder,Example, building sphere, cylinder, cone cone
© www.minhinc.com p10
Day 1 Morning
2. Drawing PrimitivesDescribing points, lines and polygonDescribing points, lines and polygon
State managementState management
Normal vectorNormal vector
Vertex arrayVertex array
Attribute groupsAttribute groups
Inline functionsInline functions
glu library functionglu library functionBuffer ObjectsBuffer Objects
Example, building sphere, cylinder,Example, building sphere, cylinder, cone cone
Day 1 Morning
2. Drawing PrimitivesDescribing points, lines and polygonDescribing points, lines and polygon
State managementState management
Normal vectorNormal vector
Vertex arrayVertex array
Attribute groupsAttribute groups
Inline functionsInline functions
glu library functionglu library function
Buffer ObjectsBuffer ObjectsExample, building sphere, cylinder,Example, building sphere, cylinder, cone cone
Day 1 Morning
2. Drawing PrimitivesDescribing points, lines and polygonDescribing points, lines and polygon
State managementState management
Normal vectorNormal vector
Vertex arrayVertex array
Attribute groupsAttribute groups
Inline functionsInline functions
glu library functionglu library function
Buffer ObjectsBuffer Objects
Example, building sphere, cylinder,Example, building sphere, cylinder,conecone
© www.minhinc.com p11
Day 1 Morning
3. ViewingTransformationsTransformationsViewing and Modeling transformationsViewing and Modeling transformations
Projection and Viewport transformationsProjection and Viewport transformations
Grand coordinate systemsGrand coordinate systems
Fix coordinate systemsFix coordinate systems
Managing Local coordinate systemsManaging Local coordinate systems
Manipulating Matrix Stacks.Manipulating Matrix Stacks. - ModelView matrix - ModelView matrix - Project matrix - Project matrixExample, Building a solar systemExample, Building a solar system
Day 1 Morning
3. ViewingTransformationsTransformations
Viewing and Modeling transformationsViewing and Modeling transformationsProjection and Viewport transformationsProjection and Viewport transformations
Grand coordinate systemsGrand coordinate systems
Fix coordinate systemsFix coordinate systems
Managing Local coordinate systemsManaging Local coordinate systems
Manipulating Matrix Stacks.Manipulating Matrix Stacks. - ModelView matrix - ModelView matrix - Project matrix - Project matrixExample, Building a solar systemExample, Building a solar system
Day 1 Morning
3. ViewingTransformationsTransformations
Viewing and Modeling transformationsViewing and Modeling transformations
Projection and Viewport transformationsProjection and Viewport transformationsGrand coordinate systemsGrand coordinate systems
Fix coordinate systemsFix coordinate systems
Managing Local coordinate systemsManaging Local coordinate systems
Manipulating Matrix Stacks.Manipulating Matrix Stacks. - ModelView matrix - ModelView matrix - Project matrix - Project matrixExample, Building a solar systemExample, Building a solar system
Day 1 Morning
3. ViewingTransformationsTransformations
Viewing and Modeling transformationsViewing and Modeling transformations
Projection and Viewport transformationsProjection and Viewport transformations
Grand coordinate systemsGrand coordinate systemsFix coordinate systemsFix coordinate systems
Managing Local coordinate systemsManaging Local coordinate systems
Manipulating Matrix Stacks.Manipulating Matrix Stacks. - ModelView matrix - ModelView matrix - Project matrix - Project matrixExample, Building a solar systemExample, Building a solar system
Day 1 Morning
3. ViewingTransformationsTransformations
Viewing and Modeling transformationsViewing and Modeling transformations
Projection and Viewport transformationsProjection and Viewport transformations
Grand coordinate systemsGrand coordinate systems
Fix coordinate systemsFix coordinate systemsManaging Local coordinate systemsManaging Local coordinate systems
Manipulating Matrix Stacks.Manipulating Matrix Stacks. - ModelView matrix - ModelView matrix - Project matrix - Project matrixExample, Building a solar systemExample, Building a solar system
Day 1 Morning
3. ViewingTransformationsTransformations
Viewing and Modeling transformationsViewing and Modeling transformations
Projection and Viewport transformationsProjection and Viewport transformations
Grand coordinate systemsGrand coordinate systems
Fix coordinate systemsFix coordinate systems
Managing Local coordinate systemsManaging Local coordinate systemsManipulating Matrix Stacks.Manipulating Matrix Stacks. - ModelView matrix - ModelView matrix - Project matrix - Project matrixExample, Building a solar systemExample, Building a solar system
© www.minhinc.com p12
Day 1 Morning
3. ViewingTransformationsTransformations
Viewing and Modeling transformationsViewing and Modeling transformations
Projection and Viewport transformationsProjection and Viewport transformations
Grand coordinate systemsGrand coordinate systems
Fix coordinate systemsFix coordinate systems
Managing Local coordinate systemsManaging Local coordinate systems
Manipulating Matrix Stacks.Manipulating Matrix Stacks.- ModelView matrix- ModelView matrix- Project matrix- Project matrixExample, Building a solar systemExample, Building a solar system
Day 1 Morning
3. ViewingTransformationsTransformations
Viewing and Modeling transformationsViewing and Modeling transformations
Projection and Viewport transformationsProjection and Viewport transformations
Grand coordinate systemsGrand coordinate systems
Fix coordinate systemsFix coordinate systems
Managing Local coordinate systemsManaging Local coordinate systems
Manipulating Matrix Stacks.Manipulating Matrix Stacks. - ModelView matrix - ModelView matrix - Project matrix - Project matrix
Example, Building a solar systemExample, Building a solar system
© www.minhinc.com p13
Day 1 Morning
4. Color & LightingRGBA and Color index modeRGBA and Color index modeColor and Shading modeColor and Shading mode
Creating Light sourceCreating Light source
Selecting lighting modelSelecting lighting model
Defining material propertiesDefining material properties
Day 1 Morning
4. Color & LightingRGBA and Color index modeRGBA and Color index mode
Color and Shading modeColor and Shading modeCreating Light sourceCreating Light source
Selecting lighting modelSelecting lighting model
Defining material propertiesDefining material properties
Day 1 Morning
4. Color & LightingRGBA and Color index modeRGBA and Color index mode
Color and Shading modeColor and Shading mode
Creating Light sourceCreating Light sourceSelecting lighting modelSelecting lighting model
Defining material propertiesDefining material properties
Day 1 Morning
4. Color & LightingRGBA and Color index modeRGBA and Color index mode
Color and Shading modeColor and Shading mode
Creating Light sourceCreating Light source
Selecting lighting modelSelecting lighting modelDefining material propertiesDefining material properties
Day 1 Morning
4. Color & LightingRGBA and Color index modeRGBA and Color index mode
Color and Shading modeColor and Shading mode
Creating Light sourceCreating Light source
Selecting lighting modelSelecting lighting model
Defining material propertiesDefining material properties
© www.minhinc.com p14
Day 2 Morning
5. Blending, Antialiasing, Fog and Polygon Offset
The source and destination factors in blendingThe source and destination factors in blendingThree dimensional blending with the Depth BufferThree dimensional blending with the Depth Buffer
Antialiasing Geometric Primitives with MultisamplingAntialiasing Geometric Primitives with Multisampling
Fog equationsFog equations
Polygon OffsetPolygon Offset
Day 2 Morning
5. Blending, Antialiasing, Fog and Polygon Offset
The source and destination factors in blendingThe source and destination factors in blending
Three dimensional blending with the Depth BufferThree dimensional blending with the Depth BufferAntialiasing Geometric Primitives with MultisamplingAntialiasing Geometric Primitives with Multisampling
Fog equationsFog equations
Polygon OffsetPolygon Offset
Day 2 Morning
5. Blending, Antialiasing, Fog and Polygon Offset
The source and destination factors in blendingThe source and destination factors in blending
Three dimensional blending with the Depth BufferThree dimensional blending with the Depth Buffer
Antialiasing Geometric Primitives withAntialiasing Geometric Primitives withMultisamplingMultisamplingFog equationsFog equations
Polygon OffsetPolygon Offset Day 2 Morning
5. Blending, Antialiasing, Fog and Polygon Offset
The source and destination factors in blendingThe source and destination factors in blending
Three dimensional blending with the Depth BufferThree dimensional blending with the Depth Buffer
Antialiasing Geometric Primitives with MultisamplingAntialiasing Geometric Primitives with Multisampling
Fog equationsFog equationsPolygon OffsetPolygon Offset
Day 2 Morning
5. Blending, Antialiasing, Fog and Polygon Offset
The source and destination factors in blendingThe source and destination factors in blending
Three dimensional blending with the Depth BufferThree dimensional blending with the Depth Buffer
Antialiasing Geometric Primitives with MultisamplingAntialiasing Geometric Primitives with Multisampling
Fog equationsFog equations
Polygon OffsetPolygon Offset
© www.minhinc.com p15
Day 2 Morning
6. Display List & Pixel OperationCreating and executing a display listCreating and executing a display listExecuting multiple display listsExecuting multiple display lists
Managing state variable with display listsManaging state variable with display lists
Bitmaps and FontsBitmaps and Fonts
ImagesImages
Imaging pipelineImaging pipeline- Pixel Packing and Unpacking, 32 and 64 bit- Pixel Packing and Unpacking, 32 and 64 bit- Controlling Pixel-Storage Modes, 32-64 bit- Controlling Pixel-Storage Modes, 32-64 bit- Pixel-Transfer Operations- Pixel-Transfer Operations- Pixel Mapping- Pixel MappingUsing Buffer Objects with Pixel Rectangle DataUsing Buffer Objects with Pixel Rectangle Data- Using Buffer Objects in Transfer and Retrieve Pixel Data- Using Buffer Objects in Transfer and Retrieve Pixel Data
Day 2 Morning
6. Display List & Pixel OperationCreating and executing a display listCreating and executing a display list
Executing multiple display listsExecuting multiple display listsManaging state variable with display listsManaging state variable with display lists
Bitmaps and FontsBitmaps and Fonts
ImagesImages
Imaging pipelineImaging pipeline- Pixel Packing and Unpacking, 32 and 64 bit- Pixel Packing and Unpacking, 32 and 64 bit- Controlling Pixel-Storage Modes, 32-64 bit- Controlling Pixel-Storage Modes, 32-64 bit- Pixel-Transfer Operations- Pixel-Transfer Operations- Pixel Mapping- Pixel MappingUsing Buffer Objects with Pixel Rectangle DataUsing Buffer Objects with Pixel Rectangle Data- Using Buffer Objects in Transfer and Retrieve Pixel Data- Using Buffer Objects in Transfer and Retrieve Pixel Data
Day 2 Morning
6. Display List & Pixel OperationCreating and executing a display listCreating and executing a display list
Executing multiple display listsExecuting multiple display lists
Managing state variable with display listsManaging state variable with display listsBitmaps and FontsBitmaps and Fonts
ImagesImages
Imaging pipelineImaging pipeline- Pixel Packing and Unpacking, 32 and 64 bit- Pixel Packing and Unpacking, 32 and 64 bit- Controlling Pixel-Storage Modes, 32-64 bit- Controlling Pixel-Storage Modes, 32-64 bit- Pixel-Transfer Operations- Pixel-Transfer Operations- Pixel Mapping- Pixel MappingUsing Buffer Objects with Pixel Rectangle DataUsing Buffer Objects with Pixel Rectangle Data- Using Buffer Objects in Transfer and Retrieve Pixel Data- Using Buffer Objects in Transfer and Retrieve Pixel Data
Day 2 Morning
6. Display List & Pixel OperationCreating and executing a display listCreating and executing a display list
Executing multiple display listsExecuting multiple display lists
Managing state variable with display listsManaging state variable with display lists
Bitmaps and FontsBitmaps and FontsImagesImages
Imaging pipelineImaging pipeline- Pixel Packing and Unpacking, 32 and 64 bit- Pixel Packing and Unpacking, 32 and 64 bit- Controlling Pixel-Storage Modes, 32-64 bit- Controlling Pixel-Storage Modes, 32-64 bit- Pixel-Transfer Operations- Pixel-Transfer Operations- Pixel Mapping- Pixel MappingUsing Buffer Objects with Pixel Rectangle DataUsing Buffer Objects with Pixel Rectangle Data- Using Buffer Objects in Transfer and Retrieve Pixel Data- Using Buffer Objects in Transfer and Retrieve Pixel Data
Day 2 Morning
6. Display List & Pixel OperationCreating and executing a display listCreating and executing a display list
Executing multiple display listsExecuting multiple display lists
Managing state variable with display listsManaging state variable with display lists
Bitmaps and FontsBitmaps and Fonts
ImagesImagesImaging pipelineImaging pipeline- Pixel Packing and Unpacking, 32 and 64 bit- Pixel Packing and Unpacking, 32 and 64 bit- Controlling Pixel-Storage Modes, 32-64 bit- Controlling Pixel-Storage Modes, 32-64 bit- Pixel-Transfer Operations- Pixel-Transfer Operations- Pixel Mapping- Pixel MappingUsing Buffer Objects with Pixel Rectangle DataUsing Buffer Objects with Pixel Rectangle Data- Using Buffer Objects in Transfer and Retrieve Pixel Data- Using Buffer Objects in Transfer and Retrieve Pixel Data
© www.minhinc.com p16
Day 2 Morning
6. Display List & Pixel OperationCreating and executing a display listCreating and executing a display list
Executing multiple display listsExecuting multiple display lists
Managing state variable with display listsManaging state variable with display lists
Bitmaps and FontsBitmaps and Fonts
ImagesImages
Imaging pipelineImaging pipeline- Pixel Packing and Unpacking, 32 and 64 bit- Pixel Packing and Unpacking, 32 and 64 bit- Controlling Pixel-Storage Modes, 32-64 bit- Controlling Pixel-Storage Modes, 32-64 bit- Pixel-Transfer Operations- Pixel-Transfer Operations- Pixel Mapping- Pixel MappingUsing Buffer Objects with Pixel Rectangle DataUsing Buffer Objects with Pixel Rectangle Data- Using Buffer Objects in Transfer and Retrieve Pixel Data- Using Buffer Objects in Transfer and Retrieve Pixel Data
Day 2 Morning
6. Display List & Pixel OperationCreating and executing a display listCreating and executing a display list
Executing multiple display listsExecuting multiple display lists
Managing state variable with display listsManaging state variable with display lists
Bitmaps and FontsBitmaps and Fonts
ImagesImages
Imaging pipelineImaging pipeline- Pixel Packing and Unpacking, 32 and 64 bit- Pixel Packing and Unpacking, 32 and 64 bit- Controlling Pixel-Storage Modes, 32-64 bit- Controlling Pixel-Storage Modes, 32-64 bit- Pixel-Transfer Operations- Pixel-Transfer Operations- Pixel Mapping- Pixel Mapping
Using Buffer Objects with Pixel Rectangle DataUsing Buffer Objects with Pixel Rectangle Data- Using Buffer Objects in Transfer and Retrieve Pixel- Using Buffer Objects in Transfer and Retrieve PixelDataData
© www.minhinc.com p17
Day 2 Morning
7. Texture MappingSteps in texture mappingSteps in texture mappingSpecifying the textureSpecifying the texture- Texture Proxy, Texture Array- Texture Proxy, Texture Array- Mipmaps:Multiple Level- Mipmaps:Multiple LevelFilteringFiltering
Texture ObjectTexture Object
Texture FunctionsTexture Functions- Texture combiner function- Texture combiner functionMultitexturingMultitexturing
The texture matrix stackThe texture matrix stack
Depth textureDepth texture
Day 2 Morning
7. Texture MappingSteps in texture mappingSteps in texture mapping
Specifying the textureSpecifying the texture- Texture Proxy, Texture Array- Texture Proxy, Texture Array- Mipmaps:Multiple Level- Mipmaps:Multiple LevelFilteringFiltering
Texture ObjectTexture Object
Texture FunctionsTexture Functions- Texture combiner function- Texture combiner functionMultitexturingMultitexturing
The texture matrix stackThe texture matrix stack
Depth textureDepth texture
Day 2 Morning
7. Texture MappingSteps in texture mappingSteps in texture mapping
Specifying the textureSpecifying the texture- Texture Proxy, Texture Array- Texture Proxy, Texture Array- Mipmaps:Multiple Level- Mipmaps:Multiple Level
FilteringFilteringTexture ObjectTexture Object
Texture FunctionsTexture Functions- Texture combiner function- Texture combiner functionMultitexturingMultitexturing
The texture matrix stackThe texture matrix stack
Depth textureDepth texture
Day 2 Morning
7. Texture MappingSteps in texture mappingSteps in texture mapping
Specifying the textureSpecifying the texture- Texture Proxy, Texture Array- Texture Proxy, Texture Array- Mipmaps:Multiple Level- Mipmaps:Multiple LevelFilteringFiltering
Texture ObjectTexture ObjectTexture FunctionsTexture Functions- Texture combiner function- Texture combiner functionMultitexturingMultitexturing
The texture matrix stackThe texture matrix stack
Depth textureDepth texture
Day 2 Morning
7. Texture MappingSteps in texture mappingSteps in texture mapping
Specifying the textureSpecifying the texture- Texture Proxy, Texture Array- Texture Proxy, Texture Array- Mipmaps:Multiple Level- Mipmaps:Multiple LevelFilteringFiltering
Texture ObjectTexture Object
Texture FunctionsTexture Functions- Texture combiner function- Texture combiner functionMultitexturingMultitexturing
The texture matrix stackThe texture matrix stack
Depth textureDepth texture
Day 2 Morning
7. Texture MappingSteps in texture mappingSteps in texture mapping
Specifying the textureSpecifying the texture- Texture Proxy, Texture Array- Texture Proxy, Texture Array- Mipmaps:Multiple Level- Mipmaps:Multiple LevelFilteringFiltering
Texture ObjectTexture Object
Texture FunctionsTexture Functions- Texture combiner function- Texture combiner function
MultitexturingMultitexturingThe texture matrix stackThe texture matrix stack
Depth textureDepth texture
© www.minhinc.com p18
Day 2 Morning
7. Texture MappingSteps in texture mappingSteps in texture mapping
Specifying the textureSpecifying the texture- Texture Proxy, Texture Array- Texture Proxy, Texture Array- Mipmaps:Multiple Level- Mipmaps:Multiple LevelFilteringFiltering
Texture ObjectTexture Object
Texture FunctionsTexture Functions- Texture combiner function- Texture combiner functionMultitexturingMultitexturing
The texture matrix stackThe texture matrix stackDepth textureDepth texture
Day 2 Morning
7. Texture MappingSteps in texture mappingSteps in texture mapping
Specifying the textureSpecifying the texture- Texture Proxy, Texture Array- Texture Proxy, Texture Array- Mipmaps:Multiple Level- Mipmaps:Multiple LevelFilteringFiltering
Texture ObjectTexture Object
Texture FunctionsTexture Functions- Texture combiner function- Texture combiner functionMultitexturingMultitexturing
The texture matrix stackThe texture matrix stack
Depth textureDepth texture
© www.minhinc.com p19
Day 2 Afternoon
8. Framebuffer, Tessallators & QuadricsColor BufferColor BufferDepth BufferDepth Buffer
Stencil BufferStencil Buffer
Accumulation BufferAccumulation Buffer
Polygon tessallationPolygon tessallation
Quadrics:Rendering Spheres, Cylinders and disksQuadrics:Rendering Spheres, Cylinders and disks
Day 2 Afternoon
8. Framebuffer, Tessallators & QuadricsColor BufferColor Buffer
Depth BufferDepth BufferStencil BufferStencil Buffer
Accumulation BufferAccumulation Buffer
Polygon tessallationPolygon tessallation
Quadrics:Rendering Spheres, Cylinders and disksQuadrics:Rendering Spheres, Cylinders and disks
Day 2 Afternoon
8. Framebuffer, Tessallators & QuadricsColor BufferColor Buffer
Depth BufferDepth Buffer
Stencil BufferStencil BufferAccumulation BufferAccumulation Buffer
Polygon tessallationPolygon tessallation
Quadrics:Rendering Spheres, Cylinders and disksQuadrics:Rendering Spheres, Cylinders and disks
Day 2 Afternoon
8. Framebuffer, Tessallators & QuadricsColor BufferColor Buffer
Depth BufferDepth Buffer
Stencil BufferStencil Buffer
Accumulation BufferAccumulation BufferPolygon tessallationPolygon tessallation
Quadrics:Rendering Spheres, Cylinders and disksQuadrics:Rendering Spheres, Cylinders and disks
Day 2 Afternoon
8. Framebuffer, Tessallators & QuadricsColor BufferColor Buffer
Depth BufferDepth Buffer
Stencil BufferStencil Buffer
Accumulation BufferAccumulation Buffer
Polygon tessallationPolygon tessallationQuadrics:Rendering Spheres, Cylinders and disksQuadrics:Rendering Spheres, Cylinders and disks
Day 2 Afternoon
8. Framebuffer, Tessallators & QuadricsColor BufferColor Buffer
Depth BufferDepth Buffer
Stencil BufferStencil Buffer
Accumulation BufferAccumulation Buffer
Polygon tessallationPolygon tessallation
Quadrics:Rendering Spheres, Cylinders and disksQuadrics:Rendering Spheres, Cylinders and disks
© www.minhinc.com p20
Day 2 Afternoon
9. Evaluators and NURBSEvaluatorsEvaluatorsThe GLU NURBS InterfacesThe GLU NURBS Interfaces
Day 2 Afternoon
9. Evaluators and NURBSEvaluatorsEvaluators
The GLU NURBS InterfacesThe GLU NURBS Interfaces
© www.minhinc.com p21
© www.minhinc.com p22
© www.minhinc.com p23
© www.minhinc.com p24
www.minhinc.com©