asaのブログ

プログラミングの勉強まとめ

Visual StudioによるOpenGL環境の構築

 Visual StudioOpenGLを利用できるようするための環境構築方法をまとめました。

 

 Preface

 OpenGLVisual Studioで利用するための方法はいくつかありますが、結局のところ何をしているかというと、ライブラリを参照するためにあれこれするということになります。

 

 少し前に、NetbeansでJOGL環境の構築 - asaのブログNetbeansでJOGLの環境構築をしましたが、Visual StudioにOpneGL環境を構築することもおなじくライブラリがどこにあって、どう参照するかということを設定するという話になります。

 

 ライブラリいろいろ

OpenGLはとてもやっかいなものなようで(まだ触ってないのでなんともいえないけど…)、扱いやすくするために多くのライブラリが公開されています。GLUTFreeGLUTGLFWなどがそれです。これらのOpenGLを拡張したライブラリを使用することで開発が楽になります。

 

 それぞれのライブラリにはできること、できないことで機能に特徴があり一概にどれが良いか触ってみないと決めることができません。本ちゃんのペイントツールを作成するには、実際にQtが使用されているところもあるようなので、Qtもその内記事で紹介しようと思います。

 

 環境構築方法もいろいろ

 環境構築の方法もライブラリがたくさんあるので、それぞれ異なっていたりします。

 ただまぁ、最初に振返って結局はライブラリを参照するためにあれこれするんだ、とりあえず頭において作業を進めます。

 環境構築方法を大雑把にまとめると下の3つになります。

  1.  Visual Studioの公式パッケージを使う
  2.  CMakeを使ってライブラリをソースからビルド
  3.  NuGetを使ってパッケージをインストールする

 さて、どうしたものでしょう?ここでは一番敷居が低い3番を選択してみようと思います。これらの詳細は下のリンクを参考にされるといいです。

www.buildinsider.net

 

 OpenGLの環境構築

 本題に入ります。NuGetというVisual Studioについているパッケージ管理ツールを使用して環境構築をいきます。実はNuGetを使うと先に挙げたライブラリを全てまとめて利用利用できるようになります。

 

 フローは以下の通りです。かなりあっさりしています。

  1.  Visual Studioで空のコンソールアプリケーションプロジェクトを作る
  2.  NuGetでNupenGL.coreをインストールする。
  3.  ヘッダファイルをインクルード
  4.  表示用のコードを書く

 順番にやっていきます。

 

 1 .空のプロジェクトを作る

 ファイル⇒新規作成⇒プロジェクトからコンソールアプリケーションを作成します。今回はTestという名前で作成しました。

 

 2. NuGetでNupenGLをインストールする。

 プロジェクト⇒NuGetパッケージの管理をクリックします。参照タブを選択して検索窓にfreeglut(nupenでも良いです)と入力すると下のように検索結果が表示されます。nupengl.coreを選択するとインストールというボタンが出てきますので、ポチッとしてあげてください。これでOpenGLが利用できるようになります。

f:id:asa_r:20170605205258p:plain

 

 3. ヘッダファイルをインクルード

 Javaのimport文みたいのがC++では#includeです。それでパッケージがヘッダファイルです。なので例えばfreeglutライブラリを使いたい場合、ライブラリをまずはインクルードしてやります。

 

 4. 表示用のコードを書く

 きちんと動作しなければ何の意味もないので、とりあえず表示するかどうか確認します。空のウインドウを表示する - OpenGLプログラミングメモ - アットウィキを参考にして空のウィンドウを表示させます。

 コードはこんな感じで。隠面消去とかは関係なかったのでデプスバッファは書いてません。後黒色だと味気ないので白色にしています。

 

gist2b6368fe7ae773a1774480d67858e38c


 こんな画面が表示されれば成功です!

f:id:asa_r:20170605211007p:plain