特にアプリケーション側で対応させるコードをかかなくてもGeForceなりRadeonのドライバの設定をいじれば強制的にFSAAをかけることが可能だが、やっぱりアプリ側で制御すればエンドユーザーでも享受しやすいもんね。
FSAA なし
FSAA 4点サンプリング
FSAA 16点サンプリング
やっぱり綺麗だなー。16点になれると元には戻れないかんじ。
以下は実装にあたってはまった点。
- FSAA用のフレームバッファ作成のためにwglChoosePixelFormatARB()拡張関数が必要なのだが、この拡張関数のアドレスを取得するにはOpenGLのレンダリングコンテキストが有効でなくてはならない。したがって、フレームバッファ作成のために、ダミーのフレームバッファを作成する必要がある
- さらにそのダミーのフレームバッファを本当に作成しようとするウインドウ上に作成してしまうと、本当のフレームバッファを作成するときに失敗してしまう。したがってダミーのウインドウを作成して、ダミーのフレームバッファをその上に構築しなければならない
OpenGLの拡張関数を使うのは本当にめんどいな。資料もあまりないし。
Comments
綺麗になるもんですねぇ。
特に右下のパイプ形状のあたりのシルエットとか。