OpenGLによる 3次元CGプログラミング

OpenGLによる 3次元CGプログラミング

これから3次元CGのプログラミングを始めようとする読者を対象にOpenGLの膨大な機能の中から必要最小限のものを選択して取り上げ解説した。容易に3次元CGのシステムを作成し,CGの仕組みが理解できるよう構成されている。

ジャンル
発行年月日
2003/04/30
判型
A5
ページ数
174ページ
ISBN
978-4-339-02399-2
OpenGLによる 3次元CGプログラミング
在庫あり
2営業日以内に出荷致します。

定価

2,420(本体2,200円+税)

カートに入れる

購入案内

  • 内容紹介
  • 目次
  • 著者紹介

これから3次元CGのプログラミングを始めようとする読者を対象にOpenGLの膨大な機能の中から必要最小限のものを選択して取り上げ解説した。容易に3次元CGのシステムを作成し,CGの仕組みが理解できるよう構成されている。

1.ウィンドウ設定と基本図形の描画
1.1 グラフィックスライブラリの利用
 1.1.1 OpenGLについて
 1.1.2 ライブラリの構成
 1.1.3 プログラムの利用方法
1.2 ウィンドウの設定
 1.2.1 プログラムの構成
 1.2.2 ウィンドウを開く
 1.2.3 練習問題-1
1.3 2次元図形の描画
 1.3.1 図形の描画方法
 1.3.2 基本図形を描画するプログラム
 1.3.3 練習問題-2
1.4 図形の描画に関する補足
 1.4.1 OpenGLの関数名について
 1.4.2 フレームバッファ
 1.4.3 色の指定方法
 1.4.4 ポリゴンの頂点の順番と表面の定義
1.5 課題
1.6 コマンド一覧

2.3次元図形の描画と隠面処理
2.1 座標系と投影法
 2.1.1 ワールド座標系とスクリーン座標系
 2.1.2 投影法
 2.1.3 投影法の設定とビューボリューム
2.2 透視投影の設定の実際
 2.2.1 透視投影によるポリゴンの描画
2.3 幾何変換
 2.3.1 幾何変換の種類と設定方法
 2.3.2 練習問題-1
2.4 隠面処理
 2.4.1 zバッファ法
 2.4.2 隠面処理の設定方法
 2.4.3 zバッファ法による穏面処理
 2.4.4 練習問題-2
2.5 課題
2.6 コマンド一覧

3.モデリング入門
3.1 モデリングに利用される座標系
3.2 モデリングの実際
 3.2.1 ロケットのモデリング
 3.2.2 ロケットのプログラミング
 3.2.3 座標系の保存,復元
 3.2.4 ロケットに1段目を追加する
3.3 変換行列スタック
 3.3.1 幾何変換,投影変換の内部処理とスタック操作
 3.3.2 座標系の保存・復元と行列スタックの関係
 3.3.3 描画と行列スタックの変化と様子
3.4 課題
3.5 コマンド一覧

4.アニメーション
4.1 アニメーション
 4.1.1 アニメーションの設定方法
 4.1.2  ダブルバッファの設定
 4.1.3 回転するポリゴン
 4.1.4 練習問題-1
4.2 ビューイング変換
 4.2.1  ビューイング変換とはなにか
 4.2.2 gulLookAt
 4.2.3 練習問題-2
 4.2.4 polarview
 4.2.5 練習問題-3
4.3 課題
 4.4 コマンド一覧

5.イベント処理
5.1 キー割り込み
 5.1.1 GLUTを用いたキー割り込みの設定
 5.1.2 一般キーに対する設定
 5.1.3 特殊キーに対する設定
 5.1.4 キー割り込みの例
 5.1.5 練習問題-1
5.2 マウス操作
 5.2.1 GLUTを用いたマウス操作の設定
 5.2.2 マウスボタンをクリックする場合
 5.2.3 マウスをドラッグする場合
 5.2.4 マウスドラッグの例
 5.2.5 練習問題-2
5.3 ウィンドウのリシェーブ
 5.3.1 リシェーブ機能
 5.3.2 リシェーブの設定方法
 5.3.3 リシェーブの例
 5.3.4 練習問題-3
5.4 課題
5.5 コマンド一覧

6.シェーディング
6.1 シェーディング
 6.1.1 シェーディングの原理
 6.1.2 シェーディング計算の設定方法
 6.1.3 シェーディング処理の例
 6.1.4 法線ベクトルの影響
 6.1.5 練習問題-1
6.2 表面属性の設定
 6.2.1 設定方法
 6.2.2 表面属性を設定した球の描画
 6.2.3 練習問題-2
6.3 スムーズシェーディング
 6.3.1 フラットシェーディングとスムーズシェーディング
 6.3.2 スムーズシェーディングの例
6.4 シェーディングの補足
 6.4.1 シェーディングモデル
 6.4.2 スムーズシェーディングのアルゴリズム
6.5 課題
6.6 コマンド一覧

7.光源の設定
7.1 光源の設定
 7.1.1 光源の種類と属性について
 7.1.2 光源の設定方法
 7.1.3 斜め上から光を当てた球
 7.1.4 練習問題-1
7.2 移動する光源の設定方法
 7.2.1 光源を動かす
 7.2.2 移動光源の追加例
 7.2.3  練習問題-2
7.3 スポット光源
 7.3.1 設定方法とパラメータの意味
 7.3.2 スポット光源の例
 7.3.3 練習問題-3
7.4 課題
7.5 コマンド一覧

8.テクスチャマッピング
8.1 テクスチャマッピングの原理
8.2 テクスチャマッピングの基本的な設定方法
 8.2.1 アライメント設定
 8.2.2 テクスチャパラメータの設定
 8.2.3 テクスチャ環境設定
 8.2.4 ポリゴンへのテクスチャのマッピング方法
 8.2.5 練習問題-1
8.3 フィルタ
 8.3.1 拡大フィルタと縮小フィルタ
 8.3.2 ミップマップ
 8.3.3 練習問題-2
8.4 テクスチャ座標の自動生成
 8.4.1 設定方法
 8.4.2 練習問題-3
8.5 課題
8.6 コマンド一覧

9.形状モデリング
9.1 曲線と曲面の形成
9.2 B-spline曲線とB-spline曲面
 9.2.1 B-spline関数
 9.2.2 B-spline曲線とB-spline曲面
9.3 4次元座標系の導入と有理化
 9.3.1 NURBS曲線
 9.3.2 NURBS曲面
 9.3.3 制御点と重みによる形状変形
9.4 OpenGLでの実現方法
 9.4.1 NURBS曲線の描画
 9.4.2 練習問題-1
 9.4.3 NURBS曲面の描画
 9.4.4 練習問題-2
9.5 課題
9.6 コマンド一覧

10.シミュレーション
10.1 常微分方程式の解法
10.2 振り子モデル
10.3 シミュレーションプログラミング
 10.3.1 OpenGLにおけるシミュレーション方法
 10.3.2 オブジェクト指向プログラミング
 10.3.3 練習問題
10.4 課題
10.5 コマンド一覧

11.自由制作
11.1 自由制作の大切さ
11.2 題材の探し方
11.3 制作の進め方
 11.3.1 システムの限界の把握
 11.3.2 プログラミング作法
 11.3.3 時間の使い方
 11.3.4 失敗からの発想
11.4 デバッグ
 11.4.1 2分法によるデバッグ
 11.4.2 表示上の問題
11.5 プレゼンテーション
11.6 制作例

付録
A.1 サンプルプログラムの入手方法
A.2 サンプルプログラムの実行方法
A.3 WindowsにおけるOpenGLとGUITのインストール
A.4 UNIXにおけるOpenGLとGUITのインストール
A.5 MacOSにおけるOpenGLとGUITのインストール
A.6 全般的な情報

引用・参考文献
索引

林 武文(ハヤシ タケフミ)

加藤 清敬(カトウ キヨタカ)