JP2000163601A - 画像処理装置、画像処理方法および記録媒体 - Google Patents
画像処理装置、画像処理方法および記録媒体Info
- Publication number
- JP2000163601A JP2000163601A JP10333117A JP33311798A JP2000163601A JP 2000163601 A JP2000163601 A JP 2000163601A JP 10333117 A JP10333117 A JP 10333117A JP 33311798 A JP33311798 A JP 33311798A JP 2000163601 A JP2000163601 A JP 2000163601A
- Authority
- JP
- Japan
- Prior art keywords
- modifier
- image processing
- modifier volume
- volume
- polygon
- 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.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/50—Lighting effects
- G06T15/60—Shadow generation
Landscapes
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Generation (AREA)
- Processing Or Creating Images (AREA)
Abstract
(57)【要約】
モディファイアボリュームに視点が入った場合でも、簡
単なアルゴリズムで容易に陰影処理などの属性変更処理
を行なう。 【課題】 仮想3次元空間に閉じたサーフェースモデル
として仮想的に設定されるモディファイアボリュームを
用いる画像処理装置である。モディファイアボリューム
の内部にカメラ視点が位置したときに当該カメラ視点に
入る視野をクリッピングする手段18と、クリッピング
によりモディファイアボリュームが切断された切断面を
閉じる手段18と、切断面が閉じられたモディファイア
ボリュームを用いて当該ボリュームの内側に位置するオ
ブジェクトに陰影処理を施す手段30、34とを備え
る。
単なアルゴリズムで容易に陰影処理などの属性変更処理
を行なう。 【課題】 仮想3次元空間に閉じたサーフェースモデル
として仮想的に設定されるモディファイアボリュームを
用いる画像処理装置である。モディファイアボリューム
の内部にカメラ視点が位置したときに当該カメラ視点に
入る視野をクリッピングする手段18と、クリッピング
によりモディファイアボリュームが切断された切断面を
閉じる手段18と、切断面が閉じられたモディファイア
ボリュームを用いて当該ボリュームの内側に位置するオ
ブジェクトに陰影処理を施す手段30、34とを備え
る。
Description
【0001】
【発明の属する技術分野】本発明は、コンピュータなど
で好適に実行される画像処理に関し、特に、仮想3次元
空間に仮想的に設定されるサーフェースモデルとしての
モディファイアボリュームを用いてそのボリューム空間
でオブジェクトの属性を変更する処理(陰影処理など)
を行うことができる画像処理に関する。
で好適に実行される画像処理に関し、特に、仮想3次元
空間に仮想的に設定されるサーフェースモデルとしての
モディファイアボリュームを用いてそのボリューム空間
でオブジェクトの属性を変更する処理(陰影処理など)
を行うことができる画像処理に関する。
【0002】
【従来の技術】近年のコンピュータグラフィックス技術
の発達に伴い、業務用、家庭用を問わず、シミュレーシ
ョン装置やゲーム装置が広く一般に普及するようになっ
ている。
の発達に伴い、業務用、家庭用を問わず、シミュレーシ
ョン装置やゲーム装置が広く一般に普及するようになっ
ている。
【0003】これらの装置で画像処理を行う際、物体の
陰に入るオブジェクトに陰影を施したり、その反対にス
ポットライトを施すなど、その属性を一時的に変更する
処理を行う必要に迫られることが非常に多い。とくに、
画像の品質やリアリティが求められる昨今の画像処理に
あってはなおさらのことである。
陰に入るオブジェクトに陰影を施したり、その反対にス
ポットライトを施すなど、その属性を一時的に変更する
処理を行う必要に迫られることが非常に多い。とくに、
画像の品質やリアリティが求められる昨今の画像処理に
あってはなおさらのことである。
【0004】従来、このような属性変更処理を行う場
合、その1つの手法として、ソフトウエア処理を行う方
法があった。つまり、ソフトウエア処理によって、陰に
なる領域やスポットライトを浴びる領域をリアルタイム
に演算し、その演算結果に応じて陰やスポットライトを
表すポリゴンを作成し、このポリゴンを画像の一部とし
て表示するという手法である。しかし、このように逐
次、ソフトウエアによる3次元演算を逐一、画像処理や
シミュレーション処理に同期して行う場合、CPUに掛
かる演算負荷が著しく大きくなり、他の画像処理やシミ
ュレーション演算に影響を及ぼし、処理速度の低下を招
来するという問題があった。
合、その1つの手法として、ソフトウエア処理を行う方
法があった。つまり、ソフトウエア処理によって、陰に
なる領域やスポットライトを浴びる領域をリアルタイム
に演算し、その演算結果に応じて陰やスポットライトを
表すポリゴンを作成し、このポリゴンを画像の一部とし
て表示するという手法である。しかし、このように逐
次、ソフトウエアによる3次元演算を逐一、画像処理や
シミュレーション処理に同期して行う場合、CPUに掛
かる演算負荷が著しく大きくなり、他の画像処理やシミ
ュレーション演算に影響を及ぼし、処理速度の低下を招
来するという問題があった。
【0005】そこで、この演算負荷の増大を抑制可能な
別の方法が提案されている。それは、Z値を利用した陰
面消去処理のハードウエアを利用して陰影処理を行うシ
ャドーポリゴン法であり、例えば特開平2―73479
号に開示されている。このシャドーポリゴン法は、シャ
ドーボリュームと呼ばれる陰影処理用の仮想のオブジェ
クトを利用して行う方法である。
別の方法が提案されている。それは、Z値を利用した陰
面消去処理のハードウエアを利用して陰影処理を行うシ
ャドーポリゴン法であり、例えば特開平2―73479
号に開示されている。このシャドーポリゴン法は、シャ
ドーボリュームと呼ばれる陰影処理用の仮想のオブジェ
クトを利用して行う方法である。
【0006】このシャドーボリュームは、そのオブジェ
クトの光源とは反対側にできる陰の領域であり、この陰
領域の内側に処理対象のオブジェクトが入ったときにそ
のオブジェクトに陰影を施すものである。シャドーボリ
ュームは、半無限の多面体である。すなわち、これを構
成する複数の側面はシャドーポリゴンと呼ばれる半無限
の多角形からなる。対象とするオブジェクトが陰影を行
なうシャドーボリューム内に在るか、光が照射されるシ
ャドーボリューム外に在るかを判定するには、視点から
対象となるオブジェクト(すなわち、画像処理対象のポ
リゴンにより形成される通常オブジェクト)までのZ軸
方向において、その間に通過したシャドーポリゴンの枚
数をカウントする。このカウント値が偶数(又は零)の
ときには、対象オブジェクトはシャドーボリュームの外
側の領域にあり、陰影処理の必要がなく、反対に、奇数
のときには、シャドーボリュームの内側にあって、陰影
処理の必要があると認識できる。
クトの光源とは反対側にできる陰の領域であり、この陰
領域の内側に処理対象のオブジェクトが入ったときにそ
のオブジェクトに陰影を施すものである。シャドーボリ
ュームは、半無限の多面体である。すなわち、これを構
成する複数の側面はシャドーポリゴンと呼ばれる半無限
の多角形からなる。対象とするオブジェクトが陰影を行
なうシャドーボリューム内に在るか、光が照射されるシ
ャドーボリューム外に在るかを判定するには、視点から
対象となるオブジェクト(すなわち、画像処理対象のポ
リゴンにより形成される通常オブジェクト)までのZ軸
方向において、その間に通過したシャドーポリゴンの枚
数をカウントする。このカウント値が偶数(又は零)の
ときには、対象オブジェクトはシャドーボリュームの外
側の領域にあり、陰影処理の必要がなく、反対に、奇数
のときには、シャドーボリュームの内側にあって、陰影
処理の必要があると認識できる。
【0007】
【発明が解決しようとする課題】しかしながら、画像処
理やシミュレーションによっては、カメラ視点が必ずし
も常にシャドーボリュームの外側に在るとは限らない。
カメラ視点をシャドーボリュームの中に移動させて、シ
ャドーボリュームの内側からその外側を見た様子を表示
することもある。例えば、シャドーボリュームが山の陰
の部分である場合、この陰部分を飛行中の飛行機に乗っ
たパイロットの視点からの視界などである。このような
場合、上述した従来の偶数、奇数のアルゴリズムに拠る
判定を適用すると、視点が既に陰部分、すなわちシャド
ーボリュームの内側に在ることから、偶数、奇数の判定
結果が上述とは反対になる。すなわち、パイロットが見
ている視野が陰部分の向こうの明るい空を含んでいたと
しても、それを含む画像全体に陰影処理が施されて輝度
が落とされ、暗く表現されてしまう。
理やシミュレーションによっては、カメラ視点が必ずし
も常にシャドーボリュームの外側に在るとは限らない。
カメラ視点をシャドーボリュームの中に移動させて、シ
ャドーボリュームの内側からその外側を見た様子を表示
することもある。例えば、シャドーボリュームが山の陰
の部分である場合、この陰部分を飛行中の飛行機に乗っ
たパイロットの視点からの視界などである。このような
場合、上述した従来の偶数、奇数のアルゴリズムに拠る
判定を適用すると、視点が既に陰部分、すなわちシャド
ーボリュームの内側に在ることから、偶数、奇数の判定
結果が上述とは反対になる。すなわち、パイロットが見
ている視野が陰部分の向こうの明るい空を含んでいたと
しても、それを含む画像全体に陰影処理が施されて輝度
が落とされ、暗く表現されてしまう。
【0008】このような場合、現在の視点位置がシャド
ーボリュームの内側か外側かを判定して、その判定結果
に応じて偶数、奇数の上述した判定アルゴリズムを反対
にすればよい。
ーボリュームの内側か外側かを判定して、その判定結果
に応じて偶数、奇数の上述した判定アルゴリズムを反対
にすればよい。
【0009】しかし、実際には、そのように両方のアル
ゴリズムを持つことはメモリ容量や演算量の増大を招
き、適切ではない。
ゴリズムを持つことはメモリ容量や演算量の増大を招
き、適切ではない。
【0010】実際には、従来の画像処理装置の場合、陰
影付与領域の検出は、プロセッサの専用ハードウエア化
によって、検出専門のCPUを備えたエンジンによって
行なうことが多い。このハードウエアユニットにあって
は、上述した偶数、奇数の判定アルゴリズムは一定に、
すなわち、視点がシャドーボリュームの外側にあって、
シャドーポリゴンのカウント値が偶数のときには対象オ
ブジェクトに陰影処理を施すように指令し、一方、奇数
のときには陰影処理を行なわないように指令するよう設
定されている。この専用化されたハードウエアユニット
の処理内容を、上述したように、反対のアルゴリズムを
も実行できるように変更することは製造コスト的にも不
経済である。
影付与領域の検出は、プロセッサの専用ハードウエア化
によって、検出専門のCPUを備えたエンジンによって
行なうことが多い。このハードウエアユニットにあって
は、上述した偶数、奇数の判定アルゴリズムは一定に、
すなわち、視点がシャドーボリュームの外側にあって、
シャドーポリゴンのカウント値が偶数のときには対象オ
ブジェクトに陰影処理を施すように指令し、一方、奇数
のときには陰影処理を行なわないように指令するよう設
定されている。この専用化されたハードウエアユニット
の処理内容を、上述したように、反対のアルゴリズムを
も実行できるように変更することは製造コスト的にも不
経済である。
【0011】そこで本発明は、このような従来技術が直
面している状況に鑑みてなされたもので、上述したハー
ドウエア化した専用のハードウエアユニットをそのまま
活かし、仮想3次元空間内の部分的な属性変更領域内に
視点が入った場合でも、簡単なアルゴリズムで容易に陰
影処理などの、表示対象となるオブジェクトの属性変更
処理を行なうことができるようにすることを、その目的
とする。
面している状況に鑑みてなされたもので、上述したハー
ドウエア化した専用のハードウエアユニットをそのまま
活かし、仮想3次元空間内の部分的な属性変更領域内に
視点が入った場合でも、簡単なアルゴリズムで容易に陰
影処理などの、表示対象となるオブジェクトの属性変更
処理を行なうことができるようにすることを、その目的
とする。
【0012】
【課題を解決するための手段】最初に本発明の着眼点を
説明する。従来、あるオブジェクトの内部に在る別のオ
ブジェクトの属性を変更するために設定する仮想領域と
してのモディファイアボリュームが知られている。例え
ば、図1に示すように、モディファイアボリューム(仮
想オブジェクト)としてサーフェイスモデルから成る立
方体1が有り、この内側に表示対象となる別のオブジェ
クトとしてのポリゴン(通常ポリゴン)2が在るとす
る。この場合、通常ポリゴン2の内、立方体1の内部に
入る部分の輝度を下げると影を表現することができる。
つまり、通常ポリゴン2の属性を変更することができ
る。モディファイアボリューム自体は閉じた閉空間を成
していることが必須要件である。また、モディファイア
ボリューム自体は画像上には表示される性質のものでは
ない。
説明する。従来、あるオブジェクトの内部に在る別のオ
ブジェクトの属性を変更するために設定する仮想領域と
してのモディファイアボリュームが知られている。例え
ば、図1に示すように、モディファイアボリューム(仮
想オブジェクト)としてサーフェイスモデルから成る立
方体1が有り、この内側に表示対象となる別のオブジェ
クトとしてのポリゴン(通常ポリゴン)2が在るとす
る。この場合、通常ポリゴン2の内、立方体1の内部に
入る部分の輝度を下げると影を表現することができる。
つまり、通常ポリゴン2の属性を変更することができ
る。モディファイアボリューム自体は閉じた閉空間を成
していることが必須要件である。また、モディファイア
ボリューム自体は画像上には表示される性質のものでは
ない。
【0013】このようにモディファイアボリュームを用
いると、その内側に在るオブジェクトの属性を変更でき
るが、カメラ視点がこのボリューム内に入ったときに
は、そのままではニアクリッピングに伴う不都合が以下
の如く生じる。
いると、その内側に在るオブジェクトの属性を変更でき
るが、カメラ視点がこのボリューム内に入ったときに
は、そのままではニアクリッピングに伴う不都合が以下
の如く生じる。
【0014】つまり、カメラ視点の前面にポリゴンのオ
ブジェクトが在る場合は特に問題は無いが、例えば図2
に示す如く、閉空間として上述したモディファイアボリ
ュームの内側にカメラ視点が入った場合、カメラの後ろ
に在るポリゴンについては処理できないので、カメラの
前にあるポリゴンだけとなるようにモディファイアボリ
ュームを構成するポリゴンがカメラの前面位置で切断さ
れる。このようにニアクリッピングされると、モディフ
ァイアボリュームの必須要件である「閉空間を成す」と
いう前提が崩れてしまう。すなわち、図3の視線R3で
示す如く、カメラ視点がモディファイアボリューム1の
内側に位置した場合、前述したシャドーボリュームのと
きと同様に、属性変更検出のオン、オフの関係が視線R
2(視点がボリューム1の外側にあるとき)に対して反
対に成り、陰影処理などの属性変更に不具合が出る。
ブジェクトが在る場合は特に問題は無いが、例えば図2
に示す如く、閉空間として上述したモディファイアボリ
ュームの内側にカメラ視点が入った場合、カメラの後ろ
に在るポリゴンについては処理できないので、カメラの
前にあるポリゴンだけとなるようにモディファイアボリ
ュームを構成するポリゴンがカメラの前面位置で切断さ
れる。このようにニアクリッピングされると、モディフ
ァイアボリュームの必須要件である「閉空間を成す」と
いう前提が崩れてしまう。すなわち、図3の視線R3で
示す如く、カメラ視点がモディファイアボリューム1の
内側に位置した場合、前述したシャドーボリュームのと
きと同様に、属性変更検出のオン、オフの関係が視線R
2(視点がボリューム1の外側にあるとき)に対して反
対に成り、陰影処理などの属性変更に不具合が出る。
【0015】そこで、本発明では、図4に模式的に示す
如く、モディファイアボリューム1の切断面(ニアクリ
ップ面)に蓋CVをするデータを作成し、カメラ前面の
モディファイアボリュームの部分を再び閉空間(閉じた
オブジェクト)に戻す構成を採る。この場合、切断面が
凸形状、凹形状など、どのような形状であっても簡単な
アルゴリズムで蓋データ(具体的には三角形ポリゴンの
データ)を自動的に生成する。これにより、視点がモデ
ィファイアボリュームの中にあっても、カメラ前面のモ
ディファイアボリュームは常に閉空間に保持されるの
で、後で実施される陰影付与領域などの属性変更領域の
検出アルゴリズムは従来のままでよいことになる。つま
り、図4の視線RLによるオンオフ判定から分かるよう
に、視線が最初のシャドウポリゴンと当たったときに属
性変更領域をオン(奇数)し、その次のシャドウポリゴ
ンと当たったときにそれをオフ(偶数)とするアルゴリ
ズムである。
如く、モディファイアボリューム1の切断面(ニアクリ
ップ面)に蓋CVをするデータを作成し、カメラ前面の
モディファイアボリュームの部分を再び閉空間(閉じた
オブジェクト)に戻す構成を採る。この場合、切断面が
凸形状、凹形状など、どのような形状であっても簡単な
アルゴリズムで蓋データ(具体的には三角形ポリゴンの
データ)を自動的に生成する。これにより、視点がモデ
ィファイアボリュームの中にあっても、カメラ前面のモ
ディファイアボリュームは常に閉空間に保持されるの
で、後で実施される陰影付与領域などの属性変更領域の
検出アルゴリズムは従来のままでよいことになる。つま
り、図4の視線RLによるオンオフ判定から分かるよう
に、視線が最初のシャドウポリゴンと当たったときに属
性変更領域をオン(奇数)し、その次のシャドウポリゴ
ンと当たったときにそれをオフ(偶数)とするアルゴリ
ズムである。
【0016】本発明の具体的な構成は以下のようであ
る。
る。
【0017】本発明の第1の構成は、仮想3次元空間に
閉じたサーフェースモデルとして仮想的に設定されるモ
ディファイアボリュームを用いる画像処理装置におい
て、前記モディファイアボリュームの内部にカメラ視点
が位置したときに当該カメラ視点に入る視野をクリッピ
ングするクリッピング手段と、このクリッピングにより
前記モディファイアボリュームが切断された切断面を閉
じる閉空間化手段とを備えたことを特徴とする。
閉じたサーフェースモデルとして仮想的に設定されるモ
ディファイアボリュームを用いる画像処理装置におい
て、前記モディファイアボリュームの内部にカメラ視点
が位置したときに当該カメラ視点に入る視野をクリッピ
ングするクリッピング手段と、このクリッピングにより
前記モディファイアボリュームが切断された切断面を閉
じる閉空間化手段とを備えたことを特徴とする。
【0018】ここで、例えば、前記切断面が閉じられた
モディファイアボリュームを用いて当該モディファイア
ボリュームの内側に位置するオブジェクトの属性を変更
する属性変更手段を更に備える。前記属性変更手段は、
一例として、前記モディファイアボリュームの外側に位
置する視点ベクトルが当該モディファイアボリュームの
サーフェースを通過する度に前記属性変更の必要性の有
無を表すオン、オフを順次繰り返して属性変更領域を検
出する検出手段を備える。好適には、前記属性変更手段
は、前記検出手段により検出された前記属性変更領域に
在る前記オブジェクトに陰影又はスポットライトを施す
処理手段を備える。また好適には、前記閉空間化手段
は、前記切断面の形状に合致した蓋の形状データを生成
する手段である。例えば、前記切断面は多角形で表さ
れ、かつ前記蓋の形状は少なくとも1枚の3角形のポリ
ゴンデータで表される。また、前記閉空間化手段は、前
記多角形の1つの頂点とこの多角形の輪郭を形成してい
る複数の線分とを用いて前記少なくとも1枚のポリゴン
データを演算する演算手段を備えていてもよい。例え
ば、前記演算手段は、前記1つの頂点と前記複数の線分
それぞれとから形成される3角形データを前記ポリゴン
データとして演算する手段である。
モディファイアボリュームを用いて当該モディファイア
ボリュームの内側に位置するオブジェクトの属性を変更
する属性変更手段を更に備える。前記属性変更手段は、
一例として、前記モディファイアボリュームの外側に位
置する視点ベクトルが当該モディファイアボリュームの
サーフェースを通過する度に前記属性変更の必要性の有
無を表すオン、オフを順次繰り返して属性変更領域を検
出する検出手段を備える。好適には、前記属性変更手段
は、前記検出手段により検出された前記属性変更領域に
在る前記オブジェクトに陰影又はスポットライトを施す
処理手段を備える。また好適には、前記閉空間化手段
は、前記切断面の形状に合致した蓋の形状データを生成
する手段である。例えば、前記切断面は多角形で表さ
れ、かつ前記蓋の形状は少なくとも1枚の3角形のポリ
ゴンデータで表される。また、前記閉空間化手段は、前
記多角形の1つの頂点とこの多角形の輪郭を形成してい
る複数の線分とを用いて前記少なくとも1枚のポリゴン
データを演算する演算手段を備えていてもよい。例え
ば、前記演算手段は、前記1つの頂点と前記複数の線分
それぞれとから形成される3角形データを前記ポリゴン
データとして演算する手段である。
【0019】さらに、望ましくは、前記検出手段は、専
用ハードウエア化され且つ前記オンオフを検出する検出
器を備えて構成される。
用ハードウエア化され且つ前記オンオフを検出する検出
器を備えて構成される。
【0020】また、本発明の第2の構成は、仮想3次元
空間に閉じたサーフェースモデルとして仮想的に設定さ
れるモディファイアボリュームを用いる画像処理方法で
あって、前記モディファイアボリューム内にカメラ視点
が位置したか否かを判定し、この結果、前記カメラ視点
が前記モディファイアボリューム内に位置している状態
が判定されたときには、当該カメラ視点に入る視野をク
リッピングし、このクリッピングにより前記モディファ
イアボリュームが切断された切断面を閉じ、この閉じた
モディファイアボリュームを用いて当該ボリュームの内
側に位置する属性を変更することを特徴とする。
空間に閉じたサーフェースモデルとして仮想的に設定さ
れるモディファイアボリュームを用いる画像処理方法で
あって、前記モディファイアボリューム内にカメラ視点
が位置したか否かを判定し、この結果、前記カメラ視点
が前記モディファイアボリューム内に位置している状態
が判定されたときには、当該カメラ視点に入る視野をク
リッピングし、このクリッピングにより前記モディファ
イアボリュームが切断された切断面を閉じ、この閉じた
モディファイアボリュームを用いて当該ボリュームの内
側に位置する属性を変更することを特徴とする。
【0021】さらに、本発明の第3の構成は、仮想3次
元空間に閉じたサーフェースモデルとして仮想的に設定
されるモディファイアボリュームを用いる画像処理のプ
ログラムを記録した記録媒体装置であって、前記モディ
ファイアボリュームの内部にカメラ視点が位置したとき
に当該カメラ視点に入る視野をクリッピングする手段
と、このクリッピングにより前記モディファイアボリュ
ームが切断された切断面を閉じる手段と、前記切断面が
閉じられたモディファイアボリュームを用いて当該モデ
ィファイアボリュームの内側に位置するオブジェクトの
属性を変更する手段と、を実行するプログラムを記録し
た記録媒体である。
元空間に閉じたサーフェースモデルとして仮想的に設定
されるモディファイアボリュームを用いる画像処理のプ
ログラムを記録した記録媒体装置であって、前記モディ
ファイアボリュームの内部にカメラ視点が位置したとき
に当該カメラ視点に入る視野をクリッピングする手段
と、このクリッピングにより前記モディファイアボリュ
ームが切断された切断面を閉じる手段と、前記切断面が
閉じられたモディファイアボリュームを用いて当該モデ
ィファイアボリュームの内側に位置するオブジェクトの
属性を変更する手段と、を実行するプログラムを記録し
た記録媒体である。
【0022】さらにまた、本発明の第4の構成は、仮想
3次元空間に閉じたサーフェースモデルとして仮想的に
設定されるモディファイアボリュームのデータと、この
モディファイアボリュームがクリッピングされたとき
に、このクリッピングにより形成される切断面を閉じる
データとを共に記録した記録媒体である。
3次元空間に閉じたサーフェースモデルとして仮想的に
設定されるモディファイアボリュームのデータと、この
モディファイアボリュームがクリッピングされたとき
に、このクリッピングにより形成される切断面を閉じる
データとを共に記録した記録媒体である。
【0023】
【発明の実施の形態】以下、本発明の1つの実施の形態
を図5〜図13を参照して説明する。
を図5〜図13を参照して説明する。
【0024】この実施形態では、本発明に係る画像処理
装置をゲーム装置として説明するが、必ずしもそのよう
な態様に限定されるものではなく、シミュレーション装
置など各種の画像を扱う装置やシステムに好適に適用可
能なものである。また、この実施形態で実施する属性変
更処理は、モディファイアボリュームを用いた陰影処理
を実施しているが、これもスポットライト処理もすく
は、その他の処理(テクスチャの切り換え等)であって
もよい。
装置をゲーム装置として説明するが、必ずしもそのよう
な態様に限定されるものではなく、シミュレーション装
置など各種の画像を扱う装置やシステムに好適に適用可
能なものである。また、この実施形態で実施する属性変
更処理は、モディファイアボリュームを用いた陰影処理
を実施しているが、これもスポットライト処理もすく
は、その他の処理(テクスチャの切り換え等)であって
もよい。
【0025】図5に、画像処理装置としてのゲーム装置
の概略ブロック図を示す。このゲーム装置は、CPU1
0を備える一方で、このCPU10にバスを介して接続
されたRAM12、DOM14、および遊戯者からの操
作情報を入力する入出力部16を備える。また、このC
PU10はジオメトリ処理部18に接続され、このジオ
メトリ処理部18がポリゴンバッファおよびレンダリン
グプロセッサ20に接続される。このレンダリングプロ
セッサ20がフレームバッファ38を介して表示装置4
0に接続される。この内、レンダリングプロセッサ20
は、ピクセルデータ生成部24、Z値比較器26、Z値
バッファ28、陰影検出器30、陰影バッファ31、補
間器32、レンダリング処理部34、およびテクスチャ
マップ36を備える。
の概略ブロック図を示す。このゲーム装置は、CPU1
0を備える一方で、このCPU10にバスを介して接続
されたRAM12、DOM14、および遊戯者からの操
作情報を入力する入出力部16を備える。また、このC
PU10はジオメトリ処理部18に接続され、このジオ
メトリ処理部18がポリゴンバッファおよびレンダリン
グプロセッサ20に接続される。このレンダリングプロ
セッサ20がフレームバッファ38を介して表示装置4
0に接続される。この内、レンダリングプロセッサ20
は、ピクセルデータ生成部24、Z値比較器26、Z値
バッファ28、陰影検出器30、陰影バッファ31、補
間器32、レンダリング処理部34、およびテクスチャ
マップ36を備える。
【0026】これらの構成要素の動作をさらに説明す
る。
る。
【0027】CPU10は、画像生成用のアプリケーシ
ョンプログラムを実行する。このプログラムは表示タイ
ミングに見合った一定の微小時間Δt毎のタイマ割込み
処理として実行される。
ョンプログラムを実行する。このプログラムは表示タイ
ミングに見合った一定の微小時間Δt毎のタイマ割込み
処理として実行される。
【0028】この中で、CPU10は、操作情報を読み
込み、3次元ワールド座標系の通常ポリゴンデータおよ
び陰影処理を行なうためのモディファイアボリュームを
形成するモディファイアポリゴンデータを演算し、さら
に視点位置およびその方向を演算する(図6、ステップ
S1〜S3)。
込み、3次元ワールド座標系の通常ポリゴンデータおよ
び陰影処理を行なうためのモディファイアボリュームを
形成するモディファイアポリゴンデータを演算し、さら
に視点位置およびその方向を演算する(図6、ステップ
S1〜S3)。
【0029】CPU10で演算されたポリゴンデータ
は、ジオメトリ供給部18に供給される。ジオメトリ供
給部18は、カメラ視点に応じてニアクリッピング処理
を行い、視点位置がモディファイアボリュームの内側に
あったか否かを判断する(ステップS4、S5)。視点
位置がモディファイアボリュームの内側にあった場合
(図2、3参照)、モディファイアボリュームがクリッ
ピングされているので、その切断面(ニアクリップ面)
に蓋をする閉空間化処理を行い(ステップS6)、その
後、ポリゴンデータの透視変換を行なう(ステップS
7)。
は、ジオメトリ供給部18に供給される。ジオメトリ供
給部18は、カメラ視点に応じてニアクリッピング処理
を行い、視点位置がモディファイアボリュームの内側に
あったか否かを判断する(ステップS4、S5)。視点
位置がモディファイアボリュームの内側にあった場合
(図2、3参照)、モディファイアボリュームがクリッ
ピングされているので、その切断面(ニアクリップ面)
に蓋をする閉空間化処理を行い(ステップS6)、その
後、ポリゴンデータの透視変換を行なう(ステップS
7)。
【0030】クリッピング処理により表示対象となる限
定されたポリゴンが判別される。閉空間化処理により、
後述する如く、モディファイアボリュームの切断面に仮
想的な蓋がされる。透視変換により、視点位置に応じて
ポリゴンの座標データが3次元ワールド座標から表示画
面の2次元座標に変換される。一方、視点位置がモディ
ファイアボリュームの外側にあった場合、直接、ステッ
プS7の透視変換処理に移行する。このように処理され
たポリゴンデータは、ポリゴンバッファ22に格納され
る一方で、レンダリングプロセッサ20に送られる。
定されたポリゴンが判別される。閉空間化処理により、
後述する如く、モディファイアボリュームの切断面に仮
想的な蓋がされる。透視変換により、視点位置に応じて
ポリゴンの座標データが3次元ワールド座標から表示画
面の2次元座標に変換される。一方、視点位置がモディ
ファイアボリュームの外側にあった場合、直接、ステッ
プS7の透視変換処理に移行する。このように処理され
たポリゴンデータは、ポリゴンバッファ22に格納され
る一方で、レンダリングプロセッサ20に送られる。
【0031】ここで、上述したステップS6にてジオメ
トリ処理部18により実施される閉空間化処理を詳細に
説明する。図7は、この閉空間化処理のサブルーチンを
概略的に示す。
トリ処理部18により実施される閉空間化処理を詳細に
説明する。図7は、この閉空間化処理のサブルーチンを
概略的に示す。
【0032】ジオメトリ処理部18は、ニアクリッピン
グされたモディファイアボリュームの切断面(ニアクリ
ップ面)の形状を特定する。この形状は、切断面を成す
多角形の頂点の位置座標データと、その多角形の輪郭を
成す線分データとして演算される(ステップS6−
1)。次いで、ジオメトリ処理部18は、3個以上の頂
点(重なって表現される1個又は2個のこともある)の中
から1個の頂点を所定のアルゴリズムで指定する(ステ
ップS6−2)。この1個の頂点はどの頂点であっても
よい。次いで、この1個の指定頂点に組み合わせる1本の
線分を特定する(ステップS6−3)。この特定処理は
全ての線分に対して実行するから、例えば指定頂点から
の時計回りに決めていけばよいが、どのような順番であ
ってもよい。
グされたモディファイアボリュームの切断面(ニアクリ
ップ面)の形状を特定する。この形状は、切断面を成す
多角形の頂点の位置座標データと、その多角形の輪郭を
成す線分データとして演算される(ステップS6−
1)。次いで、ジオメトリ処理部18は、3個以上の頂
点(重なって表現される1個又は2個のこともある)の中
から1個の頂点を所定のアルゴリズムで指定する(ステ
ップS6−2)。この1個の頂点はどの頂点であっても
よい。次いで、この1個の指定頂点に組み合わせる1本の
線分を特定する(ステップS6−3)。この特定処理は
全ての線分に対して実行するから、例えば指定頂点から
の時計回りに決めていけばよいが、どのような順番であ
ってもよい。
【0033】次いで、1個の指定頂点と1本の線分とに3
角形が決まるので、その3角形の3個(理論的には重な
る1個又は2個のこともある)の頂点データを発生させる
(このステップS6―4)。この3角形は切断面を閉じ
る蓋として機能する。この3角形の頂点データは、蓋デ
ータとしてモディファイアボリュームのポリゴンデータ
に加えられ、内部メモリに格納される(ステップS6―
5)。
角形が決まるので、その3角形の3個(理論的には重な
る1個又は2個のこともある)の頂点データを発生させる
(このステップS6―4)。この3角形は切断面を閉じ
る蓋として機能する。この3角形の頂点データは、蓋デ
ータとしてモディファイアボリュームのポリゴンデータ
に加えられ、内部メモリに格納される(ステップS6―
5)。
【0034】そして、未だ処理していない線分が残って
いるかどうかを判定し(ステップS6−6)、残ってい
る場合にはステップS6−3の処理に戻る。切断面を形
成する全ての線分について、上述した3角形データ(蓋
データ)を発生させる。1つの切断面に対して、このサ
ブルーチン処理が完了すると、再び図6のプログラムに
戻る。
いるかどうかを判定し(ステップS6−6)、残ってい
る場合にはステップS6−3の処理に戻る。切断面を形
成する全ての線分について、上述した3角形データ(蓋
データ)を発生させる。1つの切断面に対して、このサ
ブルーチン処理が完了すると、再び図6のプログラムに
戻る。
【0035】この閉空間化の処理による、モディファイ
アボリュームの切断面に置く蓋の作成例を図8〜図11
に示す。
アボリュームの切断面に置く蓋の作成例を図8〜図11
に示す。
【0036】一例として、図8(a)に示す如く、切断
面(すなわち、ニアクリップ面)SEC1が略菱形を成
す4角形であるとする。この場合、例えば、1個の指定
頂点として頂点Fが指定され、この頂点Fと線分1〜4
がそれぞれ組み合わされて同図(b)に示す如く、4個
の3角形TR1〜TR4それぞれの頂点データが形成さ
れる。この内、3角形TR1およびTR4は物理的には
3角形を形成せず、単に線分としか表現されないもので
あるが、アルゴリズム的に一定の規則に沿って発生され
る3角形である。これら3角形TR1〜TR4の頂点の
データは、蓋データとしてモディファイアボリュームの
ポリゴンデータに加えられ、記憶される。
面(すなわち、ニアクリップ面)SEC1が略菱形を成
す4角形であるとする。この場合、例えば、1個の指定
頂点として頂点Fが指定され、この頂点Fと線分1〜4
がそれぞれ組み合わされて同図(b)に示す如く、4個
の3角形TR1〜TR4それぞれの頂点データが形成さ
れる。この内、3角形TR1およびTR4は物理的には
3角形を形成せず、単に線分としか表現されないもので
あるが、アルゴリズム的に一定の規則に沿って発生され
る3角形である。これら3角形TR1〜TR4の頂点の
データは、蓋データとしてモディファイアボリュームの
ポリゴンデータに加えられ、記憶される。
【0037】後述するように、切断面SEC1の空間的
に有効な蓋として機能するのは、この場合、2つの三角
形TR2,TR3であり(同図(c)参照)、この2つ
の3角形がオア条件で合わさって、同図(a)に示した
切断面SEC1のエリアを過不足なくカバーしている。
に有効な蓋として機能するのは、この場合、2つの三角
形TR2,TR3であり(同図(c)参照)、この2つ
の3角形がオア条件で合わさって、同図(a)に示した
切断面SEC1のエリアを過不足なくカバーしている。
【0038】また別の例として、、図9(a)に示す如
く、切断面SEC2が略V字形を成す4角形であるとす
る。この場合、例えば、1個の指定頂点として頂点Fが
指定され、この頂点Fと線分1〜4がそれぞれ組み合わ
されて同図(b)に示す如く、4個の3角形TR1〜T
R4それぞれの頂点データが形成される。この内、3角
形TR1およびTR4は物理的には3角形を形成せず、
単に線分としか表現されないものであるが、アルゴリズ
ム的に一定の規則に沿って発生される3角形である。こ
れら3角形TR1〜TR4の頂点のデータは、蓋データ
としてモディファイアボリュームのポリゴンデータに加
えられ、記憶される。
く、切断面SEC2が略V字形を成す4角形であるとす
る。この場合、例えば、1個の指定頂点として頂点Fが
指定され、この頂点Fと線分1〜4がそれぞれ組み合わ
されて同図(b)に示す如く、4個の3角形TR1〜T
R4それぞれの頂点データが形成される。この内、3角
形TR1およびTR4は物理的には3角形を形成せず、
単に線分としか表現されないものであるが、アルゴリズ
ム的に一定の規則に沿って発生される3角形である。こ
れら3角形TR1〜TR4の頂点のデータは、蓋データ
としてモディファイアボリュームのポリゴンデータに加
えられ、記憶される。
【0039】後述するように、切断面SEC2の空間的
な蓋として機能するのは、この場合、2つの三角形TR
2,TR3である。
な蓋として機能するのは、この場合、2つの三角形TR
2,TR3である。
【0040】ここで特徴的な事項は、後述する陰影検出
アルゴリズムが実行されると、この2つの3角形TR
2、TR3が重なっている部分は蓋として機能しない。
結局、同図(c)に示す如く、一方の3角形TR2から
もう一方の3角形TR3を差し引いた残りの面積部分、
すなわち同図(a)の略V字形に合致したエリアのみが
有効な蓋として機能する。
アルゴリズムが実行されると、この2つの3角形TR
2、TR3が重なっている部分は蓋として機能しない。
結局、同図(c)に示す如く、一方の3角形TR2から
もう一方の3角形TR3を差し引いた残りの面積部分、
すなわち同図(a)の略V字形に合致したエリアのみが
有効な蓋として機能する。
【0041】さらに図10(a)に示す切断面SEC3
は、図9に記載の形状を更に複雑にしたもので、略W字
状を成す。この場合も、1個の指定頂点として頂点Fが
指定され、この頂点Fと線分1〜6がそれぞれ組み合わ
されて6個の3角形それぞれの頂点データが形成され
る。この内、有効に機能する3角形は線分2〜5と頂点
Fとを組み合わせた4個の3角形である。これら4個の3
角形の頂点データは、蓋データとしてモディファイアボ
リュームのポリゴンデータに加えられ、記憶される。
は、図9に記載の形状を更に複雑にしたもので、略W字
状を成す。この場合も、1個の指定頂点として頂点Fが
指定され、この頂点Fと線分1〜6がそれぞれ組み合わ
されて6個の3角形それぞれの頂点データが形成され
る。この内、有効に機能する3角形は線分2〜5と頂点
Fとを組み合わせた4個の3角形である。これら4個の3
角形の頂点データは、蓋データとしてモディファイアボ
リュームのポリゴンデータに加えられ、記憶される。
【0042】この場合も、後述するように、切断面SE
C3の空間的な蓋として機能するのは、3角形が奇数枚
重なったエリアである。すなわち同図(a)の略W字形
に合致したエリアのみが有効な蓋として機能する。
C3の空間的な蓋として機能するのは、3角形が奇数枚
重なったエリアである。すなわち同図(a)の略W字形
に合致したエリアのみが有効な蓋として機能する。
【0043】この閉空間化のアルゴリズムで処理できる
切断面の形状は、前述したものに限定されることなく、
例えば図11(a)に示す如く中抜きした立方体状のモ
ディファイアボリューム1から切断可能な同図(b)に
示す形状の切断面SEC4であってもよい。つまり、外
側および内側共に菱形を成した中抜き形状の多角形であ
る。この場合も、上述と全く同じアルゴリズムで三角デ
ータを発生させることができる。すなわち、1つの頂点
Fと8本の線分1〜8との間の三角形を考えればよい。
この場合も、後述するように、切断面SEC4の空間的
な蓋として機能するのは、3角形が奇数枚重なったエリ
ア、すなわち同図(a)の形状に合致したエリアのみが
有効な蓋として機能する。
切断面の形状は、前述したものに限定されることなく、
例えば図11(a)に示す如く中抜きした立方体状のモ
ディファイアボリューム1から切断可能な同図(b)に
示す形状の切断面SEC4であってもよい。つまり、外
側および内側共に菱形を成した中抜き形状の多角形であ
る。この場合も、上述と全く同じアルゴリズムで三角デ
ータを発生させることができる。すなわち、1つの頂点
Fと8本の線分1〜8との間の三角形を考えればよい。
この場合も、後述するように、切断面SEC4の空間的
な蓋として機能するのは、3角形が奇数枚重なったエリ
ア、すなわち同図(a)の形状に合致したエリアのみが
有効な蓋として機能する。
【0044】このようにして作成された蓋データは、モ
ディファイアボリュームのポリゴンデータの一部として
扱われる。
ディファイアボリュームのポリゴンデータの一部として
扱われる。
【0045】図12に、ジオメトリ処理部18により生
成されたポリゴンデータの構成例を示す。同図には、不
透明ポリゴンや半透明ポリゴンなどの通常ポリゴンOP
のデータ構成と、モディファイアボリュームを構成する
モディファイアポリゴンMPのデータ構成を例示する。
成されたポリゴンデータの構成例を示す。同図には、不
透明ポリゴンや半透明ポリゴンなどの通常ポリゴンOP
のデータ構成と、モディファイアボリュームを構成する
モディファイアポリゴンMPのデータ構成を例示する。
【0046】通常ポリゴンOPは、3角形のポリゴンを
構成する3つの頂点00〜01のパラメータで構成され
る。頂点パラメータには、例えば、スクリーン座標(s
x、sy)と表示画面内の奥行きを示すZ値、ポリゴン
表面の模様を示すテクスチャデータを与えるテクスチャ
座標(Tx,Ty)、光源に関する処理を行なうための
頂点の法線ベクトル(Nx,Ny,Nz)、透明度を表
すα値、および色データなどが含まれる。
構成する3つの頂点00〜01のパラメータで構成され
る。頂点パラメータには、例えば、スクリーン座標(s
x、sy)と表示画面内の奥行きを示すZ値、ポリゴン
表面の模様を示すテクスチャデータを与えるテクスチャ
座標(Tx,Ty)、光源に関する処理を行なうための
頂点の法線ベクトル(Nx,Ny,Nz)、透明度を表
すα値、および色データなどが含まれる。
【0047】これに対し、モディファイアポリゴンMP
のデータも、3角形のポリゴンを構成する頂点10〜1
2のパラメータで構成される。このデータには、モディ
ファイアボリュームがニアクリッピングされたときに上
述した如く作成された切断面の蓋データも含まれる。こ
のポリゴンMPの場合、あくまで仮想的に設定するもの
で、描画に供する必要はない。したがって、頂点パラメ
ータは、そのスクリーン座標と奥行きを示すZ値とが含
まれていれば足りるので、そのように設定されている。
このモディファイアポリゴンMPを複数個、適宜組み合
わせることで、任意形状のモディファイアボリュームを
仮想的に設定することができる。
のデータも、3角形のポリゴンを構成する頂点10〜1
2のパラメータで構成される。このデータには、モディ
ファイアボリュームがニアクリッピングされたときに上
述した如く作成された切断面の蓋データも含まれる。こ
のポリゴンMPの場合、あくまで仮想的に設定するもの
で、描画に供する必要はない。したがって、頂点パラメ
ータは、そのスクリーン座標と奥行きを示すZ値とが含
まれていれば足りるので、そのように設定されている。
このモディファイアポリゴンMPを複数個、適宜組み合
わせることで、任意形状のモディファイアボリュームを
仮想的に設定することができる。
【0048】図6の処理説明に戻る。上述したように閉
空間化処理を含むした処理が終わると、レンダリングプ
ロセッサ20における通常ポリゴンの処理が行われる
(図6、ステップS8)。つまり、レンダリングプロセ
ッサ20のピクセル生成部24はポリゴンデータ(頂点
データ)からポリゴン内のピクセルの座標データを生成
する。この生成は例えば、ラスタスキャン法による直線
補間演算で求められる。さらに、通常ポリゴンに関して
は、この生成したピクセルのスクリーン座標とZ値とが
Z値比較器26により比較される。これにより、通常ポ
リゴンに対する陰面消去処理がなされる。この結果、Z
値バッファ28には、ピクセル毎に、表示されるべきポ
リゴンIDとそのZ値とが記録される。
空間化処理を含むした処理が終わると、レンダリングプ
ロセッサ20における通常ポリゴンの処理が行われる
(図6、ステップS8)。つまり、レンダリングプロセ
ッサ20のピクセル生成部24はポリゴンデータ(頂点
データ)からポリゴン内のピクセルの座標データを生成
する。この生成は例えば、ラスタスキャン法による直線
補間演算で求められる。さらに、通常ポリゴンに関して
は、この生成したピクセルのスクリーン座標とZ値とが
Z値比較器26により比較される。これにより、通常ポ
リゴンに対する陰面消去処理がなされる。この結果、Z
値バッファ28には、ピクセル毎に、表示されるべきポ
リゴンIDとそのZ値とが記録される。
【0049】次いで、陰影検出器30により陰影付与領
域の検出処理が実行される(ステップS9)。陰影検出
器30はピクセルデータ生成部24を介してポリゴンバ
ッファ22からモディファイアボリュームのポリゴンデ
ータを読み込み、このポリゴンデータに対して図13図
に示す如く現在の視点位置からレイトレーシングを実施
する。このレイトレーシングにより前述した属性変更機
能のオン、オフを認識する。つまり、陰影検出器30は
レイを視線方向に進めていって、モディファイアボリュ
ーム1のポリゴンに最初に当たったときにオン、その次
に当たったときにオフ、さらにその次に当たったときに
オンと順に繰り返して、そのオンオフ情報を陰影バッフ
ァ31に格納する。オンに該当する領域にある通常ポリ
ゴンのピクセルは後述する表示処理において輝度を落と
して影が表現される。
域の検出処理が実行される(ステップS9)。陰影検出
器30はピクセルデータ生成部24を介してポリゴンバ
ッファ22からモディファイアボリュームのポリゴンデ
ータを読み込み、このポリゴンデータに対して図13図
に示す如く現在の視点位置からレイトレーシングを実施
する。このレイトレーシングにより前述した属性変更機
能のオン、オフを認識する。つまり、陰影検出器30は
レイを視線方向に進めていって、モディファイアボリュ
ーム1のポリゴンに最初に当たったときにオン、その次
に当たったときにオフ、さらにその次に当たったときに
オンと順に繰り返して、そのオンオフ情報を陰影バッフ
ァ31に格納する。オンに該当する領域にある通常ポリ
ゴンのピクセルは後述する表示処理において輝度を落と
して影が表現される。
【0050】本実施形態のモディファイアボリューム1
にあっては、図13(a)に示すように、前述した閉空
間化処理により、モディファイアボリューム1の切断面
(ニアクリップ面)に蓋CVが必ず1枚(つまり奇数
枚)されているので、ボリューム1内に入るレイは必ず
その蓋若しくはボリューム周りのモディファイアポリゴ
ンに当たり、オンとなる(レイR1,R2参照)。蓋C
Vは必ず奇数枚であるから、レイがボリューム内に入る
ときのオン状態が確保される。図では1枚の蓋CVを表
現しているが、3枚でも5枚でもボリューム1内はオン
領域になる。これに対してボリューム1の外側は必ずオ
フ領域になる。
にあっては、図13(a)に示すように、前述した閉空
間化処理により、モディファイアボリューム1の切断面
(ニアクリップ面)に蓋CVが必ず1枚(つまり奇数
枚)されているので、ボリューム1内に入るレイは必ず
その蓋若しくはボリューム周りのモディファイアポリゴ
ンに当たり、オンとなる(レイR1,R2参照)。蓋C
Vは必ず奇数枚であるから、レイがボリューム内に入る
ときのオン状態が確保される。図では1枚の蓋CVを表
現しているが、3枚でも5枚でもボリューム1内はオン
領域になる。これに対してボリューム1の外側は必ずオ
フ領域になる。
【0051】前述した閉空間化処理で発生させた蓋は、
その偶数枚が重なる部分もある。例えば図9の三角形F
CBや図10の三角形FCBのエリアである。これらの
エリアに対するレイトレーシングは図13(b)のよう
に模式的に表現できる。つまり、レイに対して蓋が2枚
(その他の複数枚も同様)置かれている状況である。蓋
2枚CV1、CV2(そのほかの複数枚も同様)が同位
置にあると、これに入射してきたレイは必ず、オンオフ
が同時(処理の過程では時間差あり)に検出し、この2
枚(複数枚)を通過したレイはオフになるから、陰影処
理の不要な部分と認識できる。本実施形態では、切断面
にそのような複数枚の蓋が重なるのは、実際にはボリュ
ーム1が無いエリアであり、陰影処理に影響を与えるこ
とはがない。
その偶数枚が重なる部分もある。例えば図9の三角形F
CBや図10の三角形FCBのエリアである。これらの
エリアに対するレイトレーシングは図13(b)のよう
に模式的に表現できる。つまり、レイに対して蓋が2枚
(その他の複数枚も同様)置かれている状況である。蓋
2枚CV1、CV2(そのほかの複数枚も同様)が同位
置にあると、これに入射してきたレイは必ず、オンオフ
が同時(処理の過程では時間差あり)に検出し、この2
枚(複数枚)を通過したレイはオフになるから、陰影処
理の不要な部分と認識できる。本実施形態では、切断面
にそのような複数枚の蓋が重なるのは、実際にはボリュ
ーム1が無いエリアであり、陰影処理に影響を与えるこ
とはがない。
【0052】さらに前述した閉空間化処理で設定した蓋
データの内、アルゴリズムでは3角形はできるが、物理
的な実体の無い3角形(例えば図9の三角形TR1)は
線分となるのみであり、この陰影付与領域の検出結果に
は何ら影響しない。
データの内、アルゴリズムでは3角形はできるが、物理
的な実体の無い3角形(例えば図9の三角形TR1)は
線分となるのみであり、この陰影付与領域の検出結果に
は何ら影響しない。
【0053】このように前述した三角形データである蓋
データから陰影付与領域のオンオフを好適に、しかも簡
単なアルゴリズムで検出できる。
データから陰影付与領域のオンオフを好適に、しかも簡
単なアルゴリズムで検出できる。
【0054】さらに、レンダリングプロセッサ20では
補間器32により、通常ポリゴンの各ピクセル毎にテク
スチャ座標(Tx,Ty)、α値、法線ベクトル(N
x,Ny,Nz)などが頂点パラメータに基づく補間演
算により求められる(ステップ10)。
補間器32により、通常ポリゴンの各ピクセル毎にテク
スチャ座標(Tx,Ty)、α値、法線ベクトル(N
x,Ny,Nz)などが頂点パラメータに基づく補間演
算により求められる(ステップ10)。
【0055】この後、レンダリング処理部34により、
レンダリング処理、陰影処理、および表示指令がなされ
る(ステップS11〜S13)。つまり、ピクセル毎に
テクスチャ座標にしたがってテクスチャマップメモリ3
6からテクスチャデータが読み出されてテクスチャマッ
ピングが施され、また光源処理が施され、これに、前述
した陰影バッファ31から読み出した陰影処理用のピク
セル毎のオンオフ情報に応じて、例えば輝度値の低減処
理による陰影処理が施される。これにより色データを画
像データが演算される。この画像データは、フレームバ
ッファメモリ38に書き込まれ、このメモリ38に1フ
レーム分の画像データが格納されると、この画像データ
は表示装置40に順次、ピクセル毎に送られて表示され
る。
レンダリング処理、陰影処理、および表示指令がなされ
る(ステップS11〜S13)。つまり、ピクセル毎に
テクスチャ座標にしたがってテクスチャマップメモリ3
6からテクスチャデータが読み出されてテクスチャマッ
ピングが施され、また光源処理が施され、これに、前述
した陰影バッファ31から読み出した陰影処理用のピク
セル毎のオンオフ情報に応じて、例えば輝度値の低減処
理による陰影処理が施される。これにより色データを画
像データが演算される。この画像データは、フレームバ
ッファメモリ38に書き込まれ、このメモリ38に1フ
レーム分の画像データが格納されると、この画像データ
は表示装置40に順次、ピクセル毎に送られて表示され
る。
【0056】このように本実施形態のゲーム装置によれ
ば、モディファイアボリュームを用いてオブジェクトの
属性変更処理を行うときに、そのボリューム内に視点が
入ってニアクリッピングされた場合でも確実に目的とす
る属性変更処理を行なうことができる。これは、ニアク
リッピングされた切断面に蓋をして、視点前のモディフ
ァイアボリュームは常に閉空間であるという条件を維持
することに拠る。
ば、モディファイアボリュームを用いてオブジェクトの
属性変更処理を行うときに、そのボリューム内に視点が
入ってニアクリッピングされた場合でも確実に目的とす
る属性変更処理を行なうことができる。これは、ニアク
リッピングされた切断面に蓋をして、視点前のモディフ
ァイアボリュームは常に閉空間であるという条件を維持
することに拠る。
【0057】しかも、切断面に蓋をするアルゴリズムは
非常に簡単で、切断面の各線分と任意の1つの頂点との
組み合わせた3角形の数分だけ、それらの頂点データを
演算し、切断されたモディファイアボリュームに付加す
るだけで済む。これにより、その後の属性変更領域の検
出処理の過程で自動的に切断面のみに有効な蓋がなされ
たのと等価な状態になり、切断面の形状を逐一演算する
などの、蓋データ生成の過程において複雑な処理も必要
がない。
非常に簡単で、切断面の各線分と任意の1つの頂点との
組み合わせた3角形の数分だけ、それらの頂点データを
演算し、切断されたモディファイアボリュームに付加す
るだけで済む。これにより、その後の属性変更領域の検
出処理の過程で自動的に切断面のみに有効な蓋がなされ
たのと等価な状態になり、切断面の形状を逐一演算する
などの、蓋データ生成の過程において複雑な処理も必要
がない。
【0058】さらに、属性変更領域の検出は従来と同様
に実施でき、既存の専用ハードウエア装置(陰影検出
器)を流用でき、製造コストの面からも有効である。
に実施でき、既存の専用ハードウエア装置(陰影検出
器)を流用でき、製造コストの面からも有効である。
【0059】さらに、切断面の蓋データを簡単に且つど
のような形状の切断面にも対処できることから、任意の
形状のモディファイアオブジェクトを用いることがで
き、画像処理の用途も広がるという利点がある。
のような形状の切断面にも対処できることから、任意の
形状のモディファイアオブジェクトを用いることがで
き、画像処理の用途も広がるという利点がある。
【0060】なお、本発明は上述した実施形態の構成に
限定されることなく、特許請求の範囲に記載の発明の要
旨を逸脱しない範囲で適宜に変更できる。
限定されることなく、特許請求の範囲に記載の発明の要
旨を逸脱しない範囲で適宜に変更できる。
【0061】
【発明の効果】以上説明したように、本発明にかかる画
像処理は、仮想3次元空間に閉じたサーフェースモデル
として仮想的に設定されるモディファイアボリュームを
用いるもので、モディファイアボリュームの内部にカメ
ラ視点が位置したときに当該カメラ視点に入る視野をク
リッピングし、このクリッピングによりモディファイア
ボリュームが切断された切断面を閉じてボリューム内の
オブジェクトの属性変更を行なうようにしたため、視点
がモディファイアオブジェクト内に入っても、簡単なア
ルゴリズムで陰影処理などの、表示対象となるオブジェ
クトの属性変更処理を容易に行なうことができる。
像処理は、仮想3次元空間に閉じたサーフェースモデル
として仮想的に設定されるモディファイアボリュームを
用いるもので、モディファイアボリュームの内部にカメ
ラ視点が位置したときに当該カメラ視点に入る視野をク
リッピングし、このクリッピングによりモディファイア
ボリュームが切断された切断面を閉じてボリューム内の
オブジェクトの属性変更を行なうようにしたため、視点
がモディファイアオブジェクト内に入っても、簡単なア
ルゴリズムで陰影処理などの、表示対象となるオブジェ
クトの属性変更処理を容易に行なうことができる。
【0062】また、この切断面の閉空間化の処理も、切
断面の形状に応じて3角形のデータを作成するだけであ
るから、非常に簡単なアルゴリズムで済み、画像処理を
担う演算装置の演算負荷の増大を抑えることができると
ともに、どのような形状の切断面にも機能し、汎用性に
優れている。
断面の形状に応じて3角形のデータを作成するだけであ
るから、非常に簡単なアルゴリズムで済み、画像処理を
担う演算装置の演算負荷の増大を抑えることができると
ともに、どのような形状の切断面にも機能し、汎用性に
優れている。
【0063】さらに、この切断面の閉空間化により、属
性変更処理の既存のハードウエア資源をそのまま有効に
活用できる一方で、任意の形状のモディファイアオブジ
ェクトを用いることができ、画像処理の用途が広がると
いう効果も得られる。
性変更処理の既存のハードウエア資源をそのまま有効に
活用できる一方で、任意の形状のモディファイアオブジ
ェクトを用いることができ、画像処理の用途が広がると
いう効果も得られる。
【図1】モディファイアボリュームを説明する図であ
る。
る。
【図2】ニアクリッピングを説明する図である。
【図3】ニアクリッピングされたモディファイアオブジ
ェクトの切断面の閉空間化を説明する概念図である。
ェクトの切断面の閉空間化を説明する概念図である。
【図4】モディファイアオブジェクトに対するレイトレ
ーシングを説明する図である。
ーシングを説明する図である。
【図5】本発明の一実施形態に係る、画像処理装置とし
てのゲーム装置の概略ブロックである。
てのゲーム装置の概略ブロックである。
【図6】ゲーム装置における各構成要素の処理手順の概
略を示すフローチャートである。
略を示すフローチャートである。
【図7】モディファイアオブジェクトの切断面を塞ぐ処
理の概略を示すフローチャートである。
理の概略を示すフローチャートである。
【図8】モディファイアオブジェクトの切断面の蓋の生
成過程を説明する図である。
成過程を説明する図である。
【図9】モディファイアオブジェクトの切断面の蓋の生
成過程を説明する別の図である。
成過程を説明する別の図である。
【図10】モディファイアオブジェクトの切断面の蓋の
生成過程を説明する別の図である。
生成過程を説明する別の図である。
【図11】モディファイアオブジェクトの切断面の蓋の
生成過程を説明する別の図である。
生成過程を説明する別の図である。
【図12】通常ポリゴンとモディファイアポリゴンのデ
ータ構成を説明する図である。
ータ構成を説明する図である。
【図13】切断面の蓋の奇数枚、又は偶数枚に対する陰
影付与領域の検出処理に伴うレイトレーシングを説明す
る図である。
影付与領域の検出処理に伴うレイトレーシングを説明す
る図である。
10 CPU 16 I/O 18 ジオメトリ処理部 20 レンダリングプロセッサ 22 ポリゴンバッファ 24 ピクセルデータ生成部 30 陰影検出器 31 陰影バッファ 34 レンダリング処理部 38 フレームバッファ 40 表示装置
Claims (14)
- 【請求項1】 仮想3次元空間に閉じたサーフェースモ
デルとして仮想的に設定されるモディファイアボリュー
ムを用いる画像処理装置において、 前記モディファイアボリュームの内部にカメラ視点が位
置したときに当該カメラ視点に入る視野をクリッピング
するクリッピング手段と、このクリッピングにより前記
モディファイアボリュームが切断された切断面を閉じる
閉空間化手段とを備えたことを特徴とする画像処理装
置。 - 【請求項2】 前記切断面が閉じられたモディファイア
ボリュームを用いて当該モディファイアボリュームの内
側に位置するオブジェクトの属性を変更する属性変更手
段を更に備える請求項1記載の画像処理装置。 - 【請求項3】 前記属性変更手段は、前記モディファイ
アボリュームの外側に位置する視点ベクトルが当該モデ
ィファイアボリュームのサーフェースを通過する度に前
記属性変更の必要性の有無を表すオン、オフを順次繰り
返して属性変更領域を検出する検出手段を備える請求項
2記載の画像処理装置。 - 【請求項4】 前記属性変更手段は、前記検出手段によ
り検出された前記属性変更領域に在る前記オブジェクト
に陰影又はスポットライトを施す処理手段を備える請求
項3記載の画像処理装置。 - 【請求項5】 前記閉空間化手段は、前記切断面の形状
に合致した蓋の形状データを生成する手段である請求項
3記載の画像処理装置。 - 【請求項6】 前記切断面は多角形で表され、かつ前記
蓋の形状は少なくとも1枚の3角形のポリゴンデータで
表される請求項5記載の画像処理装置。 - 【請求項7】 前記閉空間化手段は、前記多角形の1つ
の頂点とこの多角形の輪郭を形成している複数の線分と
を用いて前記少なくとも1枚のポリゴンデータを演算す
る演算手段を備える請求項6記載の画像処理装置。 - 【請求項8】 前記演算手段は、前記1つの頂点と前記
複数の線分それぞれとから形成される3角形データを前
記ポリゴンデータとして演算する手段である請求項7記
載の画像処理装置。 - 【請求項9】 前記検出手段は、専用ハードウエア化さ
れ且つ前記オンオフを検出する検出器を備えて構成した
ことを特徴とする請求項3記載の画像処理装置。 - 【請求項10】 仮想3次元空間に閉じたサーフェース
モデルとして仮想的に設定されるモディファイアボリュ
ームを用いる画像処理方法であって、 前記モディファイアボリューム内にカメラ視点が位置し
たか否かを判定し、この結果、前記カメラ視点が前記モ
ディファイアボリューム内に位置している状態が判定さ
れたときには、当該カメラ視点に入る視野をクリッピン
グし、このクリッピングにより前記モディファイアボリ
ュームが切断された切断面を閉じ、この閉じたモディフ
ァイアボリュームを用いて当該ボリュームの内側に位置
する属性を変更することを特徴とする画像処理方法。 - 【請求項11】 仮想3次元空間に閉じたサーフェース
モデルとして仮想的に設定されるモディファイアボリュ
ームを用いる画像処理のプログラムを記録した記録媒体
装置であって、 前記モディファイアボリュームの内部にカメラ視点が位
置したときに当該カメラ視点に入る視野をクリッピング
する手段と、 このクリッピングにより前記モディファイアボリューム
が切断された切断面を閉じる手段と、 前記切断面が閉じられたモディファイアボリュームを用
いて当該モディファイアボリュームの内側に位置するオ
ブジェクトの属性を変更する手段と、を実行するプログ
ラムを記録した記録媒体。 - 【請求項12】 仮想3次元空間に閉じたサーフェース
モデルとして仮想的に設定されるモディファイアボリュ
ームのデータと、このモディファイアボリュームがクリ
ッピングされたときに、このクリッピングにより形成さ
れる切断面を閉じるデータとを共に記録した記録媒媒
体。 - 【請求項13】 複数のポリゴンで構成されるモデルを
仮想3次元空間内に配置し、前記モデルを仮想視点から
捉えた画像を画面表示する処理を行う画像処理装置にお
いて、前記モデルを構成するポリゴンとの位置関係に基
づき前記ポリゴンの属性を変更する属性変更用モデルを
前記仮想3次元空間内に配置し、前記仮想視点が前記属
性変更用モデル内にある場合に、クリッピング処理にて
切り取られてた属性変更用モデルの切断面を閉じること
を特徴とする画像処理装置。 - 【請求項14】 前記属性変更用モデル内に存在するポ
リゴン又はポリゴンの一部の属性を変更することを特徴
とする請求項13記載の画像処理装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10333117A JP2000163601A (ja) | 1998-11-24 | 1998-11-24 | 画像処理装置、画像処理方法および記録媒体 |
GB9927781A GB2350764B (en) | 1998-11-24 | 1999-11-24 | Image processing device, image processing method and recording medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10333117A JP2000163601A (ja) | 1998-11-24 | 1998-11-24 | 画像処理装置、画像処理方法および記録媒体 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2000163601A true JP2000163601A (ja) | 2000-06-16 |
Family
ID=18262488
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP10333117A Withdrawn JP2000163601A (ja) | 1998-11-24 | 1998-11-24 | 画像処理装置、画像処理方法および記録媒体 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP2000163601A (ja) |
GB (1) | GB2350764B (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007111125A (ja) * | 2005-10-18 | 2007-05-10 | Samii Kk | 遊技機 |
JP2008269659A (ja) * | 2001-02-08 | 2008-11-06 | Imagination Technologies Ltd | コンピュータ3dグラフィックのボリュームクリッピング |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4082937B2 (ja) * | 2002-06-07 | 2008-04-30 | 任天堂株式会社 | ゲームシステム及びゲームプログラム |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5083287A (en) * | 1988-07-14 | 1992-01-21 | Daikin Industries, Inc. | Method and apparatus for applying a shadowing operation to figures to be drawn for displaying on crt-display |
GB9315852D0 (en) * | 1993-07-30 | 1993-09-15 | Video Logic Ltd | Shading three-dimensional images |
GB2298111B (en) * | 1995-01-31 | 2000-01-19 | Videologic Ltd | Improvements relating to computer 3d rendering systems |
AUPM701394A0 (en) * | 1994-07-22 | 1994-08-18 | Monash University | A graphical display system |
GB2312141B (en) * | 1996-04-11 | 1998-04-22 | Discreet Logic Inc | Processing image data |
-
1998
- 1998-11-24 JP JP10333117A patent/JP2000163601A/ja not_active Withdrawn
-
1999
- 1999-11-24 GB GB9927781A patent/GB2350764B/en not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008269659A (ja) * | 2001-02-08 | 2008-11-06 | Imagination Technologies Ltd | コンピュータ3dグラフィックのボリュームクリッピング |
JP2007111125A (ja) * | 2005-10-18 | 2007-05-10 | Samii Kk | 遊技機 |
Also Published As
Publication number | Publication date |
---|---|
GB2350764B (en) | 2003-03-12 |
GB2350764A (en) | 2000-12-06 |
GB9927781D0 (en) | 2000-01-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6038031A (en) | 3D graphics object copying with reduced edge artifacts | |
US4888712A (en) | Guardband clipping method and apparatus for 3-D graphics display system | |
JP3759971B2 (ja) | 3次元像を陰影付けする方法 | |
US7126600B1 (en) | Method and apparatus for high speed block mode triangle rendering | |
US5877769A (en) | Image processing apparatus and method | |
JPH0683979A (ja) | 影の生成を伴うコンピュータ図形表示の方法及びシステム | |
US6271848B1 (en) | Image processing device, image processing method and storage medium for storing image processing programs | |
JP2007066064A (ja) | 画像生成装置及びプログラム | |
JP4977712B2 (ja) | ディスプレースクリーン上に立体画像をレンダリングするコンピュータグラフィックスプロセッサならびにその方法 | |
JP2001357410A (ja) | 別々に生成された3次元イメージを合成するグラフィックス・システム | |
KR19980702804A (ko) | 영상 생성 및 조작을 위한 하드웨어 아키텍처 | |
JPH02230470A (ja) | コンピユータグラフイツクス・デイスプレイシステム | |
KR20020065397A (ko) | 투명 대상의 실시간 음영을 생성하는 시스템 및 방법 | |
US7576746B1 (en) | Methods and systems for rendering computer graphics | |
US6356264B1 (en) | Image processing device and image processing method | |
JP2003150146A (ja) | 画像処理装置および画像処理プログラム | |
JP2003115055A (ja) | 画像生成装置 | |
KR20100075351A (ko) | 모바일용 컴퓨터 그래픽 랜더링 방법 및 시스템 | |
US6980214B2 (en) | Methods and apparatus for shading object drawings in video games | |
JP2000163601A (ja) | 画像処理装置、画像処理方法および記録媒体 | |
JP3052839B2 (ja) | 画像処理装置及びその処理方法 | |
JPH1125286A (ja) | 付影処理方法 | |
US20060061573A1 (en) | Method and apparatus for rendering a quadrangle primitive | |
JP4839760B2 (ja) | 画像生成装置、画像生成方法等 | |
JPH0345427B2 (ja) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20060207 |