Sign in Join
Wiki copytemporary

OpenGL/fr

Deutsch · English · Français · Português · Tiếng Việt · Русский · 中文(中国) · 日本語

OpenGL (Open Graphics Library) est une plate-forme croisé avec une interface de programmation(API) pour produire des images de synthèse 3D. La plupart des cartes vidéo modernes fournissent une accélération matérielle OpenGL, ce qui fait que OpenGL est une bonne solution pour l'écriture logiciel avancé avec des graphiques.

Les unités OpenGL dans Free Pascal

L'interface OpenGL de FreePascal se compose des unités suivantes:

OpenGL units in Lazarus

Lazarus includes a TOpenGLControl - a LCL control with an OpenGL context. The lazarus package LazOpenGLContext can be found lazarus/components/opengl/lazopenglcontext.lpk. An example can be found in lazarus/examples/openglcontrol/openglcontrol_demo.lpi.

Third party OpenGL units

Tutorial

OpenGL Tutorial

Q/A using OpenGL binding

Q: I don't understand why the ARB version does not work. AFAIK it has the same entry points as the core functionality and OpenGL versions are required to support the ARB version of functions even if the non ARB version is in the core now.

A: No. OpenGL doesn't have to support the extension entry points, even when it supports the same functionality in core already. Vendor is free to remove the extensions, and support only the "core" functions.

Also, sometimes when functionality is promoted from ARB extension into core it's slightly changed (although in 99% cases it stays the same). Example is the GLSL shaders, that expose (very slightly) different API through ARB extensions and through core 2.0 specification.

Basically, what is exposed through extensions is completely orthogonal to what is exposed through core functionality, so they should be initialized separately. In particular cases, you can make tricks like

pascal
 if glIsBufferARB = nil then glIsBufferARB := @glIsBuffer;

but this should be left to the final programmer that knows that "ARB_vertex_buffer_object" behavior is identical to how it works in core.

Go to back Packages List


From the Free Pascal wiki, page "OpenGL/fr", as it stood on 2016-12-09 after a change by E-ric, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's Licensing page. If you have concerns about this material, message the admin.

Revision 2, last changed by WikiArchive .

Talk about this page

Nobody has opened a bench for this page yet. Sign in to open one.