WinAPIを使ったOpenGL

しくみ

OS と OpenGL のやりとりは WGL が行う。

Windowsに初めから入っているOpenGL

  • OpenGL 1.1 のヘッダ&lib のみ。

WindowsにOpenGLははじめから入ってるらしいよ。どこまで入ってるんだろね。

F:\Program Files\Microsoft SDKs\Windows\v7.1\Include

に入っていたGLらしきもの

  • gl/GLU.h
  • gl/GL.h

F:\Program Files\Microsoft SDKs\Windows\v7.1\Lib

  • GLU32.lib
  • OpenGL32.lib

。Windowsでは、WGLというライブラリで描画を行う「レンダリングコンテキストHGLRC」を
Windowsのデバイスコンテキストと結びつけ、描画を行うようです。
また、デバイスコンテキストにはピクセル形式などを「ピクセルフォーマット」として設定しておきます
HGLRCはwglCreateContext()で作成することができるということは周知のとおり。
OpenGLの描画・テクスチャおよびリストの登録や各種ビット(glEnable()とか)の操作はすべて、『アクティブなレンダリングコンテキスト』に対して行われるわけです。

PeekMessage

Reshapeする場所

wglMakeCurrent(pDC->m_hDC, m_hrc);
に挟まれてる部位でなければならない。

void CGLRenderer::Reshape(CDC *pDC, int w, int h)
{
      wglMakeCurrent(pDC->m_hDC, m_hrc);
      //---------------------------------
      glViewport (0, 0, (GLsizei) w, (GLsizei) h); 
      //---------------------------------
      wglMakeCurrent(NULL, NULL);
}

参照

OpenGL-Win32-AppWizard
参照元
OpenGLによるグラフィック描画
to OpenGL 3.2 - Tutorial 01
ホイール欲しいハンドル欲しい

サポートサイト Wikidot.com openglwinapi