JP4181430B2 - 図形処理装置、図形処理方法、図形処理プログラム、および、プログラム記録媒体 - Google Patents
図形処理装置、図形処理方法、図形処理プログラム、および、プログラム記録媒体 Download PDFInfo
- Publication number
- JP4181430B2 JP4181430B2 JP2003063060A JP2003063060A JP4181430B2 JP 4181430 B2 JP4181430 B2 JP 4181430B2 JP 2003063060 A JP2003063060 A JP 2003063060A JP 2003063060 A JP2003063060 A JP 2003063060A JP 4181430 B2 JP4181430 B2 JP 4181430B2
- Authority
- JP
- Japan
- Prior art keywords
- shadow
- polygon
- viewpoint
- processing
- pixel
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/40—Hidden part removal
- G06T15/405—Hidden part removal using Z-buffer
Description
【発明の属する技術分野】
この発明は、簡易な構成で3次元物体に対して高速に影付け処理を行うことができる図形処理装置,図形処理方法,図形処理プログラムおよびプログラム記録媒体に関する。
【0002】
【従来の技術】
従来、3次元物体の影付け処理を行う図形処理装置として、Zバッファ法やスキャンライン・Zバッファ法を用いた隠面消去装置に、影ポリゴンを用いた影付け処理を適用した装置がある(特許文献1参照)。
【0003】
この図形処理装置においては、画素毎に輝度および色情報を格納するフレームバッファメモリ、画素毎に奥行きZを格納するZバッファメモリ、影度数をカウントするカウンタメモリを有している。そして、3次元物体の影付け処理を、次のようにして行う。
【0004】
先ず、Zバッファ法を用いた隠面消去処理によって、3次元図形表示における視点から見て手前の物体で隠れる面を表示しないようにする。すなわち、上記フレームバッファメモリを背景色で満たし、上記Zバッファメモリを奥行き最大値で満たしておく。そして、図12における多面体Qの面ポリゴンABC,ADB,BDC,ADCを視点座標系に変換し、各面ポリゴンに関して、画素毎に、その画素の座標(i,j)に対応する奥行きZ(i,j)とZバッファメモリに格納された奥行きZM(i,j)とを比較する。そして、ZM(i,j)>Z(i,j)であれば上記フレームバッファメモリの値I(i,j)を上記多面体Qにおける画素(i,j)の色情報(輝度も含む)C(i,j)に置き換え、Zバッファメモリの値ZM(i,j)を上記画素(i,j)の奥行きZ(i,j)に置き換える。これに対して、ZM(i,j)≦Z(i,j)の場合には、上記フレームバッファメモリおよびZバッファメモリの値I(i,j),ZM(i,j)の更新は行わない。
【0005】
こうして、手前の物体(面ポリゴン)で隠れる面(面ポリゴンや背景)は、表示されないように消去される。その結果、図12に示すように、視点から見て多面体Qよりも後側である背景が多面体Qに置き換えられるのである。
【0006】
次に、光源Pからの光が多面体Qによって遮られることによって生ずる影空間を定義するシャドーポリゴンAEFB,CBFG,AEGCを求めて視点座標系に変換する。そして、この変換したシャドーポリゴンAEFB,CBFG,AEGCと、先に求めた多面体Qの面ポリゴンのうち光源Pに対して裏となる面ポリゴンADB,BDCとを、視点に対して表と裏とに分類する。この場合、視点に対して裏の面ポリゴンADCは、上記隠面消去処理によって消去されているため実際には存在しない。そうした後、上記影付け処理を行う。
【0007】
すなわち、上記カウンタメモリの値Cu(i,j)(影度数)を、予め零に設定しておく。その場合、上記Zバッファメモリには上述の隠面消去処理による最終結果の奥行きZM(i,j)が格納されている。そして、上記シャドーポリゴンAEFB,CBFG,AEGCと光源Pに対して裏となる面ポリゴンADB,BDCとの各画素に関して、その画素(i,j)の奥行きZS(i,j)とZバッファメモリの値ZM(i,j)とを比較する。そして、この比較結果に基づいて上記カウンタメモリの影度数を決定するのである。この処理は、上記シャドーポリゴンと光源Pに対して裏となる面ポリゴンとの重なり毎に実行される。
【0008】
詳しく言えば、
(a) 表のシャドーポリゴン(AEFB,CBFG)と面ポリゴン(ADB,BDC) との組み合せについて
(b) 裏のシャドーポリゴン(AEGC)と面ポリゴン(ADB,BDC)との組み合
せについて
となる。
【0009】
総ての表・裏のシャドーポリゴンと面ポリゴンに関して上記(a),(b)の処理を終了した後、上記カウンタメモリの値Cu(i,j)を読み出し、
の処理を行う。
【0010】
以上の処理によって影付け処理が終了する。その結果、多面体Qの面ポリゴンにおける光源Pに対して裏となる面ポリゴンADB,BDC上に、表となる面ポリゴンABCによって生ずる影が付与されるのである。
【0011】
さらに、上記影ポリゴンを用いた影付け処理方法として、「OpenGL」(非特許文献1参照)や「Microsoft DirectX」の機能を用いる方法がある。これらの影付け処理方法においては、光源からの光線を物体が遮ることによって生じる影空間を規定するシャドーボリュームを定義すると共に、ステンシルバッファを設けて、以下のようにして影付け処理を行う。以下、OpenGLによる影付け処理方法について簡単に説明する。
【0012】
図13は、上述した特許文献1におけるフレームバッファに相当するカラーバッファとステンシルバッファとに対する操作結果を示す。尚、図13(a)は上記カラーバッファの内容であり、図13(c)は上記ステンシルバッファの内容である。特許文献1の場合と同様にして、Zバッファ法による隠面消去処理を行って上記カラーバッファおよびZバッファの内容を更新しておく。その結果、図13(a-1)に示すように、正方形の面ポリゴン101と影を落すべき曲面の面ポリゴン102がカラーバッファ内に格納される。
【0013】
そうすると、先ず、上記シャドーボリュームを構成する影ポリゴンの図形データを作成することによって、図13(b)に示すように、面ポリゴン101と仮想底面(例えばY座標が0の面)との間に在って光が差し込まない6面体で囲まれた空間で成るシャドーボリューム103を形成する。次に、シャドーボリューム103の表面情報をステンシルバッファに書き込む。つまり、視点から見て表向きとなる表向き影ポリゴンに対して、ポリゴンの奥行き値がZバッファのZ値よりも小さいか否かを判定する「デプステスト」を行い、図13(c-1)に示すように、ステンシルバッファにおける上記デプステスト結果が「真」である表向き影ポリゴンの領域に「1」を書き込む。その結果、図13(b)に示す表向き影ポリゴンにおける面ポリゴン102よりも図中下側がカットされる。
【0014】
次に、上記シャドーボリューム103の裏面情報をステンシルバッファに書き込む。つまり、視点から見て裏向きとなる裏向き影ポリゴンに対して上記デプステストを行い、ステンシルバッファ内におけるデプステスト結果が「真」である裏向き影ポリゴンの領域に「−1」を加算する。その結果、図13(c-2)に示すように、ステンシルバッファにおける影が落ちる面ポリゴン102とシャドーボリューム103とが交わる領域104のみの値が「1」となる。
【0015】
最後に、図13(a-4)に示すように、上記ステンシルバッファの値が「1」である領域104に相当する上記カラーバッファの領域105に影の色情報を格納する。以上のようにして、曲面の面ポリゴン102上に面ポリゴン101の影がレンダリングされるのである。
【0016】
【特許文献1】
特公平01‐46915号公報
【非特許文献1】
「月刊 C MAGAZINE 2001 8」ソフトバンクパブリッシング株式会社発行、2001年8月、p.30‐32
【0017】
【発明が解決しようとする課題】
しかしながら、上記従来の影ポリゴンを用いた影付け処理方法においては以下のような問題がある。すなわち、特許文献1に開示された図形処理装置においては、図12において、多面体Qの影が落ちる地面等の物体(面ポリゴンHIJKLDM)が存在する場合を考える。その場合、この面ポリゴンHIJKLDMは光源Pに対して表となるため、地面(HIJKLDM)上の領域EFGには影付け処理が行われないことになる。したがって、地面の面ポリゴンHIJKLDM上に多面体Qの影を付与することができないのである。
【0018】
また、上記非特許文献1に開示されたOpenGLの機能を用いた影付け処理方法においては、物体の影を落すべき曲面に対して上記物体の影を付与することは可能である。ところが、ポリゴンの座標変換計算値に誤差が生じた場合には、本来は影付けを行うべきではないシャドーポリゴンの端の部分にも影が付いてしまうという問題がある。
【0019】
例えば、上記ポリゴンの座標変換計算値に誤差が生じた結果、図14に示すごとく、表向き影ポリゴンRS(T)U,U(T)XYと裏向き影ポリゴンRSVW,WVXY,RWYUとにずれが生じ、表向き影ポリゴンRS(T)Uの辺RSが裏向き影ポリゴンRSVWの辺RSよりも視点から見て左裏側にずれたとする。その場合、表向き影ポリゴンR'S'T'U'の側部R'S'SRが裏向き影ポリゴンRSVWよりも外側に位置することになる。そのために、上記ステンシルバッファにおける領域R'S'SRに書き込まれた表面情報「1」が裏面情報「−1」によって消されること無く残り、表向き影ポリゴンR'S'T'U'の側部における影を付けたくない領域R'S'SRに、影が付いてしまうのである。
【0020】
そこで、この発明の目的は、ポリゴンの座標変換計算値に誤差が生じても正しく影付け処理を行うことができる図形処理装置,図形処理方法,図形処理プログラムおよびプログラム記録媒体を提供することにある。
【0021】
【課題を解決するための手段】
上記目的を達成するため、この発明の図形処理装置は、表示対象物における視点からの奥行きを表すZ値が各画素毎に格納されたZバッファメモリおよび各画素の色情報が記憶されたピクセルメモリを有して、光源からの光線を3次元物体が遮ることによって生じる影が付けられた影付き物体の画像を生成する際に、上記3次元物体を含む各物体を構成する通常ポリゴンと,上記3次元物体が光源からの光線を遮ることによって生じる影空間を規定するシャドーボリュームを構成する影ポリゴンとの図形データが入力されて、この図形データを視点座標と奥行き値とに変換し、得られた視点座標および奥行き値を、視点から見て表向きとなる表向き影ポリゴンと裏向きとなる裏向き影ポリゴンと上記通常ポリゴンとの別に出力する視点座標変換処理部と、上記視点座標および奥行き値と上記Zバッファメモリとに基づいて、上記通常ポリゴンに対するZバッファ法による隠面消去処理を行った後に、上記視点から見て上記表向き影ポリゴンよりも後に位置し且つ上記裏向き影ポリゴンよりも手前に位置する座標領域を求め、この求めた座標領域に対応する上記ピクセルメモリにおける画素の色情報を影の色情報で更新する隠面消去・影付け処理部を備えている。
【0022】
上記構成によれば、表示対象となる総ての物体を構成する通常ポリゴンを対象として影付け処理が行われる。したがって、光源に対して表となる地面等の平面ポリゴンに対しても他の3次元物体の影を付けることが可能になる。その際に、上記シャドーボリュームを構成する影ポリゴンを視点から見て表向きとなる表向き影ポリゴンと裏向きとなる裏向き影ポリゴンとに分け、上記視点から見て上記表向き影ポリゴンよりも後に位置し且つ上記裏向き影ポリゴンよりも手前に位置する座標領域に影が付けられる。そのために、上記視点座標変換処理部による変換計算値に誤差が生じた場合でも、影を付けるべきではない影ポリゴンの端の部分に影が付くことはない。
【0023】
その結果、上記視点座標変換処理部の構成を簡略化することが可能になり、小型化,低消費電力化,低価格化を図ることが可能になる。
【0024】
また、1実施例の図形処理装置では、上記Zバッファメモリおよびピクセルメモリを1画面における1ライン分の容量に成し、上記視点座標変換処理部および隠面消去・影付け処理部を1ライン毎に処理を行うようにしている。
【0025】
この実施例によれば、上記視点座標変換処理部および隠面消去・影付け処理部の処理が終了する毎に消去される上記Zバッファメモリおよびピクセルメモリには、1ライン分のみのZ値および色情報が格納される。したがって、上記Zバッファメモリおよびピクセルメモリの容量が小さくなり、更なる小型化,低消費電力化,低価格化を図ることが可能になる。
【0026】
また、1実施例の図形処理装置では、上記隠面消去・影付け処理部を、上記シャドーボリュームが複数存在する場合には、夫々のシャドーボリューム毎に上記影ポリゴンに関する処理を行うようにしている。
【0027】
この実施例によれば、影を落とす対象となる3次元物体が複数あってシャドーボリュームも複数設定されるような場合でも、表示対象となる物体に対して、正しく影が付けられる。
【0028】
また、この発明の図形処理装置は、表示対象物における視点からの奥行きを表すZ値が各画素毎に格納されたZバッファメモリおよび各画素の色情報が記憶されたピクセルメモリを有して、光源からの光線を3次元物体が遮ることによって生じる影が付けられた影付き物体の画像を生成するに際して、上記3次元物体を含む各物体を構成する通常ポリゴンの図形データが入力されて,この図形データを視点座標と奥行き値とに変換する通常ポリゴン変換部と、上記3次元物体が光源からの光線を遮ることによって生じる影空間を規定するシャドーボリュームを構成する影ポリゴンの図形データが入力されて,この図形データを視点座標と奥行き値とに変換すると共に,視点から見て表向きとなる表向き影ポリゴンの視点座標および奥行き値と上記視点から見て裏向きとなる裏向き影ポリゴンの視点座標および奥行き値とに仕分けして出力する影ポリゴン変換部と、上記通常ポリゴンの視点座標および奥行き値に基づいて上記通常ポリゴンに対してZバッファ法による隠面消去処理を行い,この処理結果に基づいて,上記ピクセルメモリおよびZバッファメモリにおける各画素の色情報およびZ値を更新する通常ポリゴン処理部と、上記裏向き影ポリゴンの視点座標および奥行き値と上記隠面消去処理後のZ値とに基づいて,上記視点から見て上記裏向き影ポリゴンよりも手前に位置する座標領域を求める裏向き影ポリゴン処理部と、上記裏向き影ポリゴンよりも手前に位置する視点座標を表すフラグ値が格納された影フラグメモリと、上記表向き影ポリゴンの視点座標および奥行き値と上記隠面消去処理後のZ値と上記フラグ値とに基づいて,上記視点から見て上記表向き影ポリゴンよりも後に位置し且つ上記裏向き影ポリゴンよりも手前に位置する座標領域を求め,上記ピクセルメモリにおける上記求められた座標領域に対応する画素の色情報を影の色情報で更新する表向き影ポリゴン処理部を備えている。
【0029】
上記構成によれば、表示対象となる総ての物体を構成する通常ポリゴンを対象として影付け処理が行われる。したがって、光源に対して表となる地面等の平面ポリゴンに対しても他の3次元物体の影を付けることが可能になる。その際に、上記シャドーボリュームを構成する影ポリゴンを視点から見て表向きとなる表向き影ポリゴンと裏向きとなる裏向き影ポリゴンとに分け、上記視点から見て上記表向き影ポリゴンよりも後に位置し且つ上記裏向き影ポリゴンよりも手前に位置する座標領域に影が付けられる。そのために、上記通常ポリゴン変換部および影ポリゴン変換部による変換計算値に誤差が生じた場合でも、影を付けるべきではない影ポリゴンの端の部分に影が付くことはない。
【0030】
その結果、上記通常ポリゴン変換部および影ポリゴン変換部の構成を簡略化することが可能になり、小型化,低消費電力化,低価格化を図ることが可能になる。
【0031】
また、1実施例の図形処理装置では、上記Zバッファメモリ,ピクセルメモリおよび影フラグメモリを1画面における1ライン分の容量に成し、上記通常ポリゴン変換部,影ポリゴン変換部,通常ポリゴン処理部,裏向き影ポリゴン処理部および表向き影ポリゴン処理部を1ライン毎に処理を行うようにしている。
【0032】
この実施例によれば、上記通常ポリゴン変換部,影ポリゴン変換部,通常ポリゴン処理部,裏向き影ポリゴン処理部および表向き影ポリゴン処理部の処理が終了する毎に消去される上記Zバッファメモリ,ピクセルメモリおよび影フラグメモリには、1ライン分のみのZ値,色情報およびフラグ値が格納される。したがって、上記シャドーボリュームが存在しないラインについては影フラグメモリを消去する必要がなく、その分だけ影付け処理全体の時間を短縮することができる。さらに、上記Zバッファメモリ,ピクセルメモリおよび影フラグメモリの容量が小さくなり、更なる小型化,低消費電力化,低価格化を図ることが可能になる。
【0033】
また、1実施例の図形処理装置では、上記裏向き影ポリゴン処理部および表向き影ポリゴン処理部を、上記シャドーボリュームが複数存在する場合には、夫々のシャドーボリューム毎に上記影ポリゴンに関する処理を行うようにしている。
【0034】
この実施例によれば、影を落とす対象となる3次元物体が複数あってシャドーボリュームも複数設定されるような場合でも、表示対象となる物体に対して、正しく影が付けられる。
【0035】
また、1実施例の図形処理装置では、上記通常ポリゴン変換部,影ポリゴン変換部,通常ポリゴン処理部,裏向き影ポリゴン処理部および表向き影ポリゴン処理部を、携帯機器に搭載している。
【0036】
この実施例によれば、ゲーム機等の携帯機器において、簡略化された構成によって、視覚的に問題の無いグラフィックス処理を行うことが可能になる。
【0037】
また、1実施例の図形処理装置では、上記携帯機器を、通信ネットワークに接続可能にし、上記通信ネットワークを介した通信によって上記図形データを取得するようにしている。
【0038】
この実施例によれば、影付け処理対象となる図形データを、上記通信ネットワークを介して取得することが可能になる。したがって、本図形処理装置の利便性が向上する。
【0039】
また、この発明の図形処理方法は、表示対象物における視点からの奥行きを表すZ値が各画素毎に格納されたZバッファメモリおよび各画素の色情報が記憶されたピクセルメモリを用いて、光源からの光線を3次元物体が遮ることによって生じる影が付けられた影付き物体の画像を生成するに際して、上記3次元物体を含む各物体を構成する通常ポリゴンの図形データを視点座標と奥行き値とに変換し、上記3次元物体が光源からの光線を遮ることによって生じる影空間を規定するシャドーボリュームを構成する影ポリゴンの図形データを視点座標と奥行き値とに変換すると共に,視点から見て表向きとなる表向き影ポリゴンの視点座標および奥行き値と上記視点から見て裏向きとなる裏向き影ポリゴンの視点座標および奥行き値とに仕分けし、上記通常ポリゴンの視点座標および奥行き値に基づいて上記通常ポリゴンに対してZバッファ法による隠面消去処理を行い,この処理結果に基づいて,上記ピクセルメモリおよびZバッファメモリにおける各画素の色情報およびZ値を更新し、上記裏向き影ポリゴンの視点座標および奥行き値と上記隠面消去処理後のZ値とに基づいて,上記視点から見て上記裏向き影ポリゴンよりも手前に位置する座標領域を求め、上記表向き影ポリゴンの視点座標および奥行き値と上記隠面消去処理後のZ値とに基づいて,上記視点から見て上記表向き影ポリゴンよりも後に位置する座標領域を求め、上記視点から見て上記表向き影ポリゴンよりも後に位置し且つ上記裏向き影ポリゴンよりも手前に位置する座標領域に対応する上記ピクセルメモリの画素の色情報を影の色情報で更新するようにしている。
【0040】
上記構成によれば、表示対象となる総ての物体を構成する通常ポリゴンを対象として影付け処理が行われる。したがって、光源に対して表となる地面等の平面ポリゴンに対しても他の3次元物体の影を付けることが可能になる。その際に、視点から見て上記表向き影ポリゴンよりも後に位置し且つ上記裏向き影ポリゴンよりも手前に位置する座標領域に影が付けられる。そのために、上記通常ポリゴンおよび影ポリゴンの図形データに対する変換計算値に誤差が生じた場合でも、影を付けるべきではない影ポリゴンの端の部分に影が付くことはない。
【0041】
その結果、上記通常ポリゴンおよび影ポリゴンの図形データを視点座標および奥行き値に変換する手段の構成を簡略化することが可能になり、小型化,低消費電力化,低価格化を図ることが可能になる。
【0042】
また、この発明の図形処理プログラムは、コンピュータを、この発明の図形処理装置における通常ポリゴン変換部,影ポリゴン変換部,通常ポリゴン処理部,裏向き影ポリゴン処理部および表向き影ポリゴン処理部として機能させる。
【0043】
上記構成によれば、表示対象となる総ての物体を構成する通常ポリゴンを対象として影付け処理が行われて、光源に対して表となる地面等の平面ポリゴンに対しても他の3次元物体の影が付けられる。その際に、視点から見て上記表向き影ポリゴンよりも後に位置し且つ上記裏向き影ポリゴンよりも手前に位置する座標領域に影が付けられるため、上記通常ポリゴンおよび影ポリゴンの図形データに対する変換計算値に誤差が生じた場合でも、影を付けるべきではない影ポリゴンの端の部分に影が付くことはない。
【0044】
また、この発明のプログラム記録媒体は、この発明の図形処理プログラムが記録されている。
【0045】
上記構成によれば、コンピュータによって読み出して実行することによって、表示対象となる総ての物体を構成する通常ポリゴンを対象として影付け処理が行われて、光源に対して表となる地面等の平面ポリゴンに対しても他の3次元物体の影が付けられる。その際に、視点から見て上記表向き影ポリゴンよりも後に位置し且つ上記裏向き影ポリゴンよりも手前に位置する座標領域に影が付けられるため、上記通常ポリゴンおよび影ポリゴンの図形データに対する変換計算値に誤差が生じた場合でも、影を付けるべきではない影ポリゴンの端の部分に影が付くことはない。
【0046】
【発明の実施の形態】
以下、この発明を図示の実施の形態により詳細に説明する。図1は、本実施の形態の図形処理装置におけるブロック図である。
【0047】
図1において、本図形処理装置は、視点座標変換処理装置1および隠面消去・影付け処理装置4で概略構成されている。そして、視点座標変換処理装置1は、通常ポリゴン変換部2および影ポリゴン変換部3を含んで構成されて、入力された通常ポリゴンおよび影ポリゴンの図形データを、画面上の座標(視点座標)および奥行き値に変換して隠面消去・影付け処理装置4の演算部5に出力する。ここで、上記通常ポリゴンは物体を構成するポリゴンであり、上記影ポリゴンはシャドーボリュームを構成するポリゴンである。
【0048】
その際に、上記通常ポリゴン変換部2は、上記通常ポリゴンの図形データを視点座標および奥行き値に変換する。一方、影ポリゴン変換部3は、上記影ポリゴンの図形データに基づいて、各影ポリゴンを視点から見て裏向きとなる裏向き影ポリゴンと視点から見て表向きとなる表向き影ポリゴンに分離する。さらに、各影ポリゴンの図形データを視点座標および奥行き値に変換する。そして、こうして得られた各視点座標および奥行き値を、上記通常ポリゴンと裏向き影ポリゴンと表向き影ポリゴンとに仕分けして隠面消去・影付け処理装置4に出力するのである。
【0049】
上記隠面消去・影付け処理装置4は、上記演算部5に加えて、演算部5とバス9を介して接続されたピクセルメモリ6,Zバッファメモリ7および影フラグメモリ8を含んで構成されている。そして、視点座標変換処理装置1から入力された視点座標および奥行き値に基づいて、後に詳述するようにして各種の処理を行う。その際に、ピクセルメモリ6には各画素の色情報が記憶される。また、Zバッファメモリ7には各画素の奥行き値(Z値)が記憶される。また、影フラグメモリ8には各画素の影内外判定に用いる影フラグが記憶される。
【0050】
図2は、上記隠面消去・影付け処理装置4の機能的な構成を示す機能ブロック図である。図2において、上記演算部5は、通常ポリゴン処理部11,裏向き影ポリゴン処理部12,表向き影ポリゴン処理部13および比較器14を含んで構成されている。そして、通常ポリゴン処理部11は、入力された上記通常ポリゴンの視点座標および奥行き値に基づいて、比較器14を制御して通常ポリゴンに対してZバッファ法による隠面消去処理を行う。そして、ピクセルメモリ6とZバッファメモリ7とを更新する。また、裏向き影ポリゴン処理部12は、入力された上記裏向き影ポリゴンの視点座標および奥行き値に基づいて、比較器14を制御して裏向き影ポリゴンに対する処理を行う。そして、影フラグメモリ8を更新する。また、表向き影ポリゴン処理部13は、入力された上記表向き影ポリゴンの視点座標および奥行き値に基づいて、比較器14を制御して表向き影ポリゴンに対する処理を行う。そして、影フラグメモリ8とピクセルメモリ6とを更新する。また、比較器14は、入力された各ポリゴンの奥行き値とZバッファメモリ7に格納された奥行き値とを比較し、比較結果を入力先に返送する。
【0051】
こうして、影付け処理時には、入力された影ポリゴンの奥行き値とZバッファメモリ7に格納された奥行き値とを比較し、影フラグメモリ8を更新および参照しながら、上記比較結果および影フラグメモリ8の値に基づいて、ピクセルメモリ6に格納された画素の色情報を修正するのである。
【0052】
ここで、上記機能的構成を有する図形処理装置の具体的ハードウェア構成は、後述する各種の処理を実行するプログラムを含む各種プログラムを記憶するプログラムメモリ、各種情報を記憶するデータメモリ、外部記録媒体がセットされてこの外部記録媒体をアクセスする外部補助記憶装置、上記プログラムメモリ,データメモリおよび外部補助記憶装置等を制御して、隠面消去処理や影付け処理等を実行するCPU(中央演算処理装置)等で成る。
【0053】
すなわち、上記通常ポリゴン変換部2,影ポリゴン変換部3,通常ポリゴン処理部11,裏向き影ポリゴン処理部12,表向き影ポリゴン処理部13および比較器14は上記CPUで構成され、ピクセルメモリ6,Zバッファメモリ7および影フラグメモリ8は上記データメモリや外部補助記憶装置で構成されるのである。また、上記CPUは、上述した各部2,3,11〜14による本実施の形態に係る処理動作の他に、演算・判断処理およびデータの入出力処理等の各種の処理動作をも行うようになっている。
【0054】
尚、上記通常ポリゴン変換部2および影ポリゴン変換部3をホストコンピュータやグラフィック専用プロセッサ等によって構成することによって、本実施の形態のごとく、視点座標変換処理装置1を隠面消去・影付け処理装置4とは別体に構成することができるのである。その際に、隠面消去・影付け処理装置4をポータブル機器に搭載して携帯可能に構成することもできる。さらに、視点座標変換処理装置1をインターネット等の通信ネットワーク上のサーバーに搭載し、隠面消去・影付け処理装置4は通信によって上記視点座標および奥行き値を取得するようにしても差し支えない。
【0055】
また、図1における上記通常ポリゴン変換部2,影ポリゴン変換部3および演算部5等を、ステートマシンとその状態を制御するコントローラとを有するハードウェアロジック等で構成することによって、本図形処理装置全体をハードウェアで構成しても一向に構わない。
【0056】
図3は、上記隠面消去・影付け処理装置4によって実行される隠面消去・影付け処理動作の概要を示すフローチャートである。また、図7は、光源21と、3次元物体22と、光源21からの光線を3次元物体22が遮ることによって生じる影空間を規定するシャドーボリューム24との関係を表す。図7に示すように、影を落とす対象となる3次元物体(球)22を構成する総ての点と光源21とを結ぶ線分の延長線の集合でシャドーボリューム24が形成される。そして、本実施の形態においては、影付け処理を行う領域を柱状のシャドーボリューム(図7ではポリゴンで表される円柱)とし、影が生ずる物体(図7ではポリゴンで表される平面)とシャドーボリュームとが交わる領域を「影」として求めるのである。
【0057】
すなわち、上述したように、上記シャドーボリューム24を構成する影ポリゴンを、視点座標系において視点から見て裏向きになる裏向き影ポリゴンadcgheと表向きになる表向き影ポリゴンabcgfeとに分けて処理を行うのである。以下、順次説明する。
【0058】
図3において、ステップS1で、上記通常ポリゴン処理部11によって、通常ポリゴン22,23に対する隠面消去処理が行われる。すなわち、上記視点座標変換処理装置1からの上記通常ポリゴンの視点座標および奥行き値に基づいて、特許文献1の場合と同様にして、Zバッファ法によって隠面消去処理を行い、Zバッファメモリ7とピクセルメモリ6とを更新する。その結果、図7に示すように、視点から見て物体22,23よりも後側である背景が、3次元物体22,23に置き換えられる。尚、3次元物体23は、光源21によって3次元物体22の影が落ちる地面等である。
【0059】
ステップS2で、総てのシャドーボリュームに関する影付け処理が終了したか否かが判別される。そして、終了していなければステップS3に進み、終了していれば隠面消去・影付け処理動作を終了する。ステップS3で、裏向き影ポリゴン処理部12,表向き影ポリゴン処理部13および比較器14によって、視点座標変換処理装置1からの影ポリゴンの視点座標および奥行き値に基づいて、1つのシャドーボリュームに関する影付け処理が行われる。尚、この影付け処理については後に詳述する。そうした後、上記ステップS2に戻り、総てのシャドーボリュームに関する影付け処理が終了したと判別されると隠面消去・影付け処理動作を終了するのである。
【0060】
図4は、図3に示す隠面消去・影付け処理動作の上記ステップS3で実行される影付け処理動作を示すフローチャートである。以下、図4に従って、1つのシャドーボリューム24に関する影付け処理動作の概略について説明する。
【0061】
ステップS11で、上記影フラグメモリ8が初期化される。尚、この影フラグメモリ8の初期化は、影フラグメモリ8における各影ポリゴンに対応する総ての領域に「0」が書き込まれることによって行われる。ステップS12で、総ての裏向き影ポリゴンに対する処理が終了したか否かが判別される。その結果、終了していればステップS14に進み、終了していなければステップS13に進む。ステップS13で、裏向き影ポリゴン処理部12によって、未終了の裏向き影ポリゴンに対する処理が行われる。尚、この裏向き影ポリゴンに対する処理については後に詳述する。そうした後、上記ステップS12に戻る。そして、上記ステップS12において総ての裏向き影ポリゴンに対する処理が終了したと判別されるとステップS14に進む。
【0062】
ステップS14で、総ての表向き影ポリゴンに対する処理が終了したか否かが判別される。その結果、終了していれば影付け処理動作を終了して、図3に示す隠面消去・影付け処理動作の上記ステップS2にリターンする。一方、終了していなければステップS15に進む。ステップS15で、表向き影ポリゴン処理部13によって、未終了の表向き影ポリゴンに対する処理が行われた後、上記ステップS14に戻る。尚、上記表向き影ポリゴンに対する処理については後に詳述する。そして、上記ステップS14において総ての表向き影ポリゴンに対する処理が終了したと判別されると影付け処理動作を終了して、上記隠面消去・影付け処理動作にリターンするのである。
【0063】
図5は、図4に示す影付け処理動作の上記ステップS13において、上記裏向き影ポリゴン処理部12および比較器14によって実行される裏向き影ポリゴンに対する処理動作を示すフローチャートである。以下、図5に従って、裏向き影ポリゴンに対する処理動作について説明する。図4に示す影付け処理動作の上記ステップS12において総ての裏向き影ポリゴンに対する処理が終了していないと判断されると、裏向き影ポリゴン処理動作がスタートする。
【0064】
ステップS21で、未処理裏向き影ポリゴンの中から選択された1つの裏向き影ポリゴンの領域に関して、その画素の座標(x,y)の奥行き値BSP_z(x,y)が求められる。一般に、ポリゴンの奥行き値は、視点座標変換処理装置1から入力された各頂点の視点座標に基づいて各頂点間の座標や内部の座標を補間することによって得ることができる。ステップS22で、Zバッファメモリ7における同一座標(x,y)のZ値z(x,y)が読み出される。
【0065】
ステップS23で、上記比較器14によって、上記ステップS21において得られた奥行き値BSP_z(x,y)とステップS22において読み出されたZ値z(x,y)とが比較される(デプステスト)。そして、奥行き値BSP_z(x,y)がZ値z(x,y)よりも小さいか否かが判別される。その結果、上記Z値よりも小さければ、何も行わないで裏向き影ポリゴン処理動作を終了し、図4に示す影付け処理動作の上記ステップS12にリターンする。一方、上記Z値以上であればステップS24に進む。
【0066】
ステップS24で、上記影フラグメモリ8における座標(x,y)にフラグ値f(x,y)として「1」が書き込まれる。そうした後、裏向き影ポリゴン処理動作を終了して、上記影付け処理動作にリターンするのである。
【0067】
尚、図5に示すフローチャートでは詳述されていないが、上記ステップS21〜ステップS24の処理は、処理対象の裏向き影ポリゴンにおける総ての画素(総てのx,y)に対して繰り返して行われるのである。
【0068】
通常、上記Zバッファ法においては、デプステスト結果が「真」である(ポリゴンの奥行き値の方がZバッファメモリ7のZ値よりも小さい)場合に処理を行うのであるが、本処理における裏向き影ポリゴンに関しては、逆に、デプステスト結果が「偽」である(裏向き影ポリゴンの奥行き値の方がZバッファメモリ7のZ値以上である)場合に、影フラグメモリ8における対応するフラグ値f(x,y)として「1」を書き込む処理が行われるのである。一例として、図8に、球の通常ポリゴン22と平面の通常ポリゴン23と円柱形のシャドーボリューム24との視点座標および奥行き値が、図7に示されるような位置関係を有して入力された際に、本裏向き影ポリゴン処理動作におけるステップS24において影フラグメモリ8に「1」がセットされる領域を斜線で示す。
【0069】
図8において、裏向き影ポリゴンadcgheの座標領域のうち、視点から見て球22の通常ポリゴンよりも後側にある領域adciと、視点から見て平面23の通常ポリゴンよりも後側にある領域ghelkjとに、「1」がセットされるのである。
【0070】
図6は、図4に示す影付け処理動作の上記ステップS15において、上記表向き影ポリゴン処理部13および比較器14によって実行される表向き影ポリゴンに対する処理動作を示すフローチャートである。以下、図6に従って、表向き影ポリゴンに対する処理動作について説明する。図4に示す影付け処理動作の上記ステップS14において総ての表向き影ポリゴンに対する処理が終了していないと判断されると、表向き影ポリゴン処理動作がスタートする。
【0071】
ステップS31で、未処理表向き影ポリゴンの中から選択された1つの表向き影ポリゴンの領域に関して、その画素の座標(x,y)の奥行き値FSP_z(x,y)が、上述した裏向き影ポリゴンの場合と同様に、各頂点間の座標や内部の座標を補間することによって求められる。ステップS32で、Zバッファメモリ7における同一座標(x,y)のZ値z(x,y)が読み出される。ステップS33で、比較器14によって、上記ステップS31において求められた奥行き値FSP_z(x,y)が上記ステップS32において読み出されたZ値z(x,y)よりも小さいか否かが判別される。その結果、上記Z値よりも小さければステップS34に進み、上記Z値以上であれば何も行わないで表向き影ポリゴン処理動作を終了し、図4に示す影付け処理動作の上記ステップS14にリターンする。
【0072】
ステップS34で、上記影フラグメモリ8における上記座標(x,y)に対応するフラグ値f(x,y)が読み出される。ステップS35で、上記読み出されたフラグ値f(x,y)が「1」であるか否かが判別される。その結果、「1」であればステップS36に進み、「1」でなければ何も行わないで表向き影ポリゴン処理動作を終了し、上記影付け処理動作のステップS14にリターンする。このように、上述した裏向き影ポリゴンの場合の処理とは異なって、上記デプステスト結果が「真」である(表向き影ポリゴンの奥行き値の方がZバッファメモリ7のZ値より小さい)場合に次の処理を行う一方、デプステスト結果が「偽」である場合はそのまま表向き影ポリゴン処理動作を終了するのである。
【0073】
一例として、図9に、表向き影ポリゴンのデプステスト結果が「真」になる領域を斜線で示す。図9において、表向き影ポリゴンabcgfeの座標領域のうちの、視点から見て球22の通常ポリゴンよりも前側にある領域abciと、視点から見て平面23の通常ポリゴンよりも前側にある領域jnoplmと、視点から見て背景よりも前側にある領域nciapoとが、上記デプステストによって「真」であると判定されて次の処理が行われるのである。
【0074】
ステップS36で、上記影フラグメモリ8における同一座標(x,y)のフラグ値f(x,y)が「0」にクリアされる。ステップS37で、ピクセルメモリ6における同一座標(x,y)の値p(x,y)として影の色情報が書き込まれる。そうした後、表向き影ポリゴン処理動作を終了して上記影付け処理動作にリターンするのである。
【0075】
尚、図6に示すフローチャートでは詳述されていないが、上記ステップS31〜ステップS37の処理は、処理対象の表向き影ポリゴンにおける総ての画素(総てのx,y)に対して繰り返して行われるのである。
【0076】
ここで、上記ステップS34において読み出された上記影フラグメモリ8のフラグ値が「1」であるのは、これまで説明してきた通り、各シャドーボリュームにおいて裏向き影ポリゴンに対するデプステストの結果が「偽」になった座標のみである。さらに、上記ステップS37においてピクセルメモリ6に影の色情報が書き込まれるのは、上記ステップS33におけるデプステストの結果が「真」になった座標である。つまり、影付けが行われるのは、視点座標において、上記裏向き影ポリゴン(図7における影ポリゴンadcghe)よりも手前にあり、且つ、表向き影ポリゴン(図7における影ポリゴンabcgfe)よりも後ろにある領域内の画素であるということになる。
【0077】
一例として、図10に、上記視点座標において影付け処理が行われる領域を斜線で示す。図10において、視点から見て裏向き影ポリゴンadcgheよりも手前にあり、且つ、表向き影ポリゴンabcgfeよりも後ろにある領域、つまり、図8における斜線領域と図9における斜線領域とが重なった領域aicbおよび領域lmjkに、影付けが行われるのである。尚、その場合における影付けは、上述したように、ピクセルメモリ6の値p(x,y)を影ポリゴンの色情報を用いて変調するだけでよい。
【0078】
以上のように、本実施の形態においては、上記光源21から見ての表裏に関係なく総ての通常ポリゴンを処理の対象としている。したがって、3次元物体22の影が落ちる平面23のごとく、光源21から見ての表の通常ポリゴン上に対しても球22の影を付けることができるのである。
【0079】
さらに、本実施の形態においては、視点から見て裏向き影ポリゴンよりも手前にあり且つ表向き影ポリゴンよりも後ろにある領域に対してのみ影付けを行うようにしている。したがって、視点座標変換処理装置1によるポリゴンの図形データの変換の際に誤差が生じた場合でも、本来は影付けを行うべきではない影ポリゴンの端の部分に影が付くことはないのである。
【0080】
すなわち、上記視点座標変換処理装置1による変換の際に、図11に示すように、球22の光源21から見て裏側のポリゴンabciおよび視点から見て表向き影ポリゴンabcgfeが、球22の光源21から見て表側のポリゴンabcuおよび視点から見て裏向き影ポリゴンadcgheに対して、視点から見て図中左側にずれたとする。その場合、隠面消去・影付け処理装置4によって影が付けられるのは、視点から見て裏向き影ポリゴンよりも手前にあり、且つ、表向き影ポリゴン後ろにある領域a'i'rqb'および領域sl'tjである。したがって、影ポリゴンの端の部分qc'j'tjrに影は付かないのである。
【0081】
尚、図7に示すような上記球の通常ポリゴン22と平面の通常ポリゴン23と円柱形のシャドーボリューム24との位置関係において、非特許文献1に開示されたOpenGLの機能を用いた影付け処理を行うに際して、図11に示すようなポリゴンのずれが生じた場合には、表向き影ポリゴンa'b'c'j'l'の側部qc'j'tjrに対しても影が付くことになる。
【0082】
高価な高性能な計算機を使用すれば、データの分解能(ビット数)も大きく、したがって座標変換計算値の誤差も少なくなる。したがって、非特許文献1による従来の影付け処理を行っても問題はない。ところが、ゲーム機等の分野においてはシステムの小型化,低消費電力化,簡略化(低価格化)を図る必要があり、特にポータブル機器への適用を考える場合には構成を簡略化することが前提となる。その場合には、図形データの変換の際に誤差が生ずることは避けられず、そのような状況下であっても視覚的に問題の無いレベルでグラフィックス処理が行えることが必要となる。本実施例によれば、図形データの変換の際に誤差が生じても視覚的なノイズが発生することはなく、簡略化された構成での視覚的に問題の無いグラフィックス処理を行うことが可能になるのである。
【0083】
したがって、本実施例における図形処理装置をポータブル機器に搭載して携帯可能に構成することができる。さらに、本図形処理装置を携帯端末に搭載して、通常ポリゴンや影ポリゴンの図形データを上記通信ネットワークを介して通信によって取得するように構成することも可能になる。勿論、上述したように、隠面消去・影付け処理装置4を携帯端末に搭載して、上記通信ネットワークを介して視点座標変換処理装置1から上記視点座標および奥行き値を取得するようにすることも可能である。
【0084】
また、本実施の形態においては、上記裏向き影ポリゴン処理部12および表向き影ポリゴン処理部13によって、各シャドーボリューム毎に上記影ポリゴンに関する処理を行うようにしている。したがって、影を落とす対象となる3次元物体が複数あってシャドーボリュームも複数設定されるような場合であっても、表示対象となる物体に対して、正しく影を付けることができるのである。
【0085】
尚、上述の説明においては、上記ピクセルメモリ6,Zバッファメモリ7および影フラグメモリ8については、その容量等を特に明記していない。これらのメモリ6,7,8の容量は、フレームバッファ方式の場合には一画面分の容量、ラインスキャン方式の場合には一ライン分の容量であれば十分である。特に、ラインバッファ方式の場合には、必要となる記憶容量も少なく、シャドーボリューム毎に影フラグメモリ8を初期化する処理も殆ど負担になることはない。
【0086】
また、本実施の形態においては、上記影ポリゴンのデプステストの際に用いる比較器を、通常ポリゴンのデプステストで用いる比較器を改良することによって通常ポリゴン用の比較器と共有することが可能である。
【0087】
また、上述の説明においては、影を落とす対象となる3次元物体(球)22自身の光源21から見て裏側にも影を付けるために、シャドーボリューム24の開始端を球22としている。しかしながら、影を落とす対象となる球22自身に対するシェーディングを、拡散反射光や鏡面反射光によるシェーディング,コンスタント・シェーディング,グロー・シェーディング,フォーン・シェーディング等の本実施の形態とは別の処理によって行う場合も考えられる。その場合には、シャドーボリュームの開始端を球22に重ならないように設定すれば、地面23にのみ本実施の形態の影付け方法によって影を付けることが可能になる。
【0088】
ところで、上記実施の形態における上記通常ポリゴン変換部2,影ポリゴン変換部3,通常ポリゴン処理部11,裏向き影ポリゴン処理部12,表向き影ポリゴン処理部13および比較器14を上記CPUで構成した場合における夫々の機能は、プログラム記録媒体に記録された図形処理プログラムによって実現される。上記実施の形態における上記プログラム記録媒体は、ROM(リード・オンリ・メモリ)でなるプログラムメディアである。または、上記外部補助記憶装置に装着されて読み出されるプログラムメディアであってもよい。尚、何れの場合においても、プログラムメディアから図形処理プログラムを読み出すプログラム読み出し手段は、上記プログラムメディアに直接アクセスして読み出す構成を有していてもよいし、RAM(ランダム・アクセス・メモリ)に設けられたプログラム記憶エリア(図示せず)にダウンロードし、上記プログラム記憶エリアにアクセスして読み出す構成を有していてもよい。尚、上記プログラムメディアから上記RAMのプログラム記憶エリアにダウンロードするためのダウンロードプログラムは、予め本体装置に格納されているものとする。
【0089】
ここで、上記プログラムメディアとは、本体側と分離可能に構成され、磁気テープやカセットテープ等のテープ系、フロッピーディスク,ハードディスク等の磁気ディスクやCD(コンパクトディスク)‐ROM,MO(光磁気)ディスク,MD(ミニディスク),DVD(ディジタル多用途ディスク)等の光ディスクのディスク系、IC(集積回路)カードや光カード等のカード系、マスクROM,EPROM(紫外線消去型ROM),EEPROM(電気的消去型ROM),フラッシュROM等の半導体メモリ系を含めた、固定的にプログラムを坦持する媒体である。
【0090】
また、上記実施の形態における図形処理装置は、上記通信ネットワークと通信I/Fを介して接続可能な構成を有している場合には、上記プログラムメディアは、通信ネットワークからのダウンロード等によって流動的にプログラムを坦持する媒体であっても差し支えない。尚、その場合における上記通信ネットワークからダウンロードするためのダウンロードプログラムは、予め本体装置に格納されているものとする。あるいは、別の記録媒体からインストールされるものとする。
【0091】
尚、上記記録媒体に記録されるものはプログラムのみに限定されるものではなく、データも記録することが可能である。
【0092】
【発明の効果】
以上より明らかなように、この発明によれば、各物体を構成する通常ポリゴンとシャドーボリュームを構成する影ポリゴンとの図形データを視点座標と奥行き値とに変換し、視点から見て表向きとなる表向き影ポリゴンと裏向きとなる裏向き影ポリゴンと上記通常ポリゴンとに分け、上記通常ポリゴンに対するZバッファ法による隠面消去処理を行った後に、上記視点から見て上記表向き影ポリゴンよりも後に位置し且つ上記裏向き影ポリゴンよりも手前に位置する座標領域を求め、この求めた座標領域に対応するピクセルメモリにおける画素の色情報を影の色情報で更新するので、表示対象となる総ての物体を構成する通常ポリゴンを対象として影付け処理を行うことができる。したがって、光源に対して表となる地面等の平面ポリゴンに対しても他の3次元物体の影を付けることができる。
【0093】
さらに、上記視点から見て上記表向き影ポリゴンよりも後に位置し、且つ、上記裏向き影ポリゴンよりも手前に位置する座標領域に対して、影を付けるようにしている。したがって、上記図形データに対する変換処理による変換計算値に誤差が生じたとしても、影を付けるべきではない影ポリゴンの端の部分に影が付くことはない。その結果、上記図形データに対する変換処理手段の構成を簡略化することができ、小型化,低消費電力化,低価格化を図ることができる。
【図面の簡単な説明】
【図1】 この発明の図形処理装置におけるブロック図である。
【図2】 図1における隠面消去・影付け処理装置における機能ブロック図である。
【図3】 図1における隠面消去・影付け処理装置によって実行される影付け処理動作のフローチャートである。
【図4】 図3に示す影付け処理動作におけるシャドーボリューム処理動作のフローチャートである。
【図5】 図4に示すシャドーボリューム処理動作における裏向き影ポリゴン処理動作のフローチャートである。
【図6】 図4に示すシャドーボリューム処理動作における表向き影ポリゴン処理動作のフローチャートである。
【図7】 光源と3次元物体とシャドーボリュームとの関係を説明する図である。
【図8】 図7において影フラグメモリに「1」がセットされる領域を示す図である。
【図9】 図7において表向き影ポリゴンのデプステスト結果が「真」になる領域を示す図である。
【図10】 図7において影付け処理される領域を示す図である。
【図11】 図1における視点座標変換処理装置による座標変換値に誤差が生じた場合の影付け処理結果の説明図である。
【図12】 従来の3次元物体への影付け処理の説明図である。
【図13】 図12とは異なる従来の3次元物体への影付け処理の説明図である。
【図14】 図13に示す従来の影付け処理を行うに際してポリゴンの座標変換計算値に誤差が生じた場合の影付け結果の説明図である。
【符号の説明】
1…視点座標変換処理装置、
2…通常ポリゴン変換部、
3…影ポリゴン変換部、
4…隠面消去・影付け処理装置、
5…演算部、
6…ピクセルメモリ、
7…Zバッファメモリ、
8…影フラグメモリ、
9…バス、
11…通常ポリゴン処理部、
12…裏向き影ポリゴン処理部、
13…表向き影ポリゴン処理部、
14…比較器、
21…光源、
22,23…3次元物体、
24…シャドーボリューム。
Claims (11)
- 表示対象物における視点からの奥行きを表すZ値が各画素毎に格納されたZバッファメモリおよび各画素の色情報が記憶されたピクセルメモリを有して、光源からの光線を3次元物体が遮ることによって生じる影が付けられた影付き物体の画像を生成する図形処理装置であって、
上記3次元物体を含む各物体を構成する通常ポリゴンと上記3次元物体が光源からの光線を遮ることによって生じる影空間を規定するシャドーボリュームを構成する影ポリゴンとの図形データが入力されて、この図形データを視点座標と奥行き値とに変換し、得られた視点座標および奥行き値を、視点から見て表向きとなる表向き影ポリゴンと裏向きとなる裏向き影ポリゴンと上記通常ポリゴンとの別に出力する視点座標変換処理部と、
上記視点座標および奥行き値と上記Zバッファメモリとに基づいて、上記通常ポリゴンに対するZバッファ法による隠面消去処理を行った後に、上記視点から見て上記表向き影ポリゴンよりも後に位置し且つ上記裏向き影ポリゴンよりも手前に位置する座標領域を求め、この求めた座標領域に対応する上記ピクセルメモリにおける画素の色情報を影の色情報で更新する隠面消去・影付け処理部
を備えたことを特徴とする図形処理装置。 - 請求項1に記載の図形処理装置において、
上記Zバッファメモリおよびピクセルメモリは、1画面における1ライン分の容量を有しており、
上記視点座標変換処理部および隠面消去・影付け処理部は、1ライン毎に処理を行うようになっている
ことを特徴とする図形処理装置。 - 請求項1に記載の図形処理装置において、
上記隠面消去・影付け処理部は、上記シャドーボリュームが複数存在する場合には、夫々のシャドーボリューム毎に上記影ポリゴンに関する処理を行うようになっていることを特徴とする図形処理装置。 - 表示対象物における視点からの奥行きを表すZ値が各画素毎に格納されたZバッファメモリおよび各画素の色情報が記憶されたピクセルメモリを有して、光源からの光線を3次元物体が遮ることによって生じる影が付けられた影付き物体の画像を生成する図形処理装置であって、
上記3次元物体を含む各物体を構成する通常ポリゴンの図形データが入力されて、この図形データを視点座標と奥行き値とに変換する通常ポリゴン変換部と、
上記3次元物体が光源からの光線を遮ることによって生じる影空間を規定するシャドーボリュームを構成する影ポリゴンの図形データが入力されて、この図形データを視点座標と奥行き値とに変換すると共に、視点から見て表向きとなる表向き影ポリゴンの視点座標および奥行き値と上記視点から見て裏向きとなる裏向き影ポリゴンの視点座標および奥行き値とに仕分けして出力する影ポリゴン変換部と、
上記通常ポリゴンの視点座標および奥行き値に基づいて上記通常ポリゴンに対してZバッファ法による隠面消去処理を行い、この処理結果に基づいて、上記ピクセルメモリおよびZバッファメモリにおける各画素の色情報およびZ値を更新する通常ポリゴン処理部と、
上記裏向き影ポリゴンの視点座標および奥行き値と上記隠面消去処理後のZ値とに基づいて、上記視点から見て上記裏向き影ポリゴンよりも手前に位置する座標領域を求める裏向き影ポリゴン処理部と、
上記裏向き影ポリゴンよりも手前に位置する視点座標を表すフラグ値が格納された影フラグメモリと、
上記表向き影ポリゴンの視点座標および奥行き値と上記隠面消去処理後のZ値と上記フラグ値とに基づいて、上記視点から見て上記表向き影ポリゴンよりも後に位置し且つ上記裏向き影ポリゴンよりも手前に位置する座標領域を求め、上記ピクセルメモリにおける上記求められた座標領域に対応する画素の色情報を影の色情報で更新する表向き影ポリゴン処理部
を備えたことを特徴とする図形処理装置。 - 請求項4に記載の図形処理装置において、
上記Zバッファメモリ,ピクセルメモリおよび影フラグメモリは、1画面における1ライン分の容量を有しており、
上記通常ポリゴン変換部,影ポリゴン変換部,通常ポリゴン処理部,裏向き影ポリゴン処理部および表向き影ポリゴン処理部は、1ライン毎に処理を行うようになっている
ことを特徴とする図形処理装置。 - 請求項4に記載の図形処理装置において、
上記裏向き影ポリゴン処理部および表向き影ポリゴン処理部は、上記シャドーボリュームが複数存在する場合には、夫々のシャドーボリューム毎に上記影ポリゴンに関する処理を行うようになっていることを特徴とする図形処理装置。 - 請求項4に記載の図形処理装置において、
上記通常ポリゴン変換部,影ポリゴン変換部,通常ポリゴン処理部,裏向き影ポリゴン処理部および表向き影ポリゴン処理部は、携帯機器に搭載されていることを特徴とする図形処理装置。 - 請求項7に記載の図形処理装置において、
上記携帯機器は、通信ネットワークに接続可能になっており、上記通信ネットワークを介した通信によって、上記図形データを取得するようになっていることを特徴とする図形処理装置。 - 表示対象物における視点からの奥行きを表すZ値が各画素毎に格納されたZバッファメモリおよび各画素の色情報が記憶されたピクセルメモリを用いて、光源からの光線を3次元物体が遮ることによって生じる影が付けられた影付き物体の画像を生成する図形処理方法であって、
上記3次元物体を含む各物体を構成する通常ポリゴンの図形データを視点座標と奥行き値とに変換し、
上記3次元物体が光源からの光線を遮ることによって生じる影空間を規定するシャドーボリュームを構成する影ポリゴンの図形データを視点座標と奥行き値とに変換すると共に、視点から見て表向きとなる表向き影ポリゴンの視点座標および奥行き値と上記視点から見て裏向きとなる裏向き影ポリゴンの視点座標および奥行き値とに仕分けし、
上記通常ポリゴンの視点座標および奥行き値に基づいて上記通常ポリゴンに対してZバッファ法による隠面消去処理を行い、この処理結果に基づいて、上記ピクセルメモリおよびZバッファメモリにおける各画素の色情報およびZ値を更新し、
上記裏向き影ポリゴンの視点座標および奥行き値と上記隠面消去処理後のZ値とに基づいて、上記視点から見て上記裏向き影ポリゴンよりも手前に位置する座標領域を求め、
上記表向き影ポリゴンの視点座標および奥行き値と上記隠面消去処理後のZ値とに基づいて、上記視点から見て上記表向き影ポリゴンよりも後に位置する座標領域を求め、
上記視点から見て上記表向き影ポリゴンよりも後に位置し且つ上記裏向き影ポリゴンよりも手前に位置する座標領域に対応する上記ピクセルメモリの画素の色情報を影の色情報で更新する
ことを特徴とする図形処理方法。 - コンピュータを、
請求項4における通常ポリゴン変換部,影ポリゴン変換部,通常ポリゴン処理部,裏向き影ポリゴン処理部および表向き影ポリゴン処理部
として機能させることを特徴とする図形処理プログラム。 - 請求項10に記載の図形処理プログラムが記録されたことを特徴とするコンピュータ読出し可能なプログラム記録媒体。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003063060A JP4181430B2 (ja) | 2003-03-10 | 2003-03-10 | 図形処理装置、図形処理方法、図形処理プログラム、および、プログラム記録媒体 |
TW093106225A TWI278787B (en) | 2003-03-10 | 2004-03-09 | Graphic processing apparatus, graphic processing method, and program storage medium |
US10/797,743 US8339397B2 (en) | 2003-03-10 | 2004-03-09 | Method and apparatus for high-speed shadowing using shadow volumes |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003063060A JP4181430B2 (ja) | 2003-03-10 | 2003-03-10 | 図形処理装置、図形処理方法、図形処理プログラム、および、プログラム記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004272635A JP2004272635A (ja) | 2004-09-30 |
JP4181430B2 true JP4181430B2 (ja) | 2008-11-12 |
Family
ID=32959077
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003063060A Expired - Lifetime JP4181430B2 (ja) | 2003-03-10 | 2003-03-10 | 図形処理装置、図形処理方法、図形処理プログラム、および、プログラム記録媒体 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8339397B2 (ja) |
JP (1) | JP4181430B2 (ja) |
TW (1) | TWI278787B (ja) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4739002B2 (ja) * | 2005-06-30 | 2011-08-03 | キヤノン株式会社 | 画像処理方法、画像処理装置 |
CN100349186C (zh) * | 2005-09-09 | 2007-11-14 | 威盛电子股份有限公司 | 调适性阴影空间算法的阴影产生方法与装置 |
US7768515B1 (en) | 2006-11-03 | 2010-08-03 | Nvidia Corporation | Apparatus, system, and method for reducing shadowed state memory requirements for identifying driver command exceptions in a graphics system |
US7898546B1 (en) * | 2006-11-03 | 2011-03-01 | Nvidia Corporation | Logical design of graphics system with reduced shadowed state memory requirements |
JP4948218B2 (ja) * | 2007-03-22 | 2012-06-06 | キヤノン株式会社 | 画像処理装置及びその制御方法 |
CN105513122B (zh) * | 2014-09-24 | 2019-01-25 | 中兴通讯股份有限公司 | 阴影体的建立方法及装置 |
US9978176B2 (en) * | 2015-06-26 | 2018-05-22 | Electronic Arts Inc. | Simplifying small mesh components with redundant backs |
WO2019100002A1 (en) * | 2017-11-20 | 2019-05-23 | Fovia Inc. | Gradient modulated shadow mapping |
US10789723B1 (en) * | 2018-04-18 | 2020-09-29 | Facebook, Inc. | Image object extraction and in-painting hidden surfaces for modified viewpoint rendering |
CN109993823B (zh) * | 2019-04-11 | 2022-11-25 | 腾讯科技(深圳)有限公司 | 阴影渲染方法、装置、终端及存储介质 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS61133483A (ja) | 1984-12-04 | 1986-06-20 | Agency Of Ind Science & Technol | 図形処理装置 |
JPH0727581B2 (ja) * | 1988-09-09 | 1995-03-29 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 図形処理装置 |
US5517603A (en) * | 1991-12-20 | 1996-05-14 | Apple Computer, Inc. | Scanline rendering device for generating pixel values for displaying three-dimensional graphical images |
JPH0765198A (ja) | 1993-08-27 | 1995-03-10 | Matsushita Electric Ind Co Ltd | 画像メモリ装置 |
JPH11175752A (ja) * | 1997-12-15 | 1999-07-02 | Sega Enterp Ltd | 画像処理装置及び画像処理方法 |
US6384822B1 (en) * | 1999-05-14 | 2002-05-07 | Creative Technology Ltd. | Method for rendering shadows using a shadow volume and a stencil buffer |
JP2001092989A (ja) * | 1999-07-21 | 2001-04-06 | Sega Corp | 画像処理方法及びその装置 |
JP3372234B2 (ja) * | 2000-01-28 | 2003-01-27 | 株式会社スクウェア | 反射画像表示方法、ゲーム装置及び記録媒体 |
JP3369159B2 (ja) | 2000-02-17 | 2003-01-20 | 株式会社ソニー・コンピュータエンタテインメント | 画像描画方法、画像描画装置、記録媒体及びプログラム |
JP3625184B2 (ja) * | 2000-09-25 | 2005-03-02 | コナミ株式会社 | ゲーム用3次元画像処理方法、装置、ゲーム用3次元画像処理プログラムを記録した可読記録媒体及びビデオゲーム装置 |
JP3527196B2 (ja) | 2000-11-16 | 2004-05-17 | 株式会社ソニー・コンピュータエンタテインメント | テクスチャ描画方法、エンタテインメント装置および記録媒体 |
JP3470966B2 (ja) | 2001-03-28 | 2003-11-25 | 株式会社ナムコ | プログラム、情報記憶媒体及びゲームシステム |
US6903741B2 (en) * | 2001-12-13 | 2005-06-07 | Crytek Gmbh | Method, computer program product and system for rendering soft shadows in a frame representing a 3D-scene |
-
2003
- 2003-03-10 JP JP2003063060A patent/JP4181430B2/ja not_active Expired - Lifetime
-
2004
- 2004-03-09 TW TW093106225A patent/TWI278787B/zh not_active IP Right Cessation
- 2004-03-09 US US10/797,743 patent/US8339397B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
TW200428297A (en) | 2004-12-16 |
JP2004272635A (ja) | 2004-09-30 |
US20040179009A1 (en) | 2004-09-16 |
TWI278787B (en) | 2007-04-11 |
US8339397B2 (en) | 2012-12-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10867434B2 (en) | Variable rate shading | |
US7876332B1 (en) | Shader that conditionally updates a framebuffer in a computer graphics system | |
US8035641B1 (en) | Fast depth of field simulation | |
US7145565B2 (en) | Depth bounds testing | |
KR100896155B1 (ko) | 내장형 디바이스의 플렉시블 안티에일리어싱 | |
US10134160B2 (en) | Anti-aliasing for graphics hardware | |
US8044955B1 (en) | Dynamic tessellation spreading for resolution-independent GPU anti-aliasing and rendering | |
US20150187117A1 (en) | Optimized multi-pass rendering on tiled base architectures | |
US8547395B1 (en) | Writing coverage information to a framebuffer in a computer graphics system | |
US7817165B1 (en) | Selecting real sample locations for ownership of virtual sample locations in a computer graphics system | |
KR20190100194A (ko) | 타일식 아키텍처들에서의 포비티드 렌더링 | |
US8072456B2 (en) | System and method for image-based rendering with object proxies | |
US7218317B2 (en) | Mechanism for reducing Z buffer traffic in three-dimensional graphics processing | |
US7038678B2 (en) | Dependent texture shadow antialiasing | |
US10592242B2 (en) | Systems and methods for rendering vector data on static and dynamic-surfaces using screen space decals and a depth texture | |
US6664971B1 (en) | Method, system, and computer program product for anisotropic filtering and applications thereof | |
US8004522B1 (en) | Using coverage information in computer graphics | |
JP4181430B2 (ja) | 図形処理装置、図形処理方法、図形処理プログラム、および、プログラム記録媒体 | |
US8587608B2 (en) | Preventing pixel modification of an image based on a metric indicating distortion in a 2D representation of a 3D object | |
US6988059B1 (en) | Rendering method and device, game device, and computer-readable recording medium for storing program to render stereo model | |
US7106336B1 (en) | Method and system for deferred evaluation of transforms in graphics processors | |
US6756989B1 (en) | Method, system, and computer program product for filtering a texture applied to a surface of a computer generated object | |
US11798218B2 (en) | Methods and apparatus for pixel packing | |
CA2316611A1 (en) | Method and apparatus for providing depth blur effects within a 3d videographics system | |
US7385604B1 (en) | Fragment scattering |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050810 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080609 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080617 |
|
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: 20080826 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080829 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 4181430 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110905 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120905 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130905 Year of fee payment: 5 |
|
SG99 | Written request for registration of restore |
Free format text: JAPANESE INTERMEDIATE CODE: R316G99 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
EXPY | Cancellation because of completion of term |