目次 - SDL 3.0 API(機能別) - ディスプレイとウィンドウ - SDL_GL_GetProcAddress

SDL_GL_GetProcAddress

名前でOpenGLの関数を得る

ヘッダ

SDL3/SDL_video.h

構文

SDL_FunctionPointer SDL_GL_GetProcAddress(const char *proc);

引数

const char *procOpenGL関数の名前

戻り値

(SDL_FunctionPointer) その名前のOpenGL関数へのポインタを戻す. 戻されたポインタはその関数に適したシグニチャでキャストする必要がある.

詳細

GLライブラリを実行中にSDL_GL_LoadLibrary()で読み込んだならば, 全てのGL関数はこの方法で読み出さなければならない. 通常はOpenGL拡張の関数へのポインタを読み出すために使う.

OpenGLの関数を検索するのはいくつかの難点があり, アプリケーションは特に注意を要する. それでも注意深くコーディングすれば, 環境に依存するコードなしでこれらの難点を扱うことができる.

スレッドセーフ

この関数を呼べるのはメインスレッドのみである.

バージョン

SDL 3.2.0以降

サンプルコード

typedef void (APIENTRY * GL_ActiveTextureARB_Func)(unsigned int);
GL_ActiveTextureARB_Func glActiveTextureARB_ptr = 0;

/* 関数のポインタを得る */
glActiveTextureARB_ptr=(GL_ActiveTextureARB_Func) SDL_GL_GetProcAddress("glActiveTextureARB");

/* 正しく関数を呼べるようにするのはあなたの責任である! */
glActiveTextureARB_ptr(GL_TEXTURE0_ARB);

関連項目

SDL Wikiへのリンク

SDL_GL_GetProcAddress - SDL Wiki