目次 - 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