functionDownloadenglishchinesejapaneserussianfrançaisチュートリアル1:ウィンドウを開くイントロダクション最初のチュートリアルにようこそ!OpenGLの世界に飛び込む前に、最初に各チュートリアルで使うコードのビルドの方法、実行方法、そして最も重要な、コードを自分自身でいじる方法を学びます。前提条件これ以降のチュートリアルでは特別な前提条件はありません。経験があれば良いですが、必ずしも必要ではありません。二つのことを同時に学ぶことは、ただより複雑になるだけだからです。すべてのチュートリアルは簡単なC++で書いています。テンプレートやクラス、ポインタなどを使わないで、できるだけシンプルになるようにコードを作りました。Javaしか知らなくてもすべて理解できるでしょう。全部忘れてください前提知識は必要ありませんが、ひとまずOpenGLに関する知識は忘れてください特に、glBegin()などを知っているなら忘れてください。ここで学ぶのはモダンOpenGL(OpenGL3と4)です。ネット上のほとんどのチュートリアルは古いOpenGL(OpenGL1と2)に関するものです。混乱しないようにOpenGLに関する知識を忘れてください。チュートリアルのビルドどのチュートリアルもWindows、Linux、Mac上でビルドできます。どのプラットフォームでも、ビルドの手順はだいたい同じです。絶対にやってください。コンパイラがないなら、コンパイラをダウンロードします。CMakeをインストールします。チュートリアルのソースコードをダウンロードします。CMakeを使ってプロジェクトを作ります。プロジェクトをビルドします。サンプルで遊びましょう!各プラットフォームごとの詳しい手順を以下に示します。変更は必要かもしれません。自信がなければ、Windowsでの導入方法を読んでから、それぞれに合うようにやってみてください。Windowsでのビルドドライバのアップデートは簡単です。NVIDIAやAMDのウェブサイトに行ってドライバをダウンロードしてください。インテル内臓GPUならば、ドライバはOEM(Dell、HP、...)から提供されます。Desktopを使うことを推奨します。ここから無料でダウンロードできます。Creatorの使用をお薦めます。Studioを使って説明していきます。他のIDEでも同じように進めていけるでしょう。ダウンロードして、インストールしてください。ソースコードをダウンロードしてください。C:UsersXYZProjectsOpenGLTutorialsなどに解凍してください。CMakeを起動してください。最初の項目には解凍したフォルダを指定してください。自信がなければ、CMakeLists.txtがあるフォルダを選んでください。次の項目にはコンパイラに関するものを置く場所を指定してください。次のように選択できます。同じフォルダでなくても大丈夫です。Configureボタンをクリックしてください。プロジェクトの設定をするのは初めてなので、CMakeはどのコンパイラを使うか聞いてきます。ステップ1に従って選んでください。Windowsなら64bitsを選んでください。わからなければ32bitsを選んでください。すべての赤いラインが消えるまでConfigureをクリックしてください。Generateをクリックしてください。Studioプロジェクトが作られます。CMakeの役割は終わりなのでアンインストールしてしまってもかまいません。C:UsersXYZProjectsOpenGLTutorials-build-Visual2010-32bitsを開いてください。Studioで開いてください。ビルドメニューからすべてをビルドを選んでください。すべてのチュートリアルと依存関係がコンパイルされます。各exeファイルはC:UsersXYZProjectsOpenGLTutorialsにコピーされます。エラーは出ないでしょう。C:UsersXYZProjectsOpenGLTutorialsplaygroundを開きplayground.exeを起動してください。黒いウィンドウが現れると思います。Studioから各チュートリアルを起動できます。Playgroundを右クリックして「スタートアッププロジェクトに設定」を選びます。F5を押すことでデバッグできます。LinuxでのビルドLinuxの各プラットフォームごとに説明するのは不可能なので、必要に応じて変更してください。各ディストリビューションのドキュメントを読むのを嫌がらないでください。最新のドライバをインストールしてください。クローズドソースのバイナリドライバを強くお薦めします。GNUなどではありませんが、きちんと動きます。guideを試してください。必要なコンパイラ、ツール、ライブラリをすべてインストールしてください。libxext-devをインストールしてください。***」を使ってください。ソースコードをダウンロードして、例えば、~/Projects/OpenGLTutorials/に解凍してください。~/Projects/OpenGLTutorials/に移動して次のコマンドを実行してください。..build/ディレクトリにmakefileが作られます。all”をタイプしてください。すべてのチュートリアルと依存関係がコンパイルされます。各実行ファイルは~/Projects/OpenGLTutorials/にコピーされます。エラーは出ないでしょう。~/Projects/OpenGLTutorials/playgroundを開いて、./playgroundを起動してください。黒いウィンドウが現れます。CreatorなどのIDEを使うべきです。これはCMakeをビルトインでサポートしています。デバッグするときにより良い体験を提供するでしょう。以下にQtCreatorでの手順を示します。QtCreatorでFile->Tools->Options->Compile&Execute->CMakeに行きます。CMakeへのパスを指定します。だいたい/usr/bin/cmakeでしょう。Projectでtutorials/CMakeLists.txtを選んでください。ビルドディレクトリを選んでください。できればチュートリアルフォルダの外にしてください。boxにセットしてください。Validateしてください。下にあるハンマーをクリックしてください。tutorials/からチュートリアルが起動できるでしょう。Directoryをクリックし、シェーダとテクスチャとモデルがあるディレクトリを選んでください。チュートリアル2では~/opengl-tutorial/tutorial02_red_triangle/となります。MacでのビルドMacOSはOpenGL3.3をサポートしていません。LionとコンパティブルGPUはOpenGL3.2は実行できます。(3.3ではありません。)代わりに、チュートリアルの2.1ポートを使用してください。それは別として、手順はWindowsと良く似ています。(MakeFileもサポートされていますが、ここでは説明しません。StoreからXCodeをインストールします。CMakeをダウンロードし、.dmgをインストールします。コマンドラインツールはインストールする必要はありません。3.ソースコードをダウンロードしてください。~/Projects/OpenGLTutorials/に解凍してください。CMake(Applications->CMake)を起動してください。最初の項目に解凍したフォルダを指定してください。(CMakeLists.txtを含むフォルダです。)次の項目にコンパイラ関係のものを置く場所を指定してください。~/Projects/OpenGLTutorials_bin_XCode/を選んでください。このフォルダでなくても大丈夫です。Configureボタンをクリックしてください。プロジェクトを設定するのが初めてなので、CMakeはどのコンパイラを使うか聞いてきます。Xcodeを選んでください。赤いラインが消えるまでConfigureをクリックしてください。Generateをクリックしてください。これで、Xcodeプロジェクトが作成されます。CMakeの役割はこれで終わりなので、アンインストールしても構いません。~/Projects/OpenGLTutorials_bin_XCode/を開いてください。ファイルが見つかるので、それを開いてください。panelの中から実行したいチュートリアルを選んでください。Runボタンで、コンパイルと実行をしてください。commandsのコマンドラインを次のように編集する必要があります。ワーキングディレクトリも自分で設定する必要があります。(これはsrc_dir/tutorial_N/です。正しいディレクトリからチュートリアルを実行すべきです。実行ファイルをダブルクリックするだけです。コマンドラインがよければ、正しいディレクトリに移動してください。IDEから実行したければ、上で説明したように正しいワーキングディレクトリを設定するのを忘れないでください。各チュートリアルはソースコードとデータからできています。tutorialXX/で見つけられると思います。これらのプロジェクトを決して編集しないでください。リファレンス用として使ってください。playground/playground.cppを開いて、代わりにこのファイルを微調整してください。このファイルを好きなように編集してください。迷子になったら、単純にそのファイルにコピー&ペーストしてください。それで標準に戻ります。各チュートリアルではコードの一部を載せています。チュートリアルを読む一方で、playgroundに直接コピー&ペーストするのを嫌がらないでください。経験するのが良いのです。単純に完成したコードを読むのを避けていては、このような方法では多くは学べないでしょう。シンプルなコピー&ペーストでさえ、多くの問題が出てくるでしょう。ウィンドウを開くついに!OpenGLのコードです!ええと、実際は違います。level”な方法を見せます。このパートはとてもつまらなく役に立ちません。私たちの代わりにこれをやってくれる、外部のライブラリのGLFWを使います。APIを使ってください。Linksページを見てください。OK、それでは行きましょう。依存関係に対処します。コンソールにメッセージを表示するための基本的なものが必要となります。標準ヘッダをインクルードします。これはちょっとしたマジックです。後のために残しておきましょう。GLEWをインクルードする。常にgl.hとglfw.hより先にインクルードしましょう。これはちょっとしたマジックです。GLFWでウィンドウとキーボードを扱うため、次のものもインクルードしましょう。GLFWをインクルードします。このライブラリは実際はすぐには使いません。これは3D数学のためのライブラリです。便利なことが分かるでしょう。GLMにはマジックはありません。必要があれば自分自身でも書けます。GLMはとても使いやすいです。namespace”があることで”glm::vec3”と書く代わりに、”vec3”と書けます。GLMをインクルードします。glm;これらの#includeをplayground.cppにコピー&ペーストしたならば、コンパイラはmain()関数がないと言うでしょう。main(){最初にGLFWを初期化します。GLFWを初期化します。"GLFWの初期化に失敗しました。OpenGL3.3を使います。MacOS用:必ずしも必要ではありません。古いOpenGLは使いません。(ソースコードではこの変数はグローバルです。"GLFWウィンドウのオープンに失敗しました。3.3に対応していません。チュートリアルのバージョン2.1を試してください。コアプロファイルで必要となります。"GLEWの初期化に失敗しました。-1;}するとウィンドウが出てきますが、すぐに閉じてしまいます。!ユーザがエスケープキーを押すまで待っている必要があります。下でエスケープキーが押されるのを捉えるのを保証します。バッファをスワップする。ESCキーが押されたかウィンドウが閉じたかをチェックする。);これで最初のチュートリアルは終了です。チュートリアル2では、実際に三角形を描く方法を学びます。