JP3253020B2 - レンダリング方法及び装置、ゲーム装置、並びに立体モデルをレンダリングするプログラムを格納するコンピュータ読み取り可能な記録媒体 - Google Patents

レンダリング方法及び装置、ゲーム装置、並びに立体モデルをレンダリングするプログラムを格納するコンピュータ読み取り可能な記録媒体

Info

Publication number
JP3253020B2
JP3253020B2 JP27522999A JP27522999A JP3253020B2 JP 3253020 B2 JP3253020 B2 JP 3253020B2 JP 27522999 A JP27522999 A JP 27522999A JP 27522999 A JP27522999 A JP 27522999A JP 3253020 B2 JP3253020 B2 JP 3253020B2
Authority
JP
Japan
Prior art keywords
model
brightness
polygon
dimensional model
color
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP27522999A
Other languages
English (en)
Other versions
JP2001101441A (ja
Inventor
仁 今井
豪 長谷川
Original Assignee
株式会社スクウェア
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社スクウェア filed Critical 株式会社スクウェア
Priority to JP27522999A priority Critical patent/JP3253020B2/ja
Publication of JP2001101441A publication Critical patent/JP2001101441A/ja
Application granted granted Critical
Publication of JP3253020B2 publication Critical patent/JP3253020B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Description

【発明の詳細な説明】
【0001】
【発明が属する技術分野】本発明は、仮想空間内の立体
モデルをレンダリングする方法及び装置並びにレンダリ
ング・プログラムを格納したコンピュータ読み取り可能
な記録媒体に関する。
【0002】
【従来の技術】近年、コンピュータ・グラフィックス
(CG)に関する技術は急速な進歩を遂げている。研究
されているCG技術の一分野は、いかにして、より写実
的なレンダリングを行うかというものである。これらの
技術により、より写実的な画像が表現されるようになっ
てきている。
【0003】一方、研究されているCG技術の他の分野
には、非写実的なレンダリング(non-photorealistic r
endering)を行うものがある。この非写実的レンダリン
グ技術は、手書き調の画像をCGで表現しようとするも
のである。そのひとつとして、仮想三次元空間内におけ
る視点位置、視線方向あるいは立体モデルの配置位置、
方向、形状等の状態が変更された場合でも自動的に当該
立体モデルの輪郭線を正しく描画する画像生成技術も種
々研究されている。
【0004】例えば特開平7−85310号公報には、
立体モデルがレンダリングされる際に、当該立体モデル
を構成するポリゴンの辺を単位として、各辺が輪郭部分
かどうかを検出して輪郭線を描画する技術が示されてい
る。また、特開平7−160905号公報には、当該立
体モデルがレンダリングされる表示画像中の画素を単位
として、各画素が輪郭部分かどうかを検出して輪郭線を
描画する技術が示されている。
【0005】
【発明が解決しようとする課題】このように従来技術に
よれば、輪郭線を描画するためには立体モデルをポリゴ
ンの辺単位又はレンダリングされる画素単位に分解して
輪郭部分を検出する処理が必要である。そのため、輪郭
線を描画する処理が非常に複雑であった。
【0006】また現在、非写実的レンダリング技術とし
て、セルアニメーション(cel animation。以下セルア
ニメと言う。)のような画像をCGで生成する技術も望
まれている。これは、セルアニメにおいてキャラクター
の様々な状態の画像を人間の手で作成する場合には大き
な手数がかかるが、これらの画像がCGで生成できれ
ば、その手数を大幅に減少させることができるからであ
る。
【0007】立体モデルをレンダリングしてセルアニメ
調の画像を生成する手法として、人間の手で行われたの
と同様の彩色を施すことが考えられる。加えて、当該立
体モデルの輪郭線が描画されれば、生成される画像はよ
りセルアニメ調になる。
【0008】よって本発明の目的は、仮想空間に配置さ
れた立体モデルにセルアニメ調の彩色を実施すると共に
当該立体モデルの輪郭線を簡単な処理で描画し、当該立
体モデルのセルアニメ調の画像を描画できるようにする
レンダリング方法及び装置並びにレンダリング・プログ
ラムを格納したコンピュータ読み取り可能な記録媒体を
提供することである。
【0009】
【課題を解決するための手段】本発明の第1の態様に係
る、仮想空間内に配置された立体モデルをレンダリング
するレンダリング方法は、立体モデルに基づいて生成さ
れた輪郭描画用モデルを、立体モデルを包含する位置に
配置する第1ステップと、輪郭描画用モデルの内側を予
め定められた配色で描画する第2ステップと、明度が一
定の範囲でレベル分けされ且つ各レベルに異なる代表的
な明度が割り当てられており、立体モデルが描画される
べき領域の明度分布である第1の明度分布を明度のレベ
ル毎に割り当てられた代表的な明度に置き換えた第2の
明度分布と、立体モデルに予め設定された色とに基づい
て色分布を生成し、色分布で立体モデルを描画する第3
ステップとを含む。
【0010】立体モデルは通常表から見えるそのものの
外側がレンダリングされるが、この輪郭描画用モデルは
表から見えないそのものの内側がレンダリングされる。
上で述べた通り輪郭描画用モデルを描画することにより
輪郭線が描画され、上で述べた通り立体モデルを描画す
ることによりセルアニメ調の彩色が可能になる。
【0011】本発明の第2の態様に係る、仮想空間内に
配置され且つ表現する物体の外側を表とする複数のポリ
ゴンで構成された立体モデルをレンダリングするレンダ
リング方法は、立体モデルに対応し且つ立体モデルの各
ポリゴンに対応するポリゴンの表裏が反転された輪郭描
画用モデルを取得する第1ステップと、立体モデルを包
含する位置に輪郭描画用モデルを配置する第2ステップ
と、輪郭描画用モデルのうち所与の視点位置に対して表
を向けているポリゴンのみを予め定められた配色で描画
する第3ステップと、立体モデルを構成するポリゴン毎
に、所与の視点位置に従ってポリゴンが描画されるべき
領域を計算する第4ステップと、ポリゴンの各頂点に対
して予め設定されている明度に基づいて、第4ステップ
で計算されたポリゴンが描画されるべき領域の第1の明
度分布を計算する第5ステップと、明度が一定の範囲で
レベル分けされ且つ各レベルに代表的な明度が割り当て
られており、第5ステップで計算された第1の明度分布
を明度のレベル毎に割り当てられた代表的な明度に置き
換えた第2の明度分布と、ポリゴンに予め設定された色
とに基づいて色分布を生成し、当該色分布でポリゴンを
描画する第6ステップとを含む。
【0012】本発明の第3の態様に係るレンダリング方
法は、立体モデルに対応し且つ立体モデルの各ポリゴン
に対応するポリゴンの表裏が反転された輪郭描画用モデ
ルを取得する第1ステップと、立体モデルを包含する位
置に輪郭描画用モデルを配置する第2ステップと、立体
モデルを構成するポリゴン毎に、所与の視点位置に従っ
てポリゴンが描画されるべき領域を計算する第3ステッ
プと、ポリゴンの各頂点に対して予め設定されている明
度に基づいて、第3ステップで計算されたポリゴンが描
画されるべき領域の第1の明度分布を計算する第4ステ
ップと、明度が一定の範囲でレベル分けされ且つ各レベ
ルに代表的な明度が割り当てられており、第4ステップ
で計算された第1の明度分布を明度のレベル毎に割り当
てられた代表的な明度に置き換えた第2の明度分布と、
ポリゴンに予め設定された色とに基づいて色分布を生成
し、当該色分布で前記ポリゴンを描画する第5ステップ
と、輪郭描画用モデルのうち所与の視点位置に対して表
を向けているポリゴンのみを予め定められた配色で描画
する第6ステップとを含む。第3の態様は、第2の態様
の描画処理の順番が異なるものである。
【0013】本発明の第4の態様に係るレンダリング方
法は、立体モデルに対応する輪郭描画用モデルを取得す
る第1ステップと、立体モデルを包含する位置に輪郭描
画用モデルを配置する第2ステップと、輪郭描画用モデ
ルのうち所与の視点位置に対して裏を向けているポリゴ
ンのみを予め定められた配色で描画する第3ステップ
と、立体モデルを構成するポリゴン毎に、所与の視点位
置に従ってポリゴンが描画されるべき領域を計算する第
4ステップと、ポリゴンの各頂点に対して予め設定され
ている明度に基づいて、第4ステップで計算されたポリ
ゴンが描画されるべき領域の第1の明度分布を計算する
第5ステップと、明度が一定の範囲でレベル分けされ且
つ各レベルに代表的な明度が割り当てられており、第5
ステップで計算された第1の明度分布を明度のレベル毎
に割り当てられた代表的な明度に置き換えた第2の明度
分布と、ポリゴンに予め設定された色とに基づいて色分
布を生成し、当該色分布でポリゴンを描画する第6ステ
ップとを含む。
【0014】本発明の第5の態様に係るレンダリング方
法は、立体モデルに対応する輪郭描画用モデルを取得す
る第1ステップと、立体モデルを包含する位置に輪郭描
画用モデルを配置する第2ステップと、立体モデルを構
成するポリゴン毎に、所与の視点位置に従ってポリゴン
が描画されるべき領域を計算する第3ステップと、ポリ
ゴンの各頂点に対して予め設定されている明度に基づい
て、第3ステップで計算されたポリゴンが描画されるべ
き領域の第1の明度分布を計算する第4ステップと、明
度が一定の範囲でレベル分けされ且つ各レベルに代表的
な明度が割り当てられており、第4ステップで計算され
た第1の明度分布を明度のレベル毎に割り当てられた代
表的な明度に置き換えた第2の明度分布と、ポリゴンに
予め設定された色とに基づいて色分布を生成し、当該色
分布でポリゴンを描画する第5ステップと、輪郭描画用
モデルのうち所与の視点位置に対して裏を向けているポ
リゴンのみを予め定められた配色で描画する第6ステッ
プとを含む。第5の態様は、第4の態様の描画処理の順
番が異なるものである。
【0015】本発明の第6の態様に係るレンダリング方
法は、立体モデルに対応し且つ立体モデルの各ポリゴン
に対応するポリゴンの表裏が反転された輪郭描画用モデ
ルを取得する第1ステップと、立体モデルを包含する位
置に輪郭描画用モデルを配置する第2ステップと、輪郭
描画用モデルのうち所与の視点位置に対して表を向けて
いるポリゴンのみを予め定められた配色で描画する第3
ステップと、立体モデルを構成するポリゴン毎に、所与
の視点位置に従ってポリゴンが描画されるべき領域を計
算する第4ステップと、明度は一定の範囲でレベル分け
されており、各々基準明度が予め対応づけられた複数の
明度レベルから、一つずつ明度レベルを選択する第5ス
テップと、第5ステップで明度レベルが選択される毎
に、ポリゴンの各頂点に対して予め設定されている明度
に基づき、第4ステップで計算されたポリゴンが描画さ
れるべき領域の各画素位置における明度を計算し、当該
各画素位置における明度が、選択された明度レベルに対
応する明度の範囲内である場合のみ、選択された明度レ
ベルに対応する基準明度及びポリゴンに予め設定された
色に基づく色で当該画素を描画する第6ステップとを含
む。
【0016】本発明の第7の態様に係るレンダリング方
法は、立体モデルに対応し且つ立体モデルの各ポリゴン
に対応するポリゴンの表裏が反転された輪郭描画用モデ
ルを取得する第1ステップと、立体モデルを包含する位
置に輪郭描画用モデルを配置する第2ステップと、立体
モデルを構成するポリゴン毎に、所与の視点位置に従っ
てポリゴンが描画されるべき領域を計算する第3ステッ
プと、明度は一定の範囲でレベル分けされており、各々
基準明度が予め対応づけられた複数の明度レベルから、
一つずつ明度レベルを選択する第4ステップと、第4ス
テップで明度レベルが選択される毎に、ポリゴンの各頂
点に対して予め設定されている明度に基づき、第3ステ
ップで計算されたポリゴンが描画されるべき領域の各画
素位置における明度を計算し、当該各画素位置における
明度が、選択された明度レベルに対応する明度の範囲内
である場合のみ、選択された明度レベルに対応する基準
明度及びポリゴンに予め設定された色に基づく色で当該
画素を描画する第5ステップと、輪郭描画用モデルのう
ち所与の視点位置に対して表を向けているポリゴンのみ
を予め定められた配色で描画する第6ステップとを含
む。第7の態様は、第6の態様における描画処理の順番
が異なるものである。
【0017】本発明の第8の態様に係るレンダリング方
法は、立体モデルに対応する輪郭描画用モデルを取得す
る第1ステップと、立体モデルを包含する位置に輪郭描
画用モデルを配置する第2ステップと、輪郭描画用モデ
ルのうち所与の視点位置に対して裏を向けているポリゴ
ンのみを予め定められた配色で描画する第3ステップ
と、立体モデルを構成するポリゴン毎に、所与の視点位
置に従ってポリゴンが描画されるべき領域を計算する第
4ステップと、明度は一定の範囲でレベル分けされてお
り、各々基準明度が予め対応づけられた複数の明度レベ
ルから、一つずつ明度レベルを選択する第5ステップ
と、第5ステップで明度レベルが選択される毎に、ポリ
ゴンの各頂点に対して予め設定されている明度に基づ
き、第4ステップで計算されたポリゴンが描画されるべ
き領域の各画素位置における明度を計算し、当該各画素
位置における明度が、選択された明度レベルに対応する
明度の範囲内である場合のみ、選択された明度レベルに
対応する基準明度及びポリゴンに予め設定された色に基
づく色で当該画素を描画する第6ステップとを含む。
【0018】本発明の第9の態様に係るレンダリング方
法は、立体モデルに対応する輪郭描画用モデルを取得す
る第1ステップと、立体モデルを包含する位置に輪郭描
画用モデルを配置する第2ステップと、立体モデルを構
成するポリゴン毎に、所与の視点位置に従ってポリゴン
が描画されるべき領域を計算する第3ステップと、明度
は一定の範囲でレベル分けされており、各々基準明度が
予め対応づけられた複数の明度レベルから、一つずつ明
度レベルを選択する第4ステップと、第4ステップで明
度レベルが選択される毎に、ポリゴンの各頂点に対して
予め設定されている明度に基づき、第3ステップで計算
されたポリゴンが描画されるべき領域の各画素位置にお
ける明度を計算し、当該各画素位置における明度が、選
択された明度レベルに対応する明度の範囲内である場合
のみ、選択された明度レベルに対応する基準明度及びポ
リゴンに予め設定された色に基づく色で当該画素を描画
する第5ステップと、輪郭描画用モデルのうち所与の視
点位置に対して裏を向けているポリゴンのみを予め定め
られた配色で描画する第6ステップとを含む。第8の態
様は、第7の態様における描画処理の順番が異なるもの
である。
【0019】本発明の第10の態様に係る、仮想空間内
に配置された立体モデルをレンダリングするプログラム
は、コンピュータに、立体モデルに基づいて生成された
輪郭描画用モデルを、立体モデルを包含する位置に配置
する第1ステップと、輪郭描画用モデルの内側を予め定
められた配色で描画する第2ステップと、明度が一定の
範囲でレベル分けされ且つ各レベルに異なる代表的な明
度が割り当てられており、立体モデルが描画されるべき
領域の明度分布である第1の明度分布を明度のレベル毎
に割り当てられた代表的な明度に置き換えた第2の明度
分布と、立体モデルに予め設定された色とに基づいて色
分布を生成し、当該色分布で立体モデルを描画する第3
ステップとを実行させるためのプログラムである。
【0020】本発明の第11の態様に係る、仮想空間内
に配置され且つ表現する物体の外側を表とする複数のポ
リゴンで構成された立体モデルをレンダリングするプロ
グラムは、コンピュータに、立体モデルに対応し且つ立
体モデルの各ポリゴンに対応するポリゴンの表裏が反転
された輪郭描画用モデルを取得する第1ステップと、立
体モデルを包含する位置に輪郭描画用モデルを配置する
第2ステップと、輪郭描画用モデルのうち所与の視点位
置に対して表を向けているポリゴンのみを予め定められ
た配色で描画する第3ステップと、立体モデルを構成す
るポリゴン毎に、所与の視点位置に従ってポリゴンが描
画されるべき領域を計算する第4ステップと、ポリゴン
の各頂点に対して予め設定されている明度に基づいて、
第4ステップで計算されたポリゴンが描画されるべき領
域の第1の明度分布を計算する第5ステップと、明度が
一定の範囲でレベル分けされ且つ各レベルに代表的な明
度が割り当てられており、第5ステップで計算された第
1の明度分布を明度のレベル毎に割り当てられた代表的
な明度に置き換えた第2の明度分布と、ポリゴンに予め
設定された色とに基づいて色分布を生成し、当該色分布
でポリゴンを描画する第6ステップとを実行させるため
のプログラムである。
【0021】本発明の第12の態様に係るレンダリング
・プログラムは、コンピュータに、立体モデルに対応し
且つ立体モデルの各ポリゴンに対応するポリゴンの表裏
が反転された輪郭描画用モデルを取得する第1ステップ
と、立体モデルを包含する位置に輪郭描画用モデルを配
置する第2ステップと、立体モデルを構成するポリゴン
毎に、所与の視点位置に従ってポリゴンが描画されるべ
き領域を計算する第3ステップと、ポリゴンの各頂点に
対して予め設定されている明度に基づいて、第3ステッ
プで計算されたポリゴンが描画されるべき領域の第1の
明度分布を計算する第4ステップと、明度が一定の範囲
でレベル分けされ且つ各レベルに代表的な明度が割り当
てられており、第4ステップで計算された第1の明度分
布を明度のレベル毎に割り当てられた代表的な明度に置
き換えた第2の明度分布と、ポリゴンに予め設定された
色とに基づいて色分布を生成し、当該色分布でポリゴン
を描画する第5ステップと、輪郭描画用モデルのうち所
与の視点位置に対して表を向けているポリゴンのみを予
め定められた配色で描画する第6ステップとを実行させ
るためのプログラムである。
【0022】本発明の第13の態様に係るレンダリング
・プログラムは、コンピュータに、立体モデルに対応す
る輪郭描画用モデルを取得する第1ステップと、立体モ
デルを包含する位置に輪郭描画用モデルを配置する第2
ステップと、輪郭描画用モデルのうち所与の視点位置に
対して裏を向けているポリゴンのみを予め定められた配
色で描画する第3ステップと、立体モデルを構成するポ
リゴン毎に、所与の視点位置に従ってポリゴンが描画さ
れるべき領域を計算する第4ステップと、ポリゴンの各
頂点に対して予め設定されている明度に基づいて、第4
ステップで計算されたポリゴンが描画されるべき領域の
第1の明度分布を計算する第5ステップと、明度が一定
の範囲でレベル分けされ且つ各レベルに代表的な明度が
割り当てられており、第5ステップで計算された第1の
明度分布を明度のレベル毎に割り当てられた代表的な明
度に置き換えた第2の明度分布と、ポリゴンに予め設定
された色とに基づいて色分布を生成し、当該色分布でポ
リゴンを描画する第6ステップとを実行させるためのプ
ログラムである。
【0023】本発明の第14の態様に係るレンダリング
・プログラムは、コンピュータに、立体モデルに対応す
る輪郭描画用モデルを取得する第1ステップと、立体モ
デルを包含する位置に輪郭描画用モデルを配置する第2
ステップと、立体モデルを構成するポリゴン毎に、所与
の視点位置に従ってポリゴンが描画されるべき領域を計
算する第3ステップと、ポリゴンの各頂点に対して予め
設定されている明度に基づいて、第3ステップで計算さ
れたポリゴンが描画されるべき領域の第1の明度分布を
計算する第4ステップと、明度が一定の範囲でレベル分
けされ且つ各レベルに代表的な明度が割り当てられてお
り、第4ステップで計算された第1の明度分布を明度の
レベル毎に割り当てられた代表的な明度に置き換えた第
2の明度分布と、ポリゴンに予め設定された色とに基づ
いて色分布を生成し、当該色分布でポリゴンを描画する
第5ステップと、輪郭描画用モデルのうち所与の視点位
置に対して裏を向けているポリゴンのみを予め定められ
た配色で描画する第6ステップとを実行させるためのプ
ログラムである。
【0024】本発明の第15の態様に係るレンダリング
・プログラムは、コンピュータに、立体モデルに対応し
且つ立体モデルの各ポリゴンに対応するポリゴンの表裏
が反転された輪郭描画用モデルを取得する第1ステップ
と、立体モデルを包含する位置に輪郭描画用モデルを配
置する第2ステップと、輪郭描画用モデルのうち所与の
視点位置に対して表を向けているポリゴンのみを予め定
められた配色で描画する第3ステップと、立体モデルを
構成するポリゴン毎に、所与の視点位置に従ってポリゴ
ンが描画されるべき領域を計算する第4ステップと、明
度は一定の範囲でレベル分けされており、各々基準明度
が予め対応づけられた複数の明度レベルから、一つずつ
明度レベルを選択する第5ステップと、第5ステップで
明度レベルが選択される毎に、ポリゴンの各頂点に対し
て予め設定されている明度に基づき、第4ステップで計
算された、ポリゴンが描画されるべき領域の各画素位置
における明度を計算し、当該各画素位置における明度
が、選択された明度レベルに対応する明度の範囲内であ
る場合のみ、選択された明度レベルに対応する基準明度
及びポリゴンに予め設定された色に基づく色で当該画素
を描画する第6ステップとを実行させるためのプログラ
ムである。
【0025】本発明の第16の態様に係るレンダリング
・プログラムは、コンピュータに、立体モデルに対応し
且つ立体モデルの各ポリゴンに対応するポリゴンの表裏
が反転された輪郭描画用モデルを取得する第1ステップ
と、立体モデルを包含する位置に輪郭描画用モデルを配
置する第2ステップと、立体モデルを構成するポリゴン
毎に、所与の視点位置に従ってポリゴンが描画されるべ
き領域を計算する第3ステップと、明度は一定の範囲で
レベル分けされており、各々基準明度が予め対応づけら
れた複数の明度レベルから、一つずつ明度レベルを選択
する第4ステップと、第4ステップで明度レベルが選択
される毎に、ポリゴンの各頂点に対して予め設定されて
いる明度に基づき、第3ステップで計算された、ポリゴ
ンが描画されるべき領域の各画素位置における明度を計
算し、当該各画素位置における明度が、選択された明度
レベルに対応する明度の範囲内である場合のみ、選択さ
れた明度レベルに対応する基準明度及びポリゴンに予め
設定された色に基づく色で当該画素を描画する第5ステ
ップと、輪郭描画用モデルのうち所与の視点位置に対し
て表を向けているポリゴンのみを予め定められた配色で
描画する第6ステップとを実行させるためのプログラム
である。
【0026】本発明の第17の態様に係るレンダリング
・プログラムは、コンピュータに、立体モデルに対応す
る輪郭描画用モデルを取得する第1ステップと、立体モ
デルを包含する位置に輪郭描画用モデルを配置する第2
ステップと、輪郭描画用モデルのうち所与の視点位置に
対して裏を向けているポリゴンのみを予め定められた配
色で描画する第3ステップと、立体モデルを構成するポ
リゴン毎に、所与の視点位置に従ってポリゴンが描画さ
れるべき領域を計算する第4ステップと、明度は一定の
範囲でレベル分けされており、各々基準明度が予め対応
づけられた複数の明度レベルから、一つずつ明度レベル
を選択する第5ステップと、第5ステップで明度レベル
が選択される毎に、ポリゴンの各頂点に対して予め設定
されている明度に基づき、第4ステップで計算された、
ポリゴンが描画されるべき領域の各画素位置における明
度を計算し、当該各画素位置における明度が、選択され
た明度レベルに対応する明度の範囲内である場合のみ、
選択された明度レベルに対応する基準明度及びポリゴン
に予め設定された色に基づく色で当該画素を描画する第
6ステップとを実行させるためのプログラムである。
【0027】本発明の第18の態様に係るレンダリング
・プログラムは、コンピュータに、立体モデルに対応す
る輪郭描画用モデルを取得する第1ステップと、立体モ
デルを包含する位置に輪郭描画用モデルを配置する第2
ステップと、立体モデルを構成するポリゴン毎に、所与
の視点位置に従ってポリゴンが描画されるべき領域を計
算する第3ステップと、明度は一定の範囲でレベル分け
されており、各々基準明度が予め対応づけられた複数の
明度レベルから、一つずつ明度レベルを選択する第4ス
テップと、第4ステップで明度レベルが選択される毎
に、ポリゴンの各頂点に対して予め設定されている明度
に基づき、第3ステップで計算された、ポリゴンが描画
されるべき領域の各画素位置における明度を計算し、当
該各画素位置における明度が、選択された明度レベルに
対応する明度の範囲内である場合のみ、選択された明度
レベルに対応する基準明度及びポリゴンに予め設定され
た色に基づく色で当該画素を描画する第5ステップと、
輪郭描画用モデルのうち所与の視点位置に対して裏を向
けているポリゴンのみを予め定められた配色で描画する
第6ステップとを実行させるためのプログラムである。
【0028】なお、本発明の第10乃至第18の態様に
係るプログラムは、例えばCD−ROM、フロッピーデ
ィスク、メモリカートリッジ、メモリ、ハードディスク
などの記録媒体又は記憶装置に格納される。このように
記録媒体又は記憶装置に格納されるプログラムをコンピ
ュータに読み込ませることで以下で述べるレンダリング
装置及びゲーム装置を実現できる。また、記録媒体によ
ってこれをソフトウエア製品として装置と独立して容易
に配布、販売することができるようになる。さらに、コ
ンピュータなどのハードウエアを用いてこのプログラム
を実行することにより、これらのハードウエアで本発明
のグラフィックス技術が容易に実施できるようになる。
【0029】本発明の第19の態様に係る、仮想空間内
に配置された立体モデルをレンダリングするレンダリン
グ装置は、立体モデルに基づいて生成された輪郭描画用
モデルを、立体モデルを包含する位置に配置する手段
と、輪郭描画用モデルの内側を予め定められた配色で描
画する手段と、明度が一定の範囲でレベル分けされ且つ
各レベルに異なる代表的な明度が割り当てられており、
立体モデルが描画されるべき領域の明度分布である第1
の明度分布を明度のレベル毎に割り当てられた代表的な
明度に置き換えた第2の明度分布と、立体モデルに予め
設定された色とに基づいて色分布を生成し、当該色分布
で立体モデルを描画する手段とを有する
【0030】本発明の第1乃至第9の態様に係るレンダ
リング方法における各ステップをコンピュータに実行さ
せることにより、上で述べたレンダリング方法と同様の
効果を得ることが可能となる。従って、記載された処理
ステップをコンピュータ等のハードウエアを用いて実行
することにより、これらのハードウエアで本発明のレン
ダリング技術が容易に実施できるようになる。
【0031】本発明の第20の態様に係る、仮想空間内
に配置された立体モデルをレンダリングするゲーム装置
は、コンピュータと、コンピュータに実行させるプログ
ラムを格納した、コンピュータ読み取り可能な記録媒体
とを有する。このプログラムは、コンピュータに、立体
モデルに基づいて生成された輪郭描画用モデルを、立体
モデルを包含する位置に配置する機能と、輪郭描画用モ
デルの内側を予め定められた配色で描画する機能と、明
度が一定の範囲でレベル分けされ且つ各レベルに異なる
代表的な明度が割り当てられており、立体モデルが描画
されるべき領域の明度分布である第1の明度分布を明度
のレベル毎に割り当てられた代表的な明度に置き換えた
第2の明度分布と、立体モデルに予め設定された色とに
基づいて色分布を生成し、当該色分布で前記立体モデル
を描画する機能とを実施させる。
【0032】
【発明の実施の形態】最初に、本発明をコンピュータ・
プログラムにより実施する場合において当該コンピュー
タ・プログラムを実行するコンピュータ1000の一例
を図1に示す。コンピュータ1000はコンピュータ本
体101を含んでおり、このコンピュータ本体101
は、その内部バス119に接続された演算処理部10
3、メモリ105、ハードディスク・ドライブHDD1
07、サウンド処理部109、グラフィックス処理部1
11、CD−Rドライブ113、通信インターフェース
115、及びインターフェース部117を含む。
【0033】このコンピュータ本体101のサウンド処
理部109はスピーカーであるサウンド出力装置125
に、グラフィックス処理部111は表示画面122を有
する表示装置121に接続されている。また、CD−R
ドライブ113にはCD−R131を装着し得る。通信
インターフェース115はネットワーク151と通信媒
体141を介して接続される。インターフェース部11
7には入力装置161が接続されている。
【0034】演算処理部103は、CPUやROMなど
を含み、HDD107やCD−R131上に格納された
プログラムを実行し、コンピュータ1000の制御を行
う。メモリ105は、演算処理部103のワークエリア
である。HDD107は、プログラムやデータを保存す
るための記憶領域である。サウンド処理部109は、演
算処理部103により実行されているプログラムがサウ
ンド出力を行うよう指示している場合に、その指示を解
釈して、サウンド出力装置125にサウンド信号を出力
する。
【0035】グラフィックス処理部111は、演算処理
部103から出力される描画命令に従って、表示装置1
21の表示画面122に表示を行うための信号を出力す
る。CD−Rドライブ113は、CD−R131に対し
プログラム及びデータの読み書きを行う。通信インター
フェース115は、通信媒体141を介してネットワー
ク151に接続され、他のコンピュータ等との通信が行
われる。インターフェース部117は、入力装置161
からの入力をメモリ105に出力し、演算処理部103
がそれを解釈して演算処理を実施する。
【0036】本発明に係るプログラム及びデータは最初
例えばCD−R131に記憶されている。そして、この
プログラム及びデータは実行時にCD−Rドライブ11
3により読み出されて、メモリ105にロードされる。
演算処理部103はメモリ105にロードされた、本発
明に係るプログラム及びデータを処理し、描画命令をグ
ラフィックス処理部111に出力する。なお、中間的な
データはメモリ105に記憶される。グラフィックス処
理部111は演算処理部103からの描画命令に従って
処理をし、表示装置121の表示画面122に表示を行
うための信号を出力する。
【0037】次に図1に示されたグラフィックス処理部
111の一例を図2を用いて詳細に説明する。グラフィ
ックス処理部111は、内部バス119とのやり取りを
行うバス制御部201、バス制御部201とデータのや
り取りを行う幾何演算部207及び三角形描画処理部2
05、三角形描画処理部205からのデータを受け取り
処理を実施するピクセルカラー処理部209、各画素の
Z値を格納し且つピクセルカラー処理部209により使
用されるZバッファ211、及びピクセルカラー処理部
209からの表示画面用データを格納するフレーム・バ
ッファ213とを含む。なお、フレーム・バッファ21
3からの表示信号は、表示装置121に出力される。
【0038】グラフィックス処理部111のバス制御部
201は、演算処理部103から出力された描画命令を
内部バス119を介して受信し、グラフィックス処理部
111内の幾何演算部207又は三角形描画処理部20
5に出力する。場合によっては、幾何演算部207又は
三角形描画処理部205の出力を内部バス119を介し
てメモリ105に出力するための処理をも行う。幾何演
算部207は、座標変換、光源計算、回転、縮小拡大等
の幾何演算を実施する。幾何演算部207は、幾何演算
の結果を三角形描画処理部205に出力する。
【0039】三角形描画処理部205は、三角形ポリゴ
ンの各頂点のデータを補間して、三角形ポリゴン内部の
各点におけるデータを生成する。ピクセルカラー処理部
209は、三角形描画処理部205が生成する三角形ポ
リゴン内部の各点におけるデータを使用して、フレーム
・バッファ213に表示画像を書き込む。この際、ピク
セルカラー処理部209はZバッファ211を使用して
隠面消去を行う。
【0040】例えば、演算処理部103が、グラフィッ
クス処理部111に、世界座標系における三角形ポリゴ
ンの各頂点の位置及び色並びに光源に関する情報をデー
タとし、透視変換及び光源計算を行う描画命令を出力し
た場合には、以下のような処理がグラフィックス処理部
111内で実施される。描画命令を受信したバス制御部
201は命令を幾何演算部207に出力する。幾何演算
部207は、透視変換及び光源計算を実施し、三角形ポ
リゴンの各頂点のスクリーン座標系における座標値(Z
値を含む)及び色を計算する。幾何演算部207は、こ
の計算結果を三角形描画処理部205に出力する。
【0041】三角形描画処理部205は、三角形ポリゴ
ンの各頂点における座標値(Z値を含む)及び色を用い
て、三角形ポリゴン内部の各画素における座標値(Z値
を含む)及び色を計算する。さらに、三角形描画処理部
205は、この各画素における座標値(Z値を含む)及
び色をピクセルカラー処理部209に出力する。ピクセ
ルカラー処理部209は、Zバッファ211から当該画
素の現在のZ値を読み出して、三角形描画処理部205
から出力されたZ値と比較する。もし、出力されたZ値
が現在のZ値より小さければ、ピクセルカラー処理部2
09は、出力されたZ値を当該画素に対応するZバッフ
ァ211内の記憶位置に格納し、当該画素の座標値に対
応するフレーム・バッファ213内の記憶位置に当該画
素の色を格納する。
【0042】なお、当該画素の色に透明度(α値)が設
定されている場合がある。その場合には、ピクセルカラ
ー処理部209は、当該画素の座標値に対応するフレー
ム・バッファ213内の記憶位置に記憶されている色
と、当該画素の色とをα値に基づいて合成する。その結
果、合成色が生成される。ピクセルカラー処理部209
は、生成された合成色を前と同じ記憶位置に格納する。
本発明では特に、ピクセルカラー処理部209は、この
α値が一定範囲内である場合にのみ、その画素における
色をフレーム・バッファ213の所定の位置に記憶する
処理をも実施する。
【0043】以下に示す各実施の形態は、図1に示され
たコンピュータによって実施される。
【0044】1.実施の形態1 次に本発明の実施の形態1の概略を図3の機能ブロック
図を用いて説明する。実施の形態1として図示したレン
ダリング装置には、輪郭描画用モデル描画部350と立
体モデル描画部390が含まれる。この輪郭描画用モデ
ル描画部350には、輪郭描画用モデル取得部300
と、輪郭描画用モデル配置用マトリックス設定部305
と、輪郭描画用モデル処理部310と、かすれ表現テク
スチャマッピング部315と、立体モデル描画部390
と共用されるピクセル処理部330とが含まれる。これ
らの各機能は、上で述べた順番でデータの受け渡しを行
っている。
【0045】また、立体モデル描画部390には、頂点
変換及び光源計算部360と、明度計算部365と、明
度範囲テーブル375と、描画用色計算部370と、明
度範囲設定部380と、輪郭描画用モデル描画部350
と共用されるピクセル処理部330とが含まれる。頂点
変換及び光源計算部360の出力は明度計算部365へ
入力される。明度計算部365の出力はピクセル処理部
330へ入力される。明度範囲テーブル375は、描画
用色計算部370及び明度範囲設定部380の両方に参
照される。描画用色計算部370及び明度範囲設定部3
80の出力はピクセル処理部330へ入力される。輪郭
描画用モデル描画部350と立体モデル描画部390が
共用するピクセル処理部330には、立体モデル描画処
理で用いられる明度比較部333と、輪郭描画用モデル
描画処理及び立体モデル描画処理の両方で用いられる隠
面消去処理部337とが含まれる。
【0046】輪郭描画用モデル取得部300は、例えば
三角形ポリゴンで構成された立体モデルに対応する輪郭
描画用モデルを生成する。なお、輪郭描画用モデルが予
め生成されている場合には、輪郭描画用モデル取得部3
00は、当該予め生成されている、三角形ポリゴンで構
成された輪郭描画用モデルを読み出す。なお、取得され
る輪郭描画用モデルの各ポリゴンは、立体モデルの対応
するポリゴンとは表裏が逆になっている。また、輪郭描
画用モデルは立体モデルより大きく、輪郭線用の所定の
配色にて定義される。
【0047】なお、輪郭描画用モデルは、最終的には対
応する立体モデルより相対的に大きくなければならない
が、この段階における輪郭描画用モデルの大きさは立体
モデルと同じ場合もある。この場合は、輪郭描画用モデ
ル及び立体モデルが描画されるまでに、輪郭描画用モデ
ルが立体モデルより相対的に大きく描画されるよう処理
される。また、輪郭描画用モデルの色は、対応する立体
モデルのマテリアルの色をそのまま引き継ぐ場合もあ
る。この場合、描画用の色は別に指定される。
【0048】この輪郭描画用モデルの基準位置は、通常
対応する立体モデルの基準位置と同じ又はその近傍に位
置するように定義される。例えば図4に輪郭描画用モデ
ル510のサイズが立体モデル500のサイズよりひと
まわり大きく定義されている場合を示す。この図4で
は、各面の矢印方向がおもて面を示している。立体モデ
ル500は六角形の各面の外側がおもて面であり、輪郭
描画用モデル510は六角形の各面の内側がおもて面と
なっている。
【0049】立体モデル500の基準位置である立体モ
デル基準位置520と、輪郭描画用モデル510の基準
位置である輪郭描画用モデル基準位置530は共に各モ
デルの中心に定義される。また輪郭描画用モデル510
は輪郭描画用モデル基準位置530を中心に、立体モデ
ル500よりひとまわり大きく定義される。
【0050】そして、輪郭描画用モデル配置用マトリッ
クス設定部305が、仮想空間内の輪郭描画用モデル基
準位置530を、立体モデル基準位置520と同じ位置
に配置するための配置用マトリックスを設定する。すな
わち、輪郭描画用モデル510の配置用マトリックス
を、輪郭描画用モデル基準位置530を立体モデル基準
位置520の座標に平行移動させる変換を含むように設
定することで、立体モデル500を包含する位置に輪郭
描画用モデル510が配置される。
【0051】輪郭描画用モデル処理部310は、輪郭描
画用モデルの各頂点につき、頂点変換(拡大・縮小・回
転・平行移動・透視変換)を実施し、且つ輪郭描画用モ
デルの各面の表裏判定を実施する。この頂点変換には上
で述べた配置用マトリックスも用いられる。なお、ここ
で光源計算は実施されない。例えば、仮想三次元空間で
ある仮想空間において指定された状態に合わせて拡大・
縮小・回転・平行移動・透視変換するだけでなく、輪郭
描画用モデル取得部300において立体モデルと同じ大
きさの輪郭描画用モデルを取得した場合には、輪郭描画
用モデル処理部310は、輪郭線描画用モデルのサイズ
を拡大するための頂点変換を実施する。ここで拡大した
場合も立体モデルと輪郭描画用モデルの関係は図4のよ
うになる。
【0052】また、面の表裏判定は、カメラ550から
の視線540の方向と同じ方向がおもて面の方向である
面を描画の対象から外すために行われる。図4の例で
は、輪郭描画用モデル510のカメラ550に近い面5
11及び512が描画対象から外れる。このようにする
と、立体モデル500の外側にあり且つカメラ550に
近い面は描画対象から外れるので、立体モデル500は
立体モデル描画部390の処理どおり描画される。一
方、輪郭描画用モデル510は、立体モデル500より
後ろの面513、514、515及び516のみが描画
対象となる。但し、ピクセル処理部330の隠面消去処
理部335にて隠面消去が行われるので、描画対象とな
ってもその面の全てが描画されるわけではない。
【0053】かすれ表現テクスチャマッピング部315
は、結果的に描画される輪郭線がかすれているような線
になるように、輪郭描画用モデルにかすれ表現用テクス
チャをマッピングするための処理を実施するものであ
る。このかすれ表現用テクスチャは、明度又は透明度の
変化を含む図柄を有するテクスチャで後に例を示す。な
お、必ずしも輪郭線がかすれている必要は無いので、か
すれ表現テクスチャマッピング部315の処理は選択的
に実施される。
【0054】立体モデル描画部390の頂点変換及び光
源計算部360は、仮想三次元空間に配置される立体モ
デルを構成する三角形ポリゴンの各頂点について頂点変
換(拡大・縮小・回転・平行移動・透視変換)を実施し
(三角形ポリゴンが描画される領域を計算し)、頂点変
換された三角形ポリゴンの各頂点について光源計算を行
う。また、立体モデル描画部390の頂点変換及び光源
計算部360は、立体モデルの各三角形ポリゴンの表裏
判定も行う。光源計算は、光源から発せられた仮想的な
光線により生じる陰影(輝度)を計算するものである。
【0055】立体モデル描画部390の頂点変換及び光
源計算部360においても、仮想三次元空間において指
定された状態に合わせて拡大・縮小・回転・平行移動・
透視変換するだけでなく、輪郭描画用モデル処理部31
0で処理された後の輪郭描画用モデルが立体モデルと同
じ大きさである場合には、立体モデルが輪郭描画用モデ
ルに対して相対的に小さくなるように立体モデルのサイ
ズを縮小するための頂点変換が実施される。
【0056】頂点変換及び光源計算部360が立体モデ
ルの縮小処理を行った場合も立体モデル500と輪郭描
画用モデル510の関係は図4のようになる。また、面
の表裏判定は、輪郭描画用モデル処理部310と同じ
で、立体モデルの面のうちカメラの視線方向と同じ方向
がおもて面の方向である面を描画対象から除外する。図
4の例では、カメラから見て後ろの方の面503、50
4、505及び506が描画対象から除外される。
【0057】明度計算部365は、頂点変換及び光源計
算部360が計算した三角形ポリゴンの各頂点における
色から明度を計算する。通常頂点変換及び光源計算部3
60はRGB系における色を計算するので、明度計算部
365はこのRGBをYIQ変換して明度Yを求める。
この三角形ポリゴンの各頂点における明度は、ピクセル
処理部330に出力される。
【0058】明度範囲テーブル375は、例えば図5の
ようなテーブルである。すなわち、しきい値と基準明度
が対となったテーブルで、ここではしきい値0.75に
対して基準明度0.75、しきい値0.50に対して基
準明度0.50、しきい値0.00に対して基準明度
0.25と三段階(レベル)に設定されている。なお、
ここでは明度は0から1までの実数値をとるものとす
る。しきい値ではなく、上限及び下限による範囲の指定
でも良い(例えば図18参照)。この明度範囲テーブル
375を参照して、描画用色計算部370は各しきい値
に対応する描画用色を計算する。各しきい値に対応する
描画用色は、しきい値に対応する基準明度と立体モデル
の各三角形ポリゴンに予め設定されている色の情報とを
用いて計算される。計算された描画用色を描画用色計算
部370はピクセル処理部330に出力する。
【0059】明度範囲設定部380は、明度範囲テーブ
ル375の1つのしきい値を選択して、ピクセル処理部
330に設定する。明度範囲設定部380は、図5のよ
うな明度範囲テーブル375をそのまま使用する場合に
は上から順番に一つずつ設定していく。しきい値ではな
く上限及び下限による範囲が指定されている場合には、
ランダムに選択・設定可能である。
【0060】輪郭描画用モデル描画部350と立体モデ
ル描画部390に共用されるピクセル処理部330は、
三角形ポリゴン内の各画素における色又は明度を、三角
形ポリゴンの各頂点の色又は明度を補間して求める処理
を実施する。補間の方式は、グーロー・シェーディング
のアルゴリズムでも、フォン・シェーディングのアルゴ
リズムでも良い。
【0061】ピクセル処理部330は、輪郭描画用モデ
ルの描画対象とされた三角形ポリゴンを処理する場合に
は、隠面消去処理部337を用いて隠面消去処理を実施
しつつ、輪郭描画用モデルの描画対象とされた三角形ポ
リゴン内の各画素の色を決定する。
【0062】例えば図4の場合には、立体モデル500
のカメラ550に最も近い2つの面501及び502が
描画され、輪郭描画用モデルのカメラ550から遠い4
つの面513、514、515及び516が描画され
る。輪郭描画用モデル510のこの4つの面は、カメラ
550から見ると立体モデル500から左右にはみ出し
ているので、はみ出している部分のみが隠面消去されず
に描画される。このはみ出している部分が輪郭線とな
る。なお、ピクセル処理部330は、輪郭描画用モデル
のマテリアルの色を考慮して色を決定する。但し、この
マテリアルの色を全く無視して輪郭線の色(黒又は暗い
輪郭線用の色)を輪郭描画用モデルの色とする場合もあ
る。
【0063】一方、ピクセル処理部330は、立体モデ
ルの描画対象とされた三角形ポリゴンを処理する場合に
は、まず明度計算部365から出力された三角形ポリゴ
ンの各頂点における明度を補間して、ポリゴン内部の各
画素における明度(ポリゴンにおける明度分布)を計算
する。
【0064】そして、明度比較部333は各画素におけ
る明度と明度範囲設定部380が設定したしきい値とを
比較する。もしその画素における明度がしきい値以上で
あれば、ピクセル処理部330は、このしきい値に対応
する基準明度に基づく描画用色で当該画素を描画する。
この描画処理の際には、隠面消去処理部337を用いて
隠面消去処理をも実施する。もしその画素における明度
がしきい値未満であれば、この画素をこの段階では描画
しない。明度範囲設定部380が明度範囲テーブル37
5の全てのしきい値をピクセル処理部330に設定し、
それに対応してピクセル処理部330が三角形ポリゴン
内の全ての画素について描画処理を行えば、三角形ポリ
ゴン内部が図5の例では3段階に塗り分けられる。この
処理を立体モデルの全ての三角形ポリゴンについて実施
する。
【0065】なお、上で述べた処理では予め描画用色が
描画用色計算部370にて計算されているので分かりに
くいが、上の処理は、各画素における明度(ポリゴンに
おける明度分布)がその明度が属する明度範囲に対応す
る基準明度と置き換えられ(ポリゴンにおける第2の明
度分布が生成され)、ポリゴンに予め設定された色とそ
の基準明度とから生成される描画用色(ポリゴンにおけ
る色分布)で描画する処理と実質的に同じである。
【0066】本発明では隠面消去処理にはZバッファに
よる隠面消去が必要となる場合がある。例えば、立体モ
デルが人間の形をしており、腕が胴体の前に位置する場
合等では、輪郭描画用オブジェクトと立体モデルの面の
位置関係からZバッファ法を用いないと、正確な輪郭線
を描画することが困難な場合があるからである。
【0067】加えて、立体モデル描画部390で、図5
のような明度範囲テーブル375をそのまま使用する場
合には、Zバッファによる隠面消去が利用される。例え
ば図5に従えば、0.75以上という明度は0.5以上
でも0.0以上でもあるから、重ねて描画用色が塗られ
ないように明度範囲の上限値を設定する必要がある。も
しある画素の明度が0.75以上であれば、このしきい
値0.75に対応する描画用色でこの画素は描画され、
その画素のZ値がZバッファに記憶される。
【0068】しきい値が0.5になった場合には、当該
画素のZ値がZバッファから読み出され、書き込もうと
する同じ画素のZ値と比較されるが、当然それらは同じ
であるから、しきい値0.5に対応する描画用色はその
画素についてはフレーム・バッファに書き込まれない。
しきい値0.0についても同じである。
【0069】また、ポリゴンの頂点及びポリゴン内部の
画素における明度は、通常は透明度として使われるαと
いう色(RGB)の属性値として取り扱われる。通常α
値は0−255の範囲で定義されるので、実際に属性値
αには明度を255倍したものが使用される。よって、
明度範囲テーブル375のしきい値(上限及び下限値)
は0−255の範囲の値であっても良い。
【0070】次に、実施の形態1についての処理フロー
を説明する。なお、以下の処理は、演算処理部103
(図1)がコンピュータ本体101内の他の要素を制御
して実施される処理である。
【0071】[CD−R記録処理]図6には、予め行わ
れる輪郭描画用モデルの生成処理が示されている。処理
が開始すると、HDD107に予め記憶された立体モデ
ルのデータが読み出され(ステップS303)、変換対
象モデルとして取得される。
【0072】次に、この変換対象モデルのサイズがひと
まわり大きくなるよう拡大される(ステップS30
5)。例えば、変換対象モデルの各頂点の法線方向に、
当該変換対象モデルの全長の2パーセントの長さだけ当
該頂点が移動され、全体として2パーセント程度拡大さ
れる。すなわち、例えば当該変換対象モデルが人間型
で、その身長が1.8m相当であれば、各頂点は0.0
36mに相当する長さだけ移動される。この拡大率がよ
り大きい場合は輪郭線はより太く描画され、拡大率がよ
り小さく、変換対象モデルがわずかに拡大されただけで
ある場合には輪郭線はより細く描画される。更に、均一
でなく一部がより拡大されれば、より拡大された部分の
輪郭線のみが太く描画される。このサイズの調整は、通
常立体モデルの製作者により行われるので、当該製作者
の意図を反映した輪郭線を描画することができる。
【0073】なお、立体モデルの各頂点の法線が定義さ
れていない場合には、当該頂点を共有する各面の法線を
補間することにより求められる当該頂点の法線を用い
て、当該頂点を当該頂点の法線方向に移動させることも
できる。また、立体モデルの各面の法線方向に当該面を
移動させることもできる。しかし単純に面が移動された
だけである場合には、面と面との間に隙間が生じてしま
うので、それを埋めるための処理が別途必要になる。更
に、通常立体モデルには基準位置が定義されているの
で、対応する変換対象モデルの基準位置を中心に、変換
対象モデルの各頂点を移動させることもできる。
【0074】次に、変換対象モデルの各ポリゴンのマテ
リアルの色が、彩度は同じで明度を低くした色に設定さ
れる(ステップS307)。なお、各ポリゴンがすべて
黒などの単一色に設定されるとしてもよい。また、かす
れ表現用テクスチャをマッピングするための設定がされ
るとしてもよい。マテリアルの色は製作者により調整さ
れるので、当該製作者の意図した色で輪郭線を描画する
ことができる。
【0075】次に、変換対象モデルの各ポリゴンの表裏
を反転する(ステップS309)。具体的には、変換対
象モデルを構成する各三角形の頂点が定義されている順
番を一ヶ所入れ替える。なお、表裏判定方法の詳細は後
述する。
【0076】ここまでで変換された変換対象モデルのデ
ータを、輪郭描画用モデル・データとしてHDD107
に記憶し(ステップS311)、輪郭描画用モデル生成
処理を終了する(ステップS313)。
【0077】次に、HDD107に記憶された、立体モ
デル・データ及び輪郭描画用モデル・データを含む各種
データが、CD−Rドライブ113によりCD−R13
1に書き込まれる。図7には、CD−R131に書き込
まれたデータの例が模式的に示されている。
【0078】プログラム領域132には、コンピュータ
1000に本発明を実施させるためのプログラムが格納
される。但し、本発明を実施するプログラムは、CD−
R131に書き込むまでの処理と、後に詳述される図8
に示される処理とに分けることができる。よって、上で
述べた輪郭描画用モデルを生成して輪郭描画用モデル・
データを含む各種データをCD−R131に書き込む処
理を行うプログラムはここには含まないとしてもよい。
このようにする事で、図8に示される処理を、例えばC
D−Rドライブ113の代わりにCD−ROMドライブ
を備えた、コンピュータ1000とは別のコンピュータ
で実施することもできる。
【0079】システムデータ領域133には、上で述べ
たプログラム領域132に格納されるプログラムによっ
て処理される各種データが格納される。画像データ領域
134には、立体モデル・データ137及び輪郭描画用
モデル・データ135を含むデータが格納される。但
し、後述する輪郭描画用モデル取得処理において輪郭描
画用モデルを生成する場合には、輪郭描画用モデル・デ
ータ135が格納される必要は無い。なお、かすれを表
現するテクスチャ等のデータも画像データ領域134に
格納される。
【0080】サウンドデータ領域136には、図1に示
されたサウンド処理部109によりサウンド出力装置1
25からサウンドを出力させるためのデータが格納され
る。なお、サウンド処理は本発明と直接関係は無いの
で、サウンドデータ領域136にデータが格納されてい
る必要は無い。
【0081】なお、CD−R131に格納される輪郭描
画用モデルのサイズは、対応する立体モデルのサイズと
同じ大きさで定義されるとしてもよい。この場合には、
後述する輪郭描画用モデル取得処理で輪郭描画用モデル
が取得された後に、後述する輪郭描画用モデル配置処理
で輪郭描画用モデルの配置用マトリックスが設定される
までの間に輪郭描画用モデルが拡大される。あるいは、
輪郭描画用モデル配置処理で輪郭描画用モデルの配置用
マトリックスが設定される際に、当該配置用マトリック
スが拡大変換を含むように当該配置用マトリックスが決
定されるとしてもよい。逆に、立体モデルを配置する際
に、立体モデルの配置用マトリックスが縮小変換を含む
ように立体モデルの配置用マトリックスが決定されると
してもよい。
【0082】また、CD−R131に格納される輪郭描
画用モデルの各面のマテリアルの色は、対応する立体モ
デルの各面のマテリアルの色と同一であっても良い。こ
の場合、後述される輪郭描画用モデルの描画処理の際
に、例えば、黒などの別途定義された色で輪郭描画用モ
デルが描画される。
【0083】[全体の処理フロー]図8に実施の形態1
の全体の処理フローを示す。処理が開始すると、初期設
定が行われる(ステップS2)。この初期設定の処理に
は、後に詳述する輪郭描画用モデルのデータ取得処理
(図9)や、描画すべき立体モデルのデータ取得処理が
含まれる。そして、仮想空間内の状態が設定される(ス
テップS3)。この処理は、例えば視点の位置が変更さ
れたり、光源の位置が変更されたり、モデルが移動させ
たり、モデルが変形された場合に、それに応じて仮想空
間内の状態を変更する処理である。この処理が行われる
ことで、立体モデル及び輪郭描画用モデルの位置座標・
方向・拡大率・縮小率等の決定処理が行われる。より具
体的には立体モデル及び輪郭描画用モデルの配置用マト
リックス(図11で使用)の決定処理が行われる。また
入力装置161(図1)のキー操作等に従ってステップ
S4の輪郭線描画か否かの設定がこのステップS3で行
われる。
【0084】次に、輪郭線を描画するか否かの判断処理
が行われる(ステップS4)。これは上で述べたように
入力装置161のキー操作等による設定又は他のプログ
ラムによる設定に基づき判断される。そして、輪郭線を
描画すると判断された場合には、輪郭線描画用モデルの
描画処理が実施される(ステップS5)。これについて
は後に図11を用いて説明する。そして輪郭線が描画さ
れる場合も描画されない場合も立体モデルの描画処理が
実施される(ステップS6)。この処理についても後に
図15を用いて説明する。このステップS3乃至S6が
処理終了まで繰り返し実施される(ステップS7)。処
理終了であるか否かは、処理を終了すべき旨の操作入力
が行われたか否かによって判断される。
【0085】[輪郭描画用モデル取得処理]図9には、
輪郭描画用モデルの取得処理が示されている。ここでは
まず、輪郭描画用モデルが生成されるか否かが判断され
る(ステップS203)。輪郭描画用モデルを予め用意
しておく場合と輪郭描画用モデルをこの段階にて生成す
る場合が存在するためである。ここでこの判断は、例え
ば立体モデルに対応した輪郭描画用モデルがCD−R1
31に格納されているか否かを判定する事により実施さ
れる。格納されていると判断されれば輪郭描画用モデル
は生成されないと判断され、格納されていないと判断さ
れれば、輪郭描画用モデルは生成されると判断される。
【0086】輪郭描画用モデルが生成されないと判断さ
れた場合には、CD−R131に格納されている輪郭描
画用モデルのデータが読み出される(ステップS20
7)。この輪郭描画用モデルの各面は、上で図4及び図
6を用いて説明されたように、立体モデルの対応する面
とは表裏が反転されたものである。また読み出される輪
郭描画用モデルのサイズは、対応する立体モデルより一
回り大きく定義される。更に、輪郭描画用モデルの色
は、対応する立体モデルより暗い色で定義される。
【0087】もし輪郭描画用モデルが生成されると判断
された場合には、輪郭描画用モデルを生成する処理が行
われる(ステップS205)。ステップS207と同じ
ように、この段階において輪郭描画用モデルが生成され
る場合においても、輪郭描画用モデルの各ポリゴンは、
上で図4を用いて説明されたように、立体モデルの対応
するポリゴンとは表裏反転したものにする。
【0088】輪郭描画用モデルのサイズは、対応する立
体モデルより一回り大きく生成される。ステップS30
5(図6)と同じように、例えば立体モデルの各頂点の
法線方向に当該頂点を移動させて拡大された輪郭描画用
モデルが生成される。輪郭描画用モデルが立体モデルに
比してより大きい場合は輪郭線はより太く描画され、輪
郭描画用モデルが立体モデルよりわずかに大きいだけで
ある場合は輪郭線はより細く描画される。
【0089】また、ステップS305(図6)の説明で
述べられているように、立体モデルの各面の法線方向に
当該面を移動させて拡大された輪郭描画用モデルが生成
されるとしてもよい。さらに、通常立体モデルに定義さ
れている基準位置を中心に、その立体モデルの各頂点を
移動させて拡大された輪郭描画用モデルが生成されると
してもよい。
【0090】なお、この時点では、輪郭描画用モデルの
サイズは、対応する立体モデルのサイズと同じ大きさで
生成されるとしてもよい。この場合には本輪郭描画用モ
デル取得処理で輪郭描画用モデルが取得された後、後述
する輪郭描画用モデル配置処理で輪郭描画用モデルの配
置マトリックスが設定されるまでの間に輪郭描画用モデ
ルは拡大される。あるいは、輪郭描画用モデル配置処理
で輪郭描画用モデルの配置用マトリックスが設定される
際に、当該配置用マトリックスが拡大変換を含むように
当該配置用マトリックスが決定されるとしてもよい。逆
に、立体モデルを配置する際に、立体モデルの配置用マ
トリックスが縮小変換を含むように立体モデルの配置用
マトリックスが決定されるとしてもよい。
【0091】一方、輪郭描画用モデルの各ポリゴンのマ
テリアルの色は、対応する立体モデルの各ポリゴンのマ
テリアルの色をより暗くした色で生成される。なお、ス
テップS307(図6)の説明で述べられているのと同
様に、この時点では、生成される輪郭描画用モデルの色
は定義されていなくてもよい。あるいは、輪郭描画用モ
デルの各ポリゴンのマテリアルの色が、対応する立体モ
デルの各ポリゴンのマテリアルの色と同一であっても良
い。この場合、輪郭描画用モデルの描画処理の際に、輪
郭描画用モデルの色は考慮されず、例えば黒などの別途
定義された色か、かすれを表現するテクスチャの色で輪
郭描画用モデルが描画される。
【0092】次に、輪郭描画用モデルにかすれを表現す
るテクスチャがマッピングされるか否かが判断される
(ステップS209)。ステップS205で輪郭描画用
モデルが生成された場合には、対応する立体モデルのデ
ータに基づいて当該判断が実施される。一方、ステップ
S207で輪郭描画用モデルが読み出された場合には、
読み出された輪郭描画用モデルのデータに基づいて当該
判断が実施される。かすれを表現するテクスチャがマッ
ピングされると判断された場合には、ステップS211
にて輪郭描画用モデルにかすれを表現するテクスチャが
マッピングされる。すなわち、ポリゴンの各頂点にテク
スチャ座標(U,V)が設定される。
【0093】なお、上でも述べたように、かすれを表現
するテクスチャは、明度又は透明度の変化を含む図柄を
有する。図10には明度の変化を含むテクスチャの一例
が示されている。これは黒地に白の斜線が細かく入った
図柄を有するテクスチャである。黒部分の明度は低く、
白部分の明度は高いので、図10に示されたテクスチャ
は明度の変化を含んでいる。
【0094】本発明において輪郭線は、輪郭描画用モデ
ルの一部が線として切り出されて描画される。すなわ
ち、図10のテクスチャがマッピングされた輪郭描画用
モデルが輪郭線として描画される場合、輪郭描画用モデ
ルから輪郭線として切り出される線に対応する線が当該
テクスチャから切り出されて描画される。このとき、当
該テクスチャから略縦方向又は略横方向に線が切り出さ
れれば、いずれの線も明度の変化を含むことになる。こ
のような線が輪郭線として描画されることで、明度の変
化を含む輪郭線が描画される。すなわち、輪郭線のかす
れが表現され、より手書き調の輪郭線が描画される。
【0095】図10に示されたテクスチャであれば、い
ずれの方向に線が切り出されてもその線は明度の変化を
含む。しかし切り出される方向によってはほとんど明度
が変化しない場合もある。輪郭描画用モデルのどの部分
がどの方向に輪郭線として描画されるかは調整できるの
で、かすれを表現するテクスチャは、主に切り出される
方向に応じてその図柄が調整される。
【0096】なお、透明度の変化を含む図柄を有するテ
クスチャがマッピングされた輪郭描画用モデルにより輪
郭線が描画される場合には、当該輪郭線は透明度の変化
を含む。透明度の高い部分にはその割合に応じて背景の
色に近い色が描画され、低い部分には例えば黒等の当該
テクスチャの色に近い色が描画される。これにより濃淡
の変化を含む輪郭線が描画され、輪郭線のかすれが表現
される。
【0097】かすれを表現するテクスチャがマッピング
されないと判断された場合と、テクスチャがマッピング
される処理が終了した場合は、演算処理部103は輪郭
描画用モデル取得処理を終了する(ステップS21
3)。
【0098】[輪郭描画用モデル配置処理]図8のステ
ップS3において輪郭描画用モデルの配置マトリックス
が設定され、輪郭描画用モデルの配置処理が行われる。
通常輪郭描画用モデルの基準位置は、立体モデルの基準
位置に対応する位置に設けられる。そしてその輪郭描画
用モデルの基準位置が、立体モデルの基準位置と同一又
は近傍に配置されるように、輪郭描画用モデルの配置用
マトリックスが設定される。
【0099】ここで立体モデルの方向が変化する場合に
は、輪郭描画用モデルもそれに対応するよう回転変換を
含む配置用マトリックスが設定される。立体モデルの形
状が変化する場合には、輪郭描画用モデルがそれに対応
するように変形処理が行われる。
【0100】この段階において輪郭描画用モデルが対応
する立体モデルと同じ大きさである場合には、輪郭描画
用モデルが拡大される。具体的には、輪郭描画用モデル
の基準位置を中心として輪郭描画用モデルの各頂点が所
定の拡大率に従って拡大変換されるように、輪郭描画用
モデルの配置用マトリックスが設定される。あるいは逆
に、立体モデルが縮小されるとしてもよい。すなわちこ
の場合には、立体モデルの基準位置を中心として立体モ
デルの各頂点が所定の縮小率に従って縮小変換されるよ
うに、立体モデルの配置用マトリックスが設定される。
なお、輪郭描画用モデルが対応する立体モデルより相対
的に大きい場合は、輪郭描画用モデルの配置用マトリッ
クスとして立体モデルの配置用マトリックスをそのまま
使用することも可能である。
【0101】このようにすると、最終的には、相対的に
大きい輪郭描画用モデルが立体モデルを包含するように
配置される。両モデルの配置位置、方向、形状等の関係
により、輪郭描画用モデルは完全には立体モデルを包含
しない場合も生じ得る。但し、このような場合であって
も、包含している部分については輪郭線が描画される。
【0102】なお、この段階では必ずしも配置用マトリ
ックスが設定されている必要は無く、配置される座標、
方向及び拡大・縮小率等の頂点変換に必要な各要素が確
定していればよい。この場合も、実際の頂点変換は各モ
デルの描画処理の段階で行われる。
【0103】[輪郭描画用モデル描画処理]輪郭描画用
モデルの描画処理フローを示す図11では、輪郭描画用
モデルの全ての頂点について処理するまで、以下に説明
する処理が繰り返し行われる(ステップS503)。繰
り返し行われる最初の処理は、1つの頂点についての頂
点変換(拡大・縮小・回転・平行移動・透視変換)処理
である(ステップS505)。ここではステップS3で
求められた輪郭描画用モデルの配置用マトリックスも頂
点変換で用いられる。
【0104】例えば、この処理は演算処理部103によ
り命令された幾何演算部207が実施する。ここで注意
したいのは輪郭描画用モデルに対しては幾何演算部20
7が光源計算を実施しない点である。これは輪郭線は光
源の位置等によらず描画され、光源計算をするのが無駄
だからである。例えば輪郭描画用モデルのマテリアルの
色は無視される場合もある。通常この頂点変換は、仮想
三次元空間において指定された状態に基づき行われる
が、もし輪郭描画用モデルの大きさが立体モデルと同じ
である場合には、配置処理で設定された配置用マトリッ
クスに従って、この段階において輪郭描画用モデルが拡
大変換される場合もある。
【0105】そして、当該頂点を含むポリゴンはおもて
面か否かの判断処理が行われる(ステップS507)。
この判断は、三角形ポリゴンの場合この頂点とその前に
処理された2つの頂点から構成される三角形ポリゴンが
いずれの方向を向いているかで判断される。図12に
は、表裏判定方について説明するための、立体モデルを
構成する三角形ポリゴンの例が示されている。この例で
は、図中上部の頂点の頂点番号が0、下部左側の頂点の
頂点番号が1、下部右側の頂点の頂点番号が2である。
すなわち、上部の頂点から反時計回りに、頂点番号が付
与されている。
【0106】実施の形態1では、三角形ポリゴンの各頂
点の頂点番号が反時計回りに付与されているように見え
る面が、おもて面と定義されている(いわゆる右手
系)。従って、図12の三角形ポリゴンは、紙面手前方
向がおもて面である。おもて面の方向に法線ベクトルが
あるとすると、その法線ベクトルと視線ベクトルとの内
積の符号によって、三角形ポリゴンの表裏が判定でき
る。すなわち、内積の符号が負であれば、視点位置に対
しておもて面を向けていることになり、内積の符号が正
であれば、視点位置に対してうら面を向けていることと
なる。
【0107】実際には図13に示されているように、ス
クリーンに投影された頂点0から頂点1へのベクトルa
とスクリーンに投影された頂点0から頂点2へのベクト
ルbの外積a×bが計算され、この外積の結果であるベ
クトルnの方向にておもて面か否かが判断される。ベク
トルnはz軸に平行であり、ベクトルnのz成分の符号
を検査すればおもて面か否かが判定される。すなわち、
正ならおもてで、負ならうらである。図13左側は三角
形の頂点の番号は反時計回りであり、外積の結果である
ベクトルnはz軸の正の方向に向いているのでおもてで
ある。一方図13右側は三角形の頂点の番号は時計回り
であり、外積の結果であるベクトルnはz軸の負の方向
を向いておりうらである。
【0108】実施の形態1における輪郭描画用モデルの
場合、輪郭描画用モデルのポリゴンは立体モデルの対応
するポリゴンとは表裏が逆になっている。図14には図
12のポリゴンに対応し、表裏が反転されたポリゴンが
示されている。図14に示す三角形ポリゴンの各頂点に
は、図中上方、右下、左下の順で0,1,2の頂点番号
が付与されている。すなわち、対応する三角形ポリゴン
には図12とは逆の順番で頂点番号が付されている。よ
って、図14では紙面手前がうら面と判定される。な
お、実施の形態1ではこの段階において表裏判定が行わ
れるが、この段階より前に表裏判定が行われるようにす
ることも可能である。
【0109】もし、当該頂点を含むポリゴンがうら面で
あった場合にはステップS503に戻る。当該頂点を含
むポリゴンがおもて面であった場合には、かすれを表現
するテクスチャをマッピングするか否かが判断される
(ステップS509)。
【0110】これはポリゴンに対するテクスチャ・マッ
ピングを意味している。もし、かすれを表現するテクス
チャをマッピングする場合には、その頂点に対する、か
すれを表現するためのテクスチャのテクスチャ座標が計
算される(ステップS511)。テクスチャ・マッピン
グを行う場合、既にポリゴンの頂点にはテクスチャ座標
(U,V)が指定してあるが、当該ポリゴンがスクリー
ンに対して斜めに配置されている場合にはテクスチャが
スクリーン上で歪んで表示されることがある。この歪み
を避けるために、テクスチャ・パースペクティブ処理と
して、ここでは、Q=1/w(wはスクリーンからの奥
行き)を用いて、S=U×Q、T=V×Qの計算が行わ
れる。もし、かすれを表現するテクスチャをマッピング
しない場合にはステップS513に移行する。
【0111】そして、例えば図2に示した三角形描画処
理部205及びピクセルカラー処理部209が駆動され
る(ステップS513)。上で述べたように三角形描画
処理部205は、三角形ポリゴンの各頂点のデータを補
間して、三角形ポリゴン内部の各画素におけるデータを
生成する。各頂点のデータは、マテリアルの色、スクリ
ーン座標値、及びステップS511を実施すればテクス
チャ座標値である。各画素におけるデータは、マテリア
ルの色及びステップS511を実施すればテクセル・カ
ラーである。
【0112】但し、この時点でマテリアルの色を無視し
て、各頂点に輪郭線の色を設定することも可能である。
またマテリアルの色を考慮して、輪郭線の色を設定する
ことも可能である。ピクセルカラー処理部209は、三
角形描画処理部205が生成する三角形ポリゴン内部の
各画素におけるデータを使用して、フレーム・バッファ
213に表示画像を書き込む。この際、Zバッファ21
1を使用して隠面消去を行う。
【0113】隠面消去にはZバッファ211を使用する
例を示しているが、図4に示すような簡単なモデルにつ
いてはZバッファを使用しない、例えばZソート法のよ
うな隠面消去処理を実施しても良い。但し、もっと複雑
なモデル、例えば人物の手などが胴体より前に配置され
ている場合等には、Zバッファを使用した隠面消去を行
わないと、正確に輪郭線を描画することは困難である。
【0114】[立体モデル描画処理]図15に実施の形
態1における立体モデルの描画処理のフローを示す。ま
ず、初期設定が行われる(ステップS603)。この初
期設定では、立体モデルに対応する明度範囲テーブル
(例えば図5又は図18)が取得される。次に、一つの
頂点についての頂点変換(拡大・縮小・回転・平行移動
・透視変換)及び光源計算が行われる(ステップS60
5)。ここでは立体モデルの配置用マトリックスも頂点
変換で用いられる。これは例えば演算処理部103から
の命令により幾何演算部207が実行する。立体モデル
のデータは例えばCD−R131に格納されている。
【0115】拡大・縮小・回転・平行移動・透視変換
は、基本的には図8のステップS3において設定された
仮想空間内における状態に基づくものである。但し、輪
郭描画用モデルが立体モデルと同じ大きさである場合に
は、立体モデルのサイズを縮小することにより輪郭描画
用モデルを相対的に大きくする場合もある。この場合に
は、ステップS605において縮小変換が実施される。
なお、立体モデルの中心に向かって各頂点をその法線に
沿って移動させると簡単に縮小できる。ここで透視変換
は、世界座標系のポリゴンの各頂点の座標値をスクリー
ン座標系における座標値に変換するものである。また光
源計算は、光源から発せられた仮想的な光線により生じ
る陰影(輝度)を計算するものである。
【0116】なお、本発明の立体モデル描画処理におけ
る光源計算には2つの手法がある。(A)ポリゴンに定
義されたマテリアルの色を考慮した手法及び(B)マテ
リアルの色を考慮しない手法である。(A)の場合に
は、以下の式で計算する。
【数1】
【0117】但し、Pn0,Pn1,Pn2,Nnx,Nny,N
nz,Pnr,Png,Pnb,Cnr,Cng,Cnbのnはn番目
の頂点を示している。Nnxはn番目の頂点における法線
のx成分、Nnyはn番目の頂点における法線のy成分、
Nnzはn番目の頂点における法線のz成分である。Ligh
tMatrixは正規化光源ベクトルにより作られる行列であ
る。これが、3つまで平行光源を定義できる場合を以下
に示す。また、LColorMatrixは光源から発せられる光線
の色を成分として有しており、3つまで光源を定義でき
る場合を以下に示す。Mはポリゴンのマテリアルの色を
意味し、rgbはその成分を示す。(A)の場合の出力
は、Cnr、Cng、Cnbである。
【数2】
【0118】但し、L0x,L0y,L0zは正規化光源ベク
トル0の成分であり、L1x,L1y,L1zは正規化光源ベ
クトル1の成分であり、L2x,L2y,L2zは正規化光源
ベクトル2の成分である。また、光源ベクトル0の光線
の色は、LC0r,LC0g,LC0bが成分であり、光源ベ
クトル1の光線の色は、LC1r,LC1g,LC1bが成分
であり、光線ベクトル2の光線の色は、LC2r,L
2g,LC2bが成分である。なお、色の各成分は0.0
から1.0の間の値をとる。例えば、光源0のみ存在
し、XYZ軸に対して45度の角度で白色光を使用する
場合には、以下のような行列となる。
【数3】
【0119】また(B)の場合には以下の式で計算す
る。
【数4】
【0120】2つの計算式の結果は当然異なっており、
(A)の計算結果が正しい。但し、(B)は(A)に比
し計算量が少ないので処理を高速化できる。なお、通常
画像の質は変わらない。
【0121】次に、当該頂点を含むポリゴンはおもて面
か否かが判断される(ステップS607)。この判断
は、三角形ポリゴンの場合この頂点とその前に処理され
た2つの頂点から構成される三角形ポリゴンがいずれの
方向を向いているかで実施される。この判断は輪郭描画
用モデルの描画処理で説明した方法を用いることができ
る。なお、実施の形態1ではこの段階において表裏判定
が行われるが、この段階より前に表裏判定が行われるよ
うにすることも可能である。
【0122】もし、当該頂点を含むポリゴンがうら面で
あった場合にはステップS605に戻る。当該頂点を含
むポリゴンがおもて面であった場合には、頂点変換及び
光源計算が行われた頂点における明度が計算される(ス
テップS609)。明度の計算ではYIQ変換が行われ
る。頂点における色を上で述べた(A)の手法にて求め
た場合には、以下のような式で計算される。
【数5】
【0123】頂点における色を上で述べた(B)の手法
にて求めた場合には、以下のような式で計算される。
【数6】
【0124】なお、数値の入っている行列は、RGBか
らYIQへの変換のための3×3行列の第1行目であ
る。念のため3×3行列(変換行列)を以下に示してお
く。
【数7】
【0125】図16に透視変換前の立体モデルのデータ
構造について示す。図16(a)は立体モデルのデータ
構造で、三角形ポリゴンは全部でN個ある。各三角形ポ
リゴンは、図16(b)に示すように、マテリアルの色
(YIQ)と、頂点データ・インデックス(IDX)を
3つ有する。ここではマテリアルの色をYIQ系で有す
ることにしているが、RGB系で有していても良い。頂
点データIDXを用いれば、図16(c)に示す頂点デ
ータ・テーブルから頂点に関する情報を得ることができ
る。
【0126】頂点データ・テーブルには、各頂点データ
IDX毎に、当該頂点の三次元座標(Pnx,Pny
nz)と、法線ベクトル(Nnx,Nny,Nnz)が記憶さ
れている(nは頂点番号)。透視変換を行うと、三角形
ポリゴンのデータ構造は変化する。図16(b)に対応
するものを図17に示す。各頂点毎に、スクリーン座標
系における座標値(x,y,z)及び当該頂点における
色(r,g,b)及びα値を記憶することになる。この
α値が記憶される領域にステップS609で計算した明
度が記憶される。また、以下で詳細に説明するが、三角
形描画処理部205が処理を行う場合には、3つの頂点
共色(r,g,b)には明度範囲に対応する描画用色が
格納される。なお、明度は0.0から1.0の範囲であ
るが、α値は0から255の整数であるから、α値とし
ては明度を255倍したものが使用される。
【0127】図15に戻って処理フローを説明する。ス
テップS609の後に、頂点変換及び光源計算された頂
点を含むポリゴンの描画用色が計算される(ステップS
611)。ポリゴンの描画用色は、明度範囲テーブルに
格納された各明度範囲に対応する基準明度と当該ポリゴ
ンの色とから計算される。例えばポリゴンの色をYIQ
系の色として保持している場合には、YIQのうちIQ
のみを使用し、各基準明度Tnを使用して以下の式で計
算される。
【数8】
【0128】基準明度Tnが3つあれば(T1,T2,T
3)、描画用色は3つ求まる。なお、ポリゴンの色をY
IQ系の色として保持していない場合、すなわちRGB
系の色として保持している場合には、上で示した変換行
列でRGBからYIQへ変換する計算が行われる。ま
た、計算結果は異なるが、高速に描画用色を計算する必
要がある場合には、以下のような計算が行われる。
【数9】
【0129】Mはポリゴンのマテリアルの色という意味
である。上の2式では計算結果が異なり、画質も少し異
なるが、二番目の方がほぼ同様の画像を高速に得ること
ができる。
【0130】次に明度範囲テーブルの明度範囲が一つ選
択される(ステップS613)。なお本実施の形態では
図5に示した明度範囲テーブルを用いているが、図18
のような明度範囲テーブルを用いることもできる。図1
8は上限及び下限により明度範囲が指定されたテーブル
の例を示している。すなわち、明度範囲の上限1.00
と下限0.75に対して基準明度0.75、明度範囲の
上限0.74と下限0.50に対して基準明度0.5
0、明度範囲の上限0.49と下限0.00に対して基
準明度0.25が設定されている。このような明度範囲
テーブルを使用する場合には上限及び下限を含む明度範
囲をランダムに選択し、設定することができる。但し図
18は少数第2位まで有効なコンピュータの場合を示し
ている。以下で説明する明度比較処理において各画素の
明度と上限及び下限の2つの明度値との比較が簡単に行
えない場合には、明度範囲が例えば図18の上から順番
に選択される。そしてこの場合下限値のみで処理され
る。
【0131】この後、このポリゴンの頂点における明度
が補間され、当該ポリゴン内部の各画素における明度
(ポリゴンにおける明度分布)が計算される。頂点の色
も補間されるが、3頂点共同じ描画用色なので補間して
も結果は同じである。そして、当該画素における明度
が、選択された明度範囲内であれば、当該選択された明
度範囲に対応する描画用色で当該画素が描画される(ス
テップS615)。明度の補間処理は例えば図2におけ
る三角形描画処理部205が実施する。各画素における
明度が、選択された明度範囲内であるかの比較処理は、
例えばピクセルカラー処理部209が実施する。このス
テップS613及びS615は、全ての明度範囲につい
て処理するまで繰り返される(ステップS617)。
【0132】例えばピクセルカラー処理部209が上限
及び下限の2つの明度値を取り扱うことができない場合
には、Zバッファ211を併用することにより同一の効
果を得ることができる。Zバッファ211は隠面消去に
使われるが、本実施の形態ではZバッファ211の併用
が明度の上限値と比較した場合と同様の効果を奏する。
【0133】例えば図5のような明度範囲テーブルがあ
った場合には、まずしきい値0.75が選択される。そ
して演算処理部203からの命令により三角形描画処理
部205は、ポリゴンの各頂点の明度及び座標(Z値を
含む)を補間して、各画素の明度及び座標(Z値を含
む)を計算して行く。なお、3頂点とも色をしきい値
0.75に対応する描画用色に設定しておくと、補間を
行っても各画素の色は描画用色になる。
【0134】演算処理部203からの命令によりピクセ
ルカラー処理部209は、画素の明度としきい値0.7
5とを比較し且つ補間により求められたその画素のZ値
とZバッファ211に格納されたその画素のZ値を比較
する。もし画素の明度がしきい値0.75以上で且つ補
間により求められたその画素のZ値がZバッファ211
に格納されたその画素のZ値より小さければ、ピクセル
カラー処理部209はフレーム・バッファ213にその
画素の色として、しきい値0.75に対応する描画用色
を書き込む。
【0135】このポリゴンの描画が初めてで、明度が
0.75以上であれば描画用色が書き込まれる。図19
(a)に、三角形ポリゴン1011及び三角形ポリゴン
1012の2つの例を示している。三角形ポリゴン10
11の頂点P11、P12、P13のそれぞれの明度は
0.0、1.0、1.0に設定されている。また三角形
ポリゴン1012の頂点P21、P22、P23のそれ
ぞれの明度は0.0、0.5、1.0に設定されてい
る。上で述べた処理を実施すると、各三角形ポリゴン内
の塗られている部分が描画用色で彩色される。
【0136】次に、しきい値0.5を選択する。そして
演算処理部203からの命令により三角形描画処理部2
05は、ポリゴン内部の各画素の明度及び座標(Z値を
含む)を計算する。演算処理部203からの命令により
ピクセルカラー処理部209は、画素の明度としきい値
0.5とを比較し且つ計算により求められたその画素の
Z値とZバッファ211に格納されたその画素のZ値を
比較する。もし画素の明度がしきい値0.5以上で且つ
計算により求められたその画素のZ値がZバッファ21
1に格納されたその画素のZ値より小さければ、ピクセ
ルカラー処理部209はフレーム・バッファ213にそ
の画素の色として、しきい値0.5に対応する描画用色
を書き込む。
【0137】もし、Zバッファ211を使用しないと、
図19(b)のように、明度1.0から0.5の領域が
しきい値0.5に対応する描画用色で彩色されてしま
う。明度0.75以上の領域については、Zバッファ2
11に格納されたZ値と計算により求められたZ値とは
同じであるから、明度0.75以上の領域についてはし
きい値0.5に対応する描画用色はフレーム・バッファ
213に書き込まれない。すなわち、図19(c)に示
したように、明度0.5から0.74の領域と明度0.
75以上の領域には異なる描画用色が彩色される。
【0138】図5の例で、しきい値0.0について同じ
ように処理を行った結果を図20に示す。図20におけ
る三角形ポリゴン1011の頂点P11、P12、P1
3のそれぞれの明度は0.0、1.0、1.0に設定さ
れている。また三角形ポリゴン1011の頂点P21、
P22、P23のそれぞれの明度は0.0、0.5、
1.0に設定されている。点線で囲まれた数字すなわち
0.5及び0.75は明度のしきい値を示している。こ
のように各三角形ポリゴンは3つの領域に分けられて描
画用色が彩色されることになる。
【0139】図21にグーローシェーディングの結果を
示す。図21における三角形ポリゴン1021の頂点P
31、P32、P33のそれぞれの明度は0.0、1.
0、1.0に設定されている。また三角形ポリゴン10
22の頂点P41、P42、P43のそれぞれの明度は
0.0、0.5、1.0に設定されている。すなわち各
頂点の明度はそれぞれ図20に示した三角形ポリゴン1
011及び1012と同じである。しかし、グーローシ
ェーディングでは補間により滑らかに明度が変化してい
るのに対し、図20では区分けされた領域の境界のみ明
度が変化する。すなわち、明度がフラットである領域が
3つ存在しており、セルアニメ調になっていることがわ
かる。
【0140】なお、明度範囲テーブルの最も小さい下限
値の値が0.0でない場合もある。ポリゴン内で何も色
が付されていない部分を無くすため、図15ステップS
617の繰り返しにおいては、最後の繰り返しで下限値
を0.0にしてステップS615が実施される。
【0141】以上ステップS605乃至S617まで
が、立体モデルの全ての頂点について処理するまで繰り
返され、結果として全てのポリゴンについて処理するま
で繰り返される(ステップS619)。
【0142】上で述べた明度範囲テーブルは立体モデル
ごとに最適なものを作成する方がよい。但し、立体モデ
ルをいくつかのカテゴリに分けて、そのカテゴリ毎に明
度範囲テーブルを用意するようにしても良い。明度範囲
テーブルに含まれる明度範囲数は、現実のセルアニメに
合わせて、2又は3にすることが考えられる。但し、以
上述べたような処理では図15のステップS617にお
ける繰り返し回数が増えるだけであるから、2以上のい
ずれの数にすることも容易に可能である。但し、繰り返
し回数が増えるので数が増えれば処理は遅くなって行
く。
【0143】以上のような処理を実施すると、立体モデ
ルの全てのポリゴンが所定の段階の明度で塗り分けら
れ、立体モデルについてはセルアニメ調の画像を得るこ
とができるようになる。また、実施の形態1で導入され
た輪郭描画用モデルは、立体モデルの後ろの面のうち立
体モデルに隠れない部分が描画されるので、その部分が
輪郭線としてレンダリングされる。実施の形態1では、
輪郭線の描画には、輪郭描画用モデルを導入するだけで
通常レンダリング処理とほぼ同様の処理を行うことによ
り簡単に輪郭線を描画できるようになる。
【0144】2.実施の形態2 実施の形態2は実施の形態1と異なり、立体モデルに対
する描画用色をリアルタイムで計算するのではなく、予
め計算しておき、データとして格納しておく。このよう
にすれば、実施の形態1より処理速度が速くなる。な
お、実施の形態1ではポリゴンのマテリアルの色と明度
範囲テーブルの基準明度から計算していたので、ポリゴ
ン1つ当り一色分のデータを有していれば良かったが、
実施の形態2ではポリゴン1つ当り明度範囲テーブルの
行数分の色データを保持する必要がある。輪郭描画用モ
デルの処理については実施の形態1と同じである。
【0145】本発明の実施の形態2の概略を図22の機
能ブロック図を用いて説明する。実施の形態2として図
示したレンダリング装置には、輪郭描画用モデル描画部
450と立体モデル描画部490が含まれる。この輪郭
描画用モデル描画部450には、輪郭描画用モデル取得
部300と、輪郭描画用モデル配置用マトリックス設定
部305と、輪郭描画用モデル処理部310と、かすれ
表現テクスチャマッピング部315と、立体モデル描画
部490と共用されるピクセル処理部430とが含まれ
る。これらの各機能は、上で述べた順番でデータの受け
渡しを行っている。なお、輪郭描画用モデル取得部30
0と、輪郭描画用モデル配置用マトリックス設定部30
5と、輪郭描画用モデル処理部310と、かすれ表現テ
クスチャマッピング部315は、実施の形態1と同じで
ある。
【0146】また、立体モデル描画部490には、頂点
変換及び光源計算部460と、明度計算部465と、明
度範囲テーブル475と、描画用色格納部470と、明
度範囲設定部480と、輪郭描画用モデル描画部450
と共用されるピクセル処理部430とが含まれる。頂点
変換及び光源計算部460の出力は明度計算部465へ
入力される。明度計算部465の出力はピクセル処理部
430へ入力される。明度範囲テーブル475は、明度
範囲設定部480に参照される。描画用色格納部470
及び明度範囲設定部480の出力はピクセル処理部43
0へ入力される。輪郭描画用モデル描画部450と立体
モデル描画部490が共用するピクセル処理部430に
は、立体モデル描画処理で用いられる明度比較部433
と、輪郭描画用モデル描画処理及び立体モデル描画処理
の両方で用いられる隠面消去処理部437とが含まれ
る。
【0147】輪郭描画用モデル取得部300は、実施の
形態1と同じであり、例えば三角形ポリゴンで構成され
た立体モデルに対応する輪郭描画用モデルを生成する。
なお、輪郭描画用モデルが予め生成されている場合に
は、輪郭描画用モデル取得部300は、当該予め生成さ
れている、三角形ポリゴンで構成された輪郭描画用モデ
ルを読み出す。なお、取得される輪郭描画用モデルの各
面は、立体モデルの対応する面とは表裏が逆になってい
る。また、輪郭描画用モデルは立体モデルより大きく、
輪郭線用の所定の配色にて定義される。
【0148】なお、輪郭描画用モデルは、最終的には対
応する立体モデルより相対的に大きくなければならない
が、この段階における輪郭描画用モデルの大きさは立体
モデルと同じ場合もある。この場合は、輪郭描画用モデ
ル及び立体モデルが描画されるまでに、輪郭描画用モデ
ルが立体モデルより相対的に大きく描画されるよう処理
される。また、輪郭描画用モデルの色は、対応する立体
モデルのマテリアルの色をそのまま引き継ぐ場合もあ
る。この場合、描画用の色は別に指定される。
【0149】この輪郭描画用モデルの基準位置は、通常
対応する立体モデルの基準位置と同じ又はその近傍に位
置するように定義される。
【0150】そして、実施の形態1と同じである輪郭描
画用モデル配置用マトリックス設定部305が、仮想空
間内の輪郭描画用モデル基準位置530を、立体モデル
基準位置520と同じ位置に配置するための配置用マト
リックスを設定する。すなわち、図4に示すように、輪
郭描画用モデル510の配置用マトリックスを、輪郭描
画用モデル基準位置530を立体モデル基準位置520
の座標に平行移動させる変換を含むように設定すること
で、立体モデル500を包含する位置に輪郭描画用モデ
ル510が配置される。
【0151】輪郭描画用モデル処理部310は、実施の
形態1と同じであり、輪郭描画用モデルの各頂点につ
き、頂点変換(拡大・縮小・回転・平行移動・透視変
換)を実施し、且つ輪郭描画用モデルの各ポリゴンの表
裏判定を実施する。この頂点変換には上で述べた配置用
マトリックスも用いられる。なお、ここで光源計算は実
施されない。例えば、仮想三次元空間である仮想空間に
おいて指定された状態に合わせて拡大・縮小・回転・平
行移動・透視変換するだけでなく、輪郭描画用モデル取
得部300において立体モデルと同じ大きさの輪郭描画
用モデルを取得した場合には、輪郭描画用モデル処理部
310は、輪郭線描画用モデルのサイズを拡大するため
の頂点変換を実施する。ここで拡大した場合も立体モデ
ルと輪郭描画用モデルの関係は図4のようになる。
【0152】また、ポリゴンの表裏判定は、カメラ55
0からの視線540の方向と同じ方向がおもて面の方向
であるポリゴンを描画の対象から外すために行われる。
【0153】かすれ表現テクスチャマッピング部315
は、実施の形態1と同じであり、結果的に描画される輪
郭線がかすれているような線になるように、輪郭描画用
モデルにかすれ表現用テクスチャをマッピングするため
の処理を実施するものである。このかすれ表現用テクス
チャは、明度又は透明度の変化を含む図柄を有するテク
スチャである。なお、必ずしも輪郭線がかすれている必
要は無いので、かすれ表現テクスチャマッピング部31
5の処理は選択的に実施される。
【0154】立体モデル描画部490の頂点変換及び光
源計算部460は、仮想三次元空間に配置される立体モ
デルの面を構成する三角形ポリゴンの各頂点について頂
点変換(拡大・縮小・回転・平行移動・透視変換)を実
施し(三角形ポリゴンが描画される領域を計算し)、頂
点変換された三角形ポリゴンの各頂点について光源計算
を行う。また、立体モデル描画部490の頂点変換及び
光源計算部460は立体モデルの各三角形ポリゴンの表
裏判定も行う。
【0155】立体モデル描画部490の頂点変換及び光
源計算部460においても、仮想三次元空間において指
定された状態に合わせて拡大・縮小・回転・平行移動・
透視変換するだけでなく、輪郭描画用モデル処理部31
0で処理された後の輪郭描画用モデルが立体モデルと同
じ大きさである場合には、立体モデルが輪郭描画用モデ
ルに対して相対的に小さくなるように立体モデルのサイ
ズを縮小するための頂点変換が実施される。
【0156】頂点変換及び光源計算部460が立体モデ
ルの縮小処理を行った場合も立体モデル500と輪郭描
画用モデル510の関係は図4のようになる。また、面
の表裏判定は、輪郭描画用モデル処理部310と同じ
で、立体モデルの面のうちカメラの視線方向と同じ方向
がおもて面の方向である面を描画対象から除外する。
【0157】明度計算部465は、頂点変換及び光源計
算部460が計算した三角形ポリゴンの各頂点における
色から明度を計算する。通常頂点変換及び光源計算部4
60はRGB系における色を計算するので、明度計算部
465はこのRGBをYIQ変換して明度Yを求める。
この三角形ポリゴンの各頂点における明度は、ピクセル
処理部430に出力される。
【0158】明度範囲テーブル475は、実施例1と同
じように、例えば図5のようなテーブルである。なお、
ここでは明度は0から1までの実数値をとるものとす
る。しきい値ではなく、上限及び下限による範囲の指定
でも良い(例えば図18参照)。
【0159】描画用色格納部470は、例えば図5のよ
うな明度範囲テーブルを使用する場合には、各ポリゴン
につき3つの描画用色データを保管する必要がある。図
23に示すように、各ポリゴンにつき、第1の明度範囲
に対応する描画用色(r、g、b)と、第2の明度範囲
に対応する描画用色(r,g,b)と、第3の明度範囲
に対応する描画用色(r,g,b)と、当該ポリゴンを
構成する頂点0の頂点データIDXと、同じく頂点1の
頂点データIDXと、頂点2の頂点データIDXとが、
先に述べた図16(b)の代わりに保管される。これら
のデータが立体モデルのポリゴンの数だけ用意される。
【0160】ピクセル処理部430は、明度範囲設定部
480により設定された明度範囲に対応する描画用色を
描画用色格納部470から取り出す。描画用色格納部4
70は例えばCD−R131であり、立体モデル・デー
タ137の要素として格納される。
【0161】明度範囲設定部480は、明度範囲テーブ
ル475の1つのしきい値を選択して、ピクセル処理部
430に設定する。明度範囲設定部480は、図5のよ
うな明度範囲テーブル475をそのまま使用する場合に
は上から順番に一つずつ設定していく。しきい値ではな
く上限及び下限による範囲が指定されている場合には、
ランダムに選択・設定可能である。
【0162】輪郭描画用モデル描画部450と立体モデ
ル描画部490に共用されるピクセル処理部430は、
三角形ポリゴン内の各画素における色又は明度を、三角
形ポリゴンの各頂点の色又は明度を補間して求める処理
を実施する。補間の方式は、グーロー・シェーディング
のアルゴリズムでも、フォン・シェーディングのアルゴ
リズムでも良い。
【0163】ピクセル処理部430は、輪郭描画用モデ
ルの描画対象とされた三角形ポリゴンを処理する場合に
は、隠面消去処理部437を用いて隠面消去処理を実施
しつつ、輪郭描画用モデルの描画対象とされた三角形ポ
リゴン内の各画素の色を決定する。
【0164】例えば図4の場合には、立体モデル500
のカメラ550に最も近い2つの面501及び502が
描画され、輪郭描画用モデルのカメラ550から遠い4
つの面513、514、515及び516が描画され
る。輪郭描画用モデル510のこの4つの面は、カメラ
550から見ると立体モデル500から左右にはみ出し
ているので、はみ出している部分のみが隠面消去されず
に描画される。このはみ出している部分が輪郭線とな
る。なお、ピクセル処理部430は、輪郭描画用モデル
のマテリアルの色を考慮して色を決定する。但し、この
マテリアルの色を全く無視して輪郭線の色(黒又は暗い
輪郭線用の色)を輪郭描画用モデルの色とする場合もあ
る。
【0165】一方、ピクセル処理部430は、立体モデ
ルの描画対象とされた三角形ポリゴンを処理する場合に
は、まず明度計算部465から出力された三角形ポリゴ
ンの各頂点における明度を補間して、ポリゴン内部の各
画素における明度を計算する。
【0166】そして、明度比較部433は各画素におけ
る明度と明度範囲設定部480が設定したしきい値とを
比較する。もしその画素における明度がしきい値以上で
あれば、ピクセル処理部430は、このしきい値に対応
する基準明度に基づく描画用色で当該画素を描画する。
この描画処理の際には、隠面消去処理部437を用いて
隠面消去処理をも実施する。もしその画素における明度
がしきい値未満であれば、この画素をこの段階では描画
しない。明度範囲設定部480が明度範囲テーブル47
5の全てのしきい値をピクセル処理部430に設定し、
それに対応してピクセル処理部430が三角形ポリゴン
内の全ての画素について描画処理を行えば、三角形ポリ
ゴン内部が図5の例では3段階に塗り分けられる。この
処理を立体モデルの全ての三角形ポリゴンについて実施
する。
【0167】次に、実施の形態2についての処理フロー
を説明する。なお、以下の処理は、演算処理部103
(図1)がコンピュータ本体101内の他の要素を制御
して実施される処理である。
【0168】[CD−R記録処理]実施の形態2におけ
る、予め行われる輪郭描画用モデルの生成処理は、図6
と同じである。処理が開始すると、HDD107に予め
記憶された立体モデルのデータが読み出され(ステップ
S303)、変換対象モデルとして取得される。
【0169】次に、この変換対象モデルのサイズがひと
まわり大きくなるよう拡大される(ステップS30
5)。例えば、変換対象モデルの各頂点の法線方向に、
当該変換対象モデルの全長の2パーセントの長さだけ当
該頂点が移動され、全体として2パーセント程度拡大さ
れる。この拡大率がより大きい場合は輪郭線はより太く
描画され、拡大率がより小さく、変換対象モデルがわず
かに拡大されただけである場合には輪郭線はより細く描
画される。更に、均一でなく一部がより拡大されれば、
より拡大された部分の輪郭線のみが太く描画される。こ
のサイズの調整は、通常立体モデルの製作者により行わ
れるので、当該製作者の意図を反映した輪郭線を描画す
ることができる。
【0170】なお、立体モデルの各頂点の法線が定義さ
れていない場合には、当該頂点を共有する各面の法線を
補間することにより求められる当該頂点の法線を用い
て、当該頂点を当該頂点の法線方向に移動させることも
できる。また、立体モデルの各面の法線方向に当該面を
移動させることもできる。しかし単純に面が移動された
だけである場合には、面と面との間に隙間が生じてしま
うので、それを埋めるための処理が別途必要になる。更
に、通常立体モデルには基準位置が定義されているの
で、対応する変換対象モデルの基準位置を中心に、変換
対象モデルの各頂点を移動させることもできる。
【0171】次に、変換対象モデルの各ポリゴンのマテ
リアルの色が、彩度は同じで明度を低くした色に設定さ
れる(ステップS307)。なお、各ポリゴンがすべて
黒などの単一色に設定されるとしてもよい。また、かす
れ表現用テクスチャをマッピングするための設定がされ
るとしてもよい。マテリアルの色は製作者により調整さ
れるので、当該製作者の意図した色で輪郭線を描画する
ことができる。
【0172】次に、変換対象モデルの各ポリゴンの表裏
を反転する(ステップS309)。具体的には、変換対
象モデルを構成する各三角形の頂点が定義されている順
番を一ヶ所入れ替える。
【0173】ここまでで変換された変換対象モデルのデ
ータを、輪郭描画用モデル・データとしてHDD107
に記憶し(ステップS311)、輪郭描画用モデル生成
処理を終了する(ステップS313)。
【0174】次に、HDD107に記憶された、立体モ
デル・データ及び輪郭描画用モデル・データを含む各種
データが、CD−Rドライブ113によりCD−R13
1に書き込まれる。CD−R131に書き込まれたデー
タの例を模式的に示した図7は、実施の形態2でも同じ
である。
【0175】[全体の処理フロー]実施の形態2の全体
の処理フローは、図8に示された限りにおいて実施の形
態1と同じである。まず、処理が開始すると、初期設定
が行われる(ステップS2)。この初期設定の処理に
は、後に詳述する輪郭描画用モデルのデータ取得処理
(図9)や、描画すべき立体モデルのデータ取得処理が
含まれる。そして、仮想空間内の状態が設定される(ス
テップS3)。この処理は、例えば視点の位置が変更さ
れたり、光源の位置が変更されたり、モデルが移動させ
たり、モデルが変形された場合に、それに応じて仮想空
間内の状態を変更する処理である。この処理が行われる
ことで、立体モデル及び輪郭描画用モデルの位置座標・
方向・拡大率・縮小率等の決定処理が行われる。より具
体的には立体モデル及び輪郭描画用モデルの配置用マト
リックス(図11で使用)の決定処理が行われる。また
入力装置161(図1)のキー操作等に従ってステップ
S4の輪郭線描画か否かの設定がこのステップS3で行
われる。
【0176】次に、輪郭線を描画するか否かの判断処理
が行われる(ステップS4)。これは上で述べたように
入力装置161のキー操作等による設定又は他のプログ
ラムによる設定に基づき判断される。そして、輪郭線を
描画すると判断された場合には、輪郭線描画用モデルの
描画処理が実施される(ステップS5)。これについて
は後に図11を用いて説明する。そして輪郭線が描画さ
れる場合も描画されない場合も立体モデルの描画処理が
実施される(ステップS6)。この処理についても後に
図24を用いて説明する。このステップS3乃至S6が
処理終了まで繰り返し実施される(ステップS7)。処
理終了であるか否かは、処理を終了すべき旨の操作入力
が行われたか否かによって判断される。
【0177】[輪郭描画用モデル取得処理]図9に示さ
れた、輪郭描画用モデルの取得処理は、実施の形態2で
も同じである。ここではまず、輪郭描画用モデルが生成
されるか否かが判断される(ステップS203)。輪郭
描画用モデルを予め用意しておく場合と輪郭描画用モデ
ルをこの段階にて生成する場合が存在するためである。
ここでこの判断は、例えば立体モデルに対応した輪郭描
画用モデルがCD−R131に格納されているか否かを
判定する事により実施される。格納されていると判断さ
れれば輪郭描画用モデルは生成されないと判断され、格
納されていないと判断されれば、輪郭描画用モデルは生
成されると判断される。
【0178】輪郭描画用モデルが生成されないと判断さ
れた場合には、CD−R131に格納されている輪郭描
画用モデルのデータが読み出される(ステップS20
7)。この輪郭描画用モデルの各ポリゴンは、上で図4
及び図6を用いて説明されたように、立体モデルの対応
するポリゴンとは表裏が反転されたものである。また読
み出される輪郭描画用モデルのサイズは、対応する立体
モデルより一回り大きく定義される。更に、輪郭描画用
モデルの色は、対応する立体モデルより暗い色で定義さ
れる。
【0179】もし輪郭描画用モデルが生成されると判断
された場合には、輪郭描画用モデルを生成する処理が行
われる(ステップS205)。ステップS207と同じ
ように、この段階において輪郭描画用モデルが生成され
る場合においても、輪郭描画用モデルの各ポリゴンは、
上で図4を用いて説明されたように、立体モデルの対応
するポリゴンとは表裏反転したものにする。
【0180】輪郭描画用モデルのサイズは、対応する立
体モデルより一回り大きく生成される。ステップS30
5(図6)と同じように、例えば立体モデルの各頂点の
法線方向に当該頂点を移動させて拡大された輪郭描画用
モデルが生成される。輪郭描画用モデルが立体モデルに
比してより大きい場合は輪郭線はより太く描画され、輪
郭描画用モデルが立体モデルよりわずかに大きいだけで
ある場合は輪郭線はより細く描画される。
【0181】なお、この時点では、輪郭描画用モデルの
サイズは、対応する立体モデルのサイズと同じ大きさで
生成されるとしてもよい。この場合には本輪郭描画用モ
デル取得処理で輪郭描画用モデルが取得された後、後述
する輪郭描画用モデル配置処理で輪郭描画用モデルの配
置マトリックスが設定されるまでの間に輪郭描画用モデ
ルは拡大される。あるいは、輪郭描画用モデル配置処理
で輪郭描画用モデルの配置用マトリックスが設定される
際に、当該配置用マトリックスが拡大変換を含むように
当該配置用マトリックスが決定されるとしてもよい。逆
に、立体モデルを配置する際に、立体モデルの配置用マ
トリックスが縮小変換を含むように立体モデルの配置用
マトリックスが決定されるとしてもよい。
【0182】一方、輪郭描画用モデルの各面のマテリア
ルの色は、対応する立体モデルの各ポリゴンのマテリア
ルの色をより暗くした色で生成される。なお、ステップ
S307(図6)の説明で述べられているのと同様に、
この時点では、生成される輪郭描画用モデルの色は定義
されていなくてもよい。あるいは、輪郭描画用モデルの
各ポリゴンのマテリアルの色が、対応する立体モデルの
各ポリゴンのマテリアルの色と同一であっても良い。こ
の場合、輪郭描画用モデルの描画処理の際に、輪郭描画
用モデルの色は考慮されず、例えば黒などの別途定義さ
れた色か、かすれを表現するテクスチャの色で輪郭描画
用モデルが描画される。
【0183】次に、輪郭描画用モデルにかすれを表現す
るテクスチャがマッピングされるか否かが判断される
(ステップS209)。ステップS205で輪郭描画用
モデルが生成された場合には、対応する立体モデルのデ
ータに基づいて当該判断が実施される。一方、ステップ
S207で輪郭描画用モデルが読み出された場合には、
読み出された輪郭描画用モデルのデータに基づいて当該
判断が実施される。かすれを表現するテクスチャがマッ
ピングされると判断された場合には、ステップS211
にて輪郭描画用モデルにかすれを表現するテクスチャが
マッピングされる。すなわち、ポリゴンの各頂点にテク
スチャ座標(U,V)が設定される。
【0184】なお、上でも述べたように、かすれを表現
するテクスチャは、明度又は透明度の変化を含む図柄を
有する。図10には明度の変化を含むテクスチャの一例
が示されている。これは黒地に白の斜線が細かく入った
図柄を有するテクスチャである。黒部分の明度は低く、
白部分の明度は高いので、図10に示されたテクスチャ
は明度の変化を含んでいる。このような線が輪郭線とし
て描画されることで、明度の変化を含む輪郭線が描画さ
れる。すなわち、輪郭線のかすれが表現され、より手書
き調の輪郭線が描画される。
【0185】かすれを表現するテクスチャがマッピング
されないと判断された場合と、テクスチャがマッピング
される処理が終了した場合は、演算処理部103は輪郭
描画用モデル取得処理を終了する(ステップS21
3)。
【0186】[輪郭描画用モデル配置処理]図8のステ
ップS3において輪郭描画用モデルの配置マトリックス
が設定され、輪郭描画用モデルの配置処理が行われる。
通常輪郭描画用モデルの基準位置は、立体モデルの基準
位置に対応する位置に設けられる。そしてその輪郭描画
用モデルの基準位置が、立体モデルの基準位置と同一又
は近傍に配置されるように、輪郭描画用モデルの配置用
マトリックスが設定される。
【0187】ここで立体モデルの方向が変化する場合に
は、輪郭描画用モデルもそれに対応するよう回転変換を
含む配置用マトリックスが設定される。立体モデルの形
状が変化する場合には、輪郭描画用モデルがそれに対応
するように変形処理が行われる。
【0188】この段階において輪郭描画用モデルが対応
する立体モデルと同じ大きさである場合には、輪郭描画
用モデルが拡大される。具体的には、輪郭描画用モデル
の基準位置を中心として輪郭描画用モデルの各頂点が所
定の拡大率に従って拡大変換されるように、輪郭描画用
モデルの配置用マトリックスが設定される。あるいは逆
に、立体モデルが縮小されるとしてもよい。すなわちこ
の場合には、立体モデルの基準位置を中心として立体モ
デルの各頂点が所定の縮小率に従って縮小変換されるよ
うに、立体モデルの配置用マトリックスが設定される。
なお、輪郭描画用モデルが対応する立体モデルより相対
的に大きい場合は、輪郭描画用モデルの配置用マトリッ
クスとして立体モデルの配置用マトリックスをそのまま
使用することも可能である。
【0189】このようにすると、最終的には、相対的に
大きい輪郭描画用モデルが立体モデルを包含するように
配置される。両モデルの配置位置、方向、形状等の関係
により、輪郭描画用モデルは完全には立体モデルを包含
しない場合も生じ得る。但し、このような場合であって
も、包含している部分については輪郭線が描画される。
【0190】なお、この段階では必ずしも配置用マトリ
ックスが設定されている必要は無く、配置される座標、
方向及び拡大・縮小率等の頂点変換に必要な各要素が確
定していればよい。この場合も、実際の頂点変換は各モ
デルの描画処理の段階で行われる。
【0191】[輪郭描画用モデル描画処理]図11に示
された、輪郭描画用モデルの描画処理フローは、実施の
形態2でも同じである。図11では、輪郭描画用モデル
の全ての頂点について処理するまで、以下に説明する処
理が繰り返し行われる(ステップS503)。繰り返し
行われる最初の処理は、1つの頂点についての頂点変換
(拡大・縮小・回転・平行移動・透視変換)処理である
(ステップS505)。ここではステップS3で求めら
れた輪郭描画用モデルの配置用マトリックスも頂点変換
で用いられる。
【0192】例えば、この処理は演算処理部103によ
り命令された幾何演算部207が実施する。ここで注意
したいのは輪郭描画用モデルに対しては幾何演算部20
7が光源計算を実施しない点である。これは輪郭線は光
源の位置等によらず描画され、光源計算をするのが無駄
だからである。例えば輪郭描画用モデルのマテリアルの
色は無視される場合もある。通常この頂点変換は、仮想
三次元空間において指定された状態に基づき行われる
が、もし輪郭描画用モデルの大きさが立体モデルと同じ
である場合には、配置処理で設定された配置用マトリッ
クスに従って、この段階において輪郭描画用モデルが拡
大変換される場合もある。
【0193】そして、当該頂点を含むポリゴンはおもて
面か否かの判断処理が行われる(ステップS507)。
この判断は、三角形ポリゴンの場合この頂点とその前に
処理された2つの頂点から構成される三角形ポリゴンが
いずれの方向を向いているかで判断される。おもて面の
方向に法線ベクトルがあるとすると、その法線ベクトル
と視線ベクトルとの内積の符号によって、三角形ポリゴ
ンの表裏が判定できる。すなわち、内積の符号が負であ
れば、視点位置に対しておもて面を向けていることにな
り、内積の符号が正であれば、視点位置に対してうら面
を向けていることとなる。なお、実施の形態2ではこの
段階において表裏判定が行われるが、この段階より前に
表裏判定が行われるようにすることも可能である。
【0194】もし、当該頂点を含むポリゴンがうら面で
あった場合にはステップS503に戻る。当該頂点を含
むポリゴンがおもて面であった場合には、かすれを表現
するテクスチャをマッピングするか否かが判断される
(ステップS509)。
【0195】これはポリゴンに対するテクスチャ・マッ
ピングを意味している。もし、かすれを表現するテクス
チャをマッピングする場合には、その頂点に対する、か
すれを表現するためのテクスチャのテクスチャ座標が計
算される(ステップS511)。テクスチャ・マッピン
グを行う場合、既にポリゴンの頂点にはテクスチャ座標
(U,V)が指定してあるが、当該ポリゴンがスクリー
ンに対して斜めに配置されている場合にはテクスチャが
スクリーン上で歪んで表示されることがある。この歪み
を避けるために、テクスチャ・パースペクティブ処理と
して、ここでは、Q=1/w(wはスクリーンからの奥
行き)を用いて、S=U×Q、T=V×Qの計算が行わ
れる。もし、かすれを表現するテクスチャをマッピング
しない場合にはステップS513に移行する。
【0196】そして、例えば図2に示した三角形描画処
理部205及びピクセルカラー処理部209が駆動され
る(ステップS513)。上で述べたように三角形描画
処理部205は、三角形ポリゴンの各頂点のデータを補
間して、三角形ポリゴン内部の各画素におけるデータを
生成する。各頂点のデータは、マテリアルの色、スクリ
ーン座標値、及びステップS511を実施すればテクス
チャ座標値である。各画素におけるデータは、マテリア
ルの色及びステップS511を実施すればテクセル・カ
ラーである。
【0197】但し、この時点でマテリアルの色を無視し
て、各頂点に輪郭線の色を設定することも可能である。
またマテリアルの色を考慮して、輝度を設定することも
可能である。ピクセルカラー処理部209は、三角形描
画処理部205が生成する三角形ポリゴン内部の各画素
におけるデータを使用して、フレーム・バッファ213
に表示画像を書き込む。この際、Zバッファ211を使
用して隠面消去を行う。
【0198】[立体モデル描画処理]図24に実施の形
態2における立体モデル描画処理のフローを示す。図1
5との差異は、図24のステップS633の初期設定の
処理内容が図15のステップS603の処理内容と異な
る点と、図15のステップS611が図24のステップ
S641と置き換わった点にある。すなわち、図15で
はその都度描画用色が計算されたが、実施の形態2では
予め計算且つ格納されているので、ステップS633に
おいて描画する立体モデル用の描画用色データを予めメ
モリ105に取り込む処理が必要となる。また、ステッ
プS641においてポリゴンの描画用色を読み出す処理
が必要となる。なお、ステップS641をステップS6
35及びS639の前に行っても、ステップS643の
後に行っても、それらのステップと並行して行っても良
い。予め計算且つ格納されているので、実際に使用する
までに読み出されれば良い。
【0199】図24ではまず、初期設定が行われる(ス
テップS633)。この初期設定では、立体モデルに対
応する明度範囲テーブル(例えば図5又は図18)が取
得される。また、立体モデルの描画用色データが取得さ
れる。次に、一つの頂点についての頂点変換(拡大・縮
小・回転・平行移動・透視変換)及び光源計算が行われ
る(ステップS635)。ここでは立体モデルの配置用
マトリックスも頂点変換で用いられる。これは例えば演
算処理部103からの命令により幾何演算部207が実
行する。立体モデルのデータは例えばCD−R131に
格納されている。
【0200】拡大・縮小・回転・平行移動・透視変換
は、基本的には図8のステップS3において設定された
仮想空間内における状態に基づくものである。但し、輪
郭描画用モデルが立体モデルと同じ大きさである場合に
は、立体モデルのサイズを縮小することにより輪郭描画
用モデルを相対的に大きくする場合もある。この場合に
は、ステップS635において縮小変換が実施される。
なお、立体モデルの中心に向かって各頂点をその法線に
沿って移動させると簡単に縮小できる。
【0201】なお、実施の形態1で述べた、本発明の立
体モデル描画処理における光源計算の2つの手法は実施
の形態2でもそのまま適用することができる。
【0202】次に、当該頂点を含むポリゴンはおもて面
か否かが判断される(ステップS637)。この判断
は、三角形ポリゴンの場合この頂点とその前に処理され
た2つの頂点から構成される三角形ポリゴンがいずれの
方向を向いているかで実施される。この判断は輪郭描画
用モデルの描画処理で説明した方法を用いることができ
る。なお、実施の形態2ではこの段階において表裏判定
が行われるが、この段階より前に表裏判定が行われるよ
うにすることも可能である。
【0203】もし、当該頂点を含むポリゴンがうら面で
あった場合にはステップS635に戻る。当該頂点を含
むポリゴンがおもて面であった場合には、頂点変換及び
光源計算が行われた頂点における明度が計算される(ス
テップS639)。明度の計算ではYIQ変換が行われ
る。
【0204】そして、頂点変換及び光源計算された頂点
を含むポリゴンの描画用色が、例えばメモリ105から
読み出される(ステップS641)。読み出される描画
用色のデータは予め計算されるわけであるが、この予め
計算する際の計算方法は、実施の形態1で説明した2つ
の方法のいずれでもよいし、又別の方法であってもよ
い。さらに、描画用色を一つ一つ定義していってもよ
い。実施の形態2では描画用色を予め用意しておくの
で、実行速度は速くなるが、用意されている描画用色以
外の色に変更することは簡単にはできない。これに対
し、実施の形態1のように明度範囲テーブルに定義され
ている基準明度を使用して実行時に計算する場合には、
明度範囲テーブルを変更する又は基準明度を変更するだ
けで描画用色を適宜変更することができる。
【0205】次に明度範囲テーブルの明度範囲が一つ選
択される(ステップS643)。なお本実施の形態では
図5に示した明度範囲テーブルを用いているが、図18
のような明度範囲テーブルを用いることもできる。この
ような明度範囲テーブルを使用する場合には上限及び下
限を含む明度範囲をランダムに選択し、設定することが
できる。但し図18は少数第2位まで有効なコンピュー
タの場合を示している。以下で説明する明度比較処理に
おいて各画素の明度と上限及び下限の2つの明度値との
比較が簡単に行えない場合には、明度範囲が例えば図1
8の上から順番に選択される。そしてこの場合下限値の
みで処理される。
【0206】この後、このポリゴンの頂点における明度
が補間され、当該ポリゴン内部の各画素における明度
(ポリゴンにおける明度分布)が計算される。頂点の色
も補間されるが、3頂点共同じ描画用色なので補間して
も結果は同じである。そして、当該画素における明度
が、選択された明度範囲内であれば、当該選択された明
度範囲に対応する描画用色で当該画素が描画される(ス
テップS645)。明度の補間処理は例えば図2におけ
る三角形描画処理部205が実施する。各画素における
明度が、選択された明度範囲内であるかの比較処理は、
例えばピクセルカラー処理部209が実施する。このス
テップS643及びS645は、全ての明度範囲につい
て処理するまで繰り返される(ステップS647)。
【0207】例えばピクセルカラー処理部209が上限
及び下限の2つの明度値を取り扱うことができない場合
には、Zバッファ211を併用することにより同一の効
果を得ることができる。Zバッファ211は隠面消去に
使われるが、本実施の形態ではZバッファ211の併用
が明度の上限値と比較した場合と同様の効果を奏する。
【0208】なお、明度範囲テーブルの最も小さい下限
値の値が0.0でない場合もある。ポリゴン内で何も色
が付されていない部分を無くすため、図24ステップS
647の繰り返しにおいては、最後の繰り返しで下限値
を0.0にしてステップS645が実施される。
【0209】以上ステップS635乃至S647まで
が、立体モデルの全ての頂点について処理するまで繰り
返され、結果として全てのポリゴンについて処理するま
で繰り返される(ステップS649)。
【0210】以上のような処理を実施すると、立体モデ
ルの全てのポリゴンが所定の段階の明度で塗り分けら
れ、立体モデルについてはセルアニメ調の画像を得るこ
とができるようになる。特に、実施の形態2は実施の形
態1より更に高速化されている。また、実施の形態2で
導入された輪郭描画用モデルは、立体モデルの後ろの面
のうち立体モデルに隠れない部分が描画されるので、そ
の部分が輪郭線としてレンダリングされる。実施の形態
2では、輪郭線の描画には、輪郭描画用モデルを導入す
るだけで通常レンダリング処理とほぼ同様の処理を行う
ことにより簡単に輪郭線を描画できるようになる。
【0211】3.実施の形態3 実施の形態3では、実施の形態1及び2とは異なり、輪
郭描画用モデルの各ポリゴンは立体モデルの対応するポ
リゴンに対し表裏が反転されない。但し、輪郭描画用モ
デルの場合には、描画対象の面を判定するための処理の
基準を反転させて、実施の形態1及び2と同じ効果を生
じさせるものである。立体モデルの処理については実施
の形態1と同じである。
【0212】本発明の実施の形態3の概略を図25の機
能ブロック図を用いて説明する。実施の形態3として図
示したレンダリング装置には、輪郭描画用モデル描画部
750と立体モデル描画部790が含まれる。この輪郭
描画用モデル描画部750には、輪郭描画用モデル取得
部700と、輪郭描画用モデル配置用マトリックス設定
部705と、輪郭描画用モデル処理部710と、かすれ
表現テクスチャマッピング部715と、立体モデル描画
部790と共用されるピクセル処理部730とが含まれ
る。これらの各機能は、上で述べた順番でデータの受け
渡しを行っている。
【0213】また、立体モデル描画部790には、頂点
変換及び光源計算部360と、明度計算部365と、明
度範囲テーブル375と、描画用色計算部370と、明
度範囲設定部380と、輪郭描画用モデル描画部750
と共用されるピクセル処理部730とが含まれる。頂点
変換及び光源計算部360と、明度計算部365と、明
度範囲テーブル375と、描画用色計算部370と、明
度範囲設定部380は、実施の形態1と同じである。頂
点変換及び光源計算部360の出力は明度計算部365
へ入力される。明度計算部365の出力はピクセル処理
部330へ入力される。明度範囲テーブル375は、描
画用色計算部370及び明度範囲設定部380の両方に
参照される。描画用色計算部370及び明度範囲設定部
380の出力はピクセル処理部730へ入力される。輪
郭描画用モデル描画部750と立体モデル描画部790
が共用するピクセル処理部730には、立体モデル描画
処理で用いられる明度比較部733と、輪郭描画用モデ
ル描画処理及び立体モデル描画処理の両方で用いられる
隠面消去処理部737とが含まれる。
【0214】輪郭描画用モデル取得部700は、例えば
三角形ポリゴンで構成された立体モデルに対応する輪郭
描画用モデルを生成する。なお、輪郭描画用モデルが予
め生成されている場合には、輪郭描画用モデル取得部7
00は、当該予め生成されている、三角形ポリゴンで構
成された輪郭描画用モデルを読み出す。実施の形態3は
実施の形態1及び2とは異なり、取得される輪郭描画用
モデルの各ポリゴンは、立体モデルの対応するポリゴン
と表裏が同じである。また輪郭描画用モデルは立体モデ
ルより大きく、輪郭線用の所定の配色にて定義される。
なお、輪郭描画用モデルは、最終的には対応する立体モ
デルより相対的に大きくなければならないが、この段階
における輪郭描画用オブジェクトの大きさは立体モデル
と同じ場合もある。この場合には、輪郭描画用モデルと
立体モデルが描画されるまでに、輪郭描画用モデルが立
体モデルより相対的に大きく描画されるよう処理され
る。
【0215】また、輪郭描画用モデルの色は、対応する
立体モデルのマテリアルの色をそのまま引き継ぐ場合も
ある。この場合は描画用の色は別に指定される。この輪
郭描画用モデルの基準位置は、通常対応する立体モデル
の基準位置と同じ又はその近傍に位置するように定義さ
れる。例えば図26には、輪郭描画用モデル610が立
体モデル600よりひとまわり大きく定義されている場
合が示されている。この図26では、各面の矢印方向が
おもて面を示している。立体モデル600も輪郭描画用
モデル610も六角形の各面の外側がおもて面となって
いる。
【0216】立体モデル600の基準位置である立体モ
デル基準位置620と、輪郭描画用モデル610の基準
位置である輪郭描画用モデル基準位置630は共に各モ
デルの中心に定義される。また輪郭描画用モデル610
は輪郭描画用モデル基準位置630を中心に立体モデル
600よりひとまわり大きく定義される。
【0217】そして輪郭描画用モデル配置用マトリック
ス設定部705(図25)が、仮想空間内の輪郭描画用
モデル基準位置630を、立体モデル基準位置620と
同じ位置に配置するための配置用マトリックスを設定す
る。この配置用マトリックスは対応するモデルの各頂点
に対する平行移動、回転、拡大・縮小等の変換のために
用いられる。すなわち、輪郭描画用モデル610の配置
用マトリックスが輪郭描画用モデル基準位置530を立
体モデル基準位置520の座標に平行移動させる変換を
含むよう設定することで、立体モデル600を包含する
位置に輪郭描画用モデル610が配置される。
【0218】輪郭描画用モデル処理部710は、輪郭描
画用モデルの各頂点につき、頂点変換(拡大・縮小・回
転・平行移動・透視変換)を実施し、且つ輪郭描画用モ
デルの各ポリゴンの表裏判定を実施する。この頂点変換
には上で述べた配置用マトリックスが用いられる。但
し、実施の形態1及び2とは異なり、この表裏判定は逆
転表裏判定部713で行われる。またここでは光源計算
を実施しない。例えば仮想三次元空間である仮想空間に
おいて指定された状態に合わせて拡大・縮小・回転・平
行移動・透視変換するだけでなく、輪郭描画用モデル取
得部700において立体モデルと同じ大きさの輪郭描画
用モデルを取得した場合には、輪郭描画用モデル処理部
710は、輪郭線描画用モデルの拡大を行うための頂点
変換を実施する。ここで拡大した場合も立体モデルと輪
郭描画用モデルの関係は図26のようになる。
【0219】また、実施の形態3の輪郭描画用モデルの
場合には、おもて面がうらと判断され、うら面がおもて
と判断される。よって、図26の例ではカメラ650か
らの視線640の方向と同じ方向に矢印が向いている面
613,614,615及び616のみが描画対象とさ
れる。この面は通常であればうら面であるから描画対象
から外れるが、実施の形態3では描画対象として取り扱
われる。このようにすると、立体モデル600の外側に
あり且つカメラ650に近い面611及び612は描画
対象から外れるので、立体モデル600は通常どおり描
画される。なお、ピクセル処理部430の隠面消去処理
部435にて隠面消去が行われるので、描画対象となっ
てもそれらの面の全てが描画されるわけではない。
【0220】かすれ表現テクスチャマッピング部715
は、結果的に描画される輪郭線がかすれているような線
になるように、輪郭描画用モデルにかすれ表現用テクス
チャをマッピングするための処理を実施するものであ
る。なお、必ずしも輪郭線がかすれている必要は無いの
で、かすれ表現テクスチャマッピング部715の処理は
選択的に実施される。
【0221】立体モデル描画部790の頂点変換及び光
源計算部360は、仮想三次元空間に配置される立体モ
デルの三角形ポリゴンの各頂点について頂点変換(拡大
・縮小・回転・平行移動・透視変換)を実施し(三角形
ポリゴンが描画される領域を計算し)、頂点変換された
三角形ポリゴンの各頂点について光源計算を行う。ま
た、立体モデル描画部790の頂点変換及び光源計算部
360は、立体モデルの各三角形ポリゴンの表裏判定も
行う。
【0222】立体モデル描画部790の頂点変換及び光
源計算部360においても、仮想三次元空間において指
定された状態に合わせて拡大・縮小・回転・平行移動・
透視変換するだけでなく、輪郭描画用モデル処理部71
0で処理された後の輪郭描画用モデルが立体モデルと同
じ大きさである場合には、立体モデルが輪郭描画用モデ
ルに対して相対的に小さくなるように立体モデルのサイ
ズを縮小するための頂点変換が実施される。
【0223】頂点変換及び光源計算部360が立体モデ
ルの縮小処理を行った場合も立体モデル600と輪郭描
画用モデル610の関係は図26のようになる。また、
面の表裏判定は、輪郭描画用モデル処理部710とは異
なり、立体モデルの面のうちカメラの視線方向と同じ方
向がおもて面の方向である面を描画対象から除外する。
図26の例では、カメラ650から見て後ろの方の面6
03、604、605及び606が描画対象から除外さ
れる。
【0224】明度計算部365は、頂点変換及び光源計
算部360が計算した三角形ポリゴンの各頂点における
色から明度を計算する。通常頂点変換及び光源計算部3
60はRGB系における色を計算するので、明度計算部
365はこのRGBをYIQ変換して明度Yを求める。
この三角形ポリゴンの各頂点における明度は、ピクセル
処理部730に出力される。
【0225】明度範囲テーブル375は、実施の形態1
及び2と同じように、例えば図5のようなテーブルであ
る。なお、ここでは明度は0から1までの実数値をとる
ものとする。しきい値ではなく、上限及び下限による範
囲の指定でも良い(例えば図18参照)。この明度範囲
テーブル375を参照して、描画用色計算部370は各
しきい値に対応する描画用色を計算する。各しきい値に
対応する描画用色は、しきい値に対応する基準明度と立
体モデルの各三角形ポリゴンに予め設定されている色の
情報とを用いて計算される。計算された描画用色を描画
用色計算部370はピクセル処理部730に出力する。
【0226】明度範囲設定部380は、明度範囲テーブ
ル375の1つのしきい値を選択して、ピクセル処理部
730に設定する。明度範囲設定部380は、図5のよ
うな明度範囲テーブル375をそのまま使用する場合に
は上から順番に一つずつ設定していく。しきい値ではな
く上限及び下限による範囲が指定されている場合には、
ランダムに選択・設定可能である。
【0227】輪郭描画用モデル描画部750と立体モデ
ル描画部790に共用されるピクセル処理部730は、
三角形ポリゴン内の各画素における色又は明度を、三角
形ポリゴンの各頂点の色又は明度を補間して求める処理
を実施する。補間の方式は、グーロー・シェーディング
のアルゴリズムでも、フォン・シェーディングのアルゴ
リズムでも良い。
【0228】ピクセル処理部730は、輪郭描画用モデ
ルの描画対象とされた三角形ポリゴンを処理する場合に
は、隠面消去処理部737を用いて隠面消去処理を実施
しつつ、輪郭描画用モデルの描画対象とされた三角形ポ
リゴン内の各画素の色を決定する。
【0229】例えば図26の場合には、立体モデル60
0のカメラ650に最も近い2つの面601及び602
が描画され、輪郭描画用モデルのカメラ650に遠い4
つの面613,614,615及び616が描画され
る。輪郭描画用モデル610のこの4つの面は、カメラ
650から見ると立体モデル600から左右にはみ出し
ているので、はみ出している部分のみが隠面消去されず
に描画される。このはみ出している部分が輪郭線とな
る。なお、ピクセル処理部730は、輪郭描画用モデル
のマテリアルの色を考慮して色を決定する。なお、マテ
リアルの色を全く無視して輪郭線の色(黒又は暗い輪郭
線用の色)を輪郭描画用モデルの色とする場合もある。
【0230】一方、ピクセル処理部730は、立体モデ
ルの描画対象とされた三角形ポリゴンを処理する場合に
は、まず明度計算部365から出力された三角形ポリゴ
ンの各頂点における明度を補間して、ポリゴン内部の各
画素における明度を計算する。
【0231】そして、明度比較部733は各画素におけ
る明度と明度範囲設定部380が設定したしきい値とを
比較する。もしその画素における明度がしきい値以上で
あれば、ピクセル処理部730は、このしきい値に対応
する基準明度に基づく描画用色で当該画素を描画する。
この描画処理の際には、隠面消去処理部737を用いて
隠面消去処理をも実施する。もしその画素における明度
がしきい値未満であれば、この画素をこの段階では描画
しない。明度範囲設定部380が明度範囲テーブル37
5の全てのしきい値をピクセル処理部730に設定し、
それに対応してピクセル処理部730が三角形ポリゴン
内の全ての画素について描画処理を行えば、三角形ポリ
ゴン内部が図5の例では3段階に塗り分けられる。この
処理を立体モデルの全ての三角形ポリゴンについて実施
する。
【0232】次に、実施の形態3についての処理フロー
を説明する。なお、以下の処理は、演算処理部103
(図1)がコンピュータ本体101内の他の要素を制御
して実施される処理である。
【0233】[CD−R記録処理]図27には、実施の
形態3において予め行われる輪郭描画用モデルの生成処
理が示されている。処理が開始すると、HDD107に
予め記憶された立体モデルのデータが読み出され(ステ
ップS353)、変換対象モデルとして取得される。
【0234】次に、その変換対象モデルのサイズがひと
まわり大きくなるよう拡大される(ステップS35
5)。例えば、変換対象モデルの各頂点の法線方向に、
当該変換対象モデルの全長の2パーセントの長さだけ当
該頂点が移動され、全体として2パーセント程度拡大さ
れる。すなわち、例えば当該変換対象モデルが人間型
で、その身長が1.8m相当であれば、各頂点は0.0
36m相当の長さだけ移動される。この拡大率がより大
きい場合は輪郭線はより太く描画され、拡大率がより小
さく、変換対象モデルがわずかに拡大されただけである
場合には輪郭線はより細く描画される。更に、均一では
なく一部がより拡大されれば、より拡大された部分の輪
郭線のみが太く描画される。この調整は、通常立体モデ
ルの製作者により行われるので、当該製作者の意図を反
映した輪郭線を描画することができる。
【0235】なお、立体モデルの各頂点の法線が定義さ
れていない場合には、当該頂点を共有する各面の法線を
補間することにより求められる当該頂点の法線を用い
て、当該頂点を当該頂点の法線方向に移動させることも
できる。
【0236】また、立体モデルの各面の法線方向に当該
面を移動させることもできる。しかし単純に面が移動さ
れただけである場合には、面と面との間に隙間が生じて
しまうので、それを埋めるための処理が別途必要にな
る。更に、通常立体モデルには基準位置が定義されてい
るので、対応する変換対象モデルの基準位置を中心に、
当該変換対象モデルの各頂点を移動させることもでき
る。
【0237】次に、変換対象モデルの各ポリゴンのマテ
リアルの色が、彩度は同じで明度を低くした色に設定さ
れる(ステップS357)。なお、各ポリゴンはすべて
黒などの単一色に設定されるとしてもよい。また、かす
れ表現用テクスチャをマッピングするための設定がされ
るとしてもよい。マテリアルの色は製作者により調整さ
れるので、当該製作者の意図した色で輪郭線を描画する
ことができる。
【0238】実施の形態3では、変換対象モデルの各ポ
リゴンの表裏を反転する処理は行われないので、ここま
で処理された変換対象モデルのデータを、輪郭描画用モ
デル・データとしてHDD107に記憶し(ステップS
361)、輪郭描画用モデル生成処理を終了する(ステ
ップS363)。
【0239】次に、HDD107に記憶された、輪郭描
画用モデル・データを含む各種データが、CD−Rドラ
イブ113によりCD−R131に書き込まれる。図7
に記載されているレベルでは、CD−R131に書き込
まれたデータの例は実施の形態1及び2と同じである。
すなわち、プログラム領域132には、コンピュータ1
000に本発明を実施させるためのプログラムが格納さ
れる。このプログラムは、CD−R131に書き込むま
での処理を含まないとしてもよい。システムデータ領域
133には、上で述べたプログラム領域132に格納さ
れるプログラムによって処理される各種データが格納さ
れる。
【0240】画像データ領域134には、立体モデル・
データ137及び輪郭描画用モデル・データ135を含
むデータが格納される。ここで輪郭描画用モデル・デー
タの示すモデルの各ポリゴンの表裏は立体モデルの対応
するポリゴンと同じである。また、後述する輪郭描画用
モデル取得処理において、輪郭描画用モデルを生成する
場合は、輪郭描画用モデル・データ135が格納される
必要は無い。サウンドデータ領域136には、図1に示
されたサウンド処理部109によりサウンド出力装置1
25からサウンドを出力させるためのデータが格納され
る。
【0241】なお、CD−R131に格納される輪郭描
画用モデルのサイズは、対応する立体モデルのサイズと
同じ大きさで定義されるとしてもよい。この場合には、
後述する輪郭描画用モデル取得処理で輪郭描画用モデル
が取得された後、後述する輪郭描画用モデル配置処理で
輪郭描画用モデルの配置用マトリックスが設定されるま
での間に輪郭描画用モデルが拡大される。あるいは、輪
郭描画用モデル配置処理で輪郭描画用モデルの配置用マ
トリックスが設定される際に、当該配列用マトリックス
が拡大変換を含むように当該配置用マトリックスが決定
されるとしてもよい。逆に、立体モデルを配置する際
に、立体モデルの配置用マトリックスが縮小変換を含む
ように立体モデルの配置用マトリックスが決定されると
してもよい。
【0242】また、CD−R131に格納される輪郭描
画用モデルの各ポリゴンのマテリアルの色は、対応する
立体モデルの各ポリゴンのマテリアルの色と同一であっ
てもよい。この場合、後述される輪郭描画用モデルの描
画処理の際に、例えば黒などの別途定義された色で輪郭
描画用モデルが描画される。
【0243】[全体の処理フロー]図8に記載されてい
るレベルの処理フローは実施の形態1及び2と同じであ
る。すなわち、最初に初期設定が行われる(ステップS
2)。この初期設定では、後に詳述する輪郭描画用モデ
ルのデータ取得処理(図28)を含む。そして、仮想空
間内の状態が設定される(ステップS3)。この時輪郭
描画用モデルの位置座標等の決定処理が実施される。次
に、輪郭線を描画するか否かの判断処理が行われる(ス
テップS4)。もし輪郭線が描画される場合には、輪郭
線描画用モデルの描画処理が実施される(ステップS
5)。これについては後に図29を用いて説明する。そ
して輪郭線が描画される場合も描画されない場合も立体
モデルの描画が行われる(ステップS6)。このステッ
プS3乃至S6が処理終了まで繰り返される(ステップ
S7)。
【0244】[輪郭描画用モデル取得処理]輪郭描画用
モデルの取得処理が図28に示されている。ここではま
ず、輪郭描画用モデルが生成されるか否かが判断される
(ステップS223)。輪郭描画用モデルが予め用意さ
れている場合と輪郭描画用モデルがこの段階にて生成さ
れる場合が存在するためである。ここでこの判断は、例
えば立体モデルに対応した輪郭描画用モデルがCD−R
131に格納されているか否かを判定する事により実施
される。格納されていると判断されれば輪郭描画用モデ
ルは生成されないと判断され、格納されていないと判断
されれば、輪郭描画用モデルは生成されると判断され
る。
【0245】輪郭描画用モデルが生成されないと判断さ
れた場合には、CD−R131に格納されている輪郭描
画用モデルのデータが読み出される(ステップS22
7)。この輪郭描画用モデルの各ポリゴンは、上で図2
6及び図27を用いて説明されたように、実施の形態1
及び2とは異なり、立体モデルの対応するポリゴンとは
表裏が同じものである。また読み出される輪郭描画用モ
デルのサイズは対応する立体モデルより一回り大きく定
義される。更に、輪郭描画用モデルの色は、対応する立
体モデルより暗い色で定義される。
【0246】もし輪郭描画用モデルが生成されると判断
された場合には、輪郭描画用モデルを生成する処理が行
われる(ステップS225)。ステップS227と同じ
ように、この段階において輪郭描画用モデルを生成する
場合においても、輪郭描画用モデルの各ポリゴンは、立
体モデルの対応するポリゴンと表裏が同じものにされる
(図26参照)。
【0247】輪郭描画用モデルのサイズは、対応する立
体モデルより一回り大きく生成される。ステップS35
5(図27)と同じように、例えば立体モデルの各頂点
の法線方向に当該頂点を移動させて拡大された輪郭描画
用モデルが生成される。輪郭描画用モデルが立体モデル
に比してより大きい場合は輪郭線はより太く描画され、
輪郭描画用モデルが立体モデルよりわずかに大きいだけ
である場合は輪郭線はより細く描画される。
【0248】また、ステップS355(図27)の説明
で述べられているように、立体モデルの各面の法線方向
に当該面を移動させて拡大された輪郭描画用モデルが生
成されるとしてもよい。更に、通常立体モデルに定義さ
れている基準位置を中心に、この立体モデルの各頂点を
移動させて拡大された輪郭描画用モデルが生成されると
してもよい。
【0249】なお、この時点では、輪郭描画用モデルの
サイズは、対応する立体モデルのサイズと同じ大きさで
生成されるとしてもよい。この場合には、本輪郭描画用
モデル取得処理で輪郭描画用モデルが取得された後、後
述する輪郭描画用モデル配置処理で輪郭描画用モデルの
配置用マトリックスが設定されるまでの間に輪郭描画用
モデルが拡大される。あるいは、輪郭描画用モデル配置
処理で輪郭描画用モデルの配置用マトリックスが設定さ
れる際に、当該配置用マトリックスが、その拡大変換を
含むように決定されるとしてもよい。逆に、立体モデル
を配置する際に、立体モデルの配置用マトリックスが縮
小変換を含むように立体モデルの配置用マトリックスが
決定されるとしてもよい。
【0250】一方、輪郭描画用モデルの各ポリゴンのマ
テリアルの色は、対応する立体モデルの各ポリゴンのマ
テリアルの色をより暗くした色で生成される。なお、ス
テップS357(図27)の説明で述べられているのと
同様に、この時点では、生成される輪郭描画用モデルの
色は定義されていなくてもよい。あるいは、輪郭描画用
モデルの各ポリゴンのマテリアルの色が、対応する立体
モデルの各ポリゴンのマテリアルの色と同一であっても
良い。この場合、輪郭描画用モデルの描画処理の際に、
輪郭描画用モデルの色は考慮されず、例えば黒などの別
途定義された色か、かすれを表現するテクスチャの色で
輪郭描画用モデルが描画される。
【0251】次に、輪郭描画用モデルにかすれを表現す
るテクスチャがマッピングされるか否かが判断される
(ステップS229)。ステップS225で輪郭描画用
モデルが生成された場合には、対応する立体モデルのデ
ータに基づいてこの判断が実施される。一方、ステップ
S227で輪郭描画用モデルが読み出された場合には、
読み出された輪郭描画用モデルのデータに基づいてこの
判断が実施される。かすれを表現するテクスチャがマッ
ピングされると判断された場合には、ステップS231
にて輪郭描画用モデルにかすれを表現するテクスチャが
マッピングされる。すなわち、ポリゴンの各頂点にテク
スチャ座標(U,V)が設定される。
【0252】なお、前述の通り、かすれを表現するテク
スチャは、明度又は透明度の変化を含む図柄を有するテ
クスチャであって、例えば図10に示されたテクスチャ
である。かすれを表現するテクスチャがマッピングされ
ないと判断された場合と、テクスチャがマッピングされ
る処理が終了した場合は、演算処理部103は輪郭描画
用モデル取得処理を終了する(ステップS233)。
【0253】[輪郭描画用モデル配置処理]図8のステ
ップS3において輪郭描画用モデルの配置マトリックス
が設定され、輪郭描画用モデルの配置処理が行われる。
通常輪郭描画用モデルの基準位置は、立体モデルの基準
位置に対応する位置に設けられる。そしてその輪郭描画
用モデルの基準位置が、立体モデルの基準位置が配置さ
れている位置と同一又はその近傍に配置されるように、
輪郭描画用モデルの配置用マトリックスが設定される。
【0254】ここで立体モデルの方向が変化する場合に
は、輪郭描画用モデルもそれに対応するよう回転変換を
含む配置用マトリックスが設定される。立体モデルの形
状が変化する場合には、輪郭描画用モデルがそれに対応
するよう変形処理が行われる。
【0255】この段階において輪郭描画用モデルが対応
する立体モデルと同じ大きさである場合は、輪郭描画用
モデルが拡大される。具体的には、輪郭描画用モデルの
基準位置を中心として輪郭描画用モデルの各頂点が所定
の拡大率に従って拡大変換されるように、輪郭描画用モ
デルの配置用マトリックスが設定される。あるいは逆
に、立体モデルが縮小されるとしてもよい。すなわちこ
の場合には、立体モデルの基準位置を中心として立体モ
デルの各頂点が所定の縮小率に従って縮小変換されるよ
うに、立体モデルの配置用マトリックスが設定される。
なお、輪郭描画用モデルが対応する立体モデルより相対
的に大きい場合は、輪郭描画用モデルの配置用マトリッ
クスとして立体モデルの配置用マトリックスをそのまま
使用することも可能である。
【0256】このようにすると、最終的には、相対的に
大きい輪郭描画用モデルが立体モデルを包含するように
配置される。両モデルの配置位置、方向、形状等の関係
により、輪郭描画用モデルは完全には立体モデルを包含
しない場合も生じ得る。但し、このような場合であって
も、包含している部分については輪郭線は描画される。
【0257】なお、この段階では必ずしも配置用マトリ
ックスが設定されている必要は無く、配置される座標、
方向及び拡大・縮小率等の頂点変換に必要な各要素が確
定していればよい。この場合も、実際の頂点変換は各モ
デルの描画処理の段階で行われる。
【0258】[輪郭描画用モデルの描画処理]輪郭描画
用モデルの描画処理フローを表す図29では、輪郭描画
用モデルの全ての頂点について処理するまで、以下に説
明する処理が繰り返される(ステップS523)。繰り
返し行われる最初の処理は、1つの頂点について頂点変
換(拡大・縮小・回転・平行移動・透視変換)である
(ステップS525)。例えば、この処理は演算処理部
103に命令された幾何演算部207が実施する。
【0259】ここで注意したいのは輪郭描画用モデルに
対しては光源計算を実施しない点である。これは輪郭線
は光源の位置等に関係が無く、光源計算をするのが無駄
だからである(場合によっては輪郭描画用モデルのマテ
リアルの色は最終的に無視される場合がある)。通常こ
の頂点変換は、仮想三次元空間において指定された状態
に基づき行われるが、もし輪郭描画用モデルの大きさが
立体モデルと同じである場合には、配置処理で設定され
た配置用マトリックスに従ってこの段階において輪郭描
画用モデルが拡大変換される場合もある。
【0260】そして、当該頂点を含むポリゴンは通常の
判断基準でうら面か否かの判断処理が実施される(ステ
ップS527)。通常はおもて面しか描画対象とされな
いが、実施の形態2の輪郭描画用モデルの場合には通常
の判定基準でうら面が描画対象とされる。このステップ
の判断は、三角形ポリゴンの場合この頂点の前に処理さ
れた2つの頂点から構成される三角形ポリゴンがいずれ
の方向を向いているかで行われる。
【0261】図12に示すように、例えば、通常の判断
基準で三角形ポリゴンの各頂点に反時計回りに頂点番号
が付されている場合に紙面手前がおもて面であると定義
する(いわゆる右手系)。実施の形態3では、表裏判定
の基準を逆転し、時計回りに頂点番号が付されている場
合に紙面手前がおもて面であるとして判断する。この逆
転した表裏判定基準でおもて面と判断されたポリゴンの
みを描画対象とする。結果的に実施の形態3の判断基準
におけるおもて面が、通常の判断基準ではうら面と判断
されるからである。
【0262】図30には、判断対象となる三角形ポリゴ
ンの例が示されている。図30に示す三角形ポリゴンの
各頂点には、図中上方、左下、右下の順で0,1,2の
頂点番号が付与されている。図30の例では頂点番号の
付し方からすると紙面手前がおもて面であるが、逆転し
た判断基準では紙面手前はうら面となる。逆転した判断
基準でうら面の場合には、通常ではおもて面であるから
このポリゴンは描画対象からはずされる。なお、実施の
形態3でもこの段階において表裏判定が行われるが、こ
の段階より前に表裏判定が行われるようにすることも可
能である。
【0263】もし、当該頂点を含むポリゴンが通常の判
断基準でおもて面であった場合にはステップS523に
戻る。当該頂点を含むポリゴンが通常の判断基準でうら
面であった場合には、かすれを表現するテクスチャをマ
ッピングする否かの判断処理が実施される(ステップS
529)。これはポリゴンに対するテクスチャ・マッピ
ングを意味している。もし、かすれを表現するテクスチ
ャをマッピングする場合には、その頂点に対する、かす
れを表現するためのテクスチャのテクスチャ座標の計算
処理が実施される(ステップS531)。テクスチャ・
パースペクティブ処理として、ここでは、Q=1/w
(wはスクリーンからの奥行き)を用いて、S=U×
Q、T=V×Qの計算が行われる。もし、かすれを表現
するテクスチャをマッピングしない場合にはステップS
533に移行する。
【0264】そして、例えば図2に示した三角形描画処
理部205及びピクセルカラー処理部209が駆動され
る(ステップS533)。上で述べたように三角形描画
処理部205は、三角形ポリゴンの各頂点のデータを補
間して、三角形ポリゴン内部の各画素におけるデータを
生成する。各頂点のデータは、マテリアルの色、スクリ
ーン座標値、及びステップS531を実施すればテクス
チャ座標値である。また、各画素におけるデータは、マ
テリアルの色及びステップS531を実施すればテクセ
ル・カラーである。但し、この時点でマテリアルの色を
無視して、各頂点に輪郭線の色を設定することも可能で
ある。またマテリアルの色を考慮して、輪郭線の色を設
定することも可能である。ピクセルカラー処理部209
は、三角形描画処理部205が生成する三角形ポリゴン
内部の各画素におけるデータを使用して、フレーム・バ
ッファ213に表示画像を書き込む。この際、Zバッフ
ァ211を使用して隠面消去を行う。
【0265】[立体モデル描画処理]図15に示され
た、実施の形態1における立体モデルの描画処理のフロ
ーは実施の形態3でも同じである。まず、初期設定が行
われる(ステップS603)。この初期設定では、立体
モデルに対応する明度範囲テーブル(例えば図5又は図
18)が取得される。次に、一つの頂点についての頂点
変換(拡大・縮小・回転・平行移動・透視変換)及び光
源計算が行われる(ステップS605)。これは例えば
演算処理部103からの命令により幾何演算部207が
実行する。立体モデルのデータは例えばCD−R131
に格納されている。
【0266】拡大・縮小・回転・平行移動・透視変換
は、基本的には図8のステップS3において設定された
仮想空間内における状態に基づくものである。但し、輪
郭描画用モデルが立体モデルと同じ大きさである場合に
は、立体モデルのサイズを縮小することにより輪郭描画
用モデルが相対的に大きくされる場合もある。この場合
には、ステップS605において縮小変換が実施され
る。なお、立体モデルの中心に向かって各頂点をその法
線に沿って移動させると簡単に縮小できる。
【0267】なお、本発明の立体モデル描画処理におけ
る光源計算には2つの手法、(A)ポリゴンに定義され
たマテリアルの色を考慮した手法及び(B)マテリアル
の色を考慮しない手法があり、実施の形態3に対しても
これら適用可能である。
【0268】次に、当該頂点を含むポリゴンはおもて面
か否かが判断される(ステップS607)。この判断
は、三角形ポリゴンの場合この頂点とその前に処理され
た2つの頂点から構成される三角形ポリゴンがいずれの
方向を向いているかで実施される。この判断は輪郭描画
用モデルの描画処理で説明した方法を用いることができ
る。なお、実施の形態3ではこの段階において表裏判定
が行われるが、この段階より前に表裏判定が行われるよ
うにすることも可能である。
【0269】もし、当該頂点を含むポリゴンがうら面で
あった場合にはステップS605に戻る。当該頂点を含
むポリゴンがおもて面であった場合には、頂点変換及び
光源計算が行われた頂点における明度が計算される(ス
テップS609)。明度の計算ではYIQ変換が行われ
る。
【0270】そして頂点変換及び光源計算された頂点を
含むポリゴンの描画用色が計算される(ステップS61
1)。ポリゴンの描画用色は、明度範囲テーブルに格納
された各明度範囲に対応する基準明度と当該ポリゴンの
色とから計算される。
【0271】基準明度Tnが3つあれば(T1,T2,T
3)、描画用色は3つ求まる。なお、ポリゴンの色をY
IQ系の色として保持していない場合、すなわちRGB
系の色として保持している場合には、上で示した変換行
列でRGBからYIQへ変換する計算が行われる。ま
た、実施の形態1で説明した別の計算方法も実施の形態
3に対し適用可能である。
【0272】次に明度範囲テーブルの明度範囲が一つ選
択される(ステップS613)。なお本実施の形態では
図5に示した明度範囲テーブルを用いているが、図18
のような明度範囲テーブルを用いることもできる。
【0273】この後、このポリゴンの頂点における明度
が補間され、当該ポリゴン内部の各画素における明度
(ポリゴンにおける明度分布)が計算される。頂点の色
も補間されるが、3頂点共同じ描画用色なので補間して
も結果は同じである。そして、当該画素における明度
が、選択された明度範囲内であれば、当該選択された明
度範囲に対応する描画用色で当該画素が描画される(ス
テップS615)。明度の補間処理は例えば図2におけ
る三角形描画処理部205が実施する。各画素における
明度が、選択された明度範囲内であるかの比較処理は、
例えばピクセルカラー処理部209が実施する。このス
テップS613及びS615は、全ての明度範囲につい
て処理するまで繰り返される(ステップS617)。
【0274】例えばピクセルカラー処理部209が上限
及び下限の2つの明度値を取り扱うことができない場合
には、Zバッファ211を併用することにより同一の効
果を得ることができる。Zバッファ211は隠面消去に
使われるが、本実施の形態ではZバッファ211の併用
が明度の上限値と比較した場合と同様の効果を奏する。
【0275】なお、明度範囲テーブルの最も小さい下限
値の値が0.0でない場合もある。ポリゴン内で何も色
が付されていない部分を無くすため、図15ステップS
617の繰り返しにおいては、最後の繰り返しで下限値
を0.0にしてステップS615が実施される。
【0276】以上ステップS605乃至S617まで
が、立体モデルの全ての頂点について処理するまで繰り
返され、結果として全てのポリゴンについて処理するま
で繰り返される(ステップS619)。
【0277】以上のような処理を実施すると、立体モデ
ルの全てのポリゴンが所定の段階の明度で塗り分けら
れ、立体モデルについてはセルアニメ調の画像を得るこ
とができるようになる。また、実施の形態3で導入され
た輪郭描画用モデルは、立体モデルの後ろの面のうち立
体モデルに隠れない部分が描画されるので、その部分が
輪郭線としてレンダリングされる。実施の形態3では、
輪郭線の描画には、輪郭描画用モデルを導入し輪郭描画
用モデルの表裏判定を逆転するだけで通常レンダリング
処理とほぼ同様の処理を行うことにより簡単に輪郭線を
描画できるようになる。
【0278】4.実施の形態4実施の形態4は、輪郭描
画用モデルの処理については実施の形態3の処理を用
い、立体モデルの処理については実施の形態2の処理を
用いる場合である。
【0279】本発明の実施の形態4の概略を図31の機
能ブロック図を用いて説明する。実施の形態4として図
示したレンダリング装置には、輪郭描画用モデル描画部
850と立体モデル描画部890が含まれる。この輪郭
描画用モデル描画部850には、輪郭描画用モデル取得
部700と、輪郭描画用モデル配置用マトリックス設定
部705と、輪郭描画用モデル処理部710と、かすれ
表現テクスチャマッピング部715と、立体モデル描画
部890と共用されるピクセル処理部830とが含まれ
る。これらの各機能は、上で述べた順番でデータの受け
渡しを行っている。
【0280】また、立体モデル描画部890には、頂点
変換及び光源計算部460と、明度計算部465と、明
度範囲テーブル475と、描画用色格納部470と、明
度範囲設定部480と、輪郭描画用モデル描画部450
と共用されるピクセル処理部830とが含まれる。頂点
変換及び光源計算部460の出力は明度計算部465へ
入力される。明度計算部465の出力はピクセル処理部
830へ入力される。明度範囲テーブル475は、明度
範囲設定部480に参照される。描画用色格納部470
及び明度範囲設定部480の出力はピクセル処理部83
0へ入力される。輪郭描画用モデル描画部850と立体
モデル描画部890が共用するピクセル処理部830に
は、立体モデル描画処理で用いられる明度比較部833
と、輪郭描画用モデル描画処理及び立体モデル描画処理
の両方で用いられる隠面消去処理部837とが含まれ
る。
【0281】輪郭描画用モデル取得部700は、例えば
三角形ポリゴンで構成された立体モデルに対応する輪郭
描画用モデルを生成する。なお、輪郭描画用モデルが予
め生成してある場合には、輪郭描画用モデル取得部70
0は、当該予め生成されている、三角形ポリゴンで構成
された輪郭描画用モデルを読み出す。実施の形態4は実
施の形態1及び2とは異なり、取得される輪郭描画用モ
デルの各ポリゴンは、立体モデルの対応するポリゴンと
表裏が同じである。また輪郭描画用モデルは立体モデル
より大きく、輪郭線用の所定の配色にて定義される。な
お、輪郭描画用モデルは、最終的には対応する立体モデ
ルより相対的に大きくなければならないが、この段階に
おける輪郭描画用オブジェクトの大きさは立体モデルと
同じ場合もある。この場合には、輪郭描画用モデルと立
体モデルが描画されるまでに、輪郭描画用モデルが立体
モデルより相対的に大きく描画されるよう処理される。
【0282】また、輪郭描画用モデルの色は、対応する
立体モデルのマテリアルの色をそのまま引き継ぐ場合も
ある。この場合は描画用の色は別に指定される。この輪
郭描画用モデルの基準位置は、通常対応する立体モデル
の基準位置と同じ又はその近傍に位置するように定義さ
れる。
【0283】そして輪郭描画用モデル配置用マトリック
ス設定部705(図25)が、図26に示すように、仮
想空間内の輪郭描画用モデル基準位置630を、立体モ
デル基準位置620と同じ位置に配置するための配置用
マトリックスを設定する。この配置用マトリックスは対
応するモデルの各頂点に対する平行移動、回転、拡大・
縮小等の変換のために用いられる。すなわち、輪郭描画
用モデル610の配置用マトリックスが輪郭描画用モデ
ル基準位置530を立体モデル基準位置520の座標に
平行移動させる変換を含むよう設定することで、立体モ
デル600を包含する位置に輪郭描画用モデル610が
配置される。
【0284】輪郭描画用モデル処理部710は、輪郭描
画用モデルの各頂点につき、頂点変換(拡大・縮小・回
転・平行移動・透視変換)を実施し、且つ輪郭描画用モ
デルの各ポリゴンの表裏判定を実施する。この頂点変換
には上で述べた配置用マトリックスが用いられる。但
し、実施の形態1及び2とは異なり、この表裏判定は逆
転表裏判定部713で行われる。またここでは光源計算
を実施しない。例えば仮想三次元空間である仮想空間に
おいて指定された状態に合わせて拡大・縮小・回転・平
行移動・透視変換するだけでなく、輪郭描画用モデル取
得部700において立体モデルと同じ大きさの輪郭描画
用モデルを取得した場合には、輪郭描画用モデル処理部
710は、輪郭線描画用モデルの拡大を行うための頂点
変換を実施する。ここで拡大した場合も立体モデルと輪
郭描画用モデルの関係は図26のようになる。
【0285】また、実施の形態4の輪郭描画用モデルの
場合には、おもて面がうらと判断され、うら面がおもて
と判断される。よって、図26の例ではカメラ650か
らの視線640の方向と同じ方向に矢印が向いている面
613,614,615及び616のみが描画対象とさ
れる。この面は通常であればうら面であるから描画対象
から外れるが、実施の形態4では描画対象として取り扱
われる。このようにすると、立体モデル600の外側に
あり且つカメラ650に近い面611及び612は描画
対象から外れるので、立体モデル600は通常どおり描
画される。なお、ピクセル処理部430の隠面消去処理
部435にて隠面消去が行われるので、描画対象となっ
てもそれらの面の全てが描画されるわけではない。
【0286】かすれ表現テクスチャマッピング部715
は、結果的に描画される輪郭線がかすれているような線
になるように、輪郭描画用モデルにかすれ表現用テクス
チャをマッピングするための処理を実施するものであ
る。なお、必ずしも輪郭線がかすれている必要は無いの
で、かすれ表現テクスチャマッピング部715の処理は
選択的に実施される。
【0287】立体モデル描画部890の頂点変換及び光
源計算部460は、仮想三次元空間に配置される立体モ
デルの三角形ポリゴンの各頂点について頂点変換(拡大
・縮小・回転・平行移動・透視変換)を実施し(三角形
ポリゴンが描画される領域を計算し)、頂点変換された
三角形ポリゴンの各頂点について光源計算を行う。ま
た、立体モデル描画部890の頂点変換及び光源計算部
460は立体モデルの各三角形ポリゴンの表裏判定も行
う。
【0288】立体モデル描画部890の頂点変換及び光
源計算部460においても、仮想三次元空間において指
定された状態に合わせて拡大・縮小・回転・平行移動・
透視変換するだけでなく、輪郭描画用モデル処理部81
0で処理された後の輪郭描画用モデルが立体モデルと同
じ大きさである場合には、立体モデルが輪郭描画用モデ
ルに対して相対的に小さくなるように立体モデルのサイ
ズを縮小するための頂点変換が実施される。
【0289】頂点変換及び光源計算部460が立体モデ
ルの縮小処理を行った場合も立体モデル600と輪郭描
画用モデル610の関係は図26のようになる。また、
面の表裏判定は、輪郭描画用モデル処理部710とは異
なり、立体モデルの面のうちカメラの視線方向と同じ方
向がおもて面の方向である面を描画対象から除外する。
図26の例では、カメラから見て後ろの方の面603、
604、605及び606が描画対象から除外される。
【0290】明度計算部465は、光源計算部460が
計算した三角形ポリゴンの各頂点における色から明度を
計算する。通常光源計算部460はRGB系における色
を計算するので、明度計算部465はこのRGBをYI
Q変換して明度Yを求める。この三角形ポリゴンの各頂
点における明度は、ピクセル処理部830に出力され
る。
【0291】明度範囲テーブル475は、実施の形態1
乃至3と同じように、例えば図5のようなテーブルであ
る。なお、ここでは明度は0から1までの実数値をとる
ものとする。しきい値ではなく、上限及び下限による範
囲の指定でも良い(例えば図18参照)。
【0292】描画用色格納部470は、例えば図5のよ
うな明度範囲テーブルを使用する場合には、各ポリゴン
につき3つの描画用色データを保管する必要がある。図
23に示すように、各ポリゴンにつき、第1の明度範囲
に対応する描画用色(r、g、b)と、第2の明度範囲
に対応する描画用色(r,g,b)と、第3の明度範囲
に対応する描画用色(r,g,b)と、当該ポリゴンを
構成する頂点0の頂点データIDXと、同じく頂点1の
頂点データIDXと、頂点2の頂点データIDXとが、
先に述べた図16(b)の代わりに保管される。これら
のデータが立体モデルのポリゴンの数だけ用意される。
【0293】ピクセル処理部830は、明度範囲設定部
480により設定された明度範囲に対応する描画用色を
描画用色格納部470から取り出す。描画用色格納部4
70は例えばCD−R131であり、立体モデル・デー
タ137の要素として格納される。
【0294】明度範囲設定部480は、明度範囲テーブ
ル475の1つのしきい値を選択して、ピクセル処理部
430に設定する。明度範囲設定部480は、図5のよ
うな明度範囲テーブル475をそのまま使用する場合に
は上から順番に一つずつ設定していく。しきい値ではな
く上限及び下限による範囲が指定されている場合には、
ランダムに選択・設定可能である。
【0295】輪郭描画用モデル描画部850と立体モデ
ル描画部890に共用されるピクセル処理部830は、
三角形ポリゴン内の各画素における色又は明度を、三角
形ポリゴンの各頂点の色又は明度を補間して求める処理
を実施する。補間の方式は、グーロー・シェーディング
のアルゴリズムでも、フォン・シェーディングのアルゴ
リズムでも良い。
【0296】ピクセル処理部830は、輪郭描画用モデ
ルの描画対象とされた三角形ポリゴンを処理する場合に
は、隠面消去処理部837を用いて隠面消去処理を実施
しつつ、輪郭描画用モデルの描画対象とされた三角形ポ
リゴン内の各画素の色を決定する。
【0297】例えば図26の場合には、立体モデル60
0のカメラ650に最も近い2つの面601及び602
が描画され、輪郭描画用モデルのカメラ650から遠い
4つの面613、614、615及び616が描画され
る。輪郭描画用モデル610のこの4つの面は、カメラ
650から見ると立体モデル600から左右にはみ出し
ているので、はみ出している部分のみが隠面消去されず
に描画される。このはみ出している部分が輪郭線とな
る。なお、ピクセル処理部830は、輪郭描画用モデル
のマテリアルの色を考慮して色を決定する。但し、この
マテリアルの色を全く無視して輪郭線の色(黒又は暗い
輪郭線用の色)を輪郭描画用モデルの色とする場合もあ
る。
【0298】一方、ピクセル処理部830は、立体モデ
ルの描画対象とされた三角形ポリゴンを処理する場合に
は、まず明度計算部465から出力された三角形ポリゴ
ンの各頂点における明度を補間して、ポリゴン内部の各
画素における明度を計算する。
【0299】そして、明度比較部833は各画素におけ
る明度と明度範囲設定部480が設定したしきい値とを
比較する。もしその画素における明度がしきい値以上で
あれば、ピクセル処理部830は、このしきい値に対応
する基準明度に基づく描画用色で当該画素を描画する。
この描画処理の際には、隠面消去処理部837を用いて
隠面消去処理をも実施する。もしその画素における明度
がしきい値未満であれば、この画素をこの段階では描画
しない。明度範囲設定部480が明度範囲テーブル47
5の全てのしきい値をピクセル処理部830に設定し、
それに対応してピクセル処理部830が三角形ポリゴン
内の全ての画素について描画処理を行えば、三角形ポリ
ゴン内部が図5の例では3段階に塗り分けられる。この
処理を立体モデルの全ての三角形ポリゴンについて実施
する。
【0300】次に、実施の形態4についての処理フロー
を説明する。なお、以下の処理は、演算処理部103
(図1)がコンピュータ本体101内の他の要素を制御
して実施される処理である。
【0301】[CD−R記録処理]図27に示された、
予め行われる輪郭描画用モデルの生成処理は実施の形態
4でも行われる。処理が開始すると、HDD107に予
め記憶された立体モデルのデータが読み出され(ステッ
プS353)、変換対象モデルとして取得される。
【0302】次に、その変換対象モデルのサイズがひと
まわり大きくなるよう拡大される(ステップS35
5)。例えば、変換対象モデルの各頂点の法線方向に、
当該変換対象モデルの全長の2パーセントの長さだけ当
該頂点が移動され、全体として2パーセント程度拡大さ
れる。すなわち、例えば当該変換対象モデルが人間型
で、その身長が1.8m相当であれば、各頂点は0.0
36m相当の長さだけ移動される。この拡大率がより大
きい場合は輪郭線はより太く描画され、拡大率がより小
さく、変換対象モデルがわずかに拡大されただけである
場合には輪郭線はより細く描画される。更に、均一では
なく一部がより拡大されれば、より拡大された部分の輪
郭線のみが太く描画される。この調整は、通常立体モデ
ルの製作者により行われるので、当該製作者の意図を反
映した輪郭線を描画することができる。
【0303】なお、立体モデルの各頂点の法線が定義さ
れていない場合には、当該頂点を共有する各面の法線を
補間することにより求められる当該頂点の法線を用い
て、当該頂点を当該頂点の法線方向に移動させることも
できる。
【0304】また、立体モデルの各面の法線方向に当該
面を移動させることもできる。しかし単純に面が移動さ
れただけである場合には、面と面との間に隙間が生じて
しまうので、それを埋めるための処理が別途必要にな
る。更に、通常立体モデルには基準位置が定義されてい
るので、対応する変換対象モデルの基準位置を中心に、
当該変換対象モデルの各頂点を移動させることもでき
る。
【0305】次に、変換対象モデルの各ポリゴンのマテ
リアルの色が、彩度は同じで明度を低くした色に設定さ
れる(ステップS357)。なお、各ポリゴンはすべて
黒などの単一色に設定されるとしてもよい。また、かす
れ表現用テクスチャをマッピングするための設定がされ
るとしてもよい。マテリアルの色は製作者により調整さ
れるので、当該製作者の意図した色で輪郭線を描画する
ことができる。
【0306】実施の形態4では、実施の形態3と同様に
変換対象モデルの各ポリゴンの表裏を反転する処理は行
われないので、ここまで処理された変換対象モデルのデ
ータを、輪郭描画用モデル・データとしてHDD107
に記憶し(ステップS361)、輪郭描画用モデル生成
処理を終了する(ステップS363)。
【0307】次に、HDD107に記憶された、立体モ
デル・データ及び輪郭描画用モデル・データを含む各種
データが、CD−Rドライブ113によりCD−R13
1に書き込まれる。図7に記載されているレベルでは、
CD−R131に書き込まれたデータの例は実施の形態
4でも同じである。
【0308】[全体の処理フロー]図8に記載されてい
るレベルの処理フローは実施の形態1乃至3と同じであ
る。すなわち、最初に初期設定が行われる(ステップS
2)。この初期設定では、後に詳述する輪郭描画用モデ
ルのデータ取得処理(図28)を含む。そして、仮想空
間内の状態が設定される(ステップS3)。この時輪郭
描画用モデルの位置座標等の決定処理が実施される。次
に、輪郭線を描画するか否かの判断処理が行われる(ス
テップS4)。もし輪郭線が描画される場合には、輪郭
線描画用モデルの描画処理が実施される(ステップS
5)。これについては後に図29を用いて説明する。そ
して輪郭線が描画される場合も描画されない場合も立体
モデルの描画が行われる(ステップS6)。このステッ
プS3乃至S6が処理終了まで繰り返される(ステップ
S7)。
【0309】[輪郭描画用モデル取得処理]図28に示
された輪郭描画用モデルの取得処理は実施の形態4でも
実施される。ここではまず、輪郭描画用モデルが生成さ
れるか否かが判断される(ステップS223)。輪郭描
画用モデルが予め用意されている場合と輪郭描画用モデ
ルがこの段階にて生成される場合が存在するためであ
る。ここでこの判断は、例えば立体モデルに対応した輪
郭描画用モデルがCD−R131に格納されているか否
かを判定する事により実施される。格納されていると判
断されれば輪郭描画用モデルは生成されないと判断さ
れ、格納されていないと判断されれば、輪郭描画用モデ
ルは生成されると判断される。
【0310】輪郭描画用モデルが生成されないと判断さ
れた場合には、CD−R131に格納されている輪郭描
画用モデルのデータが読み出される(ステップS22
7)。この輪郭描画用モデルの各ポリゴンは、上で図2
6及び図27を用いて説明されたように、実施の形態1
及び2とは異なり、立体モデルの対応するポリゴンとは
表裏が同じものである。また読み出される輪郭描画用モ
デルのサイズは対応する立体モデルより一回り大きく定
義される。更に、輪郭描画用モデルの色は、対応する立
体モデルより暗い色で定義される。
【0311】もし輪郭描画用モデルが生成されると判断
された場合には、輪郭描画用モデルを生成する処理が行
われる(ステップS225)。ステップS227と同じ
ように、この段階において輪郭描画用モデルが生成され
る場合においても、輪郭描画用モデルの各ポリゴンは、
立体モデルの対応するポリゴンと表裏が同じものにされ
る(図26参照)。
【0312】輪郭描画用モデルのサイズは、対応する立
体モデルより一回り大きく生成される。ステップS35
5(図27)と同じように、例えば立体モデルの各頂点
の法線方向に当該頂点を移動させて拡大された輪郭描画
用モデルが生成される。輪郭描画用モデルが立体モデル
に比してより大きい場合は輪郭線はより太く描画され、
輪郭描画用モデルが立体モデルよりわずかに大きいだけ
である場合は輪郭線はより細く描画される。
【0313】また、ステップS355(図27)の説明
で述べられているように、立体モデルの各面の法線方向
に当該面を移動させて拡大された輪郭描画用モデルが生
成されるとしてもよい。更に、通常立体モデルに定義さ
れている基準位置を中心に、この立体モデルの各頂点を
移動させて拡大された輪郭描画用モデルが生成されると
してもよい。
【0314】なお、この時点では、輪郭描画用モデルの
サイズは、対応する立体モデルのサイズと同じ大きさで
生成されるとしてもよい。この場合には、本輪郭描画用
モデル取得処理で輪郭描画用モデルが取得された後、後
述する輪郭描画用モデル配置処理で輪郭描画用モデルの
配置用マトリックスが設定されるまでの間に輪郭描画用
モデルが拡大される。あるいは、輪郭描画用モデル配置
処理で輪郭描画用モデルの配置用マトリックスが設定さ
れる際に、当該配置用マトリックスが、その拡大変換を
含むように決定されるとしてもよい。逆に、立体モデル
を配置する際に、立体モデルの配置用マトリックスが縮
小変換を含むように立体モデルの配置用マトリックスが
決定されるとしてもよい。
【0315】一方、輪郭描画用モデルの各ポリゴンのマ
テリアルの色は、対応する立体モデルの各ポリゴンのマ
テリアルの色をより暗くした色で生成される。なお、ス
テップS357(図26)の説明で述べられているのと
同様に、この時点では、生成される輪郭描画用モデルの
色は定義されていなくてもよい。あるいは、輪郭描画用
モデルの各ポリゴンのマテリアルの色が、対応する立体
モデルの各ポリゴンのマテリアルの色と同一であっても
良い。この場合、輪郭描画用モデルの描画処理の際に、
輪郭描画用モデルの色は考慮されず、例えば黒などの別
途定義された色か、かすれを表現するテクスチャの色で
輪郭描画用モデルが描画される。
【0316】次に、輪郭描画用モデルにかすれを表現す
るテクスチャがマッピングされるか否かが判断される
(ステップS229)。ステップS225で輪郭描画用
モデルが生成された場合には、対応する立体モデルのデ
ータに基づいてこの判断が実施される。一方、ステップ
S227で輪郭描画用モデルが読み出された場合には、
読み出された輪郭描画用モデルのデータに基づいてこの
判断が実施される。かすれを表現するテクスチャがマッ
ピングされると判断された場合には、ステップS231
にて輪郭描画用モデルにかすれを表現するテクスチャが
マッピングされる。すなわち、ポリゴンの各頂点にテク
スチャ座標(U,V)が設定される。
【0317】なお、前述の通り、かすれを表現するテク
スチャは、明度又は透明度の変化を含む図柄を有するテ
クスチャであって、例えば図10に示されたテクスチャ
である。かすれを表現するテクスチャがマッピングされ
ないと判断された場合と、テクスチャがマッピングされ
る処理が終了した場合は、演算処理部103は輪郭描画
用モデル取得処理を終了する(ステップS233)。
【0318】[輪郭描画用モデル配置処理]図8のステ
ップS3において輪郭描画用モデルの配置マトリックス
が設定され、輪郭描画用モデルの配置処理が行われる。
通常輪郭描画用モデルの基準位置は、立体モデルの基準
位置に対応する位置に設けられる。そしてその輪郭描画
用モデルの基準位置が、立体モデルの基準位置が配置さ
れている位置と同一又はその近傍に配置されるように、
輪郭描画用モデルの配置用マトリックスが設定される。
【0319】ここで立体モデルの方向が変化する場合に
は、輪郭描画用モデルもそれに対応するよう回転変換を
含む配置用マトリックスが設定される。立体モデルの形
状が変化する場合には、輪郭描画用モデルがそれに対応
するよう変形処理が行われる。
【0320】この段階において輪郭描画用モデルが対応
する立体モデルと同じ大きさである場合は、輪郭描画用
モデルが拡大される。具体的には、輪郭描画用モデルの
基準位置を中心として輪郭描画用モデルの各頂点が所定
の拡大率に従って拡大変換されるように、輪郭描画用モ
デルの配置用マトリックスが設定される。あるいは逆
に、立体モデルが縮小されるとしてもよい。すなわちこ
の場合には、立体モデルの基準位置を中心として立体モ
デルの各頂点が所定の縮小率に従って縮小変換されるよ
うに、立体モデルの配置用マトリックスが設定される。
なお、輪郭描画用モデルが対応する立体モデルより相対
的に大きい場合は、輪郭描画用モデルの配置用マトリッ
クスとして立体モデルの配置用マトリックスをそのまま
使用することも可能である。
【0321】このようにすると、最終的には、相対的に
大きい輪郭描画用モデルが立体モデルを包含するように
配置される。両モデルの配置位置、方向、形状等の関係
により、輪郭描画用モデルは完全には立体モデルを包含
しない場合も生じ得る。但し、このような場合であって
も、包含している部分については輪郭線は描画される。
【0322】なお、この段階では必ずしも配置用マトリ
ックスが設定されている必要は無く、配置される座標、
方向及び拡大・縮小率等の頂点変換に必要な各要素が確
定していればよい。この場合も、実際の頂点変換は各モ
デルの描画処理の段階で行われる。
【0323】[輪郭描画用モデルの描画処理]図29に
示された、輪郭描画用モデルの描画処理フローは、実施
の形態4でも実施される。ここでは輪郭描画用モデルの
全ての頂点について処理するまで、以下に説明する処理
が繰り返される(ステップS523)。繰り返し行われ
る最初の処理は、1つの頂点について頂点変換(拡大・
縮小・回転・平行移動・透視変換)である(ステップS
525)。例えば、この処理は演算処理部103に命令
された幾何演算部207が実施する。
【0324】ここで注意したいのは輪郭描画用モデルに
対しては光源計算を実施しない点である。これは輪郭線
は光源の位置等に関係が無く、光源計算をするのが無駄
だからである(場合によっては輪郭描画用モデルのマテ
リアルの色は最終的に無視される場合がある)。通常こ
の頂点変換は、仮想三次元空間において指定された状態
に基づき行われるが、もし輪郭描画用モデルの大きさが
立体モデルと同じである場合には、配置処理で設定され
た配置用マトリックスに従ってこの段階において輪郭描
画用モデルが拡大変換される場合もある。
【0325】そして、当該頂点を含むポリゴンは通常の
判断基準でうら面か否かの判断処理が実施される(ステ
ップS527)。通常はおもて面しか描画対象とされな
いが、実施の形態4の輪郭描画用モデルの場合には通常
の判定基準でうら面が描画対象とされる。このステップ
の判断は、三角形ポリゴンの場合この頂点とその前に処
理された2つの頂点から構成される三角形ポリゴンがい
ずれの方向を向いているかで行われる。
【0326】図12に示すように、例えば、通常の判断
基準で三角形ポリゴンの各頂点に反時計回りに頂点番号
が付されている場合に紙面手前がおもて面であると定義
する(いわゆる右手系)。実施の形態4では、表裏判定
の基準を逆転し、時計回りに頂点番号が付されている場
合に紙面手前がおもて面であるとして判断する。この逆
転した表裏判定基準でおもて面と判断された面のみを描
画対象とする。結果的に実施の形態4の判断基準におけ
るおもて面が、通常の判断基準ではうら面と判断される
からである。
【0327】図30には、判断対象となる三角形ポリゴ
ンの例が示されている。図30に示す三角形ポリゴンの
各頂点には、図中上方、左下、右下の順で0,1,2の
頂点番号が付与されている。図30の例では頂点番号の
付し方からすると紙面手前がおもて面であるが、逆転し
た判断基準では紙面手前はうら面となる。逆転した判断
基準でうら面の場合には、通常ではおもて面であるから
このポリゴンは描画対象からはずされる。なお、実施の
形態4でもこの段階において表裏判定が行われるが、こ
の段階より前に表裏判定が行われるようにすることも可
能である。
【0328】もし、当該頂点を含むポリゴンが通常の判
断基準でおもて面であった場合にはステップS523に
戻る。当該頂点を含むポリゴンが通常の判断基準でうら
面であった場合には、かすれを表現するテクスチャをマ
ッピングする否かの判断処理が実施される(ステップS
529)。これはポリゴンに対するテクスチャ・マッピ
ングを意味している。もし、かすれを表現するテクスチ
ャをマッピングする場合には、その頂点に対する、かす
れを表現するためのテクスチャのテクスチャ座標の計算
処理が実施される(ステップS531)。テクスチャ・
パースペクティブ処理として、ここでは、Q=1/w
(wはスクリーンからの奥行き)を用いて、S=U×
Q、T=V×Qの計算が行われる。もし、かすれを表現
するテクスチャをマッピングしない場合にはステップS
533に移行する。
【0329】そして、例えば図2に示した三角形描画処
理部205及びピクセルカラー処理部209が駆動され
る(ステップS533)。上で述べたように三角形描画
処理部205は、三角形ポリゴンの各頂点のデータを補
間して、三角形ポリゴン内部の各画素におけるデータを
生成する。各頂点のデータは、マテリアルの色、スクリ
ーン座標値、及びステップS531を実施すればテクス
チャ座標値である。また、各画素におけるデータは、マ
テリアルの色及びステップS531を実施すればテクセ
ル・カラーである。但し、この時点でマテリアルの色を
無視して、各頂点に輪郭線の色を設定することも可能で
ある。またマテリアルの色を考慮して、輪郭線の色を設
定することも可能である。ピクセルカラー処理部209
は、三角形描画処理部205が生成する三角形ポリゴン
内部の各画素におけるデータを使用して、フレーム・バ
ッファ213に表示画像を書き込む。この際、Zバッフ
ァ211を使用して隠面消去を行う。
【0330】[立体モデル描画処理]図24に示された
実施の形態2における立体モデルの描画処理フローは実
施の形態4でも同じである。まず、初期設定が行われる
(ステップS603)。この初期設定では、立体モデル
に対応する明度範囲テーブル(例えば図5又は図18)
が取得される。また、立体モデルの描画用色データを取
得しておく。次に、一つの頂点についての頂点変換(拡
大・縮小・回転・平行移動・透視変換)及び光源計算が
行われる(ステップS635)。これは例えば演算処理
部103からの命令により幾何演算部207が実行す
る。立体モデルのデータは例えばCD−R131に格納
されている。
【0331】拡大・縮小・回転・平行移動・透視変換
は、基本的には図8のステップS3において設定された
仮想空間内における状態に基づくものである。但し、輪
郭描画用モデルが立体モデルと同じ大きさである場合に
は、立体モデルのサイズを縮小することにより輪郭描画
用モデルが相対的に大きくされる場合もある。この場合
には、ステップS635において縮小変換が実施され
る。なお、立体モデルの中心に向かって各頂点をその法
線に沿って移動させると簡単に縮小できる。
【0332】なお、実施の形態1で述べた、本発明の立
体モデル描画処理における光源計算の2つの手法は実施
の形態4でもそのまま適用することができる。
【0333】次に、当該頂点を含むポリゴンはおもて面
か否かが判断される(ステップS637)。この判断
は、三角形ポリゴンの場合この頂点とその前に処理され
た2つの頂点から構成される三角形ポリゴンがいずれの
方向を向いているかで実施される。この判断は輪郭描画
用モデルの描画処理で説明した方法を用いることができ
る。なお、実施の形態4ではこの段階において表裏判定
が行われるが、この段階より前に表裏判定が行われるよ
うにすることも可能である。
【0334】もし、当該頂点を含むポリゴンがうら面で
あった場合にはステップS635に戻る。当該頂点を含
むポリゴンがおもて面であった場合には、頂点変換及び
光源計算が行われた頂点における明度が計算される(ス
テップS639)。明度の計算ではYIQ変換が行われ
る。
【0335】そして、頂点変換及び光源計算された頂点
を含むポリゴンの描画用色が、例えばメモリ105から
読み出される(ステップS641)。読み出される描画
用色のデータは予め計算されるわけであるが、この予め
計算する際の計算方法は、実施の形態1で説明した2つ
の方法のいずれでもよいし、又別の方法であってもよ
い。さらに、描画用色を一つ一つ定義していってもよ
い。実施の形態4では描画用色を予め用意しておくの
で、実施の形態3に比べて実行速度は速くなる。
【0336】次に明度範囲テーブルの明度範囲が一つ選
択される(ステップS643)。なお本実施の形態では
図5に示した明度範囲テーブルを用いているが、図18
のような明度範囲テーブルを用いることもできる。この
ような明度範囲テーブルを使用する場合には上限及び下
限を含む明度範囲をランダムに選択し、設定することが
できる。但し図18は少数第2位まで有効なコンピュー
タの場合を示している。以下で説明する明度比較処理に
おいて各画素の明度と上限及び下限の2つの明度値との
比較が簡単に行えない場合には、明度範囲を例えば図1
8の上から順番に選択する。そしてこの場合下限値のみ
で処理していくことになる。
【0337】この後、このポリゴンの頂点における明度
が補間され、当該ポリゴン内部の各画素における明度
(ポリゴンにおける明度分布)が計算される。頂点の色
も補間されるが、3頂点共同じ描画用色なので補間して
も結果は同じである。そして、当該画素における明度
が、選択された明度範囲内であれば、当該選択された明
度範囲に対応する描画用色で当該画素が描画される(ス
テップS645)。明度の補間処理は例えば図2におけ
る三角形描画処理部205が実施する。各画素における
明度が、選択された明度範囲内であるかの比較処理は、
例えばピクセルカラー処理部209が実施する。このス
テップS643及びS645は、全ての明度範囲につい
て処理するまで繰り返される(ステップS647)。
【0338】例えばピクセルカラー処理部209が上限
及び下限の2つの明度値を取り扱うことができない場合
には、Zバッファ211を併用することにより同一の効
果を得ることができる。Zバッファ211は隠面消去に
使われるが、本実施の形態ではZバッファ211の併用
は明度の上限値と比較した場合と同様の効果を奏する。
【0339】なお、明度範囲テーブルの最も小さい下限
値の値が0.0でない場合もある。ポリゴン内で何も色
が付されていない部分を無くすため、図24ステップS
647の繰り返しにおいては、最後の繰り返しで下限値
を0.0にしてステップS645が実施される。
【0340】以上ステップS635乃至S647まで
が、立体モデルの全ての頂点について処理するまで繰り
返され、結果として全てのポリゴンについて処理するま
で繰り返される(ステップS649)。
【0341】以上のような処理を実施すると、立体モデ
ルの全てのポリゴンが所定の段階の明度で塗り分けら
れ、立体モデルについてはセルアニメ調の画像を得るこ
とができるようになる。特に、実施の形態4は実施の形
態3より更に高速化されている。また、実施の形態4で
導入された輪郭描画用モデルは、立体モデルの後ろの面
のうち立体モデルに隠れない部分が描画されるので、そ
の部分が輪郭線としてレンダリングされる。実施の形態
4では、輪郭線の描画には、輪郭描画用モデルを導入し
輪郭描画用モデルの表裏判定を逆転するだけで通常レン
ダリング処理とほぼ同様の処理を行うことにより簡単に
輪郭線を描画できるようになる。
【0342】5.その他の実施の形態 (1)実施の形態1及び3においては、立体モデル描画
処理を表す図15でステップS605乃至S609の後
にポリゴンの描画用色を計算する処理がステップS61
1として実施されることになっているが、ステップS6
15で描画用色を使用するまでに計算されていれば問題
は無い。よって、ステップS611を、ステップS60
9又はS605の前に行っても、ステップS609及び
S605と並行して行っても、ステップS613の後に
行っても、ステップS613と並行して行っても良い。
【0343】(2)実施の形態1及び3の立体モデル描
画処理を表す図15におけるステップS609では、Y
IQ変換で光源計算後のポリゴンの頂点の明度Yが計算
される。YIQ変換の結果であるI及びQは使用しない
ので計算しない方が高速であるが、既にYIQ変換を行
うルーチン等が存在している場合には、それを用いてI
及びQを計算しても良い。これについては実施の形態2
及び4でも同様である。
【0344】(3)実施の形態1及び3の立体モデル描
画処理を表す図6におけるステップS615では、ポリ
ゴンの頂点のデータが補間されてポリゴン内部の画素の
データが生成される。この処理は、一度行えばステップ
S617による繰り返しで異なる明度範囲を選択・設定
しても変わらないので、結果を保存しておき、使用する
ようにしても良い。これについては実施の形態2及び4
でも同様である。
【0345】(4)実施の形態1の立体モデル描画処理
を示す図15におけるステップS605では、透視変換
を行うと共に光源計算を行っているが、透視変換はステ
ップS615までに行えばよい。但し、ステップS61
7によるループの外に出したほうが、何回も透視変換し
なくても済む。よって、ステップS605のタイミング
で実行すれば計算量を減らすことができる。これについ
ては実施の形態2及び4でも同様である。
【0346】(5)実施の形態1乃至4では立体モデル
及び輪郭描画用モデルが複数の三角形ポリゴンで構成さ
れているが、四角形以上の多角形ポリゴンを含む複数の
ポリゴンで構成されるとしてもよい。また、両モデルが
曲面を含む複数の面で構成され、各面が1又は複数のポ
リゴンで近似されて処理されるとしてもよい。この場
合、実施の形態1及び2における輪郭描画用モデルの各
ポリゴンの表裏反転は、輪郭描画用モデルの各面の表裏
反転により実施されるとしてもよい。当該各面は描画さ
れるまでに1又は複数のポリゴンで近似されるので、当
該各面の表裏が反転されれば結果的に各ポリゴンの表裏
が反転される。
【0347】(6)図4および図26では、輪郭描画用
モデルの面と立体モデルの面が一対一になっているが、
輪郭描画用モデルの面の数を減らすことも可能である。
面の数が減れば、処理が高速化されるためである。但
し、輪郭描画用モデルの面には立体モデル中に対応する
面が存在する。
【0348】(7)図8に示した処理フローのステップ
S4とステップS6は順番を入れ替えることが可能であ
る。
【0349】(8)使用するハードウエアの変更 上で述べた実施の形態では、立体モデル及び輪郭描画用
モデル描画処理の一部の処理を、グラフィックス処理部
111が実行するような実施の形態を開示したが、立体
モデル及び輪郭描画用モデル描画処理全体をグラフィッ
クス処理部111が行っても、演算処理部103が実行
するようにしても良い。
【0350】また図1は一例であって、様々な変更が可
能である。例えば、ゲーム装置ならば、インターフェー
ス部117にデータを保存するためのメモリカードの読
み書きインターフェースを備えるようにすることも考え
られる。また、通信インターフェース115を備えるか
否かは任意である。本発明は直接サウンド処理には関係
しないので、サウンド処理部109を備えている必要は
無い。
【0351】また、CD−Rは記録媒体の一例であっ
て、RAMのような内部メモリ、フロッピーディスク、
磁気ディスク、DVD−RAM等の他の記録媒体であっ
てもよい。その場合にはCD−Rドライブ113を、対
応する媒体で読み書き可能なドライブにする必要があ
る。更に本発明は記録媒体に書き込むまでの処理と図8
に示された処理とが独立しており、それぞれを互いに異
なるコンピュータで動作させることが可能である。図8
に示された処理では記録媒体からの読み取りが可能であ
ればよいので、図8に示された処理を行うコンピュータ
は、媒体に格納されたプログラム及びデータの読み取り
のみが可能なドライブを備えていればよい。すなわち記
録媒体としては更に、ROMのような内部メモリ、CD
−ROM、DVD−ROM、メモリカートリッジ等の主
に読み取り専用の記録媒体でもよい。その場合にはCD
−Rドライブ113を、対応する媒体を読み取り可能な
ドライブにする必要がある。
【0352】さらに、以上は本発明をコンピュータ・プ
ログラムにより実装した場合であるが、コンピュータ・
プログラムと電子回路などの専用の装置の組み合せ、又
は電子回路などの専用の装置のみによっても実装するこ
とは可能である。その際、図8、図9、図11及び図1
5、図8、図9、図15及び図24、図8、図28、図
29、及び図15、又は図8、図28、図29及び図2
4の各ステップに表される機能毎に装置を構成してもよ
いし、それらの一部又はそれらの組み合せに毎に装置を
構成することも考えられる。
【0353】以上、本発明を実施の形態に基づいて具体
的に説明したが、本発明は上記実施の形態に限定される
ものではなく、その要旨を逸脱しない範囲で適宜変更可
能である。例えば、上記実施の形態では、通常のコンピ
ュータをプラットホームとして本発明を実現した場合に
ついて述べたが、本発明は家庭用ゲーム機、アーケード
ゲーム機などをプラットホームとして実現しても良い。
場合によっては、携帯情報端末、カーナビゲーション・
システム等をプラットホームにして実現することも考え
られる。
【0354】また、本発明を実現するためのプログラム
やデータは、コンピュータやゲーム機に対して着脱可能
なCD−R等の記録媒体により提供される形態に限定さ
れない。すなわち、本発明を実現するためのプログラム
やデータは、図1に示す通信インターフェース115に
より、通信回線141を介して接続されたネットワーク
151上の他の機器側のメモリに上記プログラムやデー
タを記録し、このプログラムやデータを通信回線141
を介して必要に応じて順次メモリ105に格納して使用
する形態であってもよい。
【0355】[表示例]図32に、本発明を使用しない
場合、すなわちポリゴン内の各画素の色をポリゴンの頂
点の色で補間した場合の画像の一表示例を示す。例えば
画像中央部の人物の顔の耳辺りから人物の顔向かって右
側にかけて、明度が自然に変化していく様子がわかる。
一方、図33に、明度範囲(しきい値)が2つ定義され
た明度範囲テーブルを使用し且つ本発明のアルゴリズム
にて描画した場合の画像の一表示例を示す。図33で使
用されている明度範囲テーブルを図34に示す。ここで
はしきい値0.3125に対して基準明度0.75、し
きい値0に対して基準明度0.60と二段階に設定され
ている。図33は図32と異なり、画像中央部の人物の
顔の耳辺りから人物の顔向かって右側にかけて、2段階
の明度で塗り分けられていることがわかる。さらに、髪
の毛や体、鞄などの輪郭線も描画されている事がわか
る。
【0356】本発明のアルゴリズムを使用することによ
り、輪郭線の描かれたセルアニメ調の画像を簡単な処理
にて得ることができる。本発明では、輪郭描画用モデル
を導入したり、フレーム・バッファへの書き込みの際に
明度を格納するα値と明度範囲を比較して所定の描画用
色の書き込み可否を判断するという処理を余分に行うだ
けなので、従来技術により図32のような画像を生成し
たり、本発明のアルゴリズムで図33のような画像を生
成したりすることを簡単に切り替えられる。また、セル
アニメーションを人間の手で描く場合には、例えばキャ
ラクタの様々な状態の画像を作成するには大きな手数が
かかる。また、セルアニメ調のゲームキャラクタが表示
されるゲームにおいても、同様の理由によりあまり多く
の角度からのキャラクタの画像を作成できない。しか
し、本発明を用いれば容易に多数の状態におけるセルア
ニメ調の画像を得ることができ、その手数を大幅に減少
させることができる。
【0357】
【発明の効果】以上本発明によれば、明度のレベルに割
り当てられた代表的な明度に基づいて定められた色で仮
想空間に配置された立体モデルを描画すると共に、当該
立体モデルに基づいて生成され且つ当該立体モデルを包
含する輪郭描画用モデルの内側を所定の配色で描画す
る。これにより、輪郭線が描画される立体モデルに所定
の彩色を施し、立体モデルのセルアニメ調の画像を描画
できるようにするレンダリング方法及び装置並びにレン
ダリング・プログラムを格納したコンピュータ読み取り
可能な記録媒体を提供することができた。
【図面の簡単な説明】
【図1】本発明に係るプログラムを実行するコンピュー
タの一例を示すブロック図である。
【図2】図1におけるグラフィックス処理部の一例を示
すブロック図である。
【図3】実施の形態1の機能ブロック図である。
【図4】実施の形態1及び2におけるカメラ、立体モデ
ル、及び輪郭描画用モデルの位置関係を説明するための
模式図である。立体モデル及び輪郭描画用モデルのおも
て面が向いている方向を矢印で示している。
【図5】明度範囲テーブルの一例を示す表である。
【図6】実施の形態1及び2における輪郭描画用モデル
生成処理のフローチャートである。
【図7】CD−R131に書き込まれたデータの例を示
した模式図である。
【図8】本発明全体の処理を示すフローチャートであ
る。
【図9】実施の形態1及び2の輪郭描画用モデル取得処
理のフローチャートである。
【図10】かすれ表現をするためのテクスチャの一例で
ある。
【図11】実施の形態1及び2の輪郭描画用モデル描画
処理のフローチャートである。
【図12】三角形ポリゴンの表裏判定を説明するための
模式図である。
【図13】表裏を判定する方法を説明するための模式図
である。
【図14】実施の形態1及び2における三角形ポリゴン
の表裏判定を説明するための模式図である。
【図15】実施の形態1及び3における立体モデル描画
処理のフローチャートである。
【図16】ポリゴンモデルのデータ構造を示す模式図で
ある。(a)は立体モデル全体のデータ構造を示し、
(b)は透視変換前の三角形ポリゴンのデータ構造を示
し、(c)は頂点データ・テーブルのデータ構造を示し
ている。
【図17】図16(b)に対応する透視変換後の三角形
ポリゴンのデータ構造を示す。
【図18】明度範囲テーブルの一例を示す表である。
【図19】本発明のアルゴリズムにより三角形ポリゴン
を描画した場合において、処理の各段階を説明するため
の画像の一例である。(a)はしきい値0.75が設定
された場合に描画される領域を示しており、(b)は実
施の形態1においてZバッファを使用しない場合にしき
い値0.5が設定された場合に描画される範囲を示して
おり、(c)は実施の形態1においてZバッファを使用
した場合にしきい値0.5が設定された場合に描画され
る範囲を示している。
【図20】本発明のアルゴリズムにより三角形ポリゴン
を描画した場合の画像の一例である。
【図21】従来技術により三角形ポリゴンを描画した場
合における画像の一例である。
【図22】実施の形態2の機能ブロック図である。
【図23】実施の形態2及び4で使用される三角形ポリ
ゴンのデータ構造の模式図である。図16(b)に対応
するものである。
【図24】実施の形態2及び4における立体モデル描画
処理のフローチャートである。
【図25】実施の形態3の機能ブロック図である。
【図26】実施の形態3及び4におけるカメラ、立体モ
デル、及び輪郭描画用モデルの位置関係を説明するため
の模式図である。立体モデル及び輪郭描画用モデルのお
もて面が向いている方向を矢印で示している。
【図27】実施の形態3及び4における輪郭描画用モデ
ル生成処理のフローチャートである。
【図28】実施の形態3及び4における輪郭描画用モデ
ル取得処理のフローチャートである。
【図29】実施の形態3及び4における輪郭描画用モデ
ル描画処理のフローチャートである。
【図30】実施の形態3及び4における三角形ポリゴン
の表裏判定を説明するための模式図である。
【図31】実施の形態4の機能ブロック図である。
【図32】従来技術によりレンダリングした画像の一表
示例である。
【図33】本発明を用いてレンダリングした画像の一表
示例である。
【図34】図33のレンダリングにおいて使用された明
度範囲テーブルの一例を示す表である。
【符号の説明】
1000 コンピュータ 101 コンピュータ本体
103 演算処理部 105 メモリ 107 HDD 109 サウン
ド処理部 111 グラフィックス処理部 113 CD−Rド
ライブ 115 通信インターフェース 117 インターフ
ェース部 119 内部バス 121 表示装置 125 サ
ウンド出力装置 131 CD−R 141 通信媒体 151 ネ
ットワーク 161 入力装置 201 バス制御部 205 三角形描画処理部
207 幾何演算部 209 ピクセルカラー処理部 211 Zバッファ 213 フレーム・バッファ 300,700 輪郭描画用モデル取得部 305,705 輪郭描画用モデル配置用マトリックス
設定部 310,710 輪郭描画用モデル処理部 315,715 かすれ表現テクスチャ・マッピング部 330,430,730,830 ピクセル処理部 333,433,733,833 明度比較部 337,437,737,837 隠面消去処理部 360,460 頂点変換及び光源計算部 365,465 明度計算部 370 描画用色計
算部 375,475 明度範囲テーブル 380,480
明度範囲設定部 470 描画用色格納部 350,450,750,850 輪郭描画用モデル描
画部 390,490,790,890 立体モデル描画部
フロントページの続き (56)参考文献 特開2000−251094(JP,A) 特開2001−84394(JP,A) 特開2001−79261(JP,A) 特開2001−70634(JP,A) 特開2000−172880(JP,A) R.Raskar,Image Pr ecision Silhouette Edges,Proceedings of the 1999 symposi um on Interactive 3D graphics,米国,AC M,1999年4月26日,135−140 ノンフォトリアル・レンダリングの世 界,日経CG,日本,日経BP,1998年 5月8日,No.140,110−149 中嶋正之,アニメとコンピュータ,情 報処理,日本,情報処理学会,1998年7 月15日,vol.39,No.7,613 http://homepage1. nifty.com/kaneko/a nibody.htm,平成13年6月12 日現在 http://www.red3d. com/cwr/npr/,平成13年6 月12日現在 金子満,3次元CG画像のふちどり線 発生アルゴリズムについて,1994年電子 情報通信学会秋季大会,日本,電子情報 通信学会,1994年9月5日,Vol. 39,No.6,245 (58)調査した分野(Int.Cl.7,DB名) G06T 15/50 200 G06T 15/70 G06T 15/00 JICSTファイル(JOIS)

Claims (16)

    (57)【特許請求の範囲】
  1. 【請求項1】仮想空間内に配置され且つ表現する物体の
    外側を表とする複数のポリゴンで構成された立体モデル
    をレンダリングするレンダリング方法であって、 前記立体モデルに対応し且つ前記立体モデルの各ポリゴ
    ンに対応するポリゴンの表裏が反転された輪郭描画用モ
    デルを取得し、記憶装置に格納する第1ステップと、 前記立体モデルを包含する位置に前記輪郭描画用モデル
    を配置する第2ステップと、 前記輪郭描画用モデルのうち所与の視点位置に対して表
    を向けているポリゴンのみを予め定められた配色で描画
    する第3ステップと、 前記立体モデルを構成するポリゴン毎に、前記所与の視
    点位置に従って前記ポリゴンが描画されるべき領域を計
    算する第4ステップと、 前記ポリゴンの各頂点に対して予め設定されている明度
    に基づいて、前記第4ステップで計算された前記ポリゴ
    ンが描画されるべき領域の第1の明度分布を計算する第
    5ステップと、 明度が一定の範囲でレベル分けされ且つ各レベルに代表
    的な明度が割り当てられており、前記第5ステップで計
    算された前記第1の明度分布を明度のレベル毎に割り当
    てられた前記代表的な明度に置き換えた第2の明度分布
    と、前記ポリゴンに予め設定された色とに基づいて色分
    布を生成して記憶装置に格納し、前記色分布で前記ポリ
    ゴンを描画する第6ステップと、 を含むことを特徴とするレンダリング方法。
  2. 【請求項2】仮想空間内に配置され且つ表現する物体の
    外側を表とする複数のポリゴンで構成された立体モデル
    をレンダリングするレンダリング方法であって、 前記立体モデルに対応し且つ前記立体モデルの各ポリゴ
    ンに対応するポリゴンの表裏が反転された輪郭描画用モ
    デルを取得し、記憶装置に格納する第1ステップと、 前記立体モデルを包含する位置に前記輪郭描画用モデル
    を配置する第2ステップと、 前記立体モデルを構成するポリゴン毎に、所与の視点位
    置に従って前記ポリゴンが描画されるべき領域を計算す
    る第3ステップと、 前記ポリゴンの各頂点に対して予め設定されている明度
    に基づいて、前記第3ステップで計算された前記ポリゴ
    ンが描画されるべき領域の第1の明度分布を計算する第
    4ステップと、 明度が一定の範囲でレベル分けされ且つ各レベルに代表
    的な明度が割り当てられており、前記第4ステップで計
    算された前記第1の明度分布を明度のレベル毎に割り当
    てられた前記代表的な明度に置き換えた第2の明度分布
    と、前記ポリゴンに予め設定された色とに基づいて色分
    布を生成して記憶装置に格納し、前記色分布で前記ポリ
    ゴンを描画する第5ステップと、 前記輪郭描画用モデルのうち前記所与の視点位置に対し
    て表を向けているポリゴンのみを予め定められた配色で
    描画する第6ステップと、 を含むことを特徴とするレンダリング方法。
  3. 【請求項3】仮想空間内に配置され且つ表現する物体の
    外側を表とする複数のポリゴンで構成された立体モデル
    をレンダリングするレンダリング方法であって、 前記立体モデルに対応する輪郭描画用モデルを取得し、
    記憶装置に格納する第1ステップと、 前記立体モデルを包含する位置に前記輪郭描画用モデル
    を配置する第2ステップと、 前記輪郭描画用モデルのうち所与の視点位置に対して裏
    を向けているポリゴンのみを予め定められた配色で描画
    する第3ステップと、 前記立体モデルを構成するポリゴン毎に、前記所与の視
    点位置に従って前記ポリゴンが描画されるべき領域を計
    算する第4ステップと、 前記ポリゴンの各頂点に対して予め設定されている明度
    に基づいて、前記第4ステップで計算された前記ポリゴ
    ンが描画されるべき領域の第1の明度分布を計算する第
    5ステップと、 明度が一定の範囲でレベル分けされ且つ各レベルに代表
    的な明度が割り当てられており、前記第5ステップで計
    算された前記第1の明度分布を明度のレベル毎に割り当
    てられた前記代表的な明度に置き換えた第2の明度分布
    と、前記ポリゴンに予め設定された色とに基づいて色分
    布を生成して記憶装置に格納し、前記色分布で前記ポリ
    ゴンを描画する第6ステップと、 を含むことを特徴とするレンダリング方法。
  4. 【請求項4】仮想空間内に配置され且つ表現する物体の
    外側を表とする複数のポリゴンで構成された立体モデル
    をレンダリングするレンダリング方法であって、 前記立体モデルに対応する輪郭描画用モデルを取得し、
    記憶装置に格納する第1ステップと、 前記立体モデルを包含する位置に前記輪郭描画用モデル
    を配置する第2ステップと、 前記立体モデルを構成するポリゴン毎に、所与の視点位
    置に従って前記ポリゴンが描画されるべき領域を計算す
    る第3ステップと、 前記ポリゴンの各頂点に対して予め設定されている明度
    に基づいて、前記第3ステップで計算された前記ポリゴ
    ンが描画されるべき領域の第1の明度分布を計算する第
    4ステップと、 明度が一定の範囲でレベル分けされ且つ各レベルに代表
    的な明度が割り当てられており、前記第4ステップで計
    算された前記第1の明度分布を明度のレベル毎に割り当
    てられた前記代表的な明度に置き換えた第2の明度分布
    と、前記ポリゴンに予め設定された色とに基づいて色分
    布を生成して記憶装置に格納し、前記色分布で前記ポリ
    ゴンを描画する第5ステップと、 前記輪郭描画用モデルのうち前記所与の視点位置に対し
    て裏を向けているポリゴンのみを予め定められた配色で
    描画する第6ステップと、 を含むことを特徴とするレンダリング方法。
  5. 【請求項5】仮想空間内に配置され且つ表現する物体の
    外側を表とする複数のポリゴンで構成された立体モデル
    をレンダリングするレンダリング方法であって、 前記立体モデルに対応し且つ前記立体モデルの各ポリゴ
    ンに対応するポリゴンの表裏が反転された輪郭描画用モ
    デルを取得し、記憶装置に格納する第1ステップと、 前記立体モデルを包含する位置に前記輪郭描画用モデル
    を配置する第2ステップと、 前記輪郭描画用モデルのうち所与の視点位置に対して表
    を向けているポリゴンのみを予め定められた配色で描画
    する第3ステップと、 前記立体モデルを構成するポリゴン毎に、前記所与の視
    点位置に従って前記ポリゴンが描画されるべき領域を計
    算する第4ステップと、 明度は一定の範囲でレベル分けされており、各々基準明
    度が予め対応づけられた複数の明度レベルから、一つず
    つ明度レベルを選択する第5ステップと、 前記第5ステップで明度レベルが選択される毎に、前記
    ポリゴンの各頂点に対して予め設定されている明度に基
    づき、前記第4ステップで計算された前記ポリゴンが描
    画されるべき領域の各画素位置における明度を計算し、
    当該各画素位置における明度が前記選択された明度レベ
    ルに対応する明度の範囲内である場合のみ、前記選択さ
    れた明度レベルに対応する基準明度及び前記ポリゴンに
    予め設定された色に基づく色を記憶装置に格納し、当該
    画素を描画する第6ステップと、 を含むことを特徴とするレンダリング方法。
  6. 【請求項6】仮想空間内に配置され且つ表現する物体の
    外側を表とする複数のポリゴンで構成された立体モデル
    をレンダリングするレンダリング方法であって、 前記立体モデルに対応し且つ前記立体モデルの各ポリゴ
    ンに対応するポリゴンの表裏が反転された輪郭描画用モ
    デルを取得し、記憶装置に格納する第1ステップと、 前記立体モデルを包含する位置に前記輪郭描画用モデル
    を配置する第2ステップと、 前記立体モデルを構成するポリゴン毎に、所与の視点位
    置に従って前記ポリゴンが描画されるべき領域を計算す
    る第3ステップと、 明度は一定の範囲でレベル分けされており、各々基準明
    度が予め対応づけられた複数の明度レベルから、一つず
    つ明度レベルを選択する第4ステップと、 前記第4ステップで明度レベルが選択される毎に、前記
    ポリゴンの各頂点に対して予め設定されている明度に基
    づき、前記第3ステップで計算された前記ポリゴンが描
    画されるべき領域の各画素位置における明度を計算し、
    当該各画素位置における明度が前記選択された明度レベ
    ルに対応する明度の範囲内である場合のみ、前記選択さ
    れた明度レベルに対応する基準明度及び前記ポリゴンに
    予め設定された色に基づく色を記憶装置に格納し、当該
    画素を描画する第5ステップと、 前記輪郭描画用モデルのうち前記所与の視点位置に対し
    て表を向けているポリゴンのみを予め定められた配色で
    描画する第6ステップと、 を含むことを特徴とするレンダリング方法。
  7. 【請求項7】仮想空間内に配置され且つ表現する物体の
    外側を表とする複数のポリゴンで構成された立体モデル
    をレンダリングするレンダリング方法であって、 前記立体モデルに対応する輪郭描画用モデルを取得し、
    記憶装置に格納する第1ステップと、 前記立体モデルを包含する位置に前記輪郭描画用モデル
    を配置する第2ステップと、 前記輪郭描画用モデルのうち所与の視点位置に対して裏
    を向けているポリゴンのみを予め定められた配色で描画
    する第3ステップと、 前記立体モデルを構成するポリゴン毎に、前記所与の視
    点位置に従って前記ポリゴンが描画されるべき領域を計
    算する第4ステップと、 明度は一定の範囲でレベル分けされており、各々基準明
    度が予め対応づけられた複数の明度レベルから、一つず
    つ明度レベルを選択する第5ステップと、 前記第5ステップで明度レベルが選択される毎に、前記
    ポリゴンの各頂点に対して予め設定されている明度に基
    づき、前記第4ステップで計算された前記ポリゴンが描
    画されるべき領域の各画素位置における明度を計算し、
    当該各画素位置における明度が前記選択された明度レベ
    ルに対応する明度の範囲内である場合のみ、前記選択さ
    れた明度レベルに対応する基準明度及び前記ポリゴンに
    予め設定された色に基づく色を記憶装置に格納し、当該
    画素を描画する第6ステップと、 を含むことを特徴とするレンダリング方法。
  8. 【請求項8】仮想空間内に配置され且つ表現する物体の
    外側を表とする複数のポリゴンで構成された立体モデル
    をレンダリングするレンダリング方法であって、 前記立体モデルに対応する輪郭描画用モデルを取得し、
    記憶装置に格納する第1ステップと、 前記立体モデルを包含する位置に前記輪郭描画用モデル
    を配置する第2ステップと、 前記立体モデルを構成するポリゴン毎に、所与の視点位
    置に従って前記ポリゴンが描画されるべき領域を計算す
    る第3ステップと、 明度は一定の範囲でレベル分けされており、各々基準明
    度が予め対応づけられた複数の明度レベルから、一つず
    つ明度レベルを選択する第4ステップと、 前記第4ステップで明度レベルが選択される毎に、前記
    ポリゴンの各頂点に対して予め設定されている明度に基
    づき、前記第3ステップで計算された前記ポリゴンが描
    画されるべき領域の各画素位置における明度を計算し、
    当該各画素位置における明度が前記選択された明度レベ
    ルに対応する明度の範囲内である場合のみ、前記選択さ
    れた明度レベルに対応する基準明度及び前記ポリゴンに
    予め設定された色に基づく色を記憶装置に格納し、当該
    画素を描画する第5ステップと、前記輪郭描画用モデル
    のうち前記所与の視点位置に対して裏を向けているポリ
    ゴンのみを予め定められた配色で描画する第6ステップ
    と、 を含むことを特徴とするレンダリング方法。
  9. 【請求項9】仮想空間内に配置され且つ表現する物体の
    外側を表とする複数のポリゴンで構成された立体モデル
    をレンダリングするプログラムを格納した、コンピュー
    タ読み取り可能な記録媒体であって、 前記プログラムは、前記コンピュータに、 前記立体モデルに対応し且つ前記立体モデルの各ポリゴ
    ンに対応するポリゴンの表裏が反転された輪郭描画用モ
    デルを取得し、記憶装置に格納する第1ステップと、 前記立体モデルを包含する位置に前記輪郭描画用モデル
    を配置する第2ステップと、 前記輪郭描画用モデルのうち所与の視点位置に対して表
    を向けているポリゴンのみを予め定められた配色で描画
    する第3ステップと、 前記立体モデルを構成するポリゴン毎に、前記所与の視
    点位置に従って前記ポリゴンが描画されるべき領域を計
    算する第4ステップと、 前記ポリゴンの各頂点に対して予め設定されている明度
    に基づいて、前記第4ステップで計算された前記ポリゴ
    ンが描画されるべき領域の第1の明度分布を計算する第
    5ステップと、 明度が一定の範囲でレベル分けされ且つ各レベルに代表
    的な明度が割り当てられており、前記第5ステップで計
    算された前記第1の明度分布を明度のレベル毎に割り当
    てられた前記代表的な明度に置き換えた第2の明度分布
    と、前記ポリゴンに予め設定された色とに基づいて色分
    布を生成して記憶装置に格納し、前記色分布で前記ポリ
    ゴンを描画する第6ステップと、 を実行させるためのプログラムであることを特徴とす
    る、コンピュータ読み取り可能な記録媒体。
  10. 【請求項10】仮想空間内に配置され且つ表現する物体
    の外側を表とする複数のポリゴンで構成された立体モデ
    ルをレンダリングするプログラムを格納した、コンピュ
    ータ読み取り可能な記録媒体であって、 前記プログラムは、前記コンピュータに、 前記立体モデルに対応し且つ前記立体モデルの各ポリゴ
    ンに対応するポリゴンの表裏が反転された輪郭描画用モ
    デルを取得し、記憶装置に格納する第1ステップと、 前記立体モデルを包含する位置に前記輪郭描画用モデル
    を配置する第2ステップと、 前記立体モデルを構成するポリゴン毎に、所与の視点位
    置に従って前記ポリゴンが描画されるべき領域を計算す
    る第3ステップと、 前記ポリゴンの各頂点に対して予め設定されている明度
    に基づいて、前記第3ステップで計算された前記ポリゴ
    ンが描画されるべき領域の第1の明度分布を計算する第
    4ステップと、 明度が一定の範囲でレベル分けされ且つ各レベルに代表
    的な明度が割り当てられており、前記第4ステップで計
    算された前記第1の明度分布を明度のレベル毎に割り当
    てられた前記代表的な明度に置き換えた第2の明度分布
    と、前記ポリゴンに予め設定された色とに基づいて色分
    布を生成して記憶装置に格納し、前記色分布で前記ポリ
    ゴンを描画する第5ステップと、 前記輪郭描画用モデルのうち前記所与の視点位置に対し
    て表を向けているポリゴンのみを予め定められた配色で
    描画する第6ステップと、 を実行させるためのプログラムであることを特徴とす
    る、コンピュータ読み取り可能な記録媒体。
  11. 【請求項11】仮想空間内に配置され且つ表現する物体
    の外側を表とする複数のポリゴンで構成された立体モデ
    ルをレンダリングするプログラムを格納した、コンピュ
    ータ読み取り可能な記録媒体であって、 前記プログラムは、前記コンピュータに、 前記立体モデルに対応する輪郭描画用モデルを取得し、
    記憶装置に格納する第1ステップと、 前記立体モデルを包含する位置に前記輪郭描画用モデル
    を配置する第2ステップと、 前記輪郭描画用モデルのうち所与の視点位置に対して裏
    を向けているポリゴンのみを予め定められた配色で描画
    する第3ステップと、 前記立体モデルを構成するポリゴン毎に、前記所与の視
    点位置に従って前記ポリゴンが描画されるべき領域を計
    算する第4ステップと、 前記ポリゴンの各頂点に対して予め設定されている明度
    に基づいて、前記第4ステップで計算された前記ポリゴ
    ンが描画されるべき領域の第1の明度分布を計算する第
    5ステップと、 明度が一定の範囲でレベル分けされ且つ各レベルに代表
    的な明度が割り当てられており、前記第5ステップで計
    算された前記第1の明度分布を明度のレベル毎に割り当
    てられた前記代表的な明度に置き換えた第2の明度分布
    と、前記ポリゴンに予め設定された色とに基づいて色分
    布を生成して記憶装置に格納し、前記色分布で前記ポリ
    ゴンを描画する第6ステップと、 を実行させるためのプログラムであることを特徴とす
    る、コンピュータ読み取り可能な記録媒体。
  12. 【請求項12】仮想空間内に配置され且つ表現する物体
    の外側を表とする複数のポリゴンで構成された立体モデ
    ルをレンダリングするプログラムを格納した、コンピュ
    ータ読み取り可能な記録媒体であって、 前記プログラムは、前記コンピュータに、 前記立体モデルに対応する輪郭描画用モデルを取得し、
    記憶装置に格納する第1ステップと、 前記立体モデルを包含する位置に前記輪郭描画用モデル
    を配置する第2ステップと、 前記立体モデルを構成するポリゴン毎に、所与の視点位
    置に従って前記ポリゴンが描画されるべき領域を計算す
    る第3ステップと、 前記ポリゴンの各頂点に対して予め設定されている明度
    に基づいて、前記第3ステップで計算された前記ポリゴ
    ンが描画されるべき領域の第1の明度分布を計算する第
    4ステップと、 明度が一定の範囲でレベル分けされ且つ各レベルに代表
    的な明度が割り当てられており、前記第4ステップで計
    算された前記第1の明度分布を明度のレベル毎に割り当
    てられた前記代表的な明度に置き換えた第2の明度分布
    と、前記ポリゴンに予め設定された色とに基づいて色分
    布を生成して記憶装置に格納し、前記色分布で前記ポリ
    ゴンを描画する第5ステップと、 前記輪郭描画用モデルのうち前記所与の視点位置に対し
    て裏を向けているポリゴンのみを予め定められた配色で
    描画する第6ステップと、 を実行させるためのプログラムであることを特徴とす
    る、コンピュータ読み取り可能な記録媒体。
  13. 【請求項13】仮想空間内に配置され且つ表現する物体
    の外側を表とする複数のポリゴンで構成された立体モデ
    ルをレンダリングするプログラムを格納した、コンピュ
    ータ読み取り可能な記録媒体であって、 前記プログラムは、前記コンピュータに、 前記立体モデルに対応し且つ前記立体モデルの各ポリゴ
    ンに対応するポリゴンの表裏が反転された輪郭描画用モ
    デルを取得し、記憶装置に格納する第1ステップと、 前記立体モデルを包含する位置に前記輪郭描画用モデル
    を配置する第2ステップと、 前記輪郭描画用モデルのうち所与の視点位置に対して表
    を向けているポリゴンのみを予め定められた配色で描画
    する第3ステップと、 前記立体モデルを構成するポリゴン毎に、前記所与の視
    点位置に従って前記ポリゴンが描画されるべき領域を計
    算する第4ステップと、 明度は一定の範囲でレベル分けされており、各々基準明
    度が予め対応づけられた複数の明度レベルから、一つず
    つ明度レベルを選択する第5ステップと、 前記第5ステップで明度レベルが選択される毎に、前記
    ポリゴンの各頂点に対して予め設定されている明度に基
    づき、前記第4ステップで計算された前記ポリゴンが描
    画されるべき領域の各画素位置における明度を計算し、
    当該各画素位置における明度が前記選択された明度レベ
    ルに対応する明度の範囲内である場合のみ、前記選択さ
    れた明度レベルに対応する基準明度及び前記ポリゴンに
    予め設定された色に基づく色を記憶装置に格納し、当該
    画素を描画する第6ステップと、 を実行させるためのプログラムであることを特徴とす
    る、コンピュータ読み取り可能な記録媒体。
  14. 【請求項14】仮想空間内に配置され且つ表現する物体
    の外側を表とする複数のポリゴンで構成された立体モデ
    ルをレンダリングするプログラムを格納した、コンピュ
    ータ読み取り可能な記録媒体であって、 前記プログラムは、前記コンピュータに、 前記立体モデルに対応し且つ前記立体モデルの各ポリゴ
    ンに対応するポリゴンの表裏が反転された輪郭描画用モ
    デルを取得し、記憶装置に格納する第1ステップと、 前記立体モデルを包含する位置に前記輪郭描画用モデル
    を配置する第2ステップと、 前記立体モデルを構成するポリゴン毎に、所与の視点位
    置に従って前記ポリゴンが描画されるべき領域を計算す
    る第3ステップと、 明度は一定の範囲でレベル分けされており、各々基準明
    度が予め対応づけられた複数の明度レベルから、一つず
    つ明度レベルを選択する第4ステップと、 前記第4ステップで明度レベルが選択される毎に、前記
    ポリゴンの各頂点に対して予め設定されている明度に基
    づき、前記第3ステップで計算された前記ポリゴンが描
    画されるべき領域の各画素位置における明度を計算し、
    当該各画素位置における明度が前記選択された明度レベ
    ルに対応する明度の範囲内である場合のみ、前記選択さ
    れた明度レベルに対応する基準明度及び前記ポリゴンに
    予め設定された色に基づく色を記憶装置に格納し、当該
    画素を描画する第5ステップと、 前記輪郭描画用モデルのうち前記所与の視点位置に対し
    て表を向けているポリゴンのみを予め定められた配色で
    描画する第6ステップと、 を実行させるためのプログラムであることを特徴とす
    る、コンピュータ読み取り可能な記録媒体。
  15. 【請求項15】仮想空間内に配置され且つ表現する物体
    の外側を表とする複数のポリゴンで構成された立体モデ
    ルをレンダリングするプログラムを格納した、コンピュ
    ータ読み取り可能な記録媒体であって、 前記プログラムは、前記コンピュータに、 前記立体モデルに対応する輪郭描画用モデルを取得し、
    記憶装置に格納する第1ステップと、 前記立体モデルを包含する位置に前記輪郭描画用モデル
    を配置する第2ステップと、 前記輪郭描画用モデルのうち所与の視点位置に対して裏
    を向けているポリゴンのみを予め定められた配色で描画
    する第3ステップと、 前記立体モデルを構成するポリゴン毎に、前記所与の視
    点位置に従って前記ポリゴンが描画されるべき領域を計
    算する第4ステップと、 明度は一定の範囲でレベル分けされており、各々基準明
    度が予め対応づけられた複数の明度レベルから、一つず
    つ明度レベルを選択する第5ステップと、 前記第5ステップで明度レベルが選択される毎に、前記
    ポリゴンの各頂点に対して予め設定されている明度に基
    づき、前記第4ステップで計算された前記ポリゴンが描
    画されるべき領域の各画素位置における明度を計算し、
    当該各画素位置における明度が前記選択された明度レベ
    ルに対応する明度の範囲内である場合のみ、前記選択さ
    れた明度レベルに対応する基準明度及び前記ポリゴンに
    予め設定された色に基づく色を記憶装置に格納し、当該
    画素を描画する第6ステップと、 を実行させるためのプログラムであることを特徴とす
    る、コンピュータ読み取り可能な記録媒体。
  16. 【請求項16】仮想空間内に配置され且つ表現する物体
    の外側を表とする複数のポリゴンで構成された立体モデ
    ルをレンダリングするプログラムを格納した、コンピュ
    ータ読み取り可能な記録媒体であって、 前記プログラムは、前記コンピュータに、 前記立体モデルに対応する輪郭描画用モデルを取得し、
    記憶装置に格納する第1ステップと、 前記立体モデルを包含する位置に前記輪郭描画用モデル
    を配置する第2ステップと、 前記立体モデルを構成するポリゴン毎に、所与の視点位
    置に従って前記ポリゴンが描画されるべき領域を計算す
    る第3ステップと、 明度は一定の範囲でレベル分けされており、各々基準明
    度が予め対応づけられた複数の明度レベルから、一つず
    つ明度レベルを選択する第4ステップと、 前記第4ステップで明度レベルが選択される毎に、前記
    ポリゴンの各頂点に対して予め設定されている明度に基
    づき、前記第3ステップで計算された前記ポリゴンが描
    画されるべき領域の各画素位置における明度を計算し、
    当該各画素位置における明度が前記選択された明度レベ
    ルに対応する明度の範囲内である場合のみ、前記選択さ
    れた明度レベルに対応する基準明度及び前記ポリゴンに
    予め設定された色に基づく色を記憶装置に格納し、当該
    画素を描画する第5ステップと、 前記輪郭描画用モデルのうち前記所与の視点位置に対し
    て裏を向けているポリゴンのみを予め定められた配色で
    描画する第6ステップと、 を実行させるためのプログラムであることを特徴とす
    る、コンピュータ読み取り可能な記録媒体。
JP27522999A 1999-09-28 1999-09-28 レンダリング方法及び装置、ゲーム装置、並びに立体モデルをレンダリングするプログラムを格納するコンピュータ読み取り可能な記録媒体 Expired - Lifetime JP3253020B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP27522999A JP3253020B2 (ja) 1999-09-28 1999-09-28 レンダリング方法及び装置、ゲーム装置、並びに立体モデルをレンダリングするプログラムを格納するコンピュータ読み取り可能な記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP27522999A JP3253020B2 (ja) 1999-09-28 1999-09-28 レンダリング方法及び装置、ゲーム装置、並びに立体モデルをレンダリングするプログラムを格納するコンピュータ読み取り可能な記録媒体

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2000294741A Division JP3372034B2 (ja) 2000-09-27 2000-09-27 レンダリング方法及び装置、ゲーム装置、並びに立体モデルをレンダリングするプログラムを格納するコンピュータ読み取り可能な記録媒体

Publications (2)

Publication Number Publication Date
JP2001101441A JP2001101441A (ja) 2001-04-13
JP3253020B2 true JP3253020B2 (ja) 2002-02-04

Family

ID=17552514

Family Applications (1)

Application Number Title Priority Date Filing Date
JP27522999A Expired - Lifetime JP3253020B2 (ja) 1999-09-28 1999-09-28 レンダリング方法及び装置、ゲーム装置、並びに立体モデルをレンダリングするプログラムを格納するコンピュータ読み取り可能な記録媒体

Country Status (1)

Country Link
JP (1) JP3253020B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7064753B2 (en) 2002-09-19 2006-06-20 Namco Ltd. Image generating method, storage medium, image generating apparatus, data signal and program
US7327364B2 (en) 2002-09-19 2008-02-05 Namco Bandai Games Inc Method and apparatus for rendering three-dimensional images of objects with hand-drawn appearance in real time

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7046242B2 (en) 2000-06-05 2006-05-16 Namco Ltd. Game system, program and image generating method
JP4560711B2 (ja) 2004-06-22 2010-10-13 株式会社セガ 画像処理
JP4617501B2 (ja) * 2007-12-10 2011-01-26 株式会社セガ テクスチャマッピング方法、プログラム及び装置
JP5610129B2 (ja) 2010-03-26 2014-10-22 富士通株式会社 3次元テンプレート変形方法、装置及びプログラム
CN113350789B (zh) * 2021-05-19 2024-04-09 广州三七极创网络科技有限公司 一种虚拟角色的边缘处理方法、装置、设备和存储介质
CN113706674B (zh) * 2021-07-30 2023-11-24 北京原力棱镜科技有限公司 模型贴图的制作方法及装置、存储介质、计算机设备
CN113658316B (zh) * 2021-10-18 2022-03-08 北京市商汤科技开发有限公司 三维模型的渲染方法和装置、存储介质及计算机设备

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
http://homepage1.nifty.com/kaneko/anibody.htm,平成13年6月12日現在
http://www.red3d.com/cwr/npr/,平成13年6月12日現在
R.Raskar,Image Precision Silhouette Edges,Proceedings of the 1999 symposium on Interactive 3D graphics,米国,ACM,1999年4月26日,135−140
ノンフォトリアル・レンダリングの世界,日経CG,日本,日経BP,1998年5月8日,No.140,110−149
中嶋正之,アニメとコンピュータ,情報処理,日本,情報処理学会,1998年7月15日,vol.39,No.7,613
金子満,3次元CG画像のふちどり線発生アルゴリズムについて,1994年電子情報通信学会秋季大会,日本,電子情報通信学会,1994年9月5日,Vol.39,No.6,245

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7064753B2 (en) 2002-09-19 2006-06-20 Namco Ltd. Image generating method, storage medium, image generating apparatus, data signal and program
US7327364B2 (en) 2002-09-19 2008-02-05 Namco Bandai Games Inc Method and apparatus for rendering three-dimensional images of objects with hand-drawn appearance in real time

Also Published As

Publication number Publication date
JP2001101441A (ja) 2001-04-13

Similar Documents

Publication Publication Date Title
US6650327B1 (en) Display system having floating point rasterization and floating point framebuffering
US7583264B2 (en) Apparatus and program for image generation
US8223149B2 (en) Cone-culled soft shadows
JP3352982B2 (ja) レンダリング方法及び装置、ゲーム装置、並びに立体モデルをレンダリングするプログラムを格納するコンピュータ読み取り可能な記録媒体
US7064753B2 (en) Image generating method, storage medium, image generating apparatus, data signal and program
JP3253020B2 (ja) レンダリング方法及び装置、ゲーム装置、並びに立体モデルをレンダリングするプログラムを格納するコンピュータ読み取り可能な記録媒体
JP3502796B2 (ja) ビデオゲームにおける立体モデル表示方法及び装置、ゲーム装置並びにビデオゲーム用立体モデル表示プログラムを格納したコンピュータ読み取り可能な記録媒体
JPH0927045A (ja) 画像処理装置
JP3748451B1 (ja) プログラム、情報記憶媒体、及び画像生成システム
JP3231029B2 (ja) レンダリング方法及び装置、ゲーム装置、並びに立体モデルをレンダリングするためのプログラムを格納したコンピュータ読み取り可能な記録媒体
JP2001188917A (ja) 3次元コンピュータ画像処理のプログラムを記録したコンピュータ読み取り可能な記録媒体および影描画処理方法およびビデオゲーム装置
JP3372034B2 (ja) レンダリング方法及び装置、ゲーム装置、並びに立体モデルをレンダリングするプログラムを格納するコンピュータ読み取り可能な記録媒体
JP3052839B2 (ja) 画像処理装置及びその処理方法
JP2763481B2 (ja) 画像合成装置及び画像合成方法
JP3586253B2 (ja) テクスチャマッピングプログラム
US7724255B2 (en) Program, information storage medium, and image generation system
JP4480210B2 (ja) 3次元コンピュータグラフィックを処理する画像処理装置、画像処理方法および記録媒体
JPH07296188A (ja) 疑似3次元キャラクタ描画装置
JP2006277490A (ja) プログラム、情報記憶媒体及び画像生成システム
JP2000322597A (ja) 画像生成装置及び記録媒体

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20011108

R150 Certificate of patent or registration of utility model

Ref document number: 3253020

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071122

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081122

Year of fee payment: 7

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091122

Year of fee payment: 8

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091122

Year of fee payment: 8

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091122

Year of fee payment: 8

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091122

Year of fee payment: 8

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091122

Year of fee payment: 8

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091122

Year of fee payment: 8

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091122

Year of fee payment: 8

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091122

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101122

Year of fee payment: 9

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111122

Year of fee payment: 10

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121122

Year of fee payment: 11

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121122

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131122

Year of fee payment: 12

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131122

Year of fee payment: 12

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131122

Year of fee payment: 12

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term