書籍
School Proven
各地域の専門学校(関東、関西、東海、北海道)で教科書として使われ、ゲーム開発CG開発の仕事に就く前に、また就いた後にゲームプログラマー、CGエンジニアに利用されています。
販売はネット通販のみになります。ご購入はこちらの公式オンラインショップでお願いします。各書籍ごとの添付データはこちらからダウンロードしてください。
DirectXをVisualStudioに設定する手順はこちらです。
書籍に関するトラブルシュート、その他情報交換のための掲示板はこちらです。
「RAY TRACING GURU 2」(PDF電子書籍です)
著)鎌田茂雄 (出版)BAREPIXEL 2022年6月1日発売 定価8,000円+税
ご購入は、当サイトオンラインショップのみで可能です。
DOF、グローバルイルミネーション、コースティクスを理論から理解したい、あるいは更にそれらをリアルタイムで実現したいという人に最良の書籍です。
前著である「RAY TRACING GURU」を読まれた方を対象にしていますが、CPU編ではDXR経験は不要なので前著を読んだかどうかは関係なく、純粋に理論を学びたいという人にとって十分役に立ちます。
「RAY TRACING GURU」(PDF電子書籍です)
著)鎌田茂雄 (出版)BAREPIXEL 2022年1月20日発売 定価8,000円+税
ご購入は、当サイトオンラインショップのみで可能です。
レイトレーシングが理論から分かるようになります。
リアルタイムレイトレーシングが自分で出来るようになります(要 DX12の経験)。
「DirectX12必携 instinct Ultimate版」(PDF電子書籍です)
著)鎌田茂雄 (出版)BAREPIXEL 2021年7月31日発売 定価12,800円+税
ご購入は、当サイトオンラインショップのみで可能です。
DXRの学習が効率的にでき、DXRを運用できるようになります。
「DirectX12必携 instinct Standard版」(PDF電子書籍です)
「DirectX12プログラミング」(PDF電子書籍です)
著)鎌田茂雄 (出版)BAREPIXEL 2020年4月12日発売 定価5,200円+税
ご購入は、当サイトオンラインショップのみで可能です。
情報が極端に少ないDirectX12の本質が理解できるように解説した本です。
「OpenGL4入門」(PDF電子書籍です)
著)鎌田茂雄 (出版)Northbrain 2019年2月21日発売 定価4,500円+税
ご購入は、当サイトオンラインショップのみで可能です。
OpenGLを基礎から解説します。全てのOpenGL書籍のスタート地点となる本です。まずはこの本
でOpenGLを始められることを強くお勧めします。詳しくは内容詳細ページをご覧ください。
「3D入門」(PDF電子書籍です)
著)鎌田茂雄 (出版)Northbrain 2018年9月20日発売 定価3,800円+税
ご購入は、当サイトオンラインショップのみで可能です。
3D、3DCGを基礎から解説します。全てのノースブレイン書籍のスタート地点となる本です。まずはこの本
で3Dというものをマスターしていただくことを強くお勧めします。詳しくは内容紹介ページをご覧ください。
「DirectX9必携 増補版」 DirectX9プログラマーのバイブル 完成形 (PDF電子書籍です)
著)鎌田茂雄 (出版)Northbrain 2018年5月29日発売 定価6,500円+税
ご購入は、当サイトオンラインショップのみで可能です。
DirectX9必携から8年、DirectX9必携に足りなかった項目を追加した書籍を作成しました。詳しくは内容紹介ページをご覧ください。
「超簡単DIRECT3D11」(PDF電子書籍です)
「SHADER GURU 2 KEMURI」(PDF電子書籍です)
(著)鎌田茂雄 (出版)Northbrain 2014年12月30日発売 定価7,000円+税
ご購入は、当サイトオンラインショップでお願いします。
「SHADER GURU 2 KEMURI」は、最先端技術であるリアルタイム流体
の運用のみならず、その原理の理解を目的とする唯一の書籍となっております。
グラフィックAPIはDirect3D11を使用していますが、原理を理解すれば、もちろん
その他のグラフィックAPI環境でも流体の構築は可能です。
「DIRECT3D11必携」
著)鎌田茂雄 (出版)Northbrain 2014年3月1日発売 定価8,300円+税
ご購入は、割引のある当サイトオンラインショップがお得です。
アマゾンさんでもご購入いただけます。
本書は、 2009年12月に発売を開始したDirectX9必携の後継となる書籍であり、 Direct3Dの基礎から応用までを実際に動くプログラムとともに解説していくという内容です。
さて皆さんは次のような経験がないでしょうか。
筆者もたまに経験することなのですが、新しい技術、例えばジオメトリシェーダーを勉強してみたいと思っても、SDKのサンプルは多機能すぎて解析が非常に困難であったりします。ごく初歩的なサンプルがあればいいのにと思うのですが、どこにもそのようなサンプルがありません。
また逆に基礎的なことではなく、高度な応用技術のサンプルについてもなかなか見つけることができません。仮に見つけられたとしても、不親切で非常に解析し辛いコードではないでしょうか。
本書のサンプルは、それらの状況に応えることを目的としています。
「SHADER GURU with Direct3D10/11」
(著)鎌田茂雄 (出版)Northbrain 2011年12月24日発売 定価7,000円+税
ご購入は、割引のある当サイトオンラインショップがお得です。
アマゾンさんでもご購入いただけます。
本書は、リアルタイムシェーダープログラミングの入門書であると同時に、応用まで解説する技術書でもあります。
プログラミング環境としては、C++言語上でのDirect3D10/11シェーダープログラミングを想定していますが、本書はそれらに力点を置いてはいません。それらはあくまでも道具です。もちろん、Direct3D10/11でのシェーダープログラミングに必要な手順やテクニックは詳細に解説していますが、目的はリアルタイムシェーダーに必要な数学的知識やアルゴリズムのほうです。
対象読者としては、C++言語、および3Dプログラミングを多少なりとも経験している方を想定しています。それらの経験が全く無いと本書を読むのは難しいと思います。
当初の計画では、シェーダーの経験者を対象読者にしていましたが、本書制作中、内容をどんどん掘り下げていくうちに、入門者(全くの入門者ではなく、シェーダーの入門者という意味です)でも読める本になっていました。ただ、シェーダープログラミングそのものが高度な分野のため、やはり全く3Dプログラミングをやったことの無い人にとっては、本棚の肥やしになる可能性は低くないと思います。
本書は、ある程度3Dプログラミング経験がある方で、シェーダーに興味があるものの、いまひとつ踏み込めない、という方にとって最高の効果をあげるものとなるでしょう。
本書は、大きく2つの編から成っています。前半の入門編と、後半の実践編です。
執筆途中に気づいたのですが、意外なことに、入門編が予想以上に良く仕上がりました。今まで触れられてこなかった重要な事柄、欠落していた部分をカバーできたと感じています。シェーダーの技術的な事や、3D数学的な事について「これが解らなかったから、全体的にぼんやりとしか理解できなかった・・・」という問題の多くを解決するのではと思っています。
実践編では、ゲームや3Dアプリに必ず実装するような基本的な項目であるライティングから解説を始めているなど、本書を大まかに述べると、見た目が豪華なエフェクトを多く解説するというよりも、どちらかと言うと、基本的なことを解説している本かと思います。木に例えると、まずは太い幹の部分をしっかり作ることを意識した構成になっています。細かい枝葉は、幹がしっかりしていなければ上手く支えられないでしょう。シャドウやフォグも、大抵のアプリ(ゲーム等)に実装される、今や基礎的なことと考えています。
一方で、SSSやテセレーション、リアルタイムレンダリングについては、基礎的な領域からは幾分飛び出した内容かと思いますが、それでも内容の比率としては、本書はやはり“幹を作る”ための本だと感じています。
ちなみに、本書の続編「シェーダーグル2」を予定しています。本書により、シェーダーの基礎的なことを解説しているので、シェーダーグル2では“のびのび”と応用的な内容を解説できると思っています。というのは、本書の執筆中、「ここでこの言葉を出すのなら、背景理論を解説しなくてはならない」という局面が多くあり、「ここで掘り下げて解説しなくていいのなら、どんなに楽なのだろう」と思うことがほとんどだったような気がします。
本書シェーダーグルが“幹”なら、シェーダーグル2は“枝葉”になるでしょう。
本書では、いきなり綺麗なサンプルだけを見せるのではなく、あまり最適化されていないサンプルを最初に見せて、だんだんとそれを最適化していくサンプルを見せる、という場合もあります。難解な章では特にそうしています。優秀な読者の中には、その過程が不要な方もいるでしょう。他方で、その過程が理解の助けになる人もいると考えています。
また、これは本書に限った事ではないのですが、サンプルを作る際には極力シンプルになるように努力しています。ただ、Direct3D10/11になってから、どうしてもソースの文字数が増えてしまうため、シンプルには見えないサンプルもあるかと思います。Direct3D10/11の文字数の多さに“惑わされず”に、ソースコードの注目部分に集中するようにして欲しいと思います。全部のコードを理解する必要はありません。
本書は、メッシュグル(グル・シリーズ最初の本で、メッシュ関連に特化した専門書です)のように“完全なステップアップ構成”ではありません。どこから読んでも、さほど困らない内容にはなっています。とは言え、やはり最初から順を追って章を読み進めていくほうが良い事は確かです。
「DirectX10/11プログラミング」(PDF電子書籍です)
(著)鎌田茂雄 (出版)Northbrain 2011年5月1日発売 定価6,000円+税
ご購入は、割引のある当サイトオンラインショップがお得です。
アマゾンさんでもご購入いただけます。
本書は、C++ DirectXいわゆるネイティブDirectXの運用方法と活用例について、背景理論を交えながら解説する技術書です。
解説する分野は、
Direct3D10/11(ただしジオメトリシェーダーやテッセレーション関連は範囲外としました)
XAudio2
XACT3
DirectInput8
COM
となっています。
各分野とも、サンプルプログラムによる実際の動作例を提示し、実際のソースコードを解説します。
解説用(学習用)のサンプルとは別に、実務用の部品となることを目的としたクラスライブラリも用意しています。(Direct3D10/11最大の鬼門“メッシュ”のライブラリをソースコードとして提供)
挫折しやすい部分を徹底解説!
陥りやすい不具合の解決実践!
本書は、筆者が2010 年に発行した書籍「ゲームプログラミング入門」を終えた方の、次のステッ プとなるような書籍というコンセプトで作成しています。
もちろん読者の中にはゲームプログラミング入門をお読みになっていない方も多いと思います。
本書を読むにあたり、ゲームプログラミング入門を読んでいることは必須ではありません。あくまでも、コンセプトとレベルの位置づけです。
ゲームプログラミング入門はDirectX ゲームを作成する入門書ですが、オリジナルライブラリを 使い、とにかくゲームを作る、ゲームの基本アルゴリズムを学ぶ、ということに力点を置いてい る本です。DirectX を直接コーディングすることについては、完全に本書のような他の本に委ねています。
本書の位置付けは、何らかのプログラムを作成したことがある、また何らかのゲームを作成 したことがあるもののC++ でDirectX を直接コーディングしたことが無い方、これからネイ ティブDirectX プログラミングを始めたいと考えている方や、DirectX9 までは多少できても DirectX10/11 は初心者だ、という方々を対象読者に想定しています。
DirectX を全く触ったことがない方には最初のDirectX 書籍として、
従来のDirectX しか触ったことがない方には新しいDirectX 書籍として、
入門から応用まで、背景理論を交えながら解説します。
本書の構成は、グラフィック関連、サウンド関連、入力関連の3 つから成り、ゲームを作成す る際に必要となるDirectXAPI 運用及び背景理論を解説しています。とりあえず、本書があれば、 1 本のネイティブDirectX ゲームを実装することが出来るはずです。
グラフィック関連についてはDirect3D10 及びDirect3D11 を解説、
サウンド関連についてはXAudio2 及びXACT3 を解説、
入力関連についてはDirectInput を解説します。(その他、Direct3D11 によるGPGPU や、COM についても解説します。
「MESH GURU with Direct3D10/11」
著)鎌田茂雄 (出版)Northbrain 2010年9月16日発売 定価6,200円+税
ご購入は、割引のある当サイトオンラインショップがお得です。
アマゾンさんでもご購入いただけます。
3D経験者用の本ですが、読者から「初心者でもいける」という声も…
本書は、3Dゲームに必須の技術である”メッシュ”をとことん解説する本です。
いや、メッシュ=3Dゲームとさえ言えるかもしれません。それほど重要なものです。
スタティックメッシュからスキンメッシュまで、”自分で構築できる”ようになるための本です。
スタティックメッシュ、階層メッシュアニメーション、スキンメッシュアニメーション、さらにバンプマッピングを施すまでを全てサンプルで用意し、解説しています。
DirectX9の時代、D3DXライブラリがメッシュ全般の非常に強力な機能を提供してくれていました。プログラマーは、ただそれらのD3DX関数を運用すれば良く、スタティックメッシュはもちろん、スキンメッシュまでも”簡単に”実現できました。
その反面、プログラマーはそれらに甘やかされ、いつまでもメッシュがどのような仕組みなのか理解できないという状況に陥っていたという状況があったかと思います。現状でもそうでしょう。
Direct3D10になり、D3DXによるメッシュ関連サポートが無くなり、プログラマーはメッシュを自分で理解して実装しなくてはならなくなりました(あるいはサードパーティのメッシュ用ライブラリを見つけなくてはならなくなりました)。これはある意味良い事だと私は思います。これを良い機会ととらえて、メッシュの基礎から実装をしっかり自分のものにしましょう。
本書を手に取り、じっくり最初からマスターしていって欲しいと思います。
大切なのは、”自分で実装できる”ことです。本書は、そのスタートを提供することを大きな目標としています。本書のサンプルでも実用に使用できるとは思いますが、非常に多くの組み合わせがある用途やCGフォーマットの現状で、すべての状況に対応できるとは思えません。
しかし、原理を理解していれば、サンプルを微調整してその状況に合わせることもできますし、場合によっては、1から自分で作ることもできます。
私は、読者にそうなって欲しいと思っています。
より多くの状況に対応できるようなコードを書けば書くほど、安定したものになると同時に複雑になっていき、学習のサンプルとしては使えないものになっていきます。
本書のサンプルは、全ての状況に対応する冗長性はありません。
シンプルなコード(アニメーション関連のコードはシンプルとは思えないかもしれませんが)、読みやすいコードで、まずは原理を理解することを最優先にしています。
ノースブレインでは、本書の読者用に、より安定したバージョンのサンプルを更新し、アップロードしてくつもりです。本書を読み終えた後も、定期的にサイトを覗いてみることをおすすめいたします。
本書はステップアップ形式になっていますので、最初から順番に読まれることをお奨めいたします。もちろん、理解している方は、ご自分のレベルに合った部分から読み始めていただいても良いかと思います。
対象読者について、
当然、理解しやすいように解説してはいますが、3Dの基礎知識とメッシュの運用経験が無い3D初心者はかなり辛いと思います。
真正面から向き合っているだけに、対象読者は、3D入門を終えた後の、ある程度の経験者ということになると思われます。
しかしながら、3Dゲームプログラマーにとって、”メッシュ”は必ず克服しなければならない壁ですので、いずれは本書が必要になります。初心者も想定して第1部を設けていますので、3Dを勉強しながら本書も読破してやるという気持ちで、本書を手に取るのもいいかと思います。
DirectX9等で、D3DX系の運用はできるものの、自分でメッシュを構築できない。メッシュの内部構造が曖昧だ。という方に本書は最適です。また、サンプルはDirect3D10/11用ですが、原理自体はOpenGLやコンシューマー系の3Dライブラリ等にも流用できるかと思います。
3Dゲームではなく、3Dアプリ・3Dツールを作成する方にも最適の内容と思います。
スタティックメッシュからスキンメッシュまで、これらと正面から向き合った唯一の本として、これから多くの開発者の手の中で、ぼろぼろになるまで読まれることを願っています。
「ゲームプログラミング入門」 GAME PROGRAMMING PRIMER
(著)鎌田茂雄 (出版)Northbrain 2010年1月27日発売 定価3,700円+税
ご購入は、割引のある当サイトオンラインショップがお得です。
アマゾンさん でもご購入いただけます。
超初心者向けの本です。
NEGAAというライブラリを補助として、C++、DirectXプログラムを書きながら、ゲームの基本アルゴリズムを習得していく内容になります。「はじめての3Dゲーム開発」よりも分かりやすく、なおかつ、「はじめての3Dゲーム開発」よりも有益な事、高度な事を習得できるものと思っています。これらを実現するために、DirectXを直接運用するのではなく、DirectXを単純化するライブラリを補助的に使います。
本書の最大の売りは、
1. 超簡単にネイティブDirectXゲームが作れる。
2. ゲームの基本アルゴリズムを習得できる。
ということになります。
超簡単にゲームを完成させるだけであれば、そのようなツールやソフトウェアを使えば簡単にできます。しかしそれは、自作のゲームを完成させるという成果以外は、あまり効用がありません。(それが自作ゲームと呼べるかどうか、とゆう問題もあります。)
本書で使用するライブラリは薄いラッパーライブラリであり、あくまで補助です。
ライブラリを使いつつ、同時にDirectXの生コードを書くことも、もちろんできます。つまり、ライブラリにどこまで依存するかは、その人次第であり、書こうと思えば、ほとんど生コードで書くことができます。
本書のアプローチを表現するなら、主に初期化部分の関数を最初からいくつか用意しているプロジェクトで学習するという感じです。C++による DirectXプログラムであることに変わりはありません。初心者がつまずきやすい、初期化コードのコーディングは、その後でいいという考えです。
本書で使用するライブラリは、NEGAAというもので、Northbrainが制作したものです。このライブラリを自転車の補助輪のように利用します。
最も理想的なのは、本書でゲームを作れるようになり、ゲームを沢山作った後で、「補助輪を外す」作業をすることです。つまり、DirectX(あるいは他のAPI)の生の初期化コードなりのコーディングを習得することです。
もっとも、見方によってはDirectx自体がライブラリですので、あまり直接運用にこだわる必要は無いかもしれません。やはり直接運用のほうがスキルとしては高いことは確かですが、ゲームのアルゴリズムは直接でもライブラリでも同じであり、ゲームにとってそちらのアルゴリズムのほうが、はるかに大切です。
専門学校での授業において、DirectXプログラムを説明することの困難性も、この本を執筆することの動機の一つです。そのような動機により設計・作成された本なので、専門学校1年次(前期)の教科書として最適かと思います。教務・講師の方は是非ご検討ください。1年次前期用、全くの素人さんが最初に見る教科書を想定しています。
「DirectX9必携」 DirectX9プログラマーの”マスト”ブック
著)鎌田茂雄 (出版)Northbrain 2009年12月23日発売 定価5,200円+税
ご購入は、当サイトオンラインショップのみで可能です。
DirectX逆引き大全を購入し損ねた方のために、大全の内容を引継ぎ(ただし、無駄と思われる項目は引き継いでいません)、さらに大全には無い次のTipsを盛り込んだ本を制作しました。
新たなTips… アニメーションメッシュの影、視錐台カリング、衝突処理のサンプル(滑り、転がり、登り..etc)、3Dシーンのマウス選択、オクルージョンクエリ、映りこむ鏡の作成、症例別原因と対策 など。