Course the openGLR graphics system

Sommaire: Course the openGLR graphics system

1 Introduction
1.1 Formatting of Optional Features
1.2 What is the OpenGL Graphics System?
1.3 Programmer’s View of OpenGL
1.4 Implementor’s View of OpenGL
1.5 Our View
2 OpenGLOperation
2.1 OpenGL Fundamentals
2.1.1 Floating-Point Computation
2.2 GL State
2.3 GL Command Syntax
2.4 Basic GL Operation
2.5 GL Errors
2.6 Begin/End Paradigm
2.6.1 Begin and End Objects
2.6.2 Polygon Edges
2.6.3 GL Commands withinBegin/End
2.7 Vertex Specication
2.8 Vertex Arrays
2.9 Rectangles
2.10 Coordinate Transformations
2.10.1 Controlling the Viewport
2.10.2 Matrices
2.10.3 Normal Transformation
2.10.4 Generating Texture Coordinates
2.11 Clipping
2.12 Current Raster Position
2.13 Colors and Coloring
2.13.1 Lighting
2.13.2 Lighting Parameter Specication
2.13.3 ColorMaterial
2.13.4 Lighting State
2.13.5 Color Index Lighting
2.13.6 Clamping or Masking
2.13.7 Flatshading
2.13.8 Color and Texture Coordinate Clipping
2.13.9 Final Color Processing
3 Rasterization
3.1 Invariance
3.2 Antialiasing
3.3 Points
3.3.1 Point Rasterization State
3.4 Line Segments
3.4.1 Basic Line Segment Rasterization
3.4.2 Other Line SegmentFeatures
3.4.3 Line Rasterization State
3.5 Polygons
3.5.1 Basic Polygon Rasterization
3.5.2 Stippling
3.5.3 Antialiasing
3.5.4 Options Controlling Polygon Rasterization
3.5.5 Depth O set
3.5.6 Polygon Rasterization State
3.6 Pixel Rectangles
3.6.1 Pixel Storage Modes
3.6.2 The Imaging Subset
3.6.3 Pixel Transfer Modes
3.6.4 Rasterization of Pixel Rectangles
3.6.5 Pixel Transfer Operations
3.7 Bitmaps
3.8 Texturing
3.8.1 Texture Image Specication
3.8.2 Alternate Texture Image Specication Commands
3.8.3 Texture Parameters
3.8.4 Texture Wrap Modes
3.8.5 Texture Minication
3.8.6 Texture Magnication
3.8.7 Texture State and Proxy State
3.8.8 Texture Objects
3.8.9 Texture Environments and Texture Functions
3.8.10 Texture Application
3.9 Color Sum
3.10 Fog
3.11 Antialiasing Application
4 Per-FragmentOperationsandtheFramebuer
4.1 Per-FragmentOperations
4.1.1 Pixel Ownership Test
4.1.2 Scissor test
4.1.3 Alpha test
4.1.4 Stencil test
4.1.5 Depth buer test
4.1.6 Blending
4.1.7 Dithering
4.1.8 Logical Operation
4.2 Whole Framebuer Operations
4.2.1 Selecting a Buer for Writing
4.2.2 Fine Control of Buer Updates
4.2.3 Clearing the Buers
4.2.4 The Accumulation Buer
4.3 Drawing, Reading, and Copying Pixels
4.3.1 Writing to the Stencil Buer
4.3.2 Reading Pixels
4.3.3 Copying Pixels
4.3.4 Pixel Draw/Read state
5 SpecialFunctions
5.1 Evaluators
5.2 Selection
5.3 Feedback
5.4 Display Lists
5.5 Flush and Finish
5.6 Hints
6 StateandStateRequests
6.1 Querying GL State
6.1.1 Simple Queries
6.1.2 Data Conversions
6.1.3 Enumerated Queries
6.1.4 Texture Queries
6.1.5 Stipple Query
6.1.6 Color Matrix Query
6.1.7 Color Table Query
6.1.8 Convolution Query
6.1.9 Histogram Query
6.1.10 Minmax Query
6.1.11 Pointer and String Queries
6.1.12 Saving and Restoring State
6.2 State Tables  AInvariance
A.1 Repeatability
A.2 Multi-pass Algorithms
A.3 Invariance Rules
A.4 What All This Means
BCorollaries
CVersion1.1
C.1 Vertex Array
C.2 Polygon Oset
C.3 Logical Operation
C.4 Texture Image Formats
C.5 Texture Replace Environment
C.6 Texture Proxies
C.7 CopyTexture and Subtexture
C.8 Texture Objects
C.9 Other Changes
C.10 Acknowledgements
DVersion1.2
D.1 Three-Dimensional Texturing
D.2 BGRA Pixel Formats
D.3 Packed Pixel Formats
D.4 Normal Rescaling
D.5 Separate Specular Color
D.6 Texture Coordinate Edge Clamping
D.7 Texture Level of Detail Control
D.8 Vertex Array Draw Element Range
D.9 Imaging Subset
D.9.1 Color Tables
D.9.2 Convolution
D.9.3 Color Matrix
D.9.4 Pixel Pipeline Statistics
D.9.5 Constant Blend Color
D.9.6 New Blending Equations
D.10 Acknowledgements
EVersion1.2.1
F ARBExtensions
F.1 Naming Conventions
F.2 Multitexture
F.2.1 Dependencies
F.2.2 Issues
F.2.3 Changes to Section 2.6 (Begin/End Paradigm)
F.2.4 Changes to Section 2.7 (Vertex Specication)
F.2.5 Changes to Section 2.8 (Vertex Arrays)
F.2.6 Changes to Section 2.10.2 (Matrices)
F.2.7 Changes to Section 2.10.4 (Generating Texture Coor-dinates)
F.2.8 Changes to Section 2.12 (Current Raster Position)
F.2.9 Changes to Section 3.8 (Texturing)
F.2.10Changes to Section 3.8.5 (Texture Minication)
F.2.11Changes to Section 3.8.8 (Texture Objects)
F.2.12Changes to Section 3.8.10 (Texture Application)
F.2.13Changes to Section 5.1 (Evaluators)
F.2.14Changes to Section 5.3 (Feedback)
F.2.15Changes to Section 6.1.2 (Data Conversions)
F.2.16Changes to Section 6.1.12 (Saving and Restoring State)

