![]() ARB/EXT_framebuffer_object (off-screen rendering).ARB_vertex_shader / ARB_fragment_shader / ARB_shader_objects / GLSL spec (shaders).If you're just getting started in OpenGL, I'd recommend investigating: Likewise, if you want to know what all functionality a piece of hardware can do, there's no better place to look than in a vendor-specific extension. In the past it has been true that some of the 'fast paths' through the hardware were only accessible via extensions. (The ARB_vertex_program approach, for instance, was set aside in favor of the high-level shading language approach of ARB_vertex_shader when it came time to roll shaders into the core OpenGL spec.) Even ARB extensions don't last forever I wouldn't write something today requiring ARB_matrix_palette, for instance.Īll of that having been said, it's a very good idea to keep up to date on extensions, in particular the latest ARB and EXT extensions. ![]() Other times, an extension might make it as far as ARB status before everyone decides there's a better way. ![]() Sometimes an extension is only ever implemented by one vendor, before hardware designs go a different way and the extension is abandoned. You have a reasonable expectation that this type of extension will be around for a while.Įxtensions don't have to go through all of these steps. ARB extension - the OpenGL Architecture Review Board has blessed the extension.Multivendor extension - multiple vendors have gotten together and agreed on the functionality.Vendor extension - only one vendor provides a certain type of functionality.The mechanism for doing this is platform-specific and libraries such as GLEW and GLEE exist to simplify the process.Įxtensions are, in general, a way for graphics card vendors to add new functionality to OpenGL without having to wait until the next revision of the OpenGL spec. Following the official extension promotion path, multitexturing is no longer an optionally implemented ARB extension, but has been a part of the OpenGL core API since version 1.3.īefore using an extension a program must first determine its availability, and then obtain pointers to any new functions the extension defines. The first ARB extension was GL_ARB_multitexture, introduced in version 1.2.1. It then becomes known as a standard extension, and the abbreviation ARB is used. It may further happen that the Architecture Review Board "blesses" the extension. In that case, the abbreviation EXT is used. It may happen that more than one vendor agrees to implement the same extended functionality. For example, NVIDIA's abbreviation (NV) is used in defining their proprietary function glCombinerParameterfvNV() and their constant GL_NORMAL_MAP_NV. Extensions may introduce new functions and new constants, and may relax or remove restrictions on existing OpenGL functions.Įach vendor has an alphabetic abbreviation that is used in naming their new functions and constants. The OpenGL standard allows individual vendors to provide additional functionality through extensions as new technology is created.
0 Comments
Leave a Reply. |
Details
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |