opengl 3 0 texture arrays n.
Skip this Video
Loading SlideShow in 5 Seconds..
OpenGL 3.0 Texture Arrays PowerPoint Presentation
Download Presentation
OpenGL 3.0 Texture Arrays

Loading in 2 Seconds...

play fullscreen
1 / 27

OpenGL 3.0 Texture Arrays - PowerPoint PPT Presentation

  • Uploaded on

OpenGL 3.0 Texture Arrays. Presentation: Olivia Terrell, Dec. 4, 2008. OpenGL 3.0. History of OpenGL 3.0 How OpenGL 3.0 Differs OpenGL 3.0 Texture arrays. History of OpenGL 3.0.

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

PowerPoint Slideshow about 'OpenGL 3.0 Texture Arrays' - preston-kline

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
opengl 3 0 texture arrays
OpenGL 3.0Texture Arrays

Presentation: Olivia Terrell, Dec. 4, 2008

opengl 3 0
OpenGL 3.0
  • History of OpenGL 3.0
  • How OpenGL 3.0 Differs
  • OpenGL 3.0 Texture arrays
history of opengl 3 0
History of OpenGL 3.0

“When one door closes another door opens; but we so often look so long and so regretfully upon the closed door, that we do not see the ones which open for us.”,

Alexander Graham Bell


Evolved from IrisGL (Integrated Raster Imaging Systems Graphic Library)‏

IrisGL was specific to IRIX Silicon stations

OpenGL created by Mark Segal and Kurt Akeley

Release versions:









  • First release
  • OpenGL1.0 lacked texture objects, thus glBindTexture was added to OpenGL1.1.
how opengl 3 0 differs
How OpenGL 3.0 Differs

“He who rejects change is the architect of decay...”

Harold Wilson

opengl 3 0 features
32-bit floating point texture and render buffers

Occlusion rendering

Half-float vertex & pixel data

OpenGL 3.0 features
  • Vertex array objects
  • Direct access to vertex buffer objects
  • Framebuffer object variability for buffer size and format during rendering
opengl 3 0 features1
Rendering in sRGB framebuffers

32-bit floating point depth buffer support

Texture arrays...

OpenGL 3.0 features
  • Transform feedback to capture geometry data into a buffer for further computation
  • 4 new texture compressions for 1 and 2 channel texture
opengl 3 0 features2
Framebuffer objects (GL EXT framebuffer object).

Half-float (16-bit) vertex array and pixel data formats (GL NV half float and GL ARB half float pixel).

Multisample stretch blit functionality (GL EXT framebuffer multisample and GL EXT framebuffer blit).

Non-normalized integer color internal formats for textures and renderbuffers (GL EXT texture integer).

OpenGL 3.0 features
  • API support for the new texture lookup capabilities of the OpenGL Shading Language 1.30 specification (GL EXT gpu shader4).
  • Conditional rendering (GL NV conditional render).
  • Fine control over mapping buffer subranges into client space and flushing
  • modified data.
  • Floating-point color and depth internal formats for textures and renderbuffers (GL ARB color buffer float, GL NV depth buffer float, 455 GL ARB texture float, GL EXT packed float, and GL EXT texture shared exponent).
opengl 3 0 features3
OpenGL 3.0 features
  • One- and two-dimensional layered texture targets

(GL EXT texture array).

  • Packed depth/stencil internal formats for combined depth+stencil textures and renderbuffers (GL EXT packed depth stencil).
  • Per-color-attachment blend enables and color writemasks (GL EXT draw buffers2).
  • RGTC specific internal compressed formats (GL EXT texture compression rgtc).
  • Single- and double-channel (R and RG) internal formats for textures and renderbuffers.
  • Transform feedback (GL EXT transform feedback).
  • Vertex array objects (GL APPLE vertex array object).
  • sRGB framebuffer mode (GL EXT framebuffer sRGB)‏
changed token names




Changed Token Names
supported shading languages
Supported Shading Languages
  • GLSL1.10
  • GLSL1.20
  • GLSL1.30
opengl 3 0 texture arrays1
OpenGL 3.0 Texture Arrays

“It is the eye of ignorance that assigns a fixed and unchangeable color to every object...”

Paul Gauguin

ext texture array
  • Created August 7, 2008
  • Enteracts with either
    • NV_geometry_program4
    • NV_gpu_program4
    • OpenGL Shading Language (GLSL 3.0)
ext texture array1
  • What it is:
    • Array of textures equal in size and format, arranged in layers
    • Height (1D) or depth (2D) are the number of layers
ext texture array2
  • Specifications:
    • 1D array: TexImage2D
    • 2D array: TexImage3D
TexImage2D(enum target, int level, int internalformat, sizei width, sizei height, int border, enum format, enum type, void *data)
  • Target is a 2D texture
  • Level is level of detail
  • Internalformat is storage of texture
  • Width, height and border are boundaries of the texture
  • Format is current format of texture
  • *data is pointer to internal data type
ext texture array3
  • How it Works
    • Texture array is seen as a unit in the shader
    • Access is through single coordinate vector
    • 1 layer of array is selected as 1D or 2D texture
    • Coordinate of layer is in [0, n-1], where n is the total number of textures in the array
    • Array textures are rendered by binding them to a framebuffer (EXT_framebuffer_object)‏
    • Can bind whole array, or single layer
ext texture array4
  • 6 different textures are possible as input to the array. Each texture is itself a 1D, 2D, or 3D array of images.
  • Each image element is called a texel.
  • Each image is comprised of 1 to n layers
vs the old way
Vs. The Old way...
  • Basic problem: Texture animation
  • Create separate image file per frame of animation
  • Load every frame as part of user array: texture[index]=LoadTextureRAW(“text1.raw”, 256, 256);
  • Set the texture to the coordinate: glBindTexture(GL_TEXTURE_2D,texture[frame]); //where frame is some int
  • Go to next frame of texture array and repeat
ext texture array5
  • One use of texture animation to a shape is the Beryl Desktop, a 3D cube where each side is a separate desktop, for example.
application beryl desktop
Application: Beryl Desktop
  • *image compliments of Corporal J VanDyke, Auraria PD
this presentation online
This Presentation Online