• 検索結果がありません。

第 12 回 宿題

N/A
N/A
Protected

Academic year: 2021

シェア "第 12 回 宿題 "

Copied!
1
0
0

読み込み中.... (全文を見る)

全文

(1)

第 12 回 宿題

「第12回」の宿題の雛形プログラムは,「第11回」の宿題プログラムにテクスチャマッピ ングの機能を追加しようとするものです.そのために,関数hline3D() に配列の引数t[3][2] を追 加して,これに描画中の三角形の三つの頂点に対応するテクスチャ座標を与えています.

static void hline3D(int x0, int z0, int x1, int z1, int y, double (*a)[2], double (*c)[3], double (*t)[2]);

この関数に対して,以下の手順でテクスチャマッピングを実装してください.

(1) 処理対象の画素 (x, y) の三角形内での座標値 (u, v) は「第11回」の宿題プログラム のスムーズシェーディングのために既に求めていますから,これを使ってtを補間して,

(x, y) に対応するテクスチャ座標 (s, t) を求めてください.

(2) テクスチャ座標 (s, t) の位置にあるテクスチャの画素値を取り出してください.テクス チャの画素値を取り出すために,関数texture() を用意しています.

extern void texture(double tcol[3], doube s, double t)

(3) この画素における反射光強度colの各要素にtcolの対応する要素を乗じて,反射光強度 にテクスチャの色が付くようにしてください.なお,これだと鏡面反射光にもテクスチ ャの色がついてしまいます.鏡面反射光がテクスチャの影響を受けないようにするには,

関数shade() を修正する必要があります(余力があればやってみてください).

(4) テクスチャに使う画像image.tgaを,自分で作ったものに変更してください.この画像 は256×256画素,RGB 各8ビットのTGA (Truevision Advanced Raster Graphics Adapter,

TARGA) 形式である必要があります.

⚫ この形式の画像を作成するには,PhotoshopやGIMPなどで 256×256画素のRGB形 式の画像を作成し,ファイルの保存の際にPhotoshopならTargaを指定してください.

Targaオプションでは色数は24bits/Pixel(アルファチャンネルを付けない)を指定し,

RLE圧縮はしてもしなくても構いません。

⚫ GIMPの場合には「ファイル」メニューの「エクスポート」でファイル名にimage.tga を指定してください.RLE 圧縮はしてもしなくても構いませんが,ビットマップの 起点は「左上」にしてください.

⚫ あるいは,http://www.wakayama-u.ac.jp/~tokoi/lecture/cg/tga/ で JPEG 画像などから変 換できます(ここは学内からしか使用できません).

⚫ もしかしたら256×256画素以外のサイズの画像も使用できるかもしれませんが,確認 していません.

(5) 「第11回」の宿題プログラムと同様に,図形を作る関数wave() を書き換えて,図形 を元のものとは異なるものにしてください.

プログラムが期待通り動作したら,ソースファイル cgsample12.c と画像データimage.tga,

および,もし変更していれば main.c を授業のホームページのアップローダからアップロードし てください.期限は1月8日 (水) 中です.

参照

関連したドキュメント

<別記> 1.様式は添付の「事例報告様式」をご利用ください。 2.様式はワード形式(事例報告様式.doc」

平成 27 年 2 月 17 日に開催した第 4 回では,図-3 の基 本計画案を提案し了承を得た上で,敷地 1 の整備計画に

の変化は空間的に滑らかである」という仮定に基づいて おり,任意の画素と隣接する画素のフローの差分が小さ くなるまで推定を何回も繰り返す必要がある

そこで本解説では,X線CT画像から患者別に骨の有限 要素モデルを作成することが可能な,画像処理と力学解析 の統合ソフトウェアである

日頃から製造室内で行っていることを一般衛生管理計画 ①~⑩と重点 管理計画

本人が作成してください。なお、記載内容は指定の枠内に必ず収めてください。ま

このように、このWの姿を捉えることを通して、「子どもが生き、自ら願いを形成し実現しよう

管の穴(bore)として不可欠な部分を形成しないもの(例えば、壁の管を単に固定し又は支持す