1 / 27

OpenGL 3.0 Texture Arrays

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.

Télécharger la présentation

OpenGL 3.0 Texture Arrays

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. OpenGL 3.0Texture Arrays Presentation: Olivia Terrell, Dec. 4, 2008

  2. OpenGL 3.0 • History of OpenGL 3.0 • How OpenGL 3.0 Differs • OpenGL 3.0 Texture arrays

  3. 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

  4. Evolved from IrisGL (Integrated Raster Imaging Systems Graphic Library)‏ IrisGL was specific to IRIX Silicon stations OpenGL created by Mark Segal and Kurt Akeley

  5. Release versions: OpenGL1.2 OpenGL1.2.1 OpenGL1.3 OpenGL1.4 OpenGL1.5 OpenGL2.0 OpenGL2.1 OpenGL3.0 • First release • OpenGL1.0 lacked texture objects, thus glBindTexture was added to OpenGL1.1.

  6. Block Diagram of OpenGL

  7. How OpenGL 3.0 Differs “He who rejects change is the architect of decay...” Harold Wilson

  8. 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

  9. 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

  10. 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).

  11. 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)‏

  12. COMPARE_R_TO_TEXTURE MAX_VARYING_FLOATS MAX_CLIP_PLANES CLIP_PLANES Changed Token Names • COMPARE_REF_TO_TEXTURE • MAX_VARYING_COMPONENTS • MAX_CLIP_DISTANCES • CLIP_DISTANCES

  13. Supported Shading Languages • GLSL1.10 • GLSL1.20 • GLSL1.30

  14. OpenGL 3.0 Texture Arrays “It is the eye of ignorance that assigns a fixed and unchangeable color to every object...” Paul Gauguin

  15. EXT_texture_array • Created August 7, 2008 • Enteracts with either • NV_geometry_program4 • NV_gpu_program4 • OpenGL Shading Language (GLSL 3.0)

  16. EXT_texture_array • What it is: • Array of textures equal in size and format, arranged in layers • Height (1D) or depth (2D) are the number of layers

  17. EXT_texture_array • Specifications: • 1D array: TexImage2D • 2D array: TexImage3D

  18. 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

  19. EXT_texture_array • 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

  20. EXT_texture_array • 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

  21. 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

  22. EXT_texture_array • One use of texture animation to a shape is the Beryl Desktop, a 3D cube where each side is a separate desktop, for example.

  23. Application: Beryl Desktop • *image compliments of Corporal J VanDyke, Auraria PD

  24. Questions?

  25. This Presentation Online http://ouray.cudenver.edu/~oeterrel/Open_GL.html

More Related