Extrait du course the openGLR graphics system

Chapter1 Introduction
Thisdocumentdescribesthe OpenGLgraphicssystem: whatit is, howit acts, and what is required to implement it. We assume that the reader has atleast arudimentary understandingofcomputer graphics. Thismeans familiaritywiththe essentials ofcomputergraphicsalgorithmsaswellas familiarity with basic graphics hardware and associated terms.
1.1 FormattingofOptionalFeatures
Starting with version 1.2 of OpenGL, some features in the speci cation are considered optional; an OpenGL implementation mayormay not choose to provide them (see section 3.6.2). Portionsofthe speci cation whichareoptionalareso labelled where they are de ned. Additionally, those portions are typeset in gray, and state table entries which are optional are typesetagainst a gray background .
1.2 Whatis theOpenGLGraphicsSystem?
OpenGL (for\Open Graphics Library ») is asoftwareinterfacetographics hardware.The interface consists of a set of several hundred procedures and functions that allowaprogrammerto specify the objectsandoperations involved in producing high-quality graphical images, speci cally color images of three-dimensional objects.
1.3 Programmer’sViewofOpenGL
Totheprogrammer,OpenGLis asetofcommandsthatallowthespeci -cation of geometricobjectsin twoor three dimensions, togetherwith com-mandsthat control howthese objectsarerendered into the framebu er.Forthemostpart,OpenGLprovidesanimmediate-mode interface, mean-ing that specifying an object causes it to be drawn.Atypical program that uses OpenGL begins with calls to open a windowint o the framebu er into which the program will draw.Then, calls are made to allocate a GL context and associate it with the window.Once a GL con-text is allocated, the programmer is free to issue OpenGL commands. Some callsareusedtodrawsimple geometricobjects(i.e. points,line segments,and polygons), while others a ecttherendering of theseprimitives includ-ing howthey arelit orcoloredandhowthey aremappedfrom the user’s two- or three-dimensional model space to the two-dimensional screen.There are also calls to e ect direct control of the framebu er, such as reading and writing pixels.
1.4 Implementor’sViewofOpenGL
Totheimplementor, OpenGLis asetofcommandsthat a ectthe opera-tionofgraphicshardware. Ifthehardwareconsistsonlyofanaddressable framebu er, then OpenGL must be implemented almost entirely on the host CPU. More typically, the graphics hardware maycomprise varying degrees of graphics acceleration, from a raster subsystem capable of rendering two-dimensionallines andpolygonsto sophisticated oating-point processors capableoftransforming andcomputingongeometricdata. TheOpenGL implementor’s task is toprovide the CPU softwareinterfacewhile dividing the workfor each Open GL command be tween the CPUandthe graphics hardware.This division must be tailored to the available graphics hardware to obtain optimum performance in carrying out OpenGL calls.
1.5 OurView
WeviewOpenGLasastate machinethat controls aset ofspeci cdraw-ing operations. Thismodelshould engenderaspeci cation that satis es the needs of both programmer sandimplementors. It does not, however, necessarilyprovideamodel for implementation. Animplementationmust produce results conforming to those produced by the speci ed methods, but there maybewaysto carry outaparticularcomputation that aremore eciet than the one speci ed.

………

Si le lien ne fonctionne pas correctement, veuillez nous contacter (mentionner le lien dans votre message)
Course the openGLR graphics system (1554 KO) (Cours PDF)
the openGLR graphics system

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *