SDL_bool SDL_GL_ExtensionSupported(const char* extension)
extension | チェックする拡張の名前 |
if (SDL_GL_ExtensionSupported("GL_EXT_framebuffer_blit")) {
draw_to_the_screen_with_framebuffer_blit(); // 速い!
} else {
draw_to_the_screen_with_a_textured_quad(); // 遅い!
}
この関数はカレントコンテキストで動作する. つまり, コンテキストが生成されていて, 関数が呼ばれる前にカレントである必要がある. 生成したコンテキスト全てが同じように拡張が使える, または既に存在するコンテキストから再生成したとき同じ拡張が使えるとみなしてはならない.
また, 大きな負荷が掛かる可能性がある. この関数O(1)ではない. 必要なときに毎回この関数を呼ぶのではなく, GLコンテキストを生成した後に取り扱う拡張をチェックしてその情報を保存するべきである.
SDL 2.0.0以降