CGエンジニア必携 発売間近です

本書は2年以上前から制作している書籍ですが、作成のほうがほぼ終わりに近づいています。
3年近く悪戦苦闘しながら作業を続けてきましたが、ようやく完成できそうです。
完成の際は当サイトで告知と、メール(過去ご購入いただいた方)でもお知らせいたします。
本書の次には、全く新しいアプローチで、かつ、今までにないCGを作り出す技術書を制作開始します。

目次は次のとおりです。かなりボリュームがあり、見辛いとは思いますが掲載いたします。

はじめに
サンプルプログラムの使い方
bmathについて bmathの理由
他のライブラリへの書き換え glmに書き換え
dxmathに書き換え
d3dxに書き換え
ジオメトリ作成 トライアングル トライアングル作成 反時計回り
トライアングル作成 時計回り
クアッド クアッド作成 反時計回り
クアッド作成 時計回り
クアッド作成インデックス 反時計回り
クアッド作成インデックス 時計回り
ボックス ボックス作成 反時計回り
ボックス作成 時計回り
ボックス作成インデックス 反時計回り
ボックス作成インデックス 時計回り
スフィア スフィア作成インデックス 反時計回り
スフィア作成インデックス 時計回り
ティーポット ティーポット作成インデックス 反時計回り
ローポリティーポット作成インデックス 反時計回り
ティーポット作成インデックス 時計回り
ローポリティーポット作成インデックス 時計回り
シリンダー シリンダー作成インデックス 反時計回り
シリンダー作成インデックス 時計回り
法線(面法線) 面法線計算 インデックスなしタイプ
頂点法線計算 インデックスタイプ
バウンディングボリューム バウンディングボックス
バウンディングスフィア簡易
バウンディングスフィア正確
グリッド プロシージャル作成 グリッド Z-up 左手系
グリッド Z-up 右手系
グリッド Y-up 左手系
グリッド Y-up 右手系
N角形状 プロシージャル作成 N角形状に頂点生成
N角形をトライアングル群に
ボックス プロシージャル作成 min maxから8頂点
スフィア プロシージャル作成 中心、半径から頂点群
シリンダー プロシージャル作成 角数と半径、長さから頂点群
ベジェ 2次ベジェ曲線
3次ベジェ曲線
3次ベジェ曲面
B-Spline B-Spline曲線
B-Spline曲面
NURBS NURBS曲線
NURBS曲面
ジオメトリ選択、移動、変形 基本変換 スケーリング
回転
移動
変換を合成
任意軸回転
任意位置回転
任意位置かつ任意軸回転
マウス操作 ポリゴン選択
メッシュ選択 近似
メッシュ選択 正確
マウスドラッグ
スナップ吸着
ジオメトリ読込み STL STLファイルの読み込み アスキー形式
STLファイルの読み込み バイナリー形式
PLY PLYファイルの読み込み 位置情報のみ使用
PLYファイルの読み込み 位置と法線
OBJ OBJファイルの読み込み 位置と法線のみ
OBJファイルの読み込み 位置、法線、マテリアル
OBJファイルの読み込み 位置、法線、マテリアル、テクスチャー
GLTF GLTFファイルの読み込み 位置のみ
GLTFファイルの読み込み 位置、法線
GLTFファイルの読み込み 位置、法線、インデックス
GLTFファイルの読み込み 位置、法線、インデックス、テクスチャー
FBX FBXファイルの読み込み 位置と法線のみ
FBXファイルの読み込み 位置、法線、マテリアル
FBXファイルの読み込み 位置、法線、マテリアル、テクスチャー
SKP SKPファイルの読み込み 位置のみ
SLPファイルの読み込み 位置、法線
SLPファイルの読み込み 位置、法線、テクスチャー
3DM 3DMファイルの情報を取得
3DMファイルを開く
3DMからジオメトリ表示
画像読込み bmp Bitmap Image File ビットマップ画像ファイルを読み込む
jpg Joint Photographic Experts Group JPEG画像ファイルを読み込む
png Portable Network Graphics PNG画像ファイルを読み込む
WebP Web Picture format WebP画像ファイルを読み込む
ジオメトリ書きだし シーンをDXFに出力 ポリゴンをDXF(ポリゴン)にする
ポリゴンをDXF(ライン)にする
メッシュをDXF(ポリゴン)にする
メッシュをDXF(ライン)にする
メッシュをレイヤー分けしてDXF(ポリゴン)にする
メッシュをレイヤー分けしてDXF(ライン)にする
メッシュをブロック分けしてDXF(ポリゴン)にする
メッシュをブロック分けしてDXF(ライン)にする
メッシュをレイヤー分けブロック分けしてDXF(ポリゴン)にする
メッシュをレイヤー分けブロック分けしてDXF(ライン)にする

