読者です 読者をやめる 読者になる 読者になる

OpenGLをC++11でラップしてみんとてするなり 第3回

OpenGL C++

●GLコンテキストクラスの実装
 前回(第2回)で述べたように、OpenGL関連の処理は、コンテキストクラス内に用意することにしました。
 このクラスの実装は、次のようになっています。

gl/Context.h

namespace gl
{
  class Context
  {
  protected :
    Context() {}
    virtual ~Context() {}

  public :
    // TODO: 各種処理の実装
  } ;
}

 コンテキストの作成/破棄は環境依存ですので、環境に合わせたサブクラスを作るような設計にしていますが、サブクラスの作り方についての解説は本題から外れるため、割愛します。
 とりあえず今後、OpenGLのラッパーを、この「TODO」の部分に実装していきます。

サンプルコードについて
 サンプルコードは、C++の2011年版の標準仕様である、通称C++11を用いて書かれています。が、Visual Studio 2012ではC++11への対応が遅れているらしく、正しくコンパイルできないっぽいです。最新だとコンパイルできるかも。
 動作確認はXCode4.4.1で行っていますが、gccでもたぶん大丈夫だと思います。