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

# SDL_GL_CreateContext

OpenGLウィンドウで使うためにOpenGLコンテキストを生成し, カレントコンテキストにする

## 構文

`SDL_GLContext SDL_GL_CreateContext(SDL_Window* window)`

## 引数

window | コンテキストに関連付けるウィンドウ

## 戻り値

windowに関連付けられたOpenGLコンテキスト, エラーのときNULLを戻す. SDL_GetError()を呼んで詳細を知ることができる.

## サンプルコード

``

    // OpenGLを使う場合はウィンドウ生成時に必ずSDL_WINDOW_OPENGLを含める必要がある
    SDL_Window *window = SDL_CreateWindow(
        "SDL2/OpenGL Demo", 0, 0, 640, 480,
        SDL_WINDOW_OPENGL|SDL_WINDOW_RESIZABLE);

    // ウィンドウに関連付けたOpenGLコンテキストを生成する
    SDL_GLContext glcontext = SDL_GL_CreateContext(window);

    // これでGLを呼ぶことができるようになる
    glClearColor(0,0,0,1);
    glClear(GL_COLOR_BUFFER_BIT);
    SDL_GL_SwapWindow(window);

    // OpenGL関数を使い終えれば, SDL_GLContextは削除してよい
    SDL_GL_DeleteContext(glcontext);

## 詳細

新たにOpenGLを使うWindowsユーザーは, 歴史的な理由で, OpenGLバージョン1.1で追加されたGL関数はデフォルトでは使えないことに注意しなければならない. これらの関数は, OpenGL拡張を扱うライブラリ, またはSDL_GL_GetProcAddress()とその関連の関数で実行中に読み込むことができる.

SDL_GLContextはvoid *のエイリアスである.

## 関連項目(関数)

SDL_GL_DeleteContext
SDL_GL_MakeCurrent

## SDL Wikiへのリンク

SDL_GL_CreateContext - SDL Wiki