JPH0935087A - 陰影処理方法及び装置 - Google Patents
陰影処理方法及び装置Info
- Publication number
- JPH0935087A JPH0935087A JP7183815A JP18381595A JPH0935087A JP H0935087 A JPH0935087 A JP H0935087A JP 7183815 A JP7183815 A JP 7183815A JP 18381595 A JP18381595 A JP 18381595A JP H0935087 A JPH0935087 A JP H0935087A
- Authority
- JP
- Japan
- Prior art keywords
- shadow
- model
- dimensional
- light source
- parameters
- 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.)
- Pending
Links
Landscapes
- Digital Computer Display Output (AREA)
- Image Generation (AREA)
Abstract
(57)【要約】
【目的】CGにおける3次元形状物体への陰影づけに際
し、処理量を削減することで描画速度を向上させる。 【構成】陰影を作る3次元形状物体を楕円体の立体の集
合として近似する手段と、その立体の形状および方向
と、光の当たる方向からその立体の遮えい面を求める手
段と、遮えい面をポリゴンに近似する手段と、そのポリ
ゴンによる陰影を求める手段からなる。 【効果】複雑な形状の3次元形状物体を、2次元のポリ
ゴンの集合と近似することで、陰影を求めるときの処理
量を大幅に少なくすることができる。またどの方向から
みても投影面が楕円となる楕円体の性質を利用すること
で、遮えい面を求める処理量も少なくすることができ
る。
し、処理量を削減することで描画速度を向上させる。 【構成】陰影を作る3次元形状物体を楕円体の立体の集
合として近似する手段と、その立体の形状および方向
と、光の当たる方向からその立体の遮えい面を求める手
段と、遮えい面をポリゴンに近似する手段と、そのポリ
ゴンによる陰影を求める手段からなる。 【効果】複雑な形状の3次元形状物体を、2次元のポリ
ゴンの集合と近似することで、陰影を求めるときの処理
量を大幅に少なくすることができる。またどの方向から
みても投影面が楕円となる楕円体の性質を利用すること
で、遮えい面を求める処理量も少なくすることができ
る。
Description
【0001】
【産業上の利用分野】本発明は、映画、ゲーム、芸術、
科学などの産業に関し、特にコンピュータにより画像や
映像の作成や表示を行う方法、または装置に関する。
科学などの産業に関し、特にコンピュータにより画像や
映像の作成や表示を行う方法、または装置に関する。
【0002】
【従来の技術】コンピュータグラフィックス(以下、C
Gという)とは、コンピュータ等を用い、画像や映像を
作成する技術、あるいはその作品を示し、最近では、マ
ルチメディアの分野で一般にも大きく関わってきてい
る。CGに関する技術としては、形状をコンピュータで
扱うデータ形式に変換するモデリング技術、透視投影な
どの3次元処理技術、表面をリアルに色づけするための
レンダリング技術などがある。
Gという)とは、コンピュータ等を用い、画像や映像を
作成する技術、あるいはその作品を示し、最近では、マ
ルチメディアの分野で一般にも大きく関わってきてい
る。CGに関する技術としては、形状をコンピュータで
扱うデータ形式に変換するモデリング技術、透視投影な
どの3次元処理技術、表面をリアルに色づけするための
レンダリング技術などがある。
【0003】一般に、現在用いられているCG作成手法
は、3次元物体を三角形や四角形などの多角形(以下、
ポリゴン)の集合としてモデル化し(メッシュ分割)、
視点からの物体の重なりを求め、光源や物体の性質に応
じて表面処理を行なうプロセスをとるものが多い。一
方、CGでは、現実の物をなるべくリアルに映像表現し
たい、という要求がある。3次元物体をリアルに見せる
ための効果の一つとして、陰影をつけることが考えられ
るが、その技術としては、レイトレーシング、2段階
法、シャドウボリュームなどがある。
は、3次元物体を三角形や四角形などの多角形(以下、
ポリゴン)の集合としてモデル化し(メッシュ分割)、
視点からの物体の重なりを求め、光源や物体の性質に応
じて表面処理を行なうプロセスをとるものが多い。一
方、CGでは、現実の物をなるべくリアルに映像表現し
たい、という要求がある。3次元物体をリアルに見せる
ための効果の一つとして、陰影をつけることが考えられ
るが、その技術としては、レイトレーシング、2段階
法、シャドウボリュームなどがある。
【0004】レイトレーシングは、視線を物体側から逆
探索して、光源に行き着くまでに物体が存在すればその
部分を陰影とする方法である。2段階法は、視点からの
透視図と、光源からの透視図の2つを求め、光源からの
透視図に現われない部分を陰影として視点からの透視図
に重ね合わせる方法である。シャドウボリュームは、光
源と、遮えい面によって生じる陰影の領域を影立体(シ
ャドウボリューム)として求め、この立体と重なる物体
の交差部分を陰影とする方法である。
探索して、光源に行き着くまでに物体が存在すればその
部分を陰影とする方法である。2段階法は、視点からの
透視図と、光源からの透視図の2つを求め、光源からの
透視図に現われない部分を陰影として視点からの透視図
に重ね合わせる方法である。シャドウボリュームは、光
源と、遮えい面によって生じる陰影の領域を影立体(シ
ャドウボリューム)として求め、この立体と重なる物体
の交差部分を陰影とする方法である。
【0005】また、コンピュータにより陰影を付加させ
る手法に関する文献としては、“シャドウアルゴリズム
フォー コンピュータ グラフィックス” 197
7’シーグラフ(Shadow Algorithms
for ComputerGraphics” 19
77’ SIGGRAPH)がよく知られている。陰影
処理をハードウェアで行なうことにより高速処理を可能
にする既出願特許として、特開平4−65780号公報
がある。また、光源のあたる物体を判別し、判別結果に
もとづき描画処理を施すことにより、陰影付加時間を短
縮する既出願特許として特開平2−24785号公報が
ある。
る手法に関する文献としては、“シャドウアルゴリズム
フォー コンピュータ グラフィックス” 197
7’シーグラフ(Shadow Algorithms
for ComputerGraphics” 19
77’ SIGGRAPH)がよく知られている。陰影
処理をハードウェアで行なうことにより高速処理を可能
にする既出願特許として、特開平4−65780号公報
がある。また、光源のあたる物体を判別し、判別結果に
もとづき描画処理を施すことにより、陰影付加時間を短
縮する既出願特許として特開平2−24785号公報が
ある。
【0006】
【発明が解決しようとする課題】CGにおいてある物体
が他の物体につくる陰影を求めようとすると、その計算
量の問題から、CGの描画処理速度が極端に落ちるとい
う問題がある。もし画面内の物体(オブジェクト)が移
動せず、光源の位置も変化しないときには、陰影の形状
は変わらないので、あらかじめCGデータ作成のときに
一度陰影を求めておけばよい。しかし、物体が移動した
り、光源の方向が動的に変化するときは、そのたびに陰
影を求める必要がある。
が他の物体につくる陰影を求めようとすると、その計算
量の問題から、CGの描画処理速度が極端に落ちるとい
う問題がある。もし画面内の物体(オブジェクト)が移
動せず、光源の位置も変化しないときには、陰影の形状
は変わらないので、あらかじめCGデータ作成のときに
一度陰影を求めておけばよい。しかし、物体が移動した
り、光源の方向が動的に変化するときは、そのたびに陰
影を求める必要がある。
【0007】画像内の物体や光源が動く画像に対して、
リアルタイム(秒数10コマ程度)でこのようなデータ
に陰影をつけることは、現在のハードウェアの処理能力
などを考慮した場合、現実的に不可能なものとなってい
る。表示されている3次元の物体が任意の方向に移動し
たり、光源の位置、方向が変化したときは、そのたびに
陰影の形状を計算する必要がある。一般に、現実の物体
や風景をある程度リアルにモデル化しようとすると、陰
影を作る物体(オブジェクト)は、それぞれ数千ポリゴ
ン程度のものとなり、画像全体で数万ポリゴンを超えて
しまうことも多い。
リアルタイム(秒数10コマ程度)でこのようなデータ
に陰影をつけることは、現在のハードウェアの処理能力
などを考慮した場合、現実的に不可能なものとなってい
る。表示されている3次元の物体が任意の方向に移動し
たり、光源の位置、方向が変化したときは、そのたびに
陰影の形状を計算する必要がある。一般に、現実の物体
や風景をある程度リアルにモデル化しようとすると、陰
影を作る物体(オブジェクト)は、それぞれ数千ポリゴ
ン程度のものとなり、画像全体で数万ポリゴンを超えて
しまうことも多い。
【0008】陰影を求めるための計算は、物体の数や形
状の複雑さにほぼ比例して増加するので、その計算時間
のために、CGの描画が遅れ、表示する映像の動きが極
端に遅くなったり、物体の動作がぎこちなく見えたりす
る問題が生じている。ハードウェアやソフトウェアに工
夫をもたせることで、処理速度の向上をはかる方法(前
述の公知例など)が考えられているが、複雑なモデルの
リアルタイム処理ができるまでには至っておらず、さら
に高速な処理が求められている。
状の複雑さにほぼ比例して増加するので、その計算時間
のために、CGの描画が遅れ、表示する映像の動きが極
端に遅くなったり、物体の動作がぎこちなく見えたりす
る問題が生じている。ハードウェアやソフトウェアに工
夫をもたせることで、処理速度の向上をはかる方法(前
述の公知例など)が考えられているが、複雑なモデルの
リアルタイム処理ができるまでには至っておらず、さら
に高速な処理が求められている。
【0009】本発明の目的は、上述の問題を解決すべ
く、複雑な形状の物体を含む映像に、高速に陰影を付加
する方法を提供することにある。本発明の他の目的は、
上述の問題を解決すべく、複雑な形状の物体を含む映像
に、高速に陰影を付加する装置を提供することにある。
また、本発明の他の目的は、特別なハードウェア等を必
要とせず、簡単な構成で、高速に陰影を付加する方法、
あるいは装置を提供することにある。
く、複雑な形状の物体を含む映像に、高速に陰影を付加
する方法を提供することにある。本発明の他の目的は、
上述の問題を解決すべく、複雑な形状の物体を含む映像
に、高速に陰影を付加する装置を提供することにある。
また、本発明の他の目的は、特別なハードウェア等を必
要とせず、簡単な構成で、高速に陰影を付加する方法、
あるいは装置を提供することにある。
【0010】
【課題を解決するための手段】上述の課題を解決するた
めに本発明は、3次元形状物体をm個のパラメータで表
現する第1の立体モデルから、前記3次元形状物体をm
>nなるn個のパラメータで表現する第2の立体モデル
を作成する近似モデル作成手段と、光源に関するデータ
と前記第2の立体モデルとから、前記光源が発生する光
の下での前記第2の立体モデルの陰影生成規則を求める
手段と、前記陰影生成規則に従い生成した陰影を、前記
第1の立体モデルが生成する陰影として前記陰影が映る
物体に付加する手段とを備えるものである。
めに本発明は、3次元形状物体をm個のパラメータで表
現する第1の立体モデルから、前記3次元形状物体をm
>nなるn個のパラメータで表現する第2の立体モデル
を作成する近似モデル作成手段と、光源に関するデータ
と前記第2の立体モデルとから、前記光源が発生する光
の下での前記第2の立体モデルの陰影生成規則を求める
手段と、前記陰影生成規則に従い生成した陰影を、前記
第1の立体モデルが生成する陰影として前記陰影が映る
物体に付加する手段とを備えるものである。
【0011】また、本発明は、3次元形状物体をm個の
パラメータで表現する第1の立体モデルから、前記3次
元形状物体をm>nなるn個のパラメータで表現する第
2の立体モデルを作成し、光源に関するデータと前記第
2の立体モデルとから、前記光源が発生する光の下での
前記第2の立体モデルの遮えい面を求め、前記遮えい面
を多角形に近似し、前記多角形が生成する陰影を、前記
第1の立体モデルが生成する陰影として前記陰影が映る
物体に付加するものである。
パラメータで表現する第1の立体モデルから、前記3次
元形状物体をm>nなるn個のパラメータで表現する第
2の立体モデルを作成し、光源に関するデータと前記第
2の立体モデルとから、前記光源が発生する光の下での
前記第2の立体モデルの遮えい面を求め、前記遮えい面
を多角形に近似し、前記多角形が生成する陰影を、前記
第1の立体モデルが生成する陰影として前記陰影が映る
物体に付加するものである。
【0012】
【作用】3次元形状物体を表すデータとして、第1の立
体モデルにより表現された3次元形状データの他に、陰
影生成用により少ないパラメータで近似的に表現した第
2の立体モデルを持つ。陰影生成時に、光源の方向など
光源に関するデータと、第2の立体モデルから、例え
ば、その立体が生成する陰影と同じ陰影を生成する平
面、すなわちその立体による遮えい面を求めるなど陰影
生成規則を求める。これによる陰影を第1の立体モデル
に付加することで、第1の立体モデルによる陰影を直接
求めるより、極めて少ない演算により、陰影を付加する
ことができる。
体モデルにより表現された3次元形状データの他に、陰
影生成用により少ないパラメータで近似的に表現した第
2の立体モデルを持つ。陰影生成時に、光源の方向など
光源に関するデータと、第2の立体モデルから、例え
ば、その立体が生成する陰影と同じ陰影を生成する平
面、すなわちその立体による遮えい面を求めるなど陰影
生成規則を求める。これによる陰影を第1の立体モデル
に付加することで、第1の立体モデルによる陰影を直接
求めるより、極めて少ない演算により、陰影を付加する
ことができる。
【0013】例えば第2の立体モデルに楕円体の集合を
用いた場合を考える。楕円体は、どの方向から見ても楕
円であるため、複雑な形状の物体でもこれを楕円の集合
に近似しておけば、どの方向から光があたったときで
も、その遮えい面を楕円平面の集合として容易に求める
ことができる。また、この楕円平面を数個のポリゴンと
して近似しもとの立体と置き換えることで、この後、従
来の方法によって陰影を求める際の計算量を大幅に削減
させ、描画の高速化をはかることができる。なお、3次
元形状物体を楕円体に近似する既出願特許として、特願
平6−17112号がある。
用いた場合を考える。楕円体は、どの方向から見ても楕
円であるため、複雑な形状の物体でもこれを楕円の集合
に近似しておけば、どの方向から光があたったときで
も、その遮えい面を楕円平面の集合として容易に求める
ことができる。また、この楕円平面を数個のポリゴンと
して近似しもとの立体と置き換えることで、この後、従
来の方法によって陰影を求める際の計算量を大幅に削減
させ、描画の高速化をはかることができる。なお、3次
元形状物体を楕円体に近似する既出願特許として、特願
平6−17112号がある。
【0014】また、第1の立体モデルを近似する第2の
立体モデルが、楕円体でなくても第1の立体モデルより
少ないパラメータで表現できる立体の集合であれば、光
線をあてたときの遮えい面を容易に求めることができ
る。これを陰影を生成する第1の立体モデルの代わりに
用いることで、陰影を生成する物体が単純な形状にな
り、陰影を求める計算量を大幅に削減することができ
る。陰影の形は近似のため、多少不正確になるが、一般
の用途では、それほど精密に陰影の形状を求める必要は
ない。近似モデルを用いても、映像全体としてのリアリ
ティーは十分に保つことができる。
立体モデルが、楕円体でなくても第1の立体モデルより
少ないパラメータで表現できる立体の集合であれば、光
線をあてたときの遮えい面を容易に求めることができ
る。これを陰影を生成する第1の立体モデルの代わりに
用いることで、陰影を生成する物体が単純な形状にな
り、陰影を求める計算量を大幅に削減することができ
る。陰影の形は近似のため、多少不正確になるが、一般
の用途では、それほど精密に陰影の形状を求める必要は
ない。近似モデルを用いても、映像全体としてのリアリ
ティーは十分に保つことができる。
【0015】
【実施例】まず、図1を用いて本発明の全体の概念を示
す。第1の立体モデル151は、具体的には、一般のC
G同様に3次元形状物体を多角形や多面体の集合として
表現したものである。例えば4角形ポリゴンの集合とし
てこれを表現した場合は、もしポリゴン数が20000
個のときに、各ポリゴンの4つの頂点座標をx、y、z
の3つのパラメータで表せば全パラメータ数mは、4×
3×20000=240000となる。
す。第1の立体モデル151は、具体的には、一般のC
G同様に3次元形状物体を多角形や多面体の集合として
表現したものである。例えば4角形ポリゴンの集合とし
てこれを表現した場合は、もしポリゴン数が20000
個のときに、各ポリゴンの4つの頂点座標をx、y、z
の3つのパラメータで表せば全パラメータ数mは、4×
3×20000=240000となる。
【0016】第2の立体モデル152は、第1の立体モ
デル151を近似モデル生成手段161を用いて、例え
ば楕円体や直方体の集合として近似し表現したものであ
る。もしこの第1の立体モデル151が楕円体300個
の集合で近似されているときには、1つの楕円体は9つ
のパラメータで表すことができるので、全パラメータ数
nは、9×300=2700で示される。
デル151を近似モデル生成手段161を用いて、例え
ば楕円体や直方体の集合として近似し表現したものであ
る。もしこの第1の立体モデル151が楕円体300個
の集合で近似されているときには、1つの楕円体は9つ
のパラメータで表すことができるので、全パラメータ数
nは、9×300=2700で示される。
【0017】このように本発明では、3次元形状物体
(以下、オブジェクトという)のデータとして、第1の
立体モデル151に加えて近似によりそれより少ないパ
ラメータで表現した第2の立体モデル152を持つ。な
お、近似モデル生成手段161の具体例は後述する。
(以下、オブジェクトという)のデータとして、第1の
立体モデル151に加えて近似によりそれより少ないパ
ラメータで表現した第2の立体モデル152を持つ。な
お、近似モデル生成手段161の具体例は後述する。
【0018】ここまでが、CGにおけるモデリング過程
である。続くレンダリング過程では、まず、光線の方向
などの光源に関するデータ153から、陰影生成規則算
出手段155により、この光源による前述の第2の立体
モデルの陰影を生成する規則を求める。具体的には例え
ば、第2の立体モデル152の形状を表現するパラメー
タと光源に関する光線方向等のデータから、この第2の
立体モデル152によって生成される陰影と同じ陰影を
生成する遮えい面を算出する。その後、陰影付加手段1
60により、この遮えい面による陰影を求める。視点位
置や投影方法の種別にしたがった3次元処理を施し、レ
ンダリングを行ない表示する。
である。続くレンダリング過程では、まず、光線の方向
などの光源に関するデータ153から、陰影生成規則算
出手段155により、この光源による前述の第2の立体
モデルの陰影を生成する規則を求める。具体的には例え
ば、第2の立体モデル152の形状を表現するパラメー
タと光源に関する光線方向等のデータから、この第2の
立体モデル152によって生成される陰影と同じ陰影を
生成する遮えい面を算出する。その後、陰影付加手段1
60により、この遮えい面による陰影を求める。視点位
置や投影方法の種別にしたがった3次元処理を施し、レ
ンダリングを行ない表示する。
【0019】これらの手段により、第1の立体モデル1
51が複雑な形状のものであっても、陰影を生成する時
に、第2の立体モデル152と光源に関するデータ15
3から遮えい面を容易に求めることができる。この遮え
い面は第1の立体モデル151より単純な図形であるた
めに、この遮えい面による陰影を求める処理はものとモ
デルによるものより極めて少なくすることができる。
51が複雑な形状のものであっても、陰影を生成する時
に、第2の立体モデル152と光源に関するデータ15
3から遮えい面を容易に求めることができる。この遮え
い面は第1の立体モデル151より単純な図形であるた
めに、この遮えい面による陰影を求める処理はものとモ
デルによるものより極めて少なくすることができる。
【0020】以下、具体的に本発明の一実施例を説明す
る。図6、図7は、本発明を適用した装置の例で、図6
は、オブジェクトや背景のデータを作るための編集装置
の概略構成図を示すものである。この編集装置は、主に
CGにおけるモデリング過程を行なうものである。図7
は、その編集装置で作成したデータを映像として表示す
る実行装置の概略構成図を示すものである。ユーザの入
力などによって対話的にオブジェクトの位置や方向、視
点の位置や方向、あるいは光源の位置や方向などを変え
ることができる。この実行装置は、主にCGにおけるレ
ンダリング過程、3次元処理過程を行なうものである。
る。図6、図7は、本発明を適用した装置の例で、図6
は、オブジェクトや背景のデータを作るための編集装置
の概略構成図を示すものである。この編集装置は、主に
CGにおけるモデリング過程を行なうものである。図7
は、その編集装置で作成したデータを映像として表示す
る実行装置の概略構成図を示すものである。ユーザの入
力などによって対話的にオブジェクトの位置や方向、視
点の位置や方向、あるいは光源の位置や方向などを変え
ることができる。この実行装置は、主にCGにおけるレ
ンダリング過程、3次元処理過程を行なうものである。
【0021】適用例の1つとして、テレビゲームが考え
られる。編集装置はゲーム制作者が、実行装置はゲーム
プレイヤが主に操作することになる。まず、図6につい
て説明する。編集装置900は、マウス901やキーボ
ード902、ディスプレイ903などのグラフィカルユ
ーザインタフェースを制御する入出力制御部904、プ
ログラムの実行を行なうプロセッサ(以下、CPUとい
う)905、ハードディスク910やフロッピーディス
ク911などの外部記憶装置、プログラムやデータなど
を記憶する主記憶912などからなる。
られる。編集装置はゲーム制作者が、実行装置はゲーム
プレイヤが主に操作することになる。まず、図6につい
て説明する。編集装置900は、マウス901やキーボ
ード902、ディスプレイ903などのグラフィカルユ
ーザインタフェースを制御する入出力制御部904、プ
ログラムの実行を行なうプロセッサ(以下、CPUとい
う)905、ハードディスク910やフロッピーディス
ク911などの外部記憶装置、プログラムやデータなど
を記憶する主記憶912などからなる。
【0022】以下、各種プログラムの動作説明を行う。
これらのプログラムは、実際にはCPU905によって
実行されるものである。動作説明に際して、例として図
2に示すようなオブジェクト201に陰影を付加させて
表示させることを考える。主記憶912に記憶される各
プログラム、データについて説明する。
これらのプログラムは、実際にはCPU905によって
実行されるものである。動作説明に際して、例として図
2に示すようなオブジェクト201に陰影を付加させて
表示させることを考える。主記憶912に記憶される各
プログラム、データについて説明する。
【0023】形状作成プログラム906は、オブジェク
トの3次元モデリングを行なうものである。図2に示す
ようなオブジェクト201を、図3のモデル化オブジェ
クト301に示すような3角形や4角形のポリゴンの集
合として表現する(メッシュ分割するという)。ここで
は、例として4角形ポリゴンによるモデリングを取り上
げた。このモデル化オブジェクト301が図1の第1の
立体モデル151に相当する。形状作成プログラム90
6は、現在多くのものが開発されているが、ディスプレ
イ画面を見ながらマウス等を操作させ、対話的にモデル
を作成するものが代表的である。本実施例でもこのよう
な既存のプログラムの利用を想定している。形状作成プ
ログラム906はモデル化オブジェクト301のデータ
をオブジェクト形状データ908として出力する。
トの3次元モデリングを行なうものである。図2に示す
ようなオブジェクト201を、図3のモデル化オブジェ
クト301に示すような3角形や4角形のポリゴンの集
合として表現する(メッシュ分割するという)。ここで
は、例として4角形ポリゴンによるモデリングを取り上
げた。このモデル化オブジェクト301が図1の第1の
立体モデル151に相当する。形状作成プログラム90
6は、現在多くのものが開発されているが、ディスプレ
イ画面を見ながらマウス等を操作させ、対話的にモデル
を作成するものが代表的である。本実施例でもこのよう
な既存のプログラムの利用を想定している。形状作成プ
ログラム906はモデル化オブジェクト301のデータ
をオブジェクト形状データ908として出力する。
【0024】オブジェクト形状データ908は、さまざ
まな形式が考えられるが、本実施例では、図8(a)
(b)のような形式を持つものとする。図8(a)に示
すようにオブジェクトごとに、それを構成する複数の階
層からなるさらに細かいオブジェクトに分け(908−
1)、最下層のオブジェクトはそれを構成するポリゴン
のIDを記述する。そして、図8(b)に示すように、
それぞれポリゴンの頂点の座標値を記述する(908−
2)。
まな形式が考えられるが、本実施例では、図8(a)
(b)のような形式を持つものとする。図8(a)に示
すようにオブジェクトごとに、それを構成する複数の階
層からなるさらに細かいオブジェクトに分け(908−
1)、最下層のオブジェクトはそれを構成するポリゴン
のIDを記述する。そして、図8(b)に示すように、
それぞれポリゴンの頂点の座標値を記述する(908−
2)。
【0025】このようにオブジェクトを階層化するの
は、例えば、人というオブジェクトを、手や体といった
オブジェクトに分解して構成しておくことで、手だけを
動かした形状や、歩きながら体全体を動かすといったモ
デルを容易に作成することができるからである。座標
は、絶対座標系で記述することもできるが、オブジェク
トが移動することも考慮し相対座標系で記述することと
する。実際のCGでは、この他にオブジェクトの属性
(色や材質等)のデータなども記述するが、本発明には
特に影響がないので省略する。
は、例えば、人というオブジェクトを、手や体といった
オブジェクトに分解して構成しておくことで、手だけを
動かした形状や、歩きながら体全体を動かすといったモ
デルを容易に作成することができるからである。座標
は、絶対座標系で記述することもできるが、オブジェク
トが移動することも考慮し相対座標系で記述することと
する。実際のCGでは、この他にオブジェクトの属性
(色や材質等)のデータなども記述するが、本発明には
特に影響がないので省略する。
【0026】次に、近似モデル作成プログラム907に
ついて説明する。近似モデル作成プログラム907は、
形状作成プログラム906で作成したモデル化オブジェ
クト301を遮へい物(陰影を作るもの)として定義す
るために、楕円体、直方体等の立体の集合として近似す
るものである。本実施例では、楕円体の集合として近似
を行なう。図4に示すように、オブジェクト201と概
略がほぼ一致するように、数個から数十個の楕円体だけ
の集合で近似した近似モデル401を作成する。これが
図1の第2の立体モデルに相当し、近似モデル作成プロ
グラム907が近似モデル生成手段161に相当する。
このとき、各楕円体の重なりは無視してかまわないが、
オブジェクト201の各部位がつながっている場合は、
楕円体近似によって分離されないようにする。
ついて説明する。近似モデル作成プログラム907は、
形状作成プログラム906で作成したモデル化オブジェ
クト301を遮へい物(陰影を作るもの)として定義す
るために、楕円体、直方体等の立体の集合として近似す
るものである。本実施例では、楕円体の集合として近似
を行なう。図4に示すように、オブジェクト201と概
略がほぼ一致するように、数個から数十個の楕円体だけ
の集合で近似した近似モデル401を作成する。これが
図1の第2の立体モデルに相当し、近似モデル作成プロ
グラム907が近似モデル生成手段161に相当する。
このとき、各楕円体の重なりは無視してかまわないが、
オブジェクト201の各部位がつながっている場合は、
楕円体近似によって分離されないようにする。
【0027】本実施例における近似モデル作成プログラ
ム907は、グラフィカルユーザインタフェースなどを
制御し、ユーザからの操作により対話的に近似モデル4
01の作成を支援するものである。例えば任意方向から
見たオブジェクトモデル201と、近似モデル401を
重ねて表示させ、差が大きくなった方向において近似モ
デルの修正を操作者(上述の例では、ゲーム制作者)に
行なわせることで、近似モデルを作成していく。
ム907は、グラフィカルユーザインタフェースなどを
制御し、ユーザからの操作により対話的に近似モデル4
01の作成を支援するものである。例えば任意方向から
見たオブジェクトモデル201と、近似モデル401を
重ねて表示させ、差が大きくなった方向において近似モ
デルの修正を操作者(上述の例では、ゲーム制作者)に
行なわせることで、近似モデルを作成していく。
【0028】図12は、550はディスプレイ903に
表示される編集画面の一例であって、画面全体、あるい
は一つのウィンドウに表示される。近似モデル作成プロ
グラム907は、ユーザが方向指示インタフェース55
3で指定した、任意の位置から見たモデル化オブジェク
ト301と楕円体562が重なった2次元画像を編集ウ
ィンドウ560に表示する。
表示される編集画面の一例であって、画面全体、あるい
は一つのウィンドウに表示される。近似モデル作成プロ
グラム907は、ユーザが方向指示インタフェース55
3で指定した、任意の位置から見たモデル化オブジェク
ト301と楕円体562が重なった2次元画像を編集ウ
ィンドウ560に表示する。
【0029】そして、編集ウィンドウ560に楕円体5
62の楕円形状定義制御点563を表示し、これをユー
ザがマウス901でドラッグすることで、楕円体の大き
さや位置を調整する。このような操作をさまざまな視点
から行ない、どの方向から見てもモデル化オブジェクト
301と近似モデル401との差が最小になったときに
近似モデル401が完成し、定義される。なお、同時に
参照ウィンドウ570に、3次元的に透視投影によって
近似モデル401を表示すると、モデリングの際に参照
することができる。
62の楕円形状定義制御点563を表示し、これをユー
ザがマウス901でドラッグすることで、楕円体の大き
さや位置を調整する。このような操作をさまざまな視点
から行ない、どの方向から見てもモデル化オブジェクト
301と近似モデル401との差が最小になったときに
近似モデル401が完成し、定義される。なお、同時に
参照ウィンドウ570に、3次元的に透視投影によって
近似モデル401を表示すると、モデリングの際に参照
することができる。
【0030】以上の過程は、本実施例のように、完全に
対話的に進めていくほかに、例えば近似モデル401と
もとのモデル化オブジェクト301との偏差の二乗和が
最小となるような条件などの設定により、自動的に求め
るようにすることも可能である。
対話的に進めていくほかに、例えば近似モデル401と
もとのモデル化オブジェクト301との偏差の二乗和が
最小となるような条件などの設定により、自動的に求め
るようにすることも可能である。
【0031】楕円体は、それぞれ、楕円体の中心座標と
して3変数、楕円体の軸長として3変数、楕円体の軸方
向として3変数のあわせて9変数であらわされる。近似
モデル作成プログラム907は、これらの9変数を近似
モデル401を構成する楕円体の数だけ求め、近似モデ
ルデータ909として記憶する。近似モデルデータ90
9は図9(b)に示す楕円体の9つの変数982と、図
9(a)に示すその楕円体ともとのオブジェクト形状モ
デルとの対応関係981を記述する。
して3変数、楕円体の軸長として3変数、楕円体の軸方
向として3変数のあわせて9変数であらわされる。近似
モデル作成プログラム907は、これらの9変数を近似
モデル401を構成する楕円体の数だけ求め、近似モデ
ルデータ909として記憶する。近似モデルデータ90
9は図9(b)に示す楕円体の9つの変数982と、図
9(a)に示すその楕円体ともとのオブジェクト形状モ
デルとの対応関係981を記述する。
【0032】以上のように、形状作成プログラム906
と、近似モデル作成プログラム907によって出力され
た、オブジェクト形状データ908と、近似モデルデー
タ909が1対となって、本実施例におけるCGのモデ
ルデータとなる。作成されたデータは、ハードディスク
910やフロッピーディスク911などの外部記憶装置
に記憶する。
と、近似モデル作成プログラム907によって出力され
た、オブジェクト形状データ908と、近似モデルデー
タ909が1対となって、本実施例におけるCGのモデ
ルデータとなる。作成されたデータは、ハードディスク
910やフロッピーディスク911などの外部記憶装置
に記憶する。
【0033】次に図7について説明する。実行装置95
0は、マウスやジョイスティックなどの入力装置951
と、それを制御する入出力制御部955、レンダリング
部、3次元処理部、陰影処理部からなりディスプレイ9
53を制御するグラフィックボード954、プログラム
の実行を行なうプロセッサ(以下、CPUという)95
6、ハードディスク962やフロッピーディスク963
などの外部記憶装置、プログラムやデータなどを記憶す
る主記憶964などからなる。また、編集装置900の
場合と同様に、動作説明する各種プログラムは、実際に
はCPU956によって実行されるものである。
0は、マウスやジョイスティックなどの入力装置951
と、それを制御する入出力制御部955、レンダリング
部、3次元処理部、陰影処理部からなりディスプレイ9
53を制御するグラフィックボード954、プログラム
の実行を行なうプロセッサ(以下、CPUという)95
6、ハードディスク962やフロッピーディスク963
などの外部記憶装置、プログラムやデータなどを記憶す
る主記憶964などからなる。また、編集装置900の
場合と同様に、動作説明する各種プログラムは、実際に
はCPU956によって実行されるものである。
【0034】まず、前処理として、使用者がモデルデー
タを編集装置から実行装置に移動させる。移動させる手
段としては、フロッピーディスク、光ディスクのような
交換可能な記憶媒体を用いるほかに、ネットワークなど
を通じて転送することもできる。このオブジェクト形状
データ908、近似モデルデータ909は、実行装置の
主記憶に読み込まれる。
タを編集装置から実行装置に移動させる。移動させる手
段としては、フロッピーディスク、光ディスクのような
交換可能な記憶媒体を用いるほかに、ネットワークなど
を通じて転送することもできる。このオブジェクト形状
データ908、近似モデルデータ909は、実行装置の
主記憶に読み込まれる。
【0035】つぎに、主記憶964に格納されているオ
ブジェクト動作制御プログラム957、光源動作制御9
58プログラムについて説明する。これらのプログラム
は一般にシナリオを呼ばれ、ユーザの入力や時間の経過
に従って、様々な動きをオブジェクトや光源に対して与
えるものである。一般にこのプログラムはシナリオエデ
ィタと呼ばれる専用のエディタであらかじめ作成するこ
とが多い。
ブジェクト動作制御プログラム957、光源動作制御9
58プログラムについて説明する。これらのプログラム
は一般にシナリオを呼ばれ、ユーザの入力や時間の経過
に従って、様々な動きをオブジェクトや光源に対して与
えるものである。一般にこのプログラムはシナリオエデ
ィタと呼ばれる専用のエディタであらかじめ作成するこ
とが多い。
【0036】CPU956がオブジェクト動作制御プロ
グラム957を実行することにより、ユーザ(上述の例
ではゲームプレイヤ)は実行時(ゲーム実行時)に、入
力装置951を用いて、画面上のオブジェクトの位置や
方向を自由に変えられる。また、オブジェクトがある規
則に従って自動的に移動するように設定することができ
る。具体的には、ユーザの入力イベントや、タイマーを
監視し、イベントを受け取ったときに、オブジェクトの
位置を変化させる。オブジェクトの位置を変化させると
いうことは、オブジェクト形状データ908および近似
モデルデータ909の座標値に対して、移動演算や、回
転演算を与えることである。
グラム957を実行することにより、ユーザ(上述の例
ではゲームプレイヤ)は実行時(ゲーム実行時)に、入
力装置951を用いて、画面上のオブジェクトの位置や
方向を自由に変えられる。また、オブジェクトがある規
則に従って自動的に移動するように設定することができ
る。具体的には、ユーザの入力イベントや、タイマーを
監視し、イベントを受け取ったときに、オブジェクトの
位置を変化させる。オブジェクトの位置を変化させると
いうことは、オブジェクト形状データ908および近似
モデルデータ909の座標値に対して、移動演算や、回
転演算を与えることである。
【0037】また、光源動作制御プログラム958は内
部に光源データを持っており、CPU956がこのプロ
グラムを実行することにより、実行装置950が持つタ
イマー(図示せず)を監視し、光源の位置が自動的に変
わっていくように制御する。
部に光源データを持っており、CPU956がこのプロ
グラムを実行することにより、実行装置950が持つタ
イマー(図示せず)を監視し、光源の位置が自動的に変
わっていくように制御する。
【0038】次に、画面にこのオブジェクトを描画する
レンダリング過程について説明する。CPU965は、
遮えい面算出プログラム959を実行して、一般のレン
ダリング過程における陰影の算出を簡略化するための前
処理を行う。具体的には、まず、編集装置900で作成
した近似モデルデータ909の楕円体すべてに対して、
光源動作制御プログラム958より渡される光源方向の
データ(以下、光源パラメータという)を用いて、その
楕円体が生成する陰影とおなじ陰影を生成する遮えい面
を求める。楕円体はどこから見ても楕円のため、この遮
えい面は楕円平面となる。この過程を図10を用いて説
明する。
レンダリング過程について説明する。CPU965は、
遮えい面算出プログラム959を実行して、一般のレン
ダリング過程における陰影の算出を簡略化するための前
処理を行う。具体的には、まず、編集装置900で作成
した近似モデルデータ909の楕円体すべてに対して、
光源動作制御プログラム958より渡される光源方向の
データ(以下、光源パラメータという)を用いて、その
楕円体が生成する陰影とおなじ陰影を生成する遮えい面
を求める。楕円体はどこから見ても楕円のため、この遮
えい面は楕円平面となる。この過程を図10を用いて説
明する。
【0039】図10(a)は楕円体とその陰影を示すも
ので、図10(b)は、図10(a)の楕円体の遮えい
面となる楕円平面と、その陰影を図示している。中心が
座標の原点にあり(数1)であらわされる楕円体が、
ので、図10(b)は、図10(a)の楕円体の遮えい
面となる楕円平面と、その陰影を図示している。中心が
座標の原点にあり(数1)であらわされる楕円体が、
【0040】
【数1】
【0041】上記(p、q、r)から座標の原点方向へ
の平行光で照らされる場合、まず、(数2)を求める。
の平行光で照らされる場合、まず、(数2)を求める。
【0042】
【数2】
【0043】この結果を用いると、この楕円体の遮えい
面は、(数3)のような楕円平面となる。なお、θは楕
円体の座標のy方向を上方向とおいたときの楕円平面の
傾きである。
面は、(数3)のような楕円平面となる。なお、θは楕
円体の座標のy方向を上方向とおいたときの楕円平面の
傾きである。
【0044】
【数3】
【0045】この楕円平面を図10(c)に示すように
ポリゴン近似し、ポリゴン近似遮えい面データ960と
する。
ポリゴン近似し、ポリゴン近似遮えい面データ960と
する。
【0046】この図に示すように、このポリゴンの陰影
と、もとの楕円体の陰影とは概略において一致すること
がわかる。ポリゴン近似においては、図11に示すよう
に三角形と四角形のポリゴンに分割する。本実施例では
数個のポリゴンに分割したが、いくつのポリゴンに分割
するかは、精度と処理速度の関係で調整する。ポリゴン
近似の手段としては、たとえば生成されるポリゴンと楕
円との偏差が最小となるように自動的に求める。
と、もとの楕円体の陰影とは概略において一致すること
がわかる。ポリゴン近似においては、図11に示すよう
に三角形と四角形のポリゴンに分割する。本実施例では
数個のポリゴンに分割したが、いくつのポリゴンに分割
するかは、精度と処理速度の関係で調整する。ポリゴン
近似の手段としては、たとえば生成されるポリゴンと楕
円との偏差が最小となるように自動的に求める。
【0047】この過程を全ての楕円体について行った
後、遮えい面算出プログラムは959は、オブジェクト
形状データ908、ポリゴン近似遮えい面データ960
をグラフィックボードに渡す。グラフィックボード95
4は、オブジェクト形状データ908に記述されるそれ
ぞれのオブジェクトに、上記過程で求められたポリゴン
近似遮えい面データ960からつくられる陰影を付加
し、表面をリアルに色づけして、透視投影等の3次元処
理を行なってディスプレイ953の画面に表示する。こ
の過程は、現在一般的に用いられている従来公知の方法
(2段階法、シャドウボリュームなど)によってハード
ウェア的に求める。
後、遮えい面算出プログラムは959は、オブジェクト
形状データ908、ポリゴン近似遮えい面データ960
をグラフィックボードに渡す。グラフィックボード95
4は、オブジェクト形状データ908に記述されるそれ
ぞれのオブジェクトに、上記過程で求められたポリゴン
近似遮えい面データ960からつくられる陰影を付加
し、表面をリアルに色づけして、透視投影等の3次元処
理を行なってディスプレイ953の画面に表示する。こ
の過程は、現在一般的に用いられている従来公知の方法
(2段階法、シャドウボリュームなど)によってハード
ウェア的に求める。
【0048】なお、近似モデルデータ909は陰影を作
る物体を求めるためだけに用いるので、陰影を作成する
処理に関してはグラフィックボードに渡さなくてもよ
い。図13は、実行装置950における以上の処理をま
とめたフローチャートである。まず、編集装置900が
作成したオブジェクト形状データ908と近似モデルデ
ータ909を読み込む(1010)。
る物体を求めるためだけに用いるので、陰影を作成する
処理に関してはグラフィックボードに渡さなくてもよ
い。図13は、実行装置950における以上の処理をま
とめたフローチャートである。まず、編集装置900が
作成したオブジェクト形状データ908と近似モデルデ
ータ909を読み込む(1010)。
【0049】オブジェクト動作制御プログラム957
は、あらかじめ決められた動作や、あるいはユーザから
のイベント(1030)に従った動作に基づき、動きの
あるオブジェクト形状データ908の座標値を変化させ
る(1020、1035)。これは、たとえばオブジェ
クト201の一例としてあげた飛行機があらかじめ決め
られた飛行動作を行うことや、ユーザが飛行機を操縦す
ることに相当する。その後、オブジェクト形状データ9
08に対応する近似モデルデータ909の個々の楕円体
の座標値を変化させる(1040)。オブジェクト形状
データ908の座標に変化がなければ、このステップは
省略してもよい。
は、あらかじめ決められた動作や、あるいはユーザから
のイベント(1030)に従った動作に基づき、動きの
あるオブジェクト形状データ908の座標値を変化させ
る(1020、1035)。これは、たとえばオブジェ
クト201の一例としてあげた飛行機があらかじめ決め
られた飛行動作を行うことや、ユーザが飛行機を操縦す
ることに相当する。その後、オブジェクト形状データ9
08に対応する近似モデルデータ909の個々の楕円体
の座標値を変化させる(1040)。オブジェクト形状
データ908の座標に変化がなければ、このステップは
省略してもよい。
【0050】光源動作制御プログラム958は、ユーザ
からのイベント(1050)や、あるいはタイマーから
のイベント(1060)に従って、光源パラメータを変
え、光源の位置および方向を変化させる(1055、1
065)。これはたとえば、ユーザの操作によって、光
源が制御されることや、時間の推移に従って、太陽の位
置が変わることに相当する。
からのイベント(1050)や、あるいはタイマーから
のイベント(1060)に従って、光源パラメータを変
え、光源の位置および方向を変化させる(1055、1
065)。これはたとえば、ユーザの操作によって、光
源が制御されることや、時間の推移に従って、太陽の位
置が変わることに相当する。
【0051】遮えい面算出プログラム959は、近似モ
デルデータ909におけるすべての楕円体について、光
源の位置および方向からその遮えい面を求め(107
0)、この遮えい面を陰影を作る物体としてポリゴン近
似し、ポリゴン近似遮えい面データ960を生成する
(1080)。オブジェクトの座標変化がなく、光源の
位置、方向に変化がなければ、これらのステップは省略
してもよい。
デルデータ909におけるすべての楕円体について、光
源の位置および方向からその遮えい面を求め(107
0)、この遮えい面を陰影を作る物体としてポリゴン近
似し、ポリゴン近似遮えい面データ960を生成する
(1080)。オブジェクトの座標変化がなく、光源の
位置、方向に変化がなければ、これらのステップは省略
してもよい。
【0052】CPU956は、オブジェクト形状データ
908、ポリゴン近似遮えい面データ960、光源パラ
メータをグラフィックボード954に渡す。グラフィッ
クボード954は、対象となるオブジェクトにレンダリ
ング、陰影づけを行ない、透視投影等の3次元画像を表
示する(1090)。以下、これらの過程を繰り返す。
908、ポリゴン近似遮えい面データ960、光源パラ
メータをグラフィックボード954に渡す。グラフィッ
クボード954は、対象となるオブジェクトにレンダリ
ング、陰影づけを行ない、透視投影等の3次元画像を表
示する(1090)。以下、これらの過程を繰り返す。
【0053】陰影づけのプロセスにおいて、あるオブジ
ェクトに注目したとき、そのオブジェクトが例えば数千
ポリゴンの要素からなるとき、従来の方法ではこのポリ
ゴン数だけの処理が必要なため、非常に時間を要してい
た。しかし、本実施例によれば、3次元の複雑な形状の
オブジェクトを、数個の楕円立体に近似し、さらにこれ
を楕円の平面におきかえるため、処理を行なうポリゴン
数として数十分の一に削減することができる。楕円立体
の断面(楕円平面)への置き換えと楕円のポリゴン近似
の2つの処理が新たに必要となるが、楕円立体のある断
面の形状は容易に求めることができるため、この処理は
陰影づけのプロセスに比べるとわずかである。全体とし
て、レンダリング時の陰影の処理時間を大幅に短縮する
ことができる。
ェクトに注目したとき、そのオブジェクトが例えば数千
ポリゴンの要素からなるとき、従来の方法ではこのポリ
ゴン数だけの処理が必要なため、非常に時間を要してい
た。しかし、本実施例によれば、3次元の複雑な形状の
オブジェクトを、数個の楕円立体に近似し、さらにこれ
を楕円の平面におきかえるため、処理を行なうポリゴン
数として数十分の一に削減することができる。楕円立体
の断面(楕円平面)への置き換えと楕円のポリゴン近似
の2つの処理が新たに必要となるが、楕円立体のある断
面の形状は容易に求めることができるため、この処理は
陰影づけのプロセスに比べるとわずかである。全体とし
て、レンダリング時の陰影の処理時間を大幅に短縮する
ことができる。
【0054】近似による誤差は、(1)陰影の形状は、
特殊な場合を除き、それほど精密に求めなくても見た目
に影響はない、(2)一般の物体の形状は、楕円立体の
集合に近似し易い、(3)最終的に用いる遮へいオブジ
ェクトは平面(楕円平面)であるが、これは立体(楕円
体)を用いた時と全く同じ陰影の効果となる、などの理
由により、極めて目立たないものとすることができる。
特殊な場合を除き、それほど精密に求めなくても見た目
に影響はない、(2)一般の物体の形状は、楕円立体の
集合に近似し易い、(3)最終的に用いる遮へいオブジ
ェクトは平面(楕円平面)であるが、これは立体(楕円
体)を用いた時と全く同じ陰影の効果となる、などの理
由により、極めて目立たないものとすることができる。
【0055】これにより、ハードウェアの性能の制約な
どにより、従来の方法では表示されている物体が移動し
たり、光源が変化したときにこの陰影を遅れなく表示す
ることが不可能であった複雑なモデルについても、リア
ルタイムにすなわち秒数十こま程度の表示を行なうこと
ができるようになる。
どにより、従来の方法では表示されている物体が移動し
たり、光源が変化したときにこの陰影を遅れなく表示す
ることが不可能であった複雑なモデルについても、リア
ルタイムにすなわち秒数十こま程度の表示を行なうこと
ができるようになる。
【0056】また、本実施例では、楕円体だけで近似を
行なったが、ほかの立体、たとえば多面体や曲面体など
によって近似を行なう方が適当な場合も考えられる。多
面体のときにはその頂点の座標と光源の方向から遮えい
面を求めることができる。また、曲面体の時にはその方
程式と光源の方向から遮えい面を求めることができる。
これらの場合、前述の楕円体における実施例ほど遮えい
面を単純に求めることはできないが、元のポリゴンモデ
ルから直接求めるよりは少ない演算により求めることも
できる。
行なったが、ほかの立体、たとえば多面体や曲面体など
によって近似を行なう方が適当な場合も考えられる。多
面体のときにはその頂点の座標と光源の方向から遮えい
面を求めることができる。また、曲面体の時にはその方
程式と光源の方向から遮えい面を求めることができる。
これらの場合、前述の楕円体における実施例ほど遮えい
面を単純に求めることはできないが、元のポリゴンモデ
ルから直接求めるよりは少ない演算により求めることも
できる。
【0057】また、これらの複数種類の立体(楕円体、
多面体、曲面体)による近似を任意に混在させてもよ
い。また、遮えい面をあらかじめ複数個用意しておき、
ある方向から光線が当たったとき最もその光線に適合す
る遮えい面を選びこの陰影を求める方法も考えられる。
この方法では、より大まかな近似になるが、遮えい面を
求める処理も、省略することができるため、さらに陰影
付加処理時間を短くすることができる。レンダリング時
には、光線の方向に最も近い列のデータを選び、それを
遮えい面とする。
多面体、曲面体)による近似を任意に混在させてもよ
い。また、遮えい面をあらかじめ複数個用意しておき、
ある方向から光線が当たったとき最もその光線に適合す
る遮えい面を選びこの陰影を求める方法も考えられる。
この方法では、より大まかな近似になるが、遮えい面を
求める処理も、省略することができるため、さらに陰影
付加処理時間を短くすることができる。レンダリング時
には、光線の方向に最も近い列のデータを選び、それを
遮えい面とする。
【0058】また、本実施例のように、陰影を作るオブ
ジェクトの構成が複数の楕円体からなるとき、おのおの
の遮えい面すべてについて陰影を求めると、光源の方向
から見て重なり合っている部分の計算を繰り返し行なう
ことになって処理の点で冗長である。そこで、遮えい面
算出プログラム959において、そのオブジェクトを構
成する遮えい面を、光源側から見た時の最外郭の輪郭の
形状を求め、それを遮えい面として再定義することで、
計算量を減らすこともできる。具体的には、すべての遮
えい面(ポリゴン近似した楕円平面)をある平面に投影
しその内部を塗りつぶして、それぞれの遮えい面の論理
和をとる操作を行なう。そして、その輪郭線を求めて、
ポリゴン近似遮えい面データ960とすればよい。
ジェクトの構成が複数の楕円体からなるとき、おのおの
の遮えい面すべてについて陰影を求めると、光源の方向
から見て重なり合っている部分の計算を繰り返し行なう
ことになって処理の点で冗長である。そこで、遮えい面
算出プログラム959において、そのオブジェクトを構
成する遮えい面を、光源側から見た時の最外郭の輪郭の
形状を求め、それを遮えい面として再定義することで、
計算量を減らすこともできる。具体的には、すべての遮
えい面(ポリゴン近似した楕円平面)をある平面に投影
しその内部を塗りつぶして、それぞれの遮えい面の論理
和をとる操作を行なう。そして、その輪郭線を求めて、
ポリゴン近似遮えい面データ960とすればよい。
【0059】また、本実施例では、対応する近似モデル
データを持たない従来のオブジェクト形状データが実行
装置950に入力されたときでも、近似モデルデータへ
の置き換えを行わずにオブジェクト形状データから遮え
い面を求めることで、陰影を付加することができる。す
なわち、別のシステムで作成したデータや、形状が単純
なため、近似モデルを作成する必要のないものについて
も陰影を表示することができる。
データを持たない従来のオブジェクト形状データが実行
装置950に入力されたときでも、近似モデルデータへ
の置き換えを行わずにオブジェクト形状データから遮え
い面を求めることで、陰影を付加することができる。す
なわち、別のシステムで作成したデータや、形状が単純
なため、近似モデルを作成する必要のないものについて
も陰影を表示することができる。
【0060】このような場合には、オブジェクト形状デ
ータが対応する近似モデルデータを持つのかどうかを示
すヘッダ情報を、オブジェクト形状データに付加するこ
とで、実行装置950は自動的に区別、処理することが
できる。なお、本実施例では、編集装置900と実行装
置950を異なる装置としたが、同一の装置に構築する
こともできる。本実施例では、遮えい面を求める処理を
ソフトウェアが行ない、その陰影の計算および描画はグ
ラフィックボードが行なうとしたが、遮えい面を求める
プロセスも定式化した処理なので、ボード上の機能とし
て持たせ、処理時間の高速化をはかることもできる。ま
た、その逆に、高速のCPUが利用可能であれば、全て
の処理をソフトウェア化することも可能である。
ータが対応する近似モデルデータを持つのかどうかを示
すヘッダ情報を、オブジェクト形状データに付加するこ
とで、実行装置950は自動的に区別、処理することが
できる。なお、本実施例では、編集装置900と実行装
置950を異なる装置としたが、同一の装置に構築する
こともできる。本実施例では、遮えい面を求める処理を
ソフトウェアが行ない、その陰影の計算および描画はグ
ラフィックボードが行なうとしたが、遮えい面を求める
プロセスも定式化した処理なので、ボード上の機能とし
て持たせ、処理時間の高速化をはかることもできる。ま
た、その逆に、高速のCPUが利用可能であれば、全て
の処理をソフトウェア化することも可能である。
【0061】
【発明の効果】本発明によれば、陰影を作る複雑な3次
元形状物体を、数個の立体で近似し、さらにこれを、ほ
ぼ同じ陰影を生成する平面におきかえるため、陰影生成
に必要なポリゴン数を大幅に削減することができる。つ
まり陰影を作るオブジェクトを単純化することで、レン
ダリング時の陰影処理時間を大幅に短縮することができ
る。したがって、陰影をつけるというリアルな表示を行
いつつ、実時間表示を可能にするという優れた効果があ
る。
元形状物体を、数個の立体で近似し、さらにこれを、ほ
ぼ同じ陰影を生成する平面におきかえるため、陰影生成
に必要なポリゴン数を大幅に削減することができる。つ
まり陰影を作るオブジェクトを単純化することで、レン
ダリング時の陰影処理時間を大幅に短縮することができ
る。したがって、陰影をつけるというリアルな表示を行
いつつ、実時間表示を可能にするという優れた効果があ
る。
【図1】本発明の全体の流れを示した概念図である。
【図2】表示する3次元形状物体(オブジェクト)を例
示する図である。
示する図である。
【図3】図2に示す3次元形状物体のメッシュ分割を例
示する図である。
示する図である。
【図4】図3に示すメッシュ分割した3次元形状物体の
楕円体近似モデルを例示する図である。
楕円体近似モデルを例示する図である。
【図5】最終的に表示する陰影付けをした画像を例示す
る図である。
る図である。
【図6】本発明の実施例における編集装置の構成を示す
ブロック図である。
ブロック図である。
【図7】本発明の実施例における実行装置の構成を示す
ブロック図である。
ブロック図である。
【図8】オブジェクトモデルのデータ構造を例示する図
である。
である。
【図9】楕円体近似モデルのデータ構造を例示する図で
ある。
ある。
【図10】楕円体、楕円平面および楕円平面を近似した
ポリゴンによる陰影を例示する図である。
ポリゴンによる陰影を例示する図である。
【図11】楕円平面のポリゴン近似を例示する図であ
る。
る。
【図12】楕円体近似モデル作成エディタの操作画面を
例示する図である。
例示する図である。
【図13】本発明の実施例における実行装置の動作フロ
ーチャートを示す図である。
ーチャートを示す図である。
201…オブジェクト、301…モデル化オブジェク
ト、401…近似モデル、906…形状作成プログラ
ム、907…近似モデル作成プログラム、908…オブ
ジェクト形状データ、909…近似モデルデータ、95
7…オブジェクト動作制御プログラム、958…光源動
作制御プログラム、959…遮えい面算出プログラム、
960…ポリゴン近似遮えい面データ。
ト、401…近似モデル、906…形状作成プログラ
ム、907…近似モデル作成プログラム、908…オブ
ジェクト形状データ、909…近似モデルデータ、95
7…オブジェクト動作制御プログラム、958…光源動
作制御プログラム、959…遮えい面算出プログラム、
960…ポリゴン近似遮えい面データ。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 湯浅 俊之 神奈川県川崎市麻生区王禅寺1099番地株式 会社日立製作所システム開発研究所内
Claims (8)
- 【請求項1】3次元形状物体をm個のパラメータで表現
する第1の立体モデルから、前記3次元形状物体をm>
nなるn個のパラメータで表現する第2の立体モデルを
作成する近似モデル作成手段と、 光源に関するデータと前記第2の立体モデルとから、前
記光源が発生する光の下での前記第2の立体モデルの陰
影生成規則を求める手段と、 前記陰影生成規則に従い生成した陰影を、前記第1の立
体モデルが生成する陰影として前記陰影が映る物体に付
加する手段とを備えてなる陰影処理装置。 - 【請求項2】3次元形状物体をm個のパラメータで表現
する第1の立体モデルから、前記3次元形状物体をm>
nなるn個のパラメータで表現する第2の立体モデルを
作成する近似モデル作成手段を備えてなる近似モデル作
成装置。 - 【請求項3】3次元形状物体をn個のパラメータで表現
する第2の立体モデルと、光源に関するデータとから、
前記光源が発生する光の下での前記第2の立体モデルの
陰影生成規則を求める手段と、 前記陰影生成規則に従い生成した陰影を、前記3次元形
状物体をm>nなるm個のパラメータで表現する第1の
立体モデルが生成する陰影として前記陰影が映る物体に
付加する手段とを備えてなる陰影処理装置。 - 【請求項4】m個のパラメータからなる第1の立体モデ
ルで表現する3次元形状物体をm>nなるn個のパラメ
ータからなる3次元形状物体の集合で表現する第2の立
体モデルを生成する手段と、 光源に関するデータと前記第2の立体モデルとから、前
記光源が発生する光の下での、前記第2の立体モデルの
陰影生成規則を求める手段とからなる陰影生成規則算出
装置。 - 【請求項5】3次元形状物体をm個のパラメータで表現
する第1の立体モデルから、前記3次元形状物体をm>
nなるn個のパラメータで表現する第2の立体モデルを
作成し、 光源に関するデータと前記第2の立体モデルとから、前
記光源が発生する光の下での前記第2の立体モデルの遮
えい面を求め、 前記遮えい面を多角形に近似し、 前記多角形が生成する陰影を、前記第1の立体モデルが
生成する陰影として前記陰影が映る物体に付加する陰影
処理方法。 - 【請求項6】前記第2の立体モデルは楕円体の集合で構
成され、前記遮えい面は楕円平面であることを特徴とす
る請求項5記載の陰影処理方法。 - 【請求項7】前記第2の立体モデルは曲面体の集合で構
成され、前記遮えい面は曲面であることを特徴とする請
求項5記載の陰影処理方法。 - 【請求項8】3次元形状物体をm個のパラメータで表現
する第1の立体モデルから、前記3次元形状物体をm>
nなるn個のパラメータで表現する多面体の集合として
表現する第2の立体モデルを作成し、 光源に関するデータと前記第2の立体モデルを構成する
前記多面体各々の方向と形状から、前記光源が発生する
光の下での前記多面体各々の遮えい面となる多角形を求
めを求め、 前記多角形が生成する陰影を、前記第1の立体モデルが
生成する陰影として前記陰影が映る物体に付加する陰影
処理方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP7183815A JPH0935087A (ja) | 1995-07-20 | 1995-07-20 | 陰影処理方法及び装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP7183815A JPH0935087A (ja) | 1995-07-20 | 1995-07-20 | 陰影処理方法及び装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0935087A true JPH0935087A (ja) | 1997-02-07 |
Family
ID=16142352
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP7183815A Pending JPH0935087A (ja) | 1995-07-20 | 1995-07-20 | 陰影処理方法及び装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0935087A (ja) |
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2005346417A (ja) * | 2004-06-03 | 2005-12-15 | Sega Corp | 仮想三次元座標ポリゴンによるオブジェクト画像の表示制御方法及びこれを用いた画像表示装置 |
| JP2012185534A (ja) * | 2011-03-03 | 2012-09-27 | Univ Of Tokyo | 3次元環境復元装置、その処理方法、及びプログラム |
| CN109448099A (zh) * | 2018-09-21 | 2019-03-08 | 腾讯科技(深圳)有限公司 | 画面的渲染方法、装置、存储介质及电子装置 |
| CN114399572A (zh) * | 2021-12-23 | 2022-04-26 | 网易(杭州)网络有限公司 | 动态阴影生成方法、装置、电子设备及存储介质 |
| CN115249262A (zh) * | 2021-04-26 | 2022-10-28 | 海信集团控股股份有限公司 | 一种图像处理方法及设备 |
-
1995
- 1995-07-20 JP JP7183815A patent/JPH0935087A/ja active Pending
Cited By (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2005346417A (ja) * | 2004-06-03 | 2005-12-15 | Sega Corp | 仮想三次元座標ポリゴンによるオブジェクト画像の表示制御方法及びこれを用いた画像表示装置 |
| JP2012185534A (ja) * | 2011-03-03 | 2012-09-27 | Univ Of Tokyo | 3次元環境復元装置、その処理方法、及びプログラム |
| CN109448099A (zh) * | 2018-09-21 | 2019-03-08 | 腾讯科技(深圳)有限公司 | 画面的渲染方法、装置、存储介质及电子装置 |
| CN109448099B (zh) * | 2018-09-21 | 2023-09-22 | 腾讯科技(深圳)有限公司 | 画面的渲染方法、装置、存储介质及电子装置 |
| CN115249262A (zh) * | 2021-04-26 | 2022-10-28 | 海信集团控股股份有限公司 | 一种图像处理方法及设备 |
| CN114399572A (zh) * | 2021-12-23 | 2022-04-26 | 网易(杭州)网络有限公司 | 动态阴影生成方法、装置、电子设备及存储介质 |
| CN114399572B (zh) * | 2021-12-23 | 2025-07-29 | 网易(杭州)网络有限公司 | 动态阴影生成方法、装置、电子设备及存储介质 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6426750B1 (en) | Run-time geomorphs | |
| US7289119B2 (en) | Statistical rendering acceleration | |
| JP3184327B2 (ja) | 3次元グラフィックス処理方法及びその装置 | |
| US7164420B2 (en) | Ray tracing hierarchy | |
| JP7519462B2 (ja) | フロアプランを生成するための方法、装置およびプログラム | |
| Li et al. | Interactive cutaway illustrations of complex 3D models | |
| JP4199663B2 (ja) | ヒューマン−コンピュータインターフェイスにおける視覚画像による触覚調整 | |
| US9881417B2 (en) | Multi-view drawing apparatus of three-dimensional objects, and method | |
| KR101867991B1 (ko) | 다관절 오브젝트의 모션 에디팅 방법 및 장치 | |
| US8054311B1 (en) | Rig baking for arbitrary deformers | |
| US20220375152A1 (en) | Method for Efficiently Computing and Specifying Level Sets for Use in Computer Simulations, Computer Graphics and Other Purposes | |
| US9734616B1 (en) | Tetrahedral volumes from segmented bounding boxes of a subdivision | |
| US10636210B2 (en) | Dynamic contour volume deformation | |
| US8358311B1 (en) | Interpolation between model poses using inverse kinematics | |
| CN115834862A (zh) | 一种基于Unity3D的URP三维视频融合方法 | |
| JPH0935087A (ja) | 陰影処理方法及び装置 | |
| CN119941944A (zh) | 网格序列驱动二维人脸动画生成方法、装置、设备及介质 | |
| US11727616B2 (en) | Contour lines for volumetric objects | |
| US9639981B1 (en) | Tetrahedral Shell Generation | |
| Romanyuk et al. | Interactive shape modeling using functionally defined objects | |
| US12505598B1 (en) | Hair editing techniques for animation | |
| US9406161B1 (en) | Curve reparameterization | |
| US7532751B2 (en) | Apparatus and computer readable medium for setting up multi-dimensional DDA variables | |
| Isenberg et al. | 3D illustrative effects for animating line drawings | |
| CN119579823A (zh) | 网格模型的处理方法、装置、存储介质及电子设备 |