レンダリングパイプライン 右手系と左手系 右手系と左手系の違い
左手系、右手系の実際例
どこで混乱が起こりやすいか
DirectX等では決まりはない
変換行列の作り方 ベクトルを移動するのか、それとも系を移動するのか
スケーリング行列、回転行列の作り方
移動行列の作り方
ワールド行列の作り方
ビュー行列の作り方
プロジェクション行列の作り方
ビューポートスケーリング行列の作り方
パイプライン内、座標の変遷 座標変遷の流れ
どのシェーダーでどの変換が行われるか
サンプルプログラムで実際に確認
実際に計算していこう! 第1段階 ワールド変換
実際に計算していこう! 第2段階 ビュー変換
実際に計算していこう! 第3段階 プロジェクション変換
実際に計算していこう! 第4段階 クリッピング
実際に計算していこう! 第5段階 ビューポートスケール変換
実際に計算していこう! 第6段階 パースペクティブデバイド
ワールド座標とスクリーン座標の相互変換 ワールド座標のスクリーン座標を計算で求める
スクリーン座標のワールド座標を計算で求める
座標変換の誤差と注意点 数値誤差の発生要因
対策と注意点
シーン操作(カメラ) 回転 扱いやすいカメラ回転(マウスドラッグで回転)
物体の周りで回転
WASD WASD
WASDRF
WASDRF+回転
ズーム プロジェクションでズーム
視点を動かしてズーム
フィット 画面を物体にフィットさせる
画面をシーン全体にフィットさせる
シーン操作(マウス) マウスポインターの座標を得る マウスポインターのスクリーン座標
マウスポインターのワールド座標
マウスで物体移動 マウスドラッグ量をワールド移動量に
交差判定 重要事項
面積で判定
SATを理解
スラブ法を理解
2D平面における判定 直線、直線
直線、半直線
直線、線分
直線、三角形
直線、四角形
直線、円
直線、AABB(スラブ)
直線、OBB(スラブ)
半直線、半直線
半直線、線分
半直線、三角形
半直線、四角形
半直線、円
半直線、AABB(スラブ)
半直線、OBB(スラブ)
線分、線分
線分、三角形
線分、四角形
線分、円
線分、AABB 面積法
線分、OBB 面積法
線分、AABB SAT
線分、OBB SAT
線分、AABB スラブ法
線分、OBB スラブ法
三角形、三角形
三角形、四角形
三角形、円
三角形、AABB 面積法
三角形、OBB 面積法
三角形、AABB SAT
三角形、OBB SAT
三角形、AABB スラブ法
三角形、OBB スラブ法
四角形、四角形
四角形、円
四角形、AABB 面積法
四角形、OBB 面積法
四角形、AABB SAT
四角形、OBB SAT
四角形、AABB スラブ法
四角形、OBB スラブ法
円、円
円、AABB
円、OBB
AABB、AABB
AABB、OBB
OBB、OBB
3D空間における判定 Möller and Trumbore法を理解
直線、直線
直線、半直線
直線、線分
直線、平面
直線と三角形 オーソドックススタイル
直線、三角形 Möller and Trumbore
直線、四角形
直線、円
直線、球
直線、AABB
直線、OBB
半直線、半直線
半直線、線分
半直線、平面
半直線と三角形 オーソドックス
半直線と三角形 Möller and Trumbore
半直線、四角形
半直線、円
半直線、球
半直線、AABB
半直線、OBB
線分、線分
線分、平面
線分と三角形 オーソドックススタイル
線分と三角形 Möller and Trumbore
線分、四角形
線分、円
線分、球
線分、AABB SAT
線分、OBB SAT
線分、AABB スラブ法
線分、OBB スラブ法
平面、平面
平面、三角形
平面、四角形
平面、円
平面、球
平面、AABB
平面、OBB
三角形、三角形
三角形、四角形
三角形、円
三角形、球
三角形、AABB スラブ法
三角形、AABB SAT
三角形、OBB スラブ法
三角形、OBB SAT
四角形、四角形
四角形、円
四角形、球
四角形、AABB スラブ法
四角形、AABB SAT
四角形、OBB スラブ法
四角形、OBB SAT
円、円
円、球
円、AABB
円、OBB
球、球
球、AABB
球、OBB
AABB、AABB
AABB、OBB
OBB、OBB

頻繁に行う計算 距離 点と点の距離
点と直線の距離
直線と直線の距離
点と平面の距離
角度 ベクトル間の角度
平面同士の角度
図形要素を算出 辺を作る
2点から直線方程式(ベクトル)
垂直なベクトルを作る
垂直なベクトルを作る 成分入れ替えで
平面方程式
三角形の内接円の中心(内心)
三角形の外接円の中心(外心)
三角形の回転中心(重心)
OBBをAABBに
内外判断 点が円の内部かどうか
点が三角形の内部か
点が球の内部か
線分が面のどちら側か
2つのベクトルが同方向か
反射、滑り ベクトルを反射させる
ベクトルを角度で曲げる
ベクトルを壁で滑らせる
3D変換と逆変換 Project 3D空間座標をスクリーン座標に
Unproject スクリーン座標をワールド座標に
デバッグ デバッグ情報出力 コンソール表示
コンソール表示 サイズ、色指定
コンソール表示 位置指定
コンソール表示 フォント指定
ログ出力
VisualStudioの出力ウィンドウに表示
速度計測 高精度時間計測
モック / スタブ モック / スタブ
差分デバッグ delta debugging 正常な版とエラーの版を用意する
逐次実行 デバッガー
分割統治 分割統治

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です