JP3652586B2 - Image drawing system - Google Patents

Image drawing system Download PDF

Info

Publication number
JP3652586B2
JP3652586B2 JP2000200783A JP2000200783A JP3652586B2 JP 3652586 B2 JP3652586 B2 JP 3652586B2 JP 2000200783 A JP2000200783 A JP 2000200783A JP 2000200783 A JP2000200783 A JP 2000200783A JP 3652586 B2 JP3652586 B2 JP 3652586B2
Authority
JP
Japan
Prior art keywords
texture
gradation
polygon
luminance value
calculating
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP2000200783A
Other languages
Japanese (ja)
Other versions
JP2002024853A (en
Inventor
純也 下田
浩 山本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Interactive Entertainment Inc
Original Assignee
Sony Computer Entertainment Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Computer Entertainment Inc filed Critical Sony Computer Entertainment Inc
Priority to JP2000200783A priority Critical patent/JP3652586B2/en
Publication of JP2002024853A publication Critical patent/JP2002024853A/en
Application granted granted Critical
Publication of JP3652586B2 publication Critical patent/JP3652586B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Image Generation (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、3次元コンピュータグラフィックス(CG)に関し、特に、3次元(3D)モデルをセルアニメーション調に表示させる画像描画方式に関する。
【0002】
【従来の技術】
近年のハードウェアの性能向上に伴い、家庭用ビデオゲーム機においても、3次元CGをリアルタイムに描画して3次元CGアニメーションを実現することが可能になってきている。
【0003】
このような3次元CGを描画する際に、3Dモデル表面の輝度値を求める方法としては、グーローシェーディングという方法が一般的に使用されている。
【0004】
グーローシェーディングでは、まず、3Dモデルを構成するポリゴンの各頂点の輝度値(階調)を計算し、次に、ポリゴンを構成する他のピクセルの輝度値を、頂点の輝度値を滑らかに補完することで計算する。グーローシェーディングは、最近の描画チップにはハードウェアで実装されているので、非常に高速に実行できる。
【0005】
図11は、グーローシェーディングによる描画結果の例を示した図である。同図に示すように、4角形を構成するピクセルの輝度値は、4つの頂点の輝度値をなめらかに補完したものになっており、陰影(濃淡)づけされた画像が得られる。
【0006】
【発明が解決しようとする課題】
一方、ゲームの内容等によっては、3次元CGを、従来のセルアニメーションのように表示させたい場合がある。セルアニメーションでは、人が線画を描いて、その中を彩色することで画像を作成するため、滑らかな階調を実現するのが困難で、少ない階調表現になっている。したがって、セルアニメーション調な表示にするためには、滑らかな階調ではなく、例えば、4階調程度の階調表示にしなければならない。
【0007】
しかし、前述したように、グーローシェーディングを使った場合は滑らかな階調になってしまうので、セルアニメーションのような階調表示にするには、何らかの方法によって、滑らかな階調を4階調程度に落とさなければならない。
【0008】
このためには、例えば、所望の階調の境目の位置を計算してポリゴンを分割するという方法があるが、この方法では、ポリゴンの数が増えるため、その分計算量も増え、ポリゴンの数が数千・数万のオーダーになると処理速度的に間に合わなってしまう。
【0009】
本発明の目的は、ポリゴン数の増加を招くことなく、セルアニメーションのような表示を可能にする画像描画方式を提供することにある。
【0010】
【課題を解決するための手段】
本発明に係る画像描画システムは、3次元モデルを構成するポリゴンの各頂点の輝度値を算出する輝度値算出手段と、階調表現用テクスチャを格納するテクスチャ格納手段と、前記輝度値算出手段により算出された各頂点の輝度値に対応する前記階調表現用テクスチャの位置を算出するテクスチャ位置算出手段と、算出された位置によって規定される階調表現用テクスチャを、ポリゴンの表面に半透明で貼りつけるマッピング手段とを備えたことを特徴とする。
【0011】
また、本発明に係る画像描画方法は、3次元モデルを構成するポリゴンの各頂点の輝度値を算出し、算出された各頂点の輝度値に対応する階調表現用テクスチャの位置を算出し、算出された位置によって規定される階調表現用テクスチャを、ポリゴンの表面に半透明で貼りつけることを特徴とする。
【0012】
また、本発明に係る記録媒体は、画像描画プログラムが記録された記録媒体である。そして、画像描画プログラムは、3次元モデルを構成するポリゴンの各頂点の輝度値を算出する輝度値算出ステップと、算出された各頂点の輝度値に対応する階調表現用テクスチャの座標値を算出するテクスチャ座標値算出ステップと、算出された座標値によって規定される階調表現用テクスチャを、ポリゴンの表面に半透明で貼りつけるように指示するマッピングステップとを備えたことを特徴とする。
【0013】
この場合において、前記マッピングステップは、ポリゴンを普通に描画することを指示する第1の描画ステップと、前記階調表現用テクスチャと、前記第1の描画ステップで描画した描画結果とを混合して描画することを指示する第2の描画ステップとを備えるようにしてもよい。
【0014】
また、以上の場合において、前記階調表現用テクスチャは、例えば、予め定められた数の階調を有するものであってもよいし、第1のパラメータに応じて、濃淡が不連続に変化し、当該濃淡が不連続に変化する位置が、第2のパラメータに応じて変化するようなものであってもよい。
【0015】
なお、前記プログラムは、例えば、CD−ROM、DVD−ROM、メモリカード等の可搬記録媒体や、ネットワークを介して、頒布することができる。
【0016】
【発明の実施の形態】
以下、本発明の実施の形態について、図面を参照しつつ、詳細に説明する。
【0017】
まず、本発明が適用されるエンタテインメント装置について説明する。本エンタテインメント装置は、例えば、CD/DVD等の記録媒体やネットワーク等によって提供されるゲーム等のアプリケーションを実行するものである。
【0018】
図1は、本発明が適用されるエンタテインメント装置の構成を示すブロック図である。
【0019】
同図に示すように、本エンタテインメント装置は、MPU100と、グラフィックスプロセッサ(GP)110と、I/Oプロセッサ(IOP)120と、CD/DVDデコーダ130と、SPU140と、OSROM150と、メインメモリ160と、IOPメモリ170とを備える。
【0020】
MPU100とグラフィックスプロセッサ110とは、バス101によって接続され、MPU100とIOP120とは、バス102によって接続されている。また、IOP120、CD/DVDデコーダ130、SPU140及びOSROM150は、バス103に接続されている。
【0021】
また、MPU100には、メインメモリ160が接続され、IOP120には、IOPメモリ170が接続されている。更に、IOP120には、コントローラ(PAD)180が接続される。
【0022】
MPU100は、本エンタテインメント装置のメインCPUである。MPU100は、OSROM150に格納されたプログラムや、CDやDVDからメインメモリ160にロードされたプログラムを実行することによって、所定の処理を行う。
【0023】
グラフィックスプロセッサ110は、本エンタテインメント装置のレンダリングの機能を受け持つ描画プロセッサである。グラフィックスプロセッサ110は、MPU100からの指示に従って、描画処理を行う。グラフィックスプロセッサ110の詳細については後述する。
【0024】
IOP120は、MPU100と周辺装置(CD/DVDデコーダ130やSPU140等)との間のデータのやり取りを制御する入出力用サブ・プロセッサである。
【0025】
CD/DVDデコーダ130は、ドライブに装着されているCDやDVDからデータを読み出し、メインメモリ160への転送を行う。
【0026】
SPU140は、サウンド再生処理プロセッサであり、サウンドバッファ(不図示)に格納されたサウンドデータ(PCMデータ等)を、MPU100からの発音命令に基づいて、所定のサンプリング周波数で再生する。
【0027】
OSROM150は、起動時等にMPU100やIOP120が実行するプログラムが格納されているROMである。
【0028】
メインメモリ160は、MPU100の主記憶であり、MPU100が実行する命令やMPU100が利用するデータ等が格納される。
【0029】
IOPメモリ170は、IOP120の主記憶であり、IOP120が実行する命令やIOP120が利用するデータ等が格納される。
【0030】
コントローラ(PAD)180は、ゲーム等の実行中に、プレイヤーの意図をアプリケーション等に伝達するインタフェースである。
【0031】
次に、グラフィックスプロセッサ110の内部構成について説明する。
【0032】
図2は、グラフィックスプロセッサ110の内部構成を示す図である。同図に示すように、グラフィックスプロセッサ110は、ホストインタフェース部200と、描画機能ブロック210と、ローカルメモリ220と、CRTC部230とを備える。
【0033】
ホストインタフェース部200は、MPU100との間でデータのやり取りを行うためのインタフェース部である。
【0034】
描画機能ブロック210は、MPU100からの指示に基づいて、レンダリング処理を行う論理回路部である。描画機能ブロック210は、ディジタル・ディファレンシャル・アナライザ(DDA)とピクセル・エンジンをそれぞれ16個備え、64ビット(色情報32ビット、Z値32ビット)の画素データを、最大16個並列処理する。DDAは、MPU100から受け取った頂点情報を基に、RGB値、Z値、テクスチャ値などを計算する。これらのデータを基に、ピクセル・エンジンは、テクスチャマッピング、αブレンディング等の処理を行って最終的なピクセル・データを生成する。
【0035】
ローカルメモリ220は、描画機能ブロック210によって生成されたピクセル・データやMPU100から転送されたテクスチャ・データ等を格納する。
【0036】
CRTC部230は、指定された出力フォーマット(NTSC、PAL、VESAフォーマット等)に従って、ローカルメモリ220のフレームバッファ領域の内容を映像信号として出力する。
【0037】
図3は、ローカルメモリ220の構成を示す図である。同図に示すように、ローカルメモリ220は、フレームバッファ領域250と、Zバッファ領域260と、テクスチャバッファ領域270と、テクスチャCLUT領域280とを有する。
【0038】
フレームバッファ領域250及びZバッファ領域260は、描画対象領域で、フレームバッファ領域250は、描画結果のピクセルを格納し、Zバッファ領域260は、描画結果のZ値を格納する。
【0039】
テクスチャバッファ領域270は、テクスチャのイメージデータを格納し、テクスチャCLUT領域280は、テクスチャがインデックスカラーの場合に使用するカラールックアップテーブル(CLUT)を格納する。
【0040】
なお、領域250〜280は、所定の制御レジスタに適当な値を設定することで、ローカルメモリ220上の任意のアドレスに任意の順序で自由に配置することができる。
【0041】
次に、以上のような構成を有するエンタテインメント装置によって実行される3Dモデルの描画処理について説明する。アプリケーションは、必要に応じて、CD/DVDに格納されている3Dモデルに基づいて、画像の描画を行う。なお、以下では、本発明による描画方法をポリゴンモデルに対し適用した場合について説明するが、スプラインモデルに対してもまったく同様に適用可能である。
【0042】
まず、本描画方法を実現するために利用するグラフィックプロセッサ110の機能について説明する。本描画方法では、グラフィックプロセッサ110が有するテクスチャマッピング機能とαブレンディング機能とを利用する。
【0043】
テクスチャマッピング機能とは、ローカルメモリ220のテクスチャバッファ領域270に格納されたテクスチャ(イメージデータ)をポリゴンの表面に貼りつけて、画像を描画する機能をいう。
【0044】
図4は、グラフィックスプロセッサ110のテクスチャマッピング機能を説明するための図である。同図に示すように、テクスチャマッピング機能を利用すると、テクスチャバッファ領域270に用意されたテクスチャの全部又は一部分を適宜、拡大・縮小・変形等して、ポリゴンの表面に貼り付けることができる。MPU100は、グラフィックスプロセッサ110に、テクスチャ付きのポリゴンの描画を指示する場合は、ポリゴンの各頂点の座標値に加えて、各頂点に対応するテクスチャの座標値を指定して、描画を指示する。
【0045】
グラフィックスプロセッサ110は、テクスチャマッピング機能をオンにして、ポリゴンの描画が指示されると、ポリゴンの各頂点毎に指定されるテクスチャの座標値をもとに、テクスチャバッファ領域270に置かれたイメージデータをテクスチャとして参照し、適宜補完を行って、テクスチャマッピングを行う。
【0046】
一方、グラフィックスプロセッサ110が有するαブレンディング機能とは、MPU100からの指示に従って生成されたピクセルのアルファ値またはフレームバッファ領域250に格納されているアルファ値にしたがって、生成されたピクセルのRGB値とフレームバッファ領域250に格納されているRGB値のブレンディング(混合)を行って、画像を描画する機能をいう。
【0047】
なお、テクスチャマッピング機能及びαブレンディング機能は、所定の制御レジスタに適当な値を設定することで、それぞれ、オン/オフ制御することができる。
【0048】
本描画方法では、これらの機能を利用して、階調表現には、グラデーションを数階調に落としたテクスチャを予め用意し、このテクスチャを半透明で3Dモデルの表面に貼り付けることでセルアニメーション調の階調表現を実現する。
【0049】
図5は、本描画方法による階調表現を説明するための図である。同図に示すように、ポリゴン50の各頂点での輝度値に対応する階調表現用テクスチャ51の位置を算出し、算出された位置によって規定される階調表現用テクスチャ52(1次元テクスチャ)を、適宜補完して、半透明で張り付けることによって階調表示を実現する。
【0050】
次に、本描画処理の流れについて説明する。図6は、本描画処理の流れを示すフローチャートである。本処理は、MPU100によって実行される。
【0051】
まず、階調表現用テクスチャを、ローカルメモリ220のテクスチャバッファ領域270に転送する(S600)。
【0052】
次に、3Dモデルを構成するポリゴンの各頂点と光源との位置関係から、各頂点での明るさ(輝度値)を計算する(S602)。
【0053】
次に、各頂点の明るさに基づいて、当該明るさに対応する階調表現用テクスチャの位置(座標値)を算出する(S604)。
【0054】
図7は、明るさと階調表現用テクスチャの位置との関係を説明するための図である。同図に示すように、階調表現用テクスチャ70は、4段階の陰影(濃淡)を有しており、左から右に行くに従って、不連続に階調が濃くなっている。このような階調表現用テクスチャ70に対して、例えば、明るさに比例して、明るさ90%に対応する位置として、位置P1を算出し、明るさ30%に対応する位置として、位置P2を算出する。
【0055】
図8は、階調表現用テクスチャの別の例を示す図である。同図に示すように、階調表現用テクスチャ80は、図7に示した階調表現用テクスチャ70と同様に、左から右に行くに従って、不連続に階調が濃くなっている。更に、階調表現用テクスチャ80は、縦方向の位置によって、階調が変化する位置が異なっている。
【0056】
図8に示したようなテクスチャを使用すると、縦方向の位置の選択の仕方によって、明るさの計算値はそのままで、各3Dモデルの表面の階調を変更することができる。例えば、階調を多めにした人の肌のような雰囲気や、ロボットのような金属的な、階調のきつい表現も、テクスチャの縦方向の選択のしかたのみでコントロールできるようになる。
【0057】
次に、3Dモデルを構成するポリゴンを普通に描画するようにグラフィックスプロセッサ110に指示する(S606)。これにより、グラフィックスプロセッサ110は、3Dモデルを、陰影づけなしにフレームバッファ領域250に描画する。
【0058】
次に、テクスチャマッピング機能及びαブレンディング機能をオンにし、ポリゴンの各頂点に対応するテクスチャ座標値を指定して、3Dモデルを構成するポリゴンの描画をグラフィックスプロセッサ110に指示する(S608)。これにより、グラフィックスプロセッサ110は、指定された階調表現用テクスチャを、ステップS606でフレームバッファ領域250に描画したポリゴン表面に半透明で貼りつけた画像を描画する。
【0059】
以上のような処理により、セルアニメーション調の表示が可能となる。
【0060】
図9は、従来の描画方法での描画結果と、本描画方法での描画の様子を概念的に説明するための図である。
【0061】
同図(a)は、従来のグーローシェーディングを行って描画した描画結果を示している。同図に示すように、階調表現は滑らかになっている。
【0062】
これに対して、本描画方法では、まず、同図(b)に示すように、シェーディングなしで描画し、次に、各頂点の明るさに基づいて、同図(c)のようなテクスチャをテクスチャバッファ領域270から切り出し、切り出したテクスチャを、シェーディングなしで描画した描画結果に半透明で貼りつける。このような処理によって、同図(d)に示すようなセルアニメーション調の描画結果が得られる。
【0063】
図10は、本発明による描画方法で描画した画像の例を示す図である。同図に示すように、キャラクタは、少ない階調で表示され、セルアニメーションのような表示画面になっている。
【0064】
【発明の効果】
以上、詳細に説明したように、本発明によれば、ポリゴン数の増加を招くことなく、セルアニメーションのような表示が可能になる。
【図面の簡単な説明】
【図1】 本発明が適用されるエンタテインメント装置の構成を示すブロック図である。
【図2】 グラフィックスプロセッサ110の内部構成を示す図である。
【図3】 ローカルメモリ220の構成を示す図である。
【図4】 グラフィックスプロセッサ110のテクスチャマッピング機能を説明するための図である。
【図5】 本発明による階調表現を説明するための図である。
【図6】 本発明による描画処理の流れを示すフローチャートである。
【図7】 明るさと階調表現用テクスチャの位置との関係を説明するための図である。
【図8】 階調表現用テクスチャの例を示す図である。
【図9】 従来の描画方法での描画結果と、本発明による描画方法での描画の様子を概念的に説明するための図である。
【図10】 本発明による描画方法で描画した画像の例を示す図である。
【図11】 グーローシェーディングによる描画結果の例を示す図である。
【符号の説明】
100 MPU
110 グラフィックスプロセッサ(GP)
120 I/Oプロセッサ(IOP)
130 CD/DVDデコーダ
140 SPU
150 OSROM
160 メインメモリ
170 IOPメモリ
180 コントローラ(PAD)
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to three-dimensional computer graphics (CG), and more particularly to an image drawing method for displaying a three-dimensional (3D) model in a cell animation style.
[0002]
[Prior art]
With recent improvements in hardware performance, it has become possible for home video game machines to realize 3D CG animation by drawing 3D CG in real time.
[0003]
When drawing such a three-dimensional CG, a method called Gouraud shading is generally used as a method for obtaining the luminance value of the surface of the 3D model.
[0004]
In Gouraud shading, first calculate the luminance value (gradation) of each vertex of the polygon that makes up the 3D model, and then smoothly complement the luminance value of the vertex with the luminance value of the other pixels that make up the polygon. To calculate. Gouraud shading can be executed very fast because it is implemented in hardware on modern drawing chips.
[0005]
FIG. 11 is a diagram illustrating an example of a drawing result by Gouraud shading. As shown in the figure, the luminance values of the pixels constituting the quadrangle are smooth complements of the luminance values of the four vertices, and a shaded image is obtained.
[0006]
[Problems to be solved by the invention]
On the other hand, depending on the contents of the game, etc., there is a case where it is desired to display the 3D CG like a conventional cell animation. In cel animation, since a person draws a line drawing and creates an image by coloring it, it is difficult to realize a smooth gradation, and there are few gradation expressions. Therefore, in order to display a cell animation tone, it is necessary to display a gradation of about 4 gradations instead of a smooth gradation.
[0007]
However, as described above, when Gouraud shading is used, smooth gradations are obtained. Therefore, in order to display gradations like cel animation, smooth gradations are converted into four gradations by some method. It must be dropped to the extent.
[0008]
For this purpose, for example, there is a method of dividing a polygon by calculating the position of a boundary of a desired gradation. However, in this method, the number of polygons increases, so the amount of calculation increases accordingly, and the number of polygons If it becomes the order of thousands or tens of thousands, the processing speed will be in time.
[0009]
An object of the present invention is to provide an image drawing method that enables display such as cell animation without increasing the number of polygons.
[0010]
[Means for Solving the Problems]
The image drawing system according to the present invention includes a luminance value calculating unit that calculates a luminance value of each vertex of a polygon constituting a three-dimensional model, a texture storing unit that stores a texture for gradation expression, and the luminance value calculating unit. Texture position calculating means for calculating the position of the texture for gradation expression corresponding to the calculated luminance value of each vertex, and the texture for gradation expression specified by the calculated position are translucent on the surface of the polygon. And mapping means for pasting.
[0011]
Further, the image drawing method according to the present invention calculates the luminance value of each vertex of the polygon constituting the three-dimensional model, calculates the position of the gradation expression texture corresponding to the calculated luminance value of each vertex, The gradation expression texture defined by the calculated position is pasted on the surface of the polygon in a translucent manner.
[0012]
The recording medium according to the present invention is a recording medium on which an image drawing program is recorded. Then, the image drawing program calculates a luminance value calculation step for calculating the luminance value of each vertex of the polygon constituting the three-dimensional model, and calculates the coordinate value of the gradation expression texture corresponding to the calculated luminance value of each vertex. A texture coordinate value calculating step, and a mapping step for instructing that the texture for gradation expression defined by the calculated coordinate value is pasted on the surface of the polygon in a translucent manner.
[0013]
In this case, the mapping step mixes the first drawing step for instructing normal drawing of the polygon, the texture for gradation expression, and the drawing result drawn in the first drawing step. You may make it provide the 2nd drawing step which instruct | indicates drawing.
[0014]
In the above case, the tone expression texture may have, for example, a predetermined number of tones, or the tone changes discontinuously according to the first parameter. The position where the shading changes discontinuously may change according to the second parameter.
[0015]
In addition, the said program can be distributed via portable recording media, such as CD-ROM, DVD-ROM, and a memory card, and a network, for example.
[0016]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
[0017]
First, an entertainment apparatus to which the present invention is applied will be described. This entertainment apparatus executes an application such as a game provided by a recording medium such as a CD / DVD or a network, for example.
[0018]
FIG. 1 is a block diagram showing a configuration of an entertainment apparatus to which the present invention is applied.
[0019]
As shown in the figure, the entertainment apparatus includes an MPU 100, a graphics processor (GP) 110, an I / O processor (IOP) 120, a CD / DVD decoder 130, an SPU 140, an OSROM 150, and a main memory 160. And an IOP memory 170.
[0020]
The MPU 100 and the graphics processor 110 are connected by a bus 101, and the MPU 100 and the IOP 120 are connected by a bus 102. The IOP 120, the CD / DVD decoder 130, the SPU 140, and the OSROM 150 are connected to the bus 103.
[0021]
In addition, a main memory 160 is connected to the MPU 100, and an IOP memory 170 is connected to the IOP 120. Further, a controller (PAD) 180 is connected to the IOP 120.
[0022]
The MPU 100 is the main CPU of the entertainment apparatus. The MPU 100 performs a predetermined process by executing a program stored in the OSROM 150 or a program loaded from the CD or DVD into the main memory 160.
[0023]
The graphics processor 110 is a drawing processor that is responsible for the rendering function of the entertainment apparatus. The graphics processor 110 performs a drawing process in accordance with an instruction from the MPU 100. Details of the graphics processor 110 will be described later.
[0024]
The IOP 120 is an input / output sub-processor that controls data exchange between the MPU 100 and peripheral devices (such as the CD / DVD decoder 130 and the SPU 140).
[0025]
The CD / DVD decoder 130 reads data from a CD or DVD loaded in the drive and transfers it to the main memory 160.
[0026]
The SPU 140 is a sound reproduction processing processor, and reproduces sound data (PCM data or the like) stored in a sound buffer (not shown) at a predetermined sampling frequency based on a sound generation command from the MPU 100.
[0027]
The OSROM 150 is a ROM that stores programs executed by the MPU 100 and the IOP 120 at the time of startup or the like.
[0028]
The main memory 160 is a main memory of the MPU 100, and stores commands executed by the MPU 100, data used by the MPU 100, and the like.
[0029]
The IOP memory 170 is a main memory of the IOP 120 and stores instructions executed by the IOP 120, data used by the IOP 120, and the like.
[0030]
The controller (PAD) 180 is an interface for transmitting a player's intention to an application or the like during execution of a game or the like.
[0031]
Next, the internal configuration of the graphics processor 110 will be described.
[0032]
FIG. 2 is a diagram illustrating an internal configuration of the graphics processor 110. As shown in the figure, the graphics processor 110 includes a host interface unit 200, a drawing function block 210, a local memory 220, and a CRTC unit 230.
[0033]
The host interface unit 200 is an interface unit for exchanging data with the MPU 100.
[0034]
The drawing function block 210 is a logic circuit unit that performs rendering processing based on an instruction from the MPU 100. The drawing function block 210 includes 16 digital differential analyzers (DDA) and 16 pixel engines, respectively, and processes up to 16 pieces of pixel data of 64 bits (color information 32 bits, Z value 32 bits) in parallel. The DDA calculates RGB values, Z values, texture values, etc. based on the vertex information received from the MPU 100. Based on these data, the pixel engine performs processes such as texture mapping and α blending to generate final pixel data.
[0035]
The local memory 220 stores pixel data generated by the drawing function block 210, texture data transferred from the MPU 100, and the like.
[0036]
The CRTC unit 230 outputs the contents of the frame buffer area of the local memory 220 as a video signal in accordance with a designated output format (NTSC, PAL, VESA format, etc.).
[0037]
FIG. 3 is a diagram illustrating a configuration of the local memory 220. As shown in the figure, the local memory 220 has a frame buffer area 250, a Z buffer area 260, a texture buffer area 270, and a texture CLUT area 280.
[0038]
The frame buffer area 250 and the Z buffer area 260 are drawing target areas. The frame buffer area 250 stores pixels of the drawing result, and the Z buffer area 260 stores the Z value of the drawing result.
[0039]
The texture buffer area 270 stores texture image data, and the texture CLUT area 280 stores a color look-up table (CLUT) used when the texture is an index color.
[0040]
The regions 250 to 280 can be freely arranged in any order in any address on the local memory 220 by setting an appropriate value in a predetermined control register.
[0041]
Next, 3D model drawing processing executed by the entertainment apparatus having the above-described configuration will be described. The application draws an image based on the 3D model stored in the CD / DVD as necessary. In the following, a case where the drawing method according to the present invention is applied to a polygon model will be described, but the present invention can be applied to a spline model in exactly the same manner.
[0042]
First, the function of the graphic processor 110 used for realizing the drawing method will be described. In this drawing method, the texture mapping function and the α blending function of the graphic processor 110 are used.
[0043]
The texture mapping function refers to a function of drawing an image by pasting the texture (image data) stored in the texture buffer area 270 of the local memory 220 on the surface of the polygon.
[0044]
FIG. 4 is a diagram for explaining the texture mapping function of the graphics processor 110. As shown in the figure, when the texture mapping function is used, all or a part of the texture prepared in the texture buffer area 270 can be appropriately enlarged, reduced or deformed and pasted on the surface of the polygon. When instructing the graphics processor 110 to draw a polygon with a texture, the MPU 100 instructs the drawing by specifying the coordinate value of the texture corresponding to each vertex in addition to the coordinate value of each vertex of the polygon. .
[0045]
When the graphics processor 110 turns on the texture mapping function and is instructed to draw a polygon, the image is placed in the texture buffer area 270 based on the coordinate value of the texture specified for each vertex of the polygon. The data is referred to as a texture, and the texture mapping is performed by appropriately complementing the data.
[0046]
On the other hand, the α blending function of the graphics processor 110 refers to the RGB value and frame of the pixel generated according to the alpha value of the pixel generated according to the instruction from the MPU 100 or the alpha value stored in the frame buffer area 250. A function for rendering an image by blending (mixing) RGB values stored in the buffer area 250.
[0047]
The texture mapping function and the α blending function can be controlled on / off by setting appropriate values in predetermined control registers.
[0048]
In this rendering method, using these functions, a texture with gradations of several gradations is prepared in advance for gradation expression, and this texture is translucent and pasted on the surface of the 3D model. Realize tonal gradation expression.
[0049]
FIG. 5 is a diagram for explaining gradation expression by this drawing method. As shown in the figure, the position of the gradation expression texture 51 corresponding to the luminance value at each vertex of the polygon 50 is calculated, and the gradation expression texture 52 (one-dimensional texture) defined by the calculated position is calculated. Is complemented appropriately, and a gradation display is realized by pasting it semi-transparently.
[0050]
Next, the flow of the drawing process will be described. FIG. 6 is a flowchart showing the flow of the drawing process. This process is executed by the MPU 100.
[0051]
First, the texture for gradation expression is transferred to the texture buffer area 270 of the local memory 220 (S600).
[0052]
Next, the brightness (luminance value) at each vertex is calculated from the positional relationship between each vertex of the polygon constituting the 3D model and the light source (S602).
[0053]
Next, based on the brightness of each vertex, the position (coordinate value) of the gradation expression texture corresponding to the brightness is calculated (S604).
[0054]
FIG. 7 is a diagram for explaining the relationship between the brightness and the position of the texture for gradation expression. As shown in the figure, the tone expression texture 70 has four levels of shading (darkness), and the tone becomes discontinuously darker from left to right. For such a tone expression texture 70, for example, a position P1 is calculated as a position corresponding to 90% brightness in proportion to brightness, and a position P2 is set as a position corresponding to 30% brightness. Is calculated.
[0055]
FIG. 8 is a diagram illustrating another example of the texture for gradation expression. As shown in the drawing, the gradation expressing texture 80 is discontinuously dark as it goes from left to right as in the gradation expressing texture 70 shown in FIG. Furthermore, the gradation expressing texture 80 differs in the position where the gradation changes depending on the position in the vertical direction.
[0056]
When the texture as shown in FIG. 8 is used, the gradation of the surface of each 3D model can be changed without changing the brightness calculation value depending on how the position in the vertical direction is selected. For example, it is possible to control the atmosphere like the skin of a person with a large number of gradations and the metallic expression of the gradations, such as a robot, simply by selecting the texture in the vertical direction.
[0057]
Next, the graphics processor 110 is instructed to normally draw the polygons constituting the 3D model (S606). As a result, the graphics processor 110 renders the 3D model in the frame buffer area 250 without shading.
[0058]
Next, the texture mapping function and the α blending function are turned on, the texture coordinate value corresponding to each vertex of the polygon is designated, and the graphics processor 110 is instructed to draw the polygon constituting the 3D model (S608). As a result, the graphics processor 110 renders an image in which the designated gradation expression texture is translucently pasted on the polygon surface rendered in the frame buffer area 250 in step S606.
[0059]
Through the processing as described above, it is possible to display a cell animation tone.
[0060]
FIG. 9 is a diagram for conceptually explaining a drawing result by the conventional drawing method and a drawing state by the drawing method.
[0061]
FIG. 5A shows a drawing result drawn by performing conventional Gouraud shading. As shown in the figure, the gradation expression is smooth.
[0062]
On the other hand, in this drawing method, first, as shown in FIG. 4B, drawing is performed without shading, and then a texture as shown in FIG. Cut out from the texture buffer area 270 and paste the cut out texture into a drawing result drawn without shading in a translucent manner. By such processing, a cell animation-like drawing result as shown in FIG.
[0063]
FIG. 10 is a diagram showing an example of an image drawn by the drawing method according to the present invention. As shown in the figure, the character is displayed with few gradations and has a display screen like a cell animation.
[0064]
【The invention's effect】
As described above in detail, according to the present invention, display like a cell animation is possible without increasing the number of polygons.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a configuration of an entertainment apparatus to which the present invention is applied.
FIG. 2 is a diagram showing an internal configuration of the graphics processor 110. FIG.
3 is a diagram showing a configuration of a local memory 220. FIG.
FIG. 4 is a diagram for explaining a texture mapping function of the graphics processor 110;
FIG. 5 is a diagram for explaining gradation expression according to the present invention.
FIG. 6 is a flowchart showing a flow of a drawing process according to the present invention.
FIG. 7 is a diagram for explaining the relationship between brightness and the position of a texture for gradation expression.
FIG. 8 is a diagram illustrating an example of a texture for gradation expression.
FIG. 9 is a diagram for conceptually explaining a drawing result by a conventional drawing method and a drawing state by the drawing method according to the present invention.
FIG. 10 is a diagram showing an example of an image drawn by the drawing method according to the present invention.
FIG. 11 is a diagram illustrating an example of a drawing result by Gouraud shading.
[Explanation of symbols]
100 MPU
110 Graphics processor (GP)
120 I / O processor (IOP)
130 CD / DVD decoder 140 SPU
150 OSROM
160 Main memory 170 IOP memory 180 Controller (PAD)

Claims (5)

3次元モデルを構成するポリゴンの各頂点の輝度値を算出する輝度値算出手段と、
第1のパラメータに応じて濃淡が不連続に変化し、第2のパラメータに応じてその不連続に変化する濃淡の階調数が変化する階調表現用テクスチャを格納するテクスチャ格納手段と、
前記輝度値算出手段により算出された各頂点の輝度値に対応する前記階調表現用テクスチャの位置を算出するテクスチャ位置算出手段と、
算出された位置によって規定される階調表現用テクスチャを、ポリゴンの表面に半透明で貼り付けるマッピング手段と、
を備えたことを特徴とする画像描画システム。
Luminance value calculating means for calculating the luminance value of each vertex of the polygon constituting the three-dimensional model;
Texture storing means for storing a texture for gradation expression in which the gradation changes discontinuously according to the first parameter and the gradation number of the gradation changes discontinuously according to the second parameter ;
Texture position calculating means for calculating the position of the texture for gradation expression corresponding to the luminance value of each vertex calculated by the luminance value calculating means;
Mapping means for pasting the texture for gradation expression specified by the calculated position to the surface of the polygon in a translucent manner;
An image drawing system comprising:
3次元モデルを構成するポリゴンの各頂点の輝度値を算出し、
第1のパラメータに応じて濃淡が不連続に変化し、第2のパラメータに応じてその不連続に変化する濃淡の階調数が変化する階調表現用テクスチャにおいて、算出された輝度値に対応する位置を算出し、
算出された位置によって規定される階調表現用テクスチャを、ポリゴンの表面に半透明で貼り付ける
ことを特徴とする画像描画方法。
Calculate the luminance value of each vertex of the polygon that makes up the 3D model,
Corresponds to the calculated luminance value in the texture for gradation expression in which the gradation changes discontinuously according to the first parameter, and the number of gradation gradations changes discontinuously according to the second parameter. Calculate the position to
An image drawing method, wherein a texture for gradation expression specified by a calculated position is semi-transparently pasted on a surface of a polygon.
画像描画プログラムが記録された記録媒体であって、
前記画像描画プログラムは、
3次元モデルを構成するポリゴンの各頂点の輝度値を算出する輝度値算出ステップと、
第1のパラメータに応じて濃淡が不連続に変化し、第2のパラメータに応じてその不連続に変化する濃淡の階調数が変化する階調表現用テクスチャにおいて、算出された各頂点の輝度値に対応する位置を算出するテクスチャ座標算出ステップと、
算出された座標値によって規定される階調表現用テクスチャを、ポリゴンの表面に半透明で貼り付けるように指示するマッピングステップと、
を備えたことを特徴とする記録媒体。
A recording medium on which an image drawing program is recorded,
The image drawing program includes:
A luminance value calculating step for calculating a luminance value of each vertex of the polygon constituting the three-dimensional model;
The brightness of each vertex calculated in the gradation expression texture in which the shade changes discontinuously according to the first parameter and the number of shades of the shade that change discontinuously changes according to the second parameter. A texture coordinate calculation step for calculating a position corresponding to the value;
A mapping step for instructing to paste the texture for gradation expression defined by the calculated coordinate values on the surface of the polygon in a translucent manner;
A recording medium comprising:
前記マッピングステップは、
ポリゴンを普通に描画することを指示する第1の描画ステップと、
前記階調表現用テクスチャと、前記第1の描画ステップで描画した描画結果とを混合して描画することを指示する第2の描画ステップと、
を備えたことを特徴とする請求項3に記載の記録媒体。
The mapping step includes
A first drawing step for instructing normal drawing of the polygon;
A second drawing step instructing to mix and draw the texture for gradation expression and the drawing result drawn in the first drawing step;
The recording medium according to claim 3, further comprising:
3次元モデルを構成するポリゴンの各頂点の輝度値を算出する輝度値算出ステップと、
第1のパラメータに応じて濃淡が不連続に変化し、第2のパラメータに応じてその不連続に変化する濃淡の階調数が変化する階調表現用テクスチャにおいて、算出された各頂点の輝度値に対応する座標値を算出するテクスチャ座標算出ステップと、
算出された座標値によって規定される階調表現用テクスチャを、ポリゴンの表面に半透明で貼り付けて描画するように指示するマッピングステップと、
を備えたことを特徴とする画像描画プログラム。
A luminance value calculating step for calculating a luminance value of each vertex of the polygon constituting the three-dimensional model;
The brightness of each vertex calculated in the gradation expression texture in which the shade changes discontinuously according to the first parameter and the number of shades of the shade that change discontinuously changes according to the second parameter. A texture coordinate calculation step for calculating a coordinate value corresponding to the value;
A mapping step for instructing to render the texture for gradation expression specified by the calculated coordinate value by pasting it on the surface of the polygon in a translucent manner;
An image drawing program comprising:
JP2000200783A 2000-07-03 2000-07-03 Image drawing system Expired - Lifetime JP3652586B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000200783A JP3652586B2 (en) 2000-07-03 2000-07-03 Image drawing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000200783A JP3652586B2 (en) 2000-07-03 2000-07-03 Image drawing system

Publications (2)

Publication Number Publication Date
JP2002024853A JP2002024853A (en) 2002-01-25
JP3652586B2 true JP3652586B2 (en) 2005-05-25

Family

ID=18698594

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000200783A Expired - Lifetime JP3652586B2 (en) 2000-07-03 2000-07-03 Image drawing system

Country Status (1)

Country Link
JP (1) JP3652586B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3964219B2 (en) * 2002-01-29 2007-08-22 シャープ株式会社 Image processing apparatus, image processing method, image processing program, and recording medium
JP4617501B2 (en) * 2007-12-10 2011-01-26 株式会社セガ Texture mapping method, program and apparatus

Also Published As

Publication number Publication date
JP2002024853A (en) 2002-01-25

Similar Documents

Publication Publication Date Title
JP3647487B2 (en) Texture mapping device
JP3635051B2 (en) Image generation method and apparatus, recording medium storing image processing program, and image processing program
US8602888B2 (en) Video game device and image processing program
JP2000149053A (en) Image processor including blending processing and its method
WO2005109345A1 (en) Display, displaying method, information recording medium, and program
US6903746B2 (en) Rendering processing method
US7212215B2 (en) Apparatus and method for rendering an antialiased image
JP2003091737A (en) Plotting processor, recording medium with plotting processing program recorded thereon, plotting processing program and plotting processing method
JP3652586B2 (en) Image drawing system
JP4794811B2 (en) Image processing program and image processing apparatus
JP3527196B2 (en) Texture drawing method, entertainment apparatus, and recording medium
JP3052839B2 (en) Image processing apparatus and processing method thereof
US6646650B2 (en) Image generating apparatus and image generating program
JP4231684B2 (en) GAME DEVICE AND GAME PROGRAM
US6831639B2 (en) Computer readable storage medium storing 3-D game image processing program, 3-D game image processing method, video game machine, and 3-D game image processing program
JP4563070B2 (en) GAME DEVICE AND GAME PROGRAM
JP4086002B2 (en) Program, image processing apparatus and method, and recording medium
JP3469225B2 (en) Method for applying lighting effect to three-dimensional model, drawing apparatus, and recording medium
JP2002083315A (en) Image drawing system
JP2003187260A (en) Image rendering program, recording medium in which image rendering program is recorded, image rendering apparatus and method
JP2001084405A (en) Method for forming polygon picture and picture processor using it
JP2003323633A (en) Image processor and image processing program
JP2003015214A (en) Image display device
JPH08110954A (en) Picture processing method, picture processor and circuit

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20041109

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20041116

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041228

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20041228

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: 20050222

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050223

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20080304

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20090304

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090304

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100304

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100304

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110304

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110304

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20120304

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20120304

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20130304

Year of fee payment: 8