OpenGLの書籍を発売します

ノースブレインは長らくDirectXの書籍を制作してきました。やもすればノースブレインはDirectXしか解説しないのではと思われてきたかもしれません。OpenGLの解説書を出してほしいという要望は2010年ごろから時折りあったのですが、自身のスキルの問題や時間の問題もありなかなか実現には至りませんでした。しかしこの度晴れてノースブレイン初となる「OpenGLの書籍」を完成することとなりました。

完成及び発売開始は2019年2月中を予定しています。

タイトルはOpenGL4入門となる見込みで、内容はタイトルから想像できるとおりOpneGLの入門書なのですが、OpenGLを始めたい方、OpenGLが分からない方、何となくOpenGLをコーディングできるけど基礎が分からないのでスッキリしない方などに最良の書籍となります。
3Dそのものの入門は拙書「3D入門」などで完了している読者を想定しています。

OpenGLの必須概念を総合的に解説した唯一の書籍と考えています。

目次は多少の変更可能性はありますが、ほぼ次のとおりになると思います。

1章 ウィンドウの表示
2章 Hello OpenGL
3章 コンテキストとは?
5章 現在の状態を想像せよ
6章 ポリゴンの色を変える
7章 ポリゴンを動かす
8章 GLSLでシェーダー入門
9章 ランバートシェーディング
10章 テクスチャーマッピング
11章 頂点の作り方は様々
12章 VBO
13章 VAO
14章 クアッド
15章 インデックス
16章 エラー表示
17章 キューブ
18章 ソース上のモデルデータを読む
19章 外部ファイルからモデルデータを読む
20章 スキンメッシュ

以下、本文「はじめに」の抜粋になります。


サードパーティライブラリ非依存

OpenGLの良い入門書やインターネットページが見当たらない。glutやGLFWなどを使ったチュートリアルは断片的に見つかるものの総合的な解説が見つからない。そんな状況を変えるべくglutやGLFWなどのラッパーライブラリに依存しないネイティブなOpenGLの入門書を目指しました。サードパーティライブラリに依存すればするほど応用の幅やスキルの幅が狭まってしまいますし、なにより筆者がそのようなライブラリに依存しながら解説するのが好きではありません。できる事なら極力フルスクラッチ的なコードで学習するべきというのがノースブレインの書籍制作におけるポリシーでもあります。
ただ当初は完全なOpenGLオンリーのサンプルを作っていたのですが、その際あまりにもコードが長くなってしまい、これはこれでマズいのではないかと思い始め、最終的にはglewにだけは依存することにしました。glewはOpenGL Extension Wrangler Libraryの略で、一言で言うと面倒な関数インポートを裏でやってくれるライブラリです。このような機能は本来はAPI自体に備わっているべきなのですが、OpenGLの場合はクロスプラットフォームに対応するため、それらの基本部分が欠如しています。DirectXなどでは考える必要のない事をOpenGLでは考えなくてはならないのですがglewはそれを解決してくれます。つまりOpenGL+glewでの解説がちょうどDirectXのネイティブ解説と同じくらいのレベルだと思ってください。素のままのOpenGLだけだとさすがに入門書としては難しい部分があります。学習中にglewを意識することはないかと思います。
本書はOpenGLコアとglewという構成でサンプルプログラムを作成しています。
しかし、既に述べた通りglutやGLFWなどには依存していませんので、良い感じでOpenGLネイティブのスキルが着実に身につく内容になっていると思います。
なお、OpenGLのみのサンプルに興味のあるかたのためにOpenGLコアのみの(glewも使っていない)サンプルも巻末サンプルとして付けておきました。ある程度学習が進んだ時あるいは学習を終えた時に見るといいのではないかと思います。 がノースブレインの書籍制作におけるポリシーです。

ただ当初は完全なOpneGLオンリーのサンプルを作っていたのですが、その際あまりにもコードが長くなってしまい、これはこれでマズいのではないかと思い始め、最終的にはglewにだけは依存することにしました。glewはOpenGL Extension Wrangler Libraryの略で、一言で言うと面倒な関数インポートを裏でやってくれるライブラリです。このような機能は本来はAPI自体に備わっているべきなのですが、OpenGLの場合はクロスプラットフォームに対応するため、それらの基本部分が欠如しています。DirectXなどでは考える必要のない事をOpenGLでは考えなくてはならないのですがglewはそれを解決してくれます。つまりOpenGL+glewでの解説がちょうどDirectXのネイティブ解説と同じくらいのレベルだと思ってください。素のままのOpenGLだけだとさすがに入門書としては難しい部分があります。学習中にglewを意識することはないかと思います。

本書はOpenGLコアとglewという構成でサンプルプログラムを作成しています。

しかし、既に述べた通りglutやGLFWなどには依存していませんので、良い感じでOpenGLネイティブのスキルが着実に身につく内容になっていると思います。

なお、OpenGLのみのサンプルに興味のあるかたのためにOpenGLコアのみの(glewも使っていない)サンプルも巻末サンプルとして付けておきました。ある程度学習が進んだ時あるいは学習を終えた時に見るといいのではないかと思います。

対象読者

対象読者はGLSLでシェーダーの基礎を身につけたい方、DirectXはできるがOpenGLは未経験な方、3D基礎はなんとなく理解しててOpenGLを初めての3D APIに選んだ方、なんとなくOpenGLのコーディングは出来るがしっかり基礎を身に着けたい方、OpenGLの各種概念を正しくしっかり把握したい方。というところでしょうか。

本書のタイトルはOpenGL4入門です。「入門」としていますが、3Dそのもの基礎まで解説するものではありません。本書の対象読者は3Dの基礎(最低限度レベル)が身についているという前提に立っています。

OpenGLやDirectXのようなグラフィックスAPIの入門を解説するときは3Dの入門的な解説も含まれますが、APIの入門書を書くたびに同じ解説を繰り返すのはどうなんだろうという思いから「3D入門」という本を本書とは別に既に制作していますので、もし読者に3D基礎が全く無いのであれば、まず3D入門を読まれてから本書を読んでいただきたいと思います。

実は本書は3D入門よりも先に着手したプロジェクトです。本書プロジェクトのごく初期の段階、本書の構成を考えている時に「3Dの基礎部分は分離して別の本にすれば効率的だ」と考え、急遽3D入門の制作プロジェクトのほうを優先的に開始したという経緯があります。

3D入門部分を1つの本として分離したことにより、API解説本の中で行う3D基礎解説よりも丁寧に3Dの基礎を解説する本が出来たと思っています。

そうは言ってもやはり入門書であるので、サンプルの複雑さはそれほど高くありません。まさに3D入門を終えた人が理解できるレベルになっています。

また繰り返しになりますが、サードパーティのライブラリに依存せずに3Dモデルを構築し表示するということを行っているので、ゲームプログラマーやCGエンジニアを職業にしようという人、あるいはそのレベルを目指す人にとって普遍のスキルを提供できるものとなっています。

WindowsのOpenGL

本書はWindows上でのOpneGLを解説します。OpenGLはクロスプラットフォーム対応なのでWindowsだけではなくLinuxやMacOS上でも動作します。Windows専用のDirectXがここが大きく異なる点です。

近いうちに本書のLinux版も制作する予定ですので、Linux上でのOpenGLを学びたい方はそれまでお待ちください(Lunix版のサンプルは既に完成しています)。

サンプルはウィンドウの表示というごく簡単なところからゆっくり進行していきます。本書が読者のOpenGLキャリアの出発点となれば無上の喜びです。

気になる価格は4,500円前後になる予定です。

About

コメントを残す

メールアドレスが公開されることはありません。