`
`R
`
`The OpenGL(cid:210) graphics system diagram, Version 1.1. Copyright (cid:211)
`
` 1996 Silicon Graphics, Inc. All rights reserved.
`
`Vertices
`
`Texture Coordinate
`Generation
`
`Evaluators
`##
`##
`&
`##
`Vertex Arrays
`##
`##
`##
`
`####
`
`b
`
`A*b
`
`A
`
`Texture
`Matrix
`Stack
`
`Enable/Disable
`
`TexGen
`OBJECT_LINEAR
`TexGen
`EYE_LINEAR
`TexGen
`SPHERE_MAP
`
`TexGen
`
`Enable/Disable
`ColorMaterial
`Material
`
`Material
`Parameters
`Control
`
`LightModel
`
` EnableClientState
`DisableClientState
`
`EdgeFlagPointer
`
`TexCoordPointer
`
`ColorPointer
`IndexPointer
`
`NormalPointer
`
`VertexPointer
`
`InterLeavedArrays
`
`ArrayElement
`
`DrawElements
`
`DrawArrays
`
`Vertex
`Array
`Control
`
`EdgeFlag
`
`TexCoord1
`
`t 0
`
`TexCoord2
`
`r 0
`
`TexCoord3
`
`q 1
`
`TexCoord4
`
`Color3
`
`A 1
`
`Color4
`
`Convert
`RGBA to float
`
`####
`####
`####
`####
`####
`####
`####
`####
`####
`####
`####
`####
`####
`####
`####
`####
`####
`####
`####
`####
`####
`
`##
`##
`##
`##
`##
`##
`##
`##
`##
`##
`##
`##
`
`##
`##
`##
`##
`##
`##
`
`##
`##
`##
`##
`##
`
`MapGrid
`
`EvalMesh
`EvalPoint
`
`Grid
`Application
`
`EvalCoord
`
`Evaluator
`Control
`
`Map
`Evaluation
`
`Map
`Enable/Disable
`
`Current
`Edge
`Flag
`
`Current
`Texture
`Coordinates
`
`Current
`RGBA
`Color
`
`###
`###
`###
`###
`###
`###
`###
`###
`###
`###
`###
`###
`###
`###
`###
`###
`###
`###
`###
`###
`###
`###
`###
`###
`
`##
`##
`##
`##
`##
`##
`
`##
`##
`##
`##
`##
`
`Lighting
`
`##
`##
`##
`##
`##
`##
`##
`##
`
`##########
`
`Input
`Conversion
`&
`Current
`Values
`
`## ## ###
`
`####
`
`Matrix
`Control
`
`Clipping, Perspective,
`and
`Viewport Application
`
`Feedback
`&
`Selection
`
`Rasteriz−
`ation
`
`Pixels
`
`Texturing,
`Fog,
`and
`Antialiasing
`
`Per−Fragment Operations
`
`Frame Buffer
`&
`Frame Buffer Control
`
`Fragments
`
`##
`##
`##
`##
`##
`##
`
`##
`##
`##
`##
`##
`##
`##
`##
`##
`##
`##
`
`Index
`
`Convert
`index to float
`
`Convert
`normal coords
` to float
`
`Normal3
`
`Vertex2
`RasterPos2
`
`Vertex3
`RasterPos3
`
`Vertex4
`RasterPos4
`
`z 0
`
`w 1
`
`Rect
`
`Rectangle
`Generation
`
`Current
`Color
`Index
`
`Current
`Normal
`
`##
`##
`##
`##
`##
`##
`
`##
`##
`##
`##
`##
`##
`##
`##
`##
`##
`##
`
`Enable/Disable
`
`b
`
`M*b
`
`M
`
`Normalize
`
`M−T
`M
`
`OBJECT
`COORDINATES
`
`b
`
`M
`
`M
`
`M*b
`
`EYE
`COORDINATES
`
`Light
`Enable/Disable
`
`Light
`Parameters
`
`Material
`Parameters
`
`Light Model
`Parameters
`
`RGBA Lighting Equation
`
`Color Index Lighting Equation
`
`FrontFace
`
`Enable/Disable
`(Lighting)
`
`Begin/End
`
`Clamp to
`[0,1]
`
`Primitive
`Assembly
`
`Mask to
`n−1
`
`[0,2
`
`]
`
`Model View
`Matrix
`Stack
`
`Matrix
`Control
`
`M*N
`
`N
`
`M
`
`Matrix
`Generators
`
`MatrixMode
`PushMatrix
`PopMatrix
`
`LoadIdentity
`LoadMatrix
`
`MultMatrix
`
`Translate
`Scale
`Rotate
`Frustum
`Ortho
`
`ClipPlane
`
`M
`
`b
`−T
`
`b
`
`M
`
`Clip
`Planes
`
`Polygon
`Clipping
`
`Line
`Clipping
`
`Point
`Culling
`
`ShadeModel
`
`POLYGONS
`
`LINE
`SEGMENTS
`
`Flatshading
`
`Projection
`Matrix
`Stack
`
`b
`
`b
`
`b
`
`M
`
`M*b
`
`M*b
`(Vertex
`Only)
`M*b
`
`Polygon
`View Volume
`Clipping
`
`Line
`View Volume
`Clipping
`
`Viewport
`DepthRange
`
`Divide
`Vertex
`Coordinates
`by
`w
`
`Apply
`Viewport
`
`FrontFace
`CullFace
`
`PolygonMode
`
`Polygon
`Culling
`
`Polygon
`Mode
`
`Enable/Disable
`(Antialiasing/Stipple)
`
`PolygonOffset
`
`Polygon
`Rasterization
`
`Line
`Segment
`Rasterization
`
`Enable/Disable
`(Antialiasing)
`
`LineStipple
`LineWidth
`
`Enable/Disable
`(Antialiasing)
`PointSize
`
`Primitives
`
`Key to OpenGL Operations
`
`TexParameter
`
`Enable/Disable
`TexEnv
`
`Enable/Disable
`Fog
`
`Enable/Disable
`
`Enable/Disable
`Scissor
`
`Enable/Disable
`StencilOp
`StencilFunc
`
`Enable/Disable
`DepthFunc
`
`Enable/Disable
`BlendFunc
`
`Enable/Disable
`
`Enable/Disable
`LogicOp
`
`Notes:
`1. Commands (and constants) are shown without the
` gl (or GL_) prefix.
`2. The following commands do not appear in this
` diagram: glAccum, glClearAccum, glHint,
` display list commands, texture object commands,
` commands for obtaining OpenGL state
` (glGet commands and glIsEnabled), and
` glPushAttrib and glPopAttrib. Utility library
` routines are not shown.
`3. After their exectution, glDrawArrays and
` glDrawElements leave affected current values
` indeterminate.
`4. This diagram is schematic; it may not directly
` correspond to any actual OpenGL implementation.
`
`POINTS
`RASTER POS.
`
`Point
`View Volume
`Culling
`
`Enable/Disable
`AlphaFunc
`
`Point
`Rasterization
`
`Texel
`Generation
`
`Texture
`Application
`
`Fog
`
`Coverage
`(antialiasing)
`Application
`
`Pixel
`Ownership
`Test
`
`Scissor
`Test
`
`Alpha
`Test
`(RGBA only)
`
`Stencil
`Test
`
`Depth
`Buffer
`Test
`
`Blending
`(RGBA only)
`
`Dithering
`
`Logic Op
`
`Masking
`
`DepthMask
`StencilMask
`
`Masking
`
`Frame Buffer
`Control
`
`Frame Buffer
`
`ColorMask
`IndexMask
`
`DrawBuffer
`
`Readback
`Control
`
`ReadBuffer
`
`RenderMode
`
`Selection
`Encoding
`
`Selection
`Control
`
`Feedback
`Encoding
`
`PassThrough
`
`FeedbackBuffer
`
`SelectBuffer
`
`Selection
`Name
`Stack
`
`InitNames
`LoadName
`PopName
`PushName
`
`Current
`Raster
`Position
`
`Unpack
`Pixels
`
`Pixel
`Transfer
`
`PolygonStipple
`
`Bitmap
`
`DrawPixels
`
`TexImage
`
`TexSubImage
`
`PixelStore
`
`PixelTransfer
`
`PixelMap
`
`Bitmap
`Rasterization
`
`PixelZoom
`
`Pixel
`Rasterization
`
`Texture
`Memory
`
`Clear
`
`Clear
`Control
`
`Clear
`Values
`
`ClearStencil
`ClearDepth
`ClearIndex
`ClearColor
`
`ReadPixels
`
`Pack
`Pixels
`
`CopyPixels
`CopyTexImage
`CopyTexSubImage
`
`ATI Exhibit 2011
`ARM LTD, et al. v. ATI Technologies ULC
`IPR2018-01148
`
`