freeglut × MinGW の OpenGL用3DCGプログラミングの環境を Windows に導入する !

スポンサーリンク

 

こんにちは!HELLO!您好!привет там ! 안녕하세요 !Hola !

約4か月ぶりの更新です。

大学の課題やら開発やら試験やらでブログの方はずっと放置してました。

というか忙し過ぎてブログを更新している暇は全くありませんでした。

理系学生は基本的に忙しい学生生活を送っていると思いますが、

とりわけ僕の所属する情報学科は2年後期にヘビーな科目が詰まっていまして、最近までの試験期間中は地獄の日々でした。

「ブラック企業ってきっとこんな感じの日々が毎日続くんだろうなぁ」みたいな2週間でした。

試験を無事終え、一昨日辺りから春休みに突入しました。

今はちょっとだけホットしています。

 

で今日は最近まで取り組んでいた、

OpenGL による3DCGプログラミングで僕が作ったアプリについて熱く語っていこうと思います!

と言いたいところですが何から話そうかと考えると、

ひとまずプログラムを動かす開発環境についてお話した方が良さそうなので、

今日は僕が 3DCG を自分の計算機でも勉強できるように導入した環境について紹介しようと思います。

 

大学の計算機は Linux で、大学で開発する際は用意されているツールを使用すれば十分でしたが、

休日に自宅などで開発の続きを行うには自分の Windows君にもCG用の開発環境を整える必要がありました。

面倒かなと思っていましたが結構簡単に、というか秒で構築できました。

 

minGW と freeglut をインストールする

 

用意するものは以下の2つです。

  1.  MinGW ( コンパイラ )
  2.  freeglut ( オープンソース ) 

freeglut は OpenGL で利用するglutライブラリの代わりに利用します。

glut もしくは freeglut のどちらの場合のプログラムでも動作しますのでご安心を!

 

さて、まずはコンパイラの MinGW君のインストール方法についてですが、こちらの記事をご覧ください。

おまけでテキストエディタ Atomのインストール方法についての紹介も書かれています。

【Windows】プログラミング初心者向け!Atom x MinGW の超シンプルな C/C++の開発環境を構築する!

2017.09.22

 

MinGW は無事インストールできましたか?

次に freeglut を入手します。

Transmission Zero という海外の一見怪しそうで信頼できそうなサイトからダウンロードします。

リンク先の 【Download freeglut 3.0.0 for MinGW】をクリックすればダウンロード可能です。

 

無事ダウンロード出来たら適当なディレクトリに解凍してください。

僕は Downloadsに解凍しました。

解凍後、そのフォルダを以下のように辿っていくと「GL」という名前のディレクトリがあると思います。

C:\Users\yukiWavy\Downloads\freeglut-MinGW-3.0.0-1.mp\freeglut\include\GL

 

また、同様に以下のパスを辿ると「libfreeglut.a」と「libfreeglut_static.a」のアーカイブがあると思います。

C:\Users\yukiWavy\Downloads\freeglut-MinGW-3.0.0-1.mp\freeglut\lib

 



見つかりましたか?

次にそれらのファイルをコンパイラ MinGW の適所に移動させます。

  1.  「GL」を MinGW の「include」に移動
  2.  「libfreeglut.a」と「libfreeglut_static.a」のアーカイブを MinGWの「lib」に移動

ちなみに、MinGWが格納されているフォルダはデフォルトの場合であれば C:\MinGW にあります。

 

プログラムを書いて動作確認をする

 

以上で OpenGLによるCGプログラミングの環境の準備は完了です!

ということで何か簡単なオブジェクトを出現させるプログラムを書いて確認してみましょう。

OpenGL 定番のティーポットを描画するプログラムを書いてみます。

ただのティーポットじゃつまらないので特別仕様の金ぴかキラッキラティーポットにします。

ソースコード

 

重要なことを忘れていましたが、コンパイル時にはライブラリを指定してください。

g++ teapot.cpp -o teapot -lfreeglut -lglu32 -lopengl32

 

実際のコマンドプロンプトではこんな感じです。

そして肝心な実行結果です。

 

てな具合で意外と簡単に開発環境を導入できますので、皆様もお試しください!

端末を使う方法以外にも Visual Studio で実行する方法もありますのでそちらも試すといいかもしれません。

僕は上手く出来ませんでしたが。

 

OpenGLのおすすめ参考書

 

OpenGL による3DCG の勉強を始めるにあたって僕が参考にしたおすすめの書籍を紹介しておきます。

OpenGLは比較的に歴史のある技術ですので紹介する参考書籍も古いものですが、

僕が大学で OpenGLの勉強を始める際に購入してかなり役に立ちました。

探すのに苦労しましたが、どれも基本的に初心者向けの隠れ良書です。

 

図解 OpenGLによる3次元CGアニメーション

僕がメインで使っていた参考書です。

2005 年に出版された古い書籍ですが、初心者が疑問に思う専門用語の説明や 3DCGの基礎が細かく丁寧に説明されています。

書籍の題名通り、図や実行画面などの写真が多く視覚的に学ぶことができます。

また、サンプルプログラムが豊富にあり役立つテクニックをそのまま習得することもできます。

最後の章では作品例が5つ紹介されていますので、

基礎から始めて最後には本格的なプログラムを実装する所まで学ぶことができます。

価格は少し高めですが本当におすすめの1冊です。

 

OpenGLでつくる3次元CG&アニメーション

上記で紹介した「図解 OpenGLによる3次元CGアニメーション」よりも少し難易度が高い参考書です。

数学的アプローチを含めみながらより本格的に3次元CGを学ぶことができます。

フラクタルや確率モデル、素粒子系アニメーションなどの踏み込んだ技術を学びたい方におすすめです。

豊富なサンプルプログラムを動かしながら高度な3DCGプログラミングを学ぶことができます。

 

OpenGLによる3次元プログラミング

この参考書は関西大学総合情報学部と東京理科大学工学部の実習授業の内容がまとめられた書籍です。

ですので、要点が明確にまとめられており比較的短期間でも学習することができます。

また、最後のページには8名の学生の自由制作が紹介されています。

A5判174ページの軽量ボディであるため開発期間中、僕はほぼ毎日カバンに忍ばせて持ち歩いていました。

僕のサブの参考書です。

関数名や関数の引数など何か気になった際に使用する辞書的ポジションとして利用しました。

 

OpenGLでつくる力学アニメーション入門

様々な物理演算を学ぶことができる参考書です。

物体の動きをシミュレーションするプログラムを主に扱っています。

正直これは初心者向きではなくあまりおすすめは出来ませんが、

僕自身は所々で利用する細かな物理演算を実装する際に参照しました。

 
以上おすすめ参考書の紹介でした。

 

そろそろ力尽きてきたので今日はこの辺で!

そのうち僕の作品紹介をしようかと思います。

ではまた!

スポンサーリンク


ABOUT ME

yuk!

国立大学情報学科に通う大学生です。天然パーマと戦いながらすーぱーエンジニアを目指し技術とセンスを磨いています。 室内に引きこもりがちでヘビメタと猫と甘いものが救いのキーボードカチャカチャ生活ですが、最近はブログで文章を書くことが楽しいです。モットーは「 Who dares wins. = 人生是一箇,活殺全在我。」好きな言葉は「マジ卍」。