PR:この記事にはアフィリエイトリンクが含まれます。
OpenGL本のおすすめを探すと、C++とGLSLの入門書から照明・影・PBRの実装を扱う本まで幅があります。選ぶ前に見たいのは対象バージョンと、コードを動かして学ぶ範囲。ここが違うと、読み終えた後にできることも変わります。
紹介する4冊はOpenGL 3.3 Coreの基礎から4.6のGLSL実装までを扱います。日本語書はC++とGLFWの環境準備から始まり、英語書はコード例や幅広い描画題材を取り上げます。
早見表
| 書名 | 言語・対象版 | 主に学べる内容 |
|---|---|---|
「グラフィックス・アプリ」制作のためのOpenGL入門 | 日本語、C++・GLFW | 環境構築、シェーダー、座標変換 |
Learn OpenGL: Learn Modern OpenGL Graphics Programming in a Step-by-step Fashion | 英語、OpenGL 3.3 Core | GLSL、GLM、カメラ、3Dオブジェクト |
Computer Graphics Programming in OpenGL with C++ (Third Edition) | 英語、OpenGL 4.0以上 | 数学、照明、影、水、レイトレーシング |
OpenGL 4 Shading Language Cookbook (Third Edition) | 英語、OpenGL 4.6・GLSL 4.6 | シェーダー管理、PBR、Compute、パーティクル |
4冊ともC++でOpenGLを扱いますが、学べる範囲は異なります。日本語の導入書もあれば、OpenGL 3.3の基礎を演習で追う本や、4.xの描画技法を掘り下げる本もあります。対象版と題材に違いが表れています。
GLSLはGPU上で頂点やピクセルの処理を書くシェーダー言語です。C++側で準備したデータを渡し、その処理を描画に反映します。両方の役割を知ると、コードのつながりが見えてきますね。
英語の3冊は対象バージョンと扱う技法が明確です。英文を読む負担はありますが、コード例が内容を追う手がかりになります。知りたい技法に合わせて、対象版と掲載テーマを確認できます。
OpenGLの基本
OpenGLは描画命令をGPUに渡すAPIです。C++でウィンドウや描画データを用意し、GLSLシェーダーが頂点の位置や色、ピクセルの色を計算するのが、3D描画の基本的な流れです。
3Dモデルを画面に映すときは、モデル・ビュー・射影の変換を重ねます。物体の配置、カメラから見た位置、遠近感を順に計算する仕組みです。行列の役割が分かるとコードの数値も読みやすくなります。
シェーダーはコンパイルとリンクを経て使います。OpenGL側で複数段階のシェーダーをコンパイルしてリンクし、uniformの受け渡しやエラー確認も行います。C++の値がどう画面へ届くかを追うと、描画の仕組みをつかめます。
日本語で基礎固め
工学社刊、床井浩平著の『「グラフィックス・アプリ」制作のためのOpenGL入門』は2018年7月17日発行です。B5判288ページの日本語書で、C++とGLFWの準備から学べます。OpenGLを初めて動かす人にも入りやすい一冊でしょう。
準備章ではGLEWの導入も扱い、その後はプログラマブルシェーダー、同次座標、変換行列へ進みます。ビュー変換と投影変換を学んだ後、3D図形や頂点色、塗りつぶしと隠面消去を扱います。
公式定価は3,080円(税込)で、実売価格は時期や店によって変わります。出版社の既刊一覧では在庫僅少と案内されているため、紙版は在庫も確かめてください。
Learn OpenGL
Joey de Vries著の*Learn OpenGL*は2020年刊。英語で522ページあり、対象はOpenGL 3.3 Core Profileです。C++とGLSLのコード例を順に追っていきます。
三角形を皮切りに3Dキューブや複数オブジェクトへ進み、頂点・フラグメントシェーダー、uniform、シェーダーのコンパイルとリンクを学びます。GLMとシェーダーを使ったモデル・ビュー・射影行列も扱います。
章末演習があり、読んだ内容を自分の環境で試せます。OpenGL 3.3の基本工程を実装しながら学びたい人におすすめです。OpenGL 4.6固有の機能が目的なら、対象版の異なる本が適します。

Learn OpenGL: Learn Modern OpenGL Graphics Programming in a Step-by-step Fashion
Kendall & Welling
Amazonで見るC++で描画を広げる
*Computer Graphics Programming in OpenGL with C++ (Third Edition)*は、V. Scott GordonとJohn Clevenger著の第3版で、2024年3月9日発行です。ハードカバー568ページ。Windows PCとMacintoshのセットアップ付録もあります。
OpenGL 4.0以上のGLSL実装と、Mathematical Foundations章の数学的基礎を扱います。各例のC++ソースやシェーダー、モデルなどの補助ファイルを使い、考え方と描画を並べて追えます。
題材にはモデリング、テクスチャ、照明、影のほか、テッセレーション、水、レイトレーシング、立体視も含まれます。3Dグラフィックスの幅広い技法を一冊で学びたい人におすすめです。

Computer Graphics Programming in OpenGL with C++ (Third Edition)
Mercury Learning & Information
Amazonで見るGLSLを実装で深掘り
David Wolff著の第3版はPackt刊、2018年9月28日発行です。英語で472ページ。OpenGL 4.6、GLSL 4.6、C++17を対象にし、C++と3Dグラフィックスの基礎経験を前提としています。
レシピ形式でGLSLのコンパイルとリンク、属性やuniformの受け渡し、シェーダープログラムの管理を具体的に扱います。GLMを使った数学処理と、GLMの型をOpenGLへ渡す方法も解説しています。
照明、テクスチャ、影から、ジオメトリ・テッセレーション・Computeシェーダー、PBR、パーティクルまで題材が続きます。作りたい効果の実装を調べるリファレンスとして使えます。
C++とGLSLの役割
C++側でウィンドウやOpenGLコンテキストを用意し、頂点データと描画命令を組み立てます。GLSLはGPU上で動き、頂点の変換やピクセルの色計算を担当する言語です。役割の境目が分かるとコードを読みやすくなります。
頂点属性には頂点ごとの位置や色、uniformには描画のまとまりに渡す行列や光源の値を設定します。たとえば同じ立方体を画面内で動かすときは、形状データを保ったまま変換行列を更新する。渡す情報の単位が違います。
モデル・ビュー・射影行列を分けると、物体の位置、カメラの視点、遠近感を別々に確認できます。行列の値を変えたとき画面がどう変わるか見れば、どの段階に原因があるか追いやすくなりますね。
結論
日本語で最初の描画まで進みたいなら、工学社の入門書がおすすめです。公式定価は3,080円(税込)で、実売価格は時期や店によって変わります。紙版は在庫も確かめてください。C++・GLFWから座標変換まで読みたい人に合います。
OpenGL 3.3 Coreを演習つきで学ぶなら*Learn OpenGL*、数学から幅広い描画題材へ進むなら第3版の*Computer Graphics Programming in OpenGL with C++*が有力です。英語のコード例を追えるかも判断材料になります。
すでにC++と3Dの基礎があり、GLSL 4.6の実装を調べる人には*OpenGL 4 Shading Language Cookbook*がおすすめです。対象版と描画テーマが今の課題に合えば、実装例を参照しやすいでしょう。
Amazon の PC をスコア化してみた
Amazonにある8〜14インチの小型WindowsタブレットやノートPCを、スペック別にスコア化して比較・ランキング。



