Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

OpenGL kiterjesztések (extensions)

Hasonló előadás


Az előadások a következő témára: "OpenGL kiterjesztések (extensions)"— Előadás másolata:

1 OpenGL kiterjesztések (extensions)

2 OpenGL extensions OpenGL extensions registry:
A szükséges header fájlok a fenti címről letölthetőek: glext.h, glxext.h, wglext.h Preprocesszor használatával fordítási időben megadható a kiválasztott kiterjesztés: #ifdef GL_VERSION_1_2 // Use OpenGL 1.2 functionality #endif

3 OpenGL extensions OpenGL verzió lekérdezése (futási időben): glGetString(GL_VERSION) formátum: [major-number].[minor-number] majd gyártó specifikus megjelölés A lekérdezés csak egy aktív OpenGL kontextusban működik. Az acer1400 laptop GL_VERSION string: WinXP Release

4 OpenGL extensions OpenGL 1.1
Vertex tömbök, csökkentik azon szubrutin hívások számát, amelyek vertex információt küldenek az OpenGL rendszernek. (nem azonos a display listával) Polygon Offset, mélység értékeket rendel pixelekhez, így a depth-teszt a kirajzolás előtt ez az érték befolyásolja a depth-tesztet Logikai operációk RGBA módban (XOR, AND, OR, …) Internal Texture Formats, textúrák tárolási módjainak meghatározása Texture Proxies Copy Texture and Subtexture, textúrás és résztextúrák másolása a memóriába vagy a frame-bufferbe. Texture Objects, textúra tömböket és paramétereit egy objektumként kezeli a rendszer

5 OpenGL extensions OpenGL 1.2
Three-dimensional texturing, hardveresen támogatott térfogat renderelés BGRA pixel formats and packed pixel formats, közvetlen támogatása külső fájlformátumoknak és framebuffer típusoknak ModelView mátrix változtatása esetén automatikus vertex normálvektor újraskálázás Specular highlights after texturing, valóságosabb megvilágítási hatások Level of details Mipmap textúrákhoz, memóriatakarékosság Vertex array bővítések, vertek töbök egyes résztartományainak rajzolása 1 művelettel. Optimalizáció: előre transzformálás, trnaszformált geometria cach-elése, stb. GL_ARB_imaging, 2D képfeldolgozási funkciók

6 OpenGL extensions Opengl 1.3 New texture mapping features: compression and cube mapping, new texture environments such as add, combine, and dot3, texture border clamp, and multitexture Multisampling Matrix transpose

7 OpenGL extensions Kiterjesztések lekérdezése futásidőben:
#include <string.h> ... const GLubyte *str; int glPolyOffExtAvailable; str = glGetString (GL_EXTENSIONS); glPolyOffExtAvailable = (strstr((const char *)str, "GL_EXT_polygon_offset") != NULL);

8 Példa: verzion és extensions
extension_querry.cpp

9 Példa EXT glview

10 Opengl extensions (*glActiveTextureARB) (GL_TEXTURE0_ARB);
Extension létrhozása windows alatt: #include "GL/glExt.h" PFNGLACTIVETEXTUREARBPROC glActiveTextureARB; PFNGLMULTITEXCOORD2FARBPROC glMultiTexCoord2fARB; glActiveTextureARB = (PFNGLACTIVETEXTUREARBPROC) wglGetProcAddress("glActiveTextureARB"); glMultiTexCoord2fARB = (PFNGLMULTITEXCOORD2FARBPROC) wglGetProcAddress("glMultiTexCoord2fARB"); A két extension használata: (*glActiveTextureARB) (GL_TEXTURE0_ARB); (*glMultiTexCoord2fARB) (GL_TEXTURE0_ARB, 0.0f, 0.0f); (*glMultiTexCoord2fARB) (GL_TEXTURE1_ARB, 0.0f, 0.0f);

11 Példa pbuffer_to_texture


Letölteni ppt "OpenGL kiterjesztések (extensions)"

Hasonló előadás


Google Hirdetések