JP2009199620A - 三次元ビデオグラフィックスシステムにおける非写実的な漫画的な輪郭線提供方法およびその装置 - Google Patents

三次元ビデオグラフィックスシステムにおける非写実的な漫画的な輪郭線提供方法およびその装置 Download PDF

Info

Publication number
JP2009199620A
JP2009199620A JP2009130618A JP2009130618A JP2009199620A JP 2009199620 A JP2009199620 A JP 2009199620A JP 2009130618 A JP2009130618 A JP 2009130618A JP 2009130618 A JP2009130618 A JP 2009130618A JP 2009199620 A JP2009199620 A JP 2009199620A
Authority
JP
Japan
Prior art keywords
pixel
depth
filter
data corresponding
dimensional
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.)
Granted
Application number
JP2009130618A
Other languages
English (en)
Other versions
JP4672072B2 (ja
Inventor
Yoshitaka Yasumoto
吉孝 安本
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.)
Nintendo Co Ltd
Original Assignee
Nintendo Co Ltd
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
Priority claimed from US09/468,109 external-priority patent/US6747642B1/en
Application filed by Nintendo Co Ltd filed Critical Nintendo Co Ltd
Publication of JP2009199620A publication Critical patent/JP2009199620A/ja
Application granted granted Critical
Publication of JP4672072B2 publication Critical patent/JP4672072B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Image Generation (AREA)
  • Processing Or Creating Images (AREA)

Abstract

【課題】三次元ビデオグラフィックスシステムにおいて、漫画的な輪郭線のような非写実的な効果の生成に係る効率的な手法を提供する。
【解決手段】深度(Z)値を用いて対象物の縁に位置する画素を求め、これら画素にボーダーカラーを選択的にブレンドして表示する。対象物の縁を求めるには、ある画素の深度値と、その周辺画素の深度値とを比較する。この距離値に基づいて、この画素のカラー値に所望する境界線カラーをブレンドする。一例では、この距離値は画素のアルファ値の演算に用いられ、その後画素カラーにブレンドされた境界線カラーの量を調節するのに用いられる。その他の例は、識別値を有する対象物の部分を通常アルファ値が記憶されるフレームバッファに記憶させる。この識別値は、境界線カラーを付与するための、対象物の部分の区切りを識別するのに用いられる
【選択図】図1

Description

本発明は、三次元コンピュータグラッフィクスに関し、より特定的には、非写実的な三次元画像化に関する。さらに特定すれば、本発明は、コンピュータによる三次元対象物の陰影上の線およびその他その縁に見られる境界の生成・表示方法および装置に関する。
コンピュータグラッフィックスに関する研究の多くは、リアルな画像の生成に注目する傾向にあり、これまでかなりの成功を収めてきている。今では、コンピュータの作り出す画像は非常にリアルなものとなってきており、写真と見分けることができないほどである。たとえば、コンピュータによって作り出された特殊効果による、非常に写実的で本物であるかのような恐竜、異星人などを映画やテレビで見かけることも多い。新人のパイロットが訓練を受けているコンピュータによるフライトシミュレータは、非常にリアルで、実際の飛行状態をほぼ再現している。低価格な家庭用ビデオゲームシステムにおいても、驚くべきレベルのリアリズムが実現されており、ゲームのプレーヤは、たとえば、本物のレースカーでトラックを走行しているような、雪や氷に覆われたスロープをスキーで滑っているような、中世の城の中を歩いているような錯覚を覚えるほどである。大抵のゲームでは、このリアリズムによる錯覚がゲームプレイ体験を非常にすばらしいものにしている。
しかし、場合によってはリアルでない画像の方が好ましいこともある。たとえば、対話型ビデオやコンピュータゲームなどにおいて、現実の(または空想上の)世界をリアルにシミュレートするのではなく、わざと非現実的なパロディー調の漫画キャラクタが、たくさん登場する漫画の世界を創造して表示すれば、娯楽的価値を持たせることができる。例えば、このようなゲームでは、動き、音声、および対話性をもたせながら、手描きの漫画本を再現するように努めている。
このような三次元コンピュータシステムにおいて、望ましい視覚効果の1つとしては、表示対象物の陰影の線やその他その縁にみられる境界をはっきりと、確かなものにすることである。このような境界線によって、ある種の画像は鮮明になる。たとえば、漫画キャラクタの輪郭、風景の丘や山、壁の縁など、それぞれ異なる面をユーザがよりはっきり区別しやすくなる。さらに、このような境界線によって、漫画家による手描きであるかのような望ましい印象が生まれやすくなる。
ここで、キャラクタなどの対象物の縁周りの境界線のような、リアルでない効果を付与する方法の一つに、ある対象物を形成するポリゴンの縁に隣接した別の対象物と区別するラインをはっきり示す方法がある。
しかし、別の対象物とのボーダをはっきり示すと、画像処理が極めて複雑化する。その結果、リソースの限られたシステムにおいて、この方法は画像生成の遅延や効率の低下を招く。対話型三次元ゲームシステムなどの低価格の三次元グラッフイックスシステムにおいては、効率は極めて重要である。より効率のよい技術を用いて視覚効果を生成する方が、乏しいシステムリソースにかかる負担を軽減し、さらには、速度やその他の性能にそれほど影響を及ぼすことなく、視覚効果を総合的に向上させることができる。
本発明は、家庭用ビデオゲームコンソールなどの、三次元グラフィックスシステムにおいて、陰影の線やその縁における境界線を表示するための効率的な技術を提供することによって、この問題を解決する。
第1の発明によれば、画像がフレームバッファにおいて描画された後、境界線を生成する。本発明では、フレームバッファに記憶された数値を用いて、対象物の輪郭またはその他、縁にどの画素が位置しているかを求め、ボーダカラーをこれら画素に選択的にブレンドして表示する。
また、或る実施例によれば、輪郭の縁は、ある画素の深度値とその周辺画素の深度値とを比較して配置される。たとえば、「距離」値が或る画素の深度とその周辺画素の深度との間の距離の絶対値を基に計算される。その後、この距離値を基に、望ましい境界線のカラーがその画素のカラー値にブレンドされる。たとえば、距離値は画素のアルファ値を計算するために用いられ、このアルファ値は画素のカラーにブレンドされるボーダカラーの量を制御するのに用いられる。
別の例では、さらに深度変化を利用する。たとえば、距離値と、画素深度の関数であるさらに設けられた値とを基に画素のアルファ値を計算して、画素の深度値によって変化したアルファ値を求める。この深度によって変化させたアルファ値を基に、ボーダカラーを画素カラーにブレンドする。
さらなる実施例では、対象物の輪郭上ではなく、漫画家が境界線を引くであろう或る内部の縁の上に境界線を引く。例えば、漫画キャラクタが身体の前で腕を曲げている状態を考える。この場合、漫画家は、キャラクタの腕の輪郭の周りに境界線を引くと思われる。たとえ、このキャラクタが、腕の輪郭の縁が全体の輪郭の内部に位置するように胴体の前部で腕を曲げていても、である。本発明のさらなる特徴によれば、画像の画素にはそれぞれ異なる識別値が割り当てられる。この識別値は、典型的にはアルファ値のために用意されたフレームバッファメモリ領域等に格納される。これらの識別値は、境界線のある縁と、境界線が付与されない縁とを識別するのに用いられる。
本発明を具体化するための三次元ビデオグラフィックスシステムの例を示す図である。 本発明を実施しうるインタラクティブ三次元コンピュータグラフィックスシステム1005全体のより詳細な模式図である。 コプロセッサ1020内の構成要素例のブロック図である。 三次元グラフィックスプロセッサ1107と、それに関連するコプロセッサ1020内の構成要素のより詳細な図である。 本発明におけるスクリーン効果を例示的に示す図である。 エミュレーション処理全体の一例を示した図である。 エミュレータ1303と共に用いるのに適した、パーソナルコンピュータに基づくホストを示した図である。 好ましい実施例に係る画素フィルタリングルーチン100の一例を示すフローチャートである。 画素フィルタルーチン100が隣接画素2つの深度値を読み出す例を示した模式図である。 遠くに画素PixA、近くに画素PixBがある場合の遠近処理を示した模式図である。 図8に示すフローチャ−トを変更して、log2(n)のレンジ変換式を加えたフローチャートである。 ブレンディングを制御するのに用いられる、アルファ値の深度変調を行う後処理画素フィルタ200の一例である。 境界線効果の無い、風景シーンの一例を示す。 ホワイトキャンバスのカラーにブレンドされた結果得られた境界線を示す図である。 図13の風景に、黒の境界線をブレンドした図である。 アドベンチャーゲームにおける空想上の風景の一例を示した図である。 ホワイトキャンバスのカラーにブレンドした結果、得られた境界線を示した図である。 図16の風景に黒の境界線をブレンドした図である。 漫画的な輪郭線処理による漫画キャラクターの一例を示す図である。 漫画的な輪郭線処理による漫画キャラクターの別例を示す図である。 漫画的な輪郭線処理の境界線の箇所を特定するための対象物識別値を用いた、本発明のさらなる実施形態を示す図である。 本実施例において、境界線を付与するための画素後処理ルーチンの一例を示すフローチャートである。 ルーチン350の変形例を示した模式図である。 漫画的な輪郭線効果を得るために行う、対象物識別値コーディングの一例を示す図である。 漫画的な輪郭線効果を得るために行う、対象物識別値コーディングの別例を示す図である。
以下、本発明における実施の形態について、図面を参照しながら説明する。図1は、本発明に係る、境界線を表示するための三次元ビデオグラフィックスシステム1005の例を示す。
システム1005は、たとえば、ゲームコントローラ1007および/または他の手入力装置からの対話型リアルタイム入力に応答し、表示装置1009(たとえば、家庭用カラーテレビ受像機、ビデオモニタ、または他のディスプレイなど)に映像表示を行う。システム1005は、外部記憶媒体1011(たとえば、交換可能なビデオゲームカートリッジ、CD−ROM、または他の光ディスクなど)に記憶されたビデオゲームプログラムなどのコンピュータプログラムの制御によって動作する。
本例においては、システム1005は、プロセッサ1010,三次元グラフィックスコプロセッサ1020およびメモリ1030を含む。プロセッサ1010は、三次元グラフィックスコマンドをグラフィックスコプロセッサ1020に与える。グラフィックスコプロセッサ1020は、三次元グラフィックスコマンドに従って、三次元の世界における二次元ビューをインタラクティブに生成する。たとえば、グラフィックスコプロセッサ1020は、ハードウェアによる三次元グラフィックスパイプラインを含む。このパイプラインは、三次元空間において規定されたポリゴンなどのグラフィックスプリミティブを操作して、任意に選ばれた視点に基づく視野面に投影された三次元空間の二次元画像を表す画素を生成する。本例において、ユーザは、ゲームコントローラ1007を用いて、リアルタイムでインタラクティブに視点を変更することができる。
グラフィックスコプロセッサ1020は、生成した表示画素を、メモリ装置1030内のフレームバッファ1040に記憶する。フレームバッファ1040は、カラーフレームバッファ1042と、深度(Z)バッファ1044とを備える。本例において、カラーフレームバッファ1042は、赤、緑、青(RGB)のカラー値の二次元アレイ、および対応するアルファ(A)値を記憶する。記憶されたRGBカラー値と表示装置1009上に表示される画素との間は一対一の関係であってもよい。または、フレームバッファ1042は、副サンプルを記憶してもよい。Zバッファ1044は、カラーフレームバッファに記憶されている各画素または副画素についての深度値(たとえば、視点に対するz方向の距離)を記憶する。よく知られているように、Zバッファ1044は、グラッフィクスパイプラインが画像を「構築」する際に、さまざまな目的に用いられる(たとえば、見えない面の除去など)。
好ましい実施例において、カラーフレームバッファ1042および/またはzバッファ1044の内容は、ボーダカラーを、カラーフレームバッファ42に記憶されている画素カラー値に選択的にブレンドして、対象物の境界線を規定する役割も果たす。具体的には、システム1005は、画素フィルタ50を備えていても良い。画素フィルタ50は、三次元グラフィックスコプロセッサ1020によって描画される画像の画素値を処理して、境界線カラーを表示する対象物の輪郭線、および/または他の縁の上に選択的に付与する。好ましい実施例における画素フィルタ50は、画像データがフレームバッファ1040または他の画素メモリにおいて描画された後に、画素後処理の段階で動作する。たとえば、画素フィルタ50は、グラフィックスコプロセッサからの画像データと、メモリ1030への画像データとの結合処理中に、三次元グラフィックスコプロセッサ1020で描画されてバッファされた画像データに、境界線などの非写実的な画像要素を付与してもよい。
図2は、本発明を実施しうるインタラクティブ三次元コンピュータグラフィックスシステム1005全体のより詳細な模式図である。システム1005は、魅力的なステレオ音声を伴うインタラクティブ三次元ビデオゲームを行うために用いることができる。光ディスク1011などの適切な記憶媒体を光ディスク再生装置1134に挿入することによって、いろいろなゲームを行うことができる。ゲームを行う者は、手動コントローラ1007などの入力装置を操作することによって、システム1005とリアルタイムに対話することができる。このコントローラ1007は、ジョイスティック、ボタン、スイッチ、キーボード、キーパッドなど、さまざまな操作器が含まれる。
本例において、メインプロセッサ1010が、手動コントローラ1007(および/または他の入力装置)からの入力を受ける。メインプロセッサ1010は、インタラクティブにこのようなユーザ入力に応答し、たとえば外部記憶装置1011から提供される、ビデオゲームや他のグラフィックスプログラムを実行する。たとえば、メインプロセッサ1010は、衝突検出や動画処理のほかにも、様々なリアルタイムでインタラクティブな制御機能を行うことが可能である。
メインプロセッサ1010は、三次元グラフィックスコマンドや音声コマンドを生成し、これらをグラフィックスおよび音声コプロセッサ1020に送信する。グラフィックスおよび音声コプロセッサ1020は、これらのコマンドを処理して、魅力的な画像を表示装置1009に表示し、ステレオ音声をステレオスピーカ1137R、1137L、または適切な音声生成装置において生成する。
システム1005は、TVエンコーダ1140を含む。TVエンコーダは、画像信号をコプロセッサ1020から受信し、標準的な表示装置1009(たとえば、コンピュータモニタや家庭用カラーテレビ受像機)での表示に適するように合成ビデオ信号に変換する。また、システム1005は、オーディオコーデック(圧縮器/伸長器)1138を含む。
オーディオコーデック1138は、デジタル化された音声信号を圧縮/伸長する(さらに、デジタルアナログ音声信号形式間の変換を行ってもよい)。オーディオコーデック1138は、バッファ1141を介して音声入力を受信し、コプロセッサ1020に送信する(コプロセッサ1020における処理には、コプロセッサが生成する他の音声信号、および/または、光ディスク装置1134のストリーミング音声出力を介して受信した他の音声信号とのミキシングなどがある)。
コプロセッサ1020は、音声関連情報を音声タスク専用のメモリ1144に記憶させる。コプロセッサ1020は、処理後の音声出力信号をオーディオコーデック1138に与えて、圧縮および(たとえば、バッファ増幅器1142Lおよび1142Rを介して)アナログ信号への変換を行い、スピーカ1137Lおよび1137Rによって再生できるようにする。
コプロセッサ1020は、システム1005内の様々な周辺機器と通信することができる。たとえば、パラレルデジタルバス1146は、光ディスク装置1134との通信に用いられてもよい。シリアル周辺バス1148は、様々な周辺機器との通信に用いられてもよい。この周辺機器の例としては、ROMおよび/またはリアルタイムクロック1150,モデム1152,フラッシュメモリ1154などが挙げられる。さらなる外部シリアルバス1156は、拡張メモリ1158(たとえば、メモリカード)との通信に用いられてもよい。
図3は、コプロセッサ1020内の構成要素例のブロック図である。コプロセッサ1020は、1つの集積回路であって、三次元グラフィックスプロセッサ1107と、プロセッサインターフェース1108と、メモリインターフェース1110と、オーディオディジタル信号プロセッサ(DSP)1162と、オーディオメモリインターフェース(I/F)1164と、オーディオインターフェースおよびミキサ1166と、周辺制御器1168と、表示制御器1128とを含む。
三次元グラフィックスプロセッサ1107は、グラフィックス処理タスクを行い、オーディオディジタル信号プロセッサ1162は、オーディオ処理タスクを行う。表示制御器1128は、メモリ1030から画像情報をアクセスして取り出し、表示装置1009に表示するためにTVエンコーダ1140へ与える。オーディオインターフェースおよびミキサ1166は、オーディオコーデック1138とのインターフェースとなり、発生源の異なる音声(たとえば、ディスク1011からのストリーミングオーディオ入力、オーディオDSP1162の出力、オーディオコーデック1138を介して受信した外部オーディオ入力など)を混合することも可能である。プロセッサインターフェース1108は、メインプロセッサ1010およびコプロセッサ1020間のデータや制御に関するインターフェースとなる。メモリインターフェース1110は、コプロセッサ1020およびメモリ1030間のデータや制御に関するインターフェースとなる。本例において、メインプロセッサ1010は、プロセッサインターフェース1108とコプロセッサ1020の一部であるメモリインターフェース1110とを介して、メインメモリ1108にアクセスする。周辺制御器1168は、コプロセッサ1020および上述の様々な周辺機器(たとえば、光ディスク装置1134、コントローラ1007、ROMおよび/またはリアルタイムクロック1150、モデム1152、フラッシュメモリ1154、およびメモリカード1158)間のデータや制御に関するインターフェースとなる。オーディオメモリインターフェース1164は、オーディオメモリ1144とのインターフェースを提供する。
図4は、三次元グラフィックスプロセッサ1107と、それに関連するコプロセッサ1020内の構成要素のより詳細な図である。三次元グラフィックスプロセッサ1107は、コマンドプロセッサ1114と、三次元グラフィックスパイプライン1116とを含む。メインプロセッサ1010は、グラフィックスデータのストリームをコマンドプロセッサ1114とやり取りする。コマンドプロセッサ1114は、このような表示コマンドを受信し、(メモリ1030から処理に必要な追加のデータを取得して)解析を行い、三次元処理および描画のために頂点コマンドのストリームをグラフィックスパイプライン1116に与える。グラフィックスパイプライン1116は、これらのコマンドに基づいた三次元画像を生成する。処理後の画像情報は、メインメモリ1030に転送され、表示制御器1128によってアクセスできるようにしてもよい。表示制御器1128は、表示装置1009にパイプライン1116のフレームバッファ出力を表示する。メモリ要求アービトレーション回路130は、グラフィックスパイプライン1116と、コマンドプロセッサ1114と、表示部128とにおけるメモリアクセスを調停する。
図4に示すように、グラフィックスパイプライン1116は、変換部1118と、セットアップ/ラスタライザ1120と、テクスチャ部1122と、テクスチャ環境部1124と、画素エンジン1126とを含んでもよい。グラフィックスパイプライン1116において、変換部1118は、様々な三次元変換動作を行い、さらに、照明効果やテクスチャ効果を行ってもよい。変換部1118の行う処理は、たとえば、頂点毎に入力される形状のオブジェクト空間からスクリーン空間への変換、入力されるテクスチャ座標の変換、射影テクスチャ座標の計算、ポリゴンクリッピング、頂点毎の照明度計算、バンプマッピングテクスチャ座標の生成などがある。セットアップ/ラスタライザ1120は、セットアップ部を含む。セットアップ部は、変換部1118から頂点データを受信し、三角形のセットアップ情報を複数のラスタライザに送信する。ラスタライザは、縁のラスタ化、テクスチャ座標のラスタ化、カラーのラスタ化を行う。テクスチャ部1122は、テクスチャリングに関連して様々なタスクを行う。このタスクには、マルチテクスチャ処理、キャッシュ後のテクスチャ伸長処理、テクスチャフィルタリング、浮き出しバンプマッピング、射影テクスチャを用いた陰影付け、およびアルファ透明度および深度を用いたBLITなどがある。テクスチャ部1122は、フィルタリングされたテクスチャ値をテクスチャ環境部1124に出力する。テクスチャ環境部1124は、ポリゴンカラーとテクスチャカラーとをブレンドし、テクスチャフォグやその他の環境関連機能を行う。画素エンジン1126は、zバッファリングやブレンドを行い、データを集積回路上のフレームバッファメモリに記憶する。
図5に示すように、グラフィックスパイプライン1116は、フレームバッファ情報を局所的に記憶するDRAMメモリ1126aを搭載してもよい。集積回路上のフレームバッファ1126aは、集積回路上には備えられていないメインメモリ1030に定期的に書き込まれ、集積回路上の表示部1128がアクセスできるようにする。たとえば、画素フィルタ50は、この書き込み処理中に境界線などの輪郭を漫画に付与するよう動作する。グラフィックスパイプライン1116のフレームバッファ出力(最終的にはメインメモリ1030に記憶される)は、表示部1128によってフレーム毎に読み出される。表示部1128は、表示装置1009における表示のために、ディジタルRGB画素値を提供する。
上述したビデオゲームシステムの構成要素の或るものは、上述の家庭用ビデオゲームコンソール構成以外のものとして実現することも可能である。一般的に、家庭用ビデオゲームソフトウェアは、特定の家庭用ビデオゲームシステム上で実行されるように記述されている。このビデオゲームソフトウェアは、異なるシステムのハードウェアやソフトウェア構成を考慮に入れて、その異なるシステムに「移植される」(変換される)ことも、場合によっては可能である。このような「移植」には、ビデオゲームのソースコードにアクセスする必要があることが多い。この他に、構成の異なるシステムにおいてゲームソフトウェアを実行させるための方法としては、第2のシステムに第1のシステムをエミュレートさせる方法がある。第2のシステムが第1のシステムのハードウェアおよびソフトウェア資源をうまくエミュレートまたはシミュレートすることができれば、第2のシステムはビデオゲームソフトウェアのバイナリで実行可能な画像をうまく実行することができ、ゲームソフトウェアのソースコードにアクセスする必要はなくなる。
家庭用ビデオゲームにおいて、エミュレータは、ゲームプログラム用のシステム、すなわちゲームプログラムを実行することができるように設計されているシステムとは異なるシステムである。一例として、エミュレータシステムは、ゲームソフトウェア用のシステムのものとは異なるハードウェアおよび/またはソフトウェア構成(プラットフォーム)を提供する。エミュレータシステムは、ゲームソフトウェア用のシステムのソフトウェアおよび/またはハードウェア構成要素を模倣するソフトウェアおよび/またはハードウェア構成要素を含む。たとえば、エミュレータシステムは、当該ゲームソフトウェア用システムのハードウェアおよび/またはファームウェアをシミュレートするソフトウェアエミュレータプログラムを実行するパーソナルコンピュータなどの汎用ディジタルコンピュータを備えてもよい。
エミュレータソフトウェアは、コンソールを用いた図1ないし図4に示すような家庭用ビデオゲームシステム用のゲームをパーソナルコンピュータやその他の汎用ディジタルコンピュータ上で実行できるように開発されてもよい。このような汎用ディジタルコンピュータ(たとえば、IBMやマッキントッシュのパーソナルコンピュータやその互換機)には、DirectXや他の標準三次元グラフィックスコマンドアプリケーションプログラムインターフェース(API)に対応する三次元グラフィックスパイプラインを提供する三次元グラフィックスカードを搭載しているものがある。また、サウンドコマンドの標準セットに基づいて、高品質のステレオサウンドを提供するステレオサウンドカードを搭載しているものもある。エミュレータソフトウェアを実行するこのようなマルチメディアハードウェア搭載パーソナルコンピュータは、専用の家庭用ビデオゲームコンソールハードウェア構成におけるグラフィックス性能やサウンド性能に近づくのに十分な性能を有することもある。エミュレータソフトウェアは、パーソナルコンピュータプラットフォーム上のハードウェア資源を制御して、家庭用ビデオゲームコンソールプラットフォームが行う処理(このプラットフォームのためにゲームプログラマはゲームソフトウェアを書いたのであるが)、三次元グラフィックス、サウンド、周辺機器、および他の機能をシミュレートする。
図6は、エミュレーション処理全体の一例を示す。本エミュレーション処理の例は、ホストプラットフォーム1201と、エミュレータ要素1303と、ROMまたは光ディスク1305などの記憶媒体や他の記憶装置上のバイナリ画像を実行可能なゲームソフトウェアとを用いる。ホスト1201は、たとえばパーソナルコンピュータや他の型のゲームコンソールのような汎用または専用のディジタルコンピューティング装置であってもよい。
エミュレータ1303は、ホストプラットフォーム1201において実行されて、記憶媒体1305からのコマンド、データおよび他の情報をホスト1201によって処理可能な形式へリアルタイムで変換する。たとえば、エミュレータ1303は、図1ないし図4に示すような家庭用ビデオゲームプラットフォーム用のプログラム命令を取り出し、このプログラム命令をホスト1201が実行または処理できるような形式に変換する。一例として、ゲームプログラムがZ−80、MIPS、IBM PowerPCを用いたプラットフォームまたは他の特定の処理装置上で実行されるように書かれたものであって、かつホスト1201が異なる(たとえば、インテル社)の処理装置を用いたパーソナルコンピュータである場合に、エミュレータ1303は、記憶媒体1305から1つまたは一連のプログラム命令を取り出し、1つまたはそれ以上のインテル社のプログラム命令に変換する。
同様に、エミュレータ1303は、図3に示すグラフィックスおよびオーディオコプロセッサによる処理用のグラフィックスコマンドやオーディオコマンドを取り出し、ホスト1201において利用可能なグラフィックスハードウェアおよび/またはソフトウェアならびにオーディオ処理資源が処理できるような形式に変換する。一例として、エミュレータ1303は、このようなコマンドを、ホスト1201の特定のグラフィックスおよび/またはサウンドカードが(たとえば、標準のDirectXやサウンドアプリケーションプログラムインターフェース(API)を用いて)処理できるようなコマンドに変換してもよい。
上述のようなビデオゲームシステムの機能の一部または全部を提供するために用いられるエミュレータ1303は、エミュレータを用いて実行されるゲーム用の様々な選択肢や画面モードの選択を簡略化または自動化するグラフィックユーザインターフェース(GUI)を備えていてもよい。一例として、このようなエミュレータ1303は、当該ビデオゲームソフトウェアが元来想定していたホストプラットフォームに比して高い機能性をさらに有していてもよい。
図7は、エミュレータ1303と共に用いるのに適した、パーソナルコンピュータに基づくホスト1201を示す。パーソナルコンピュータシステム1201は、処理部1203と、システムメモリ1205とを含む。システムバス1207は、システムメモリ1205などの様々なシステム要素と、処理部1203とを接続する。システムバス1207は、メモリバスまたはメモリコントローラ、周辺バス、ローカルバスなど、数種のバス構造(各々のバス構造には様々なバスアーキテクチャのうちのいずれかが用いられる)のいずれであってもよい。
システムメモリ1207は、読み出し専用メモリ(ROM)1252と、ランダムアクセスメモリ(RAM)1254とを含む。ROM1252には、ベーシック入出力システム(BIOS)1256が記憶されており、これには、立ち上げ時などにパーソナルコンピュータシステム1201内の要素間の情報伝達を助ける基本ルーチンが含まれている。
パーソナルコンピュータシステム1201は、様々なドライブおよび関連するコンピュータが読み出し可能な媒体をさらに含む。ハードディスクドライブ1209は、(典型的には固定の)磁気ハードドライブ1211に対して、読み出しや書き込みを行う。磁気ディスクドライブ1213は、着脱可能な「フロッピー(登録商標)」や他の磁気ディスク1215に対して、読み出しや書き込みを行う。光ディスクドライブ1217は、CD−ROMや他の光学媒体などの着脱可能な光ディスク1219に対して読み出しを行い、構成によっては書き込みも行う。ハードディスクドライブ1209、磁気ディスクドライブ1213、および光ディスクドライブ1217は、それぞれ、ハードディスクドライブインターフェース1221、磁気ディスクドライブインターフェース1223、および光ドライブインターフェース1225によって、システムバス1207に接続されている。これらドライブおよび関連するコンピュータが読み出し可能な媒体は、コンピュータが読み出し可能な命令、データ構造、プログラムモジュール、ゲームプログラム、およびパーソナルコンピュータシステム1201のための他のデータを不揮発的に記憶する。
また、他の構成においては、コンピュータがアクセス可能なデータを保存することができる、コンピュータが読み出し可能な他の媒体(たとえば、磁気カセット、フラッシュメモリカード、ディジタルビデオディスク、ベルヌーイ(bernoulli)カートリッジ、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)など)が用いられてもよい。
エミュレータ1303を含む多くのプログラムモジュールが、システムメモリ1205のハードディスク1211、着脱可能な磁気ディスク1215、光ディスク1219および/またはROM1252および/またはRAM1254に記憶されてもよい。このようなプログラムモジュールは、グラフィックスおよびサウンドAPI、1つ以上のアプリケーションプログラム、他のプログラムモジュール、プログラムデータ、およびゲームデータを提供するオペレーティングシステムを含んでもよい。ユーザは、キーボード1227やポインティングデバイス1229などの入力装置を用いて、パーソナルコンピュータシステム1201に対して、コマンドや情報を入力する。他の入力装置としては、マイクロフォン、ジョイスティック、ゲームコントローラ、衛星放送用アンテナ、スキャナなどがある。このような入力装置は、システムバス1207に接続しているシリアルポートインターフェース1231を介して、処理装置1203に接続される場合が多いが、たとえばパラレルポート、ゲームポート、ユニバーサルシリアルバス(USB)などの他のインターフェースによって接続されてもよい。また、システムバス1207には、モニタ1233や他の型の表示装置が、ビデオアダプタ1235などのインターフェースを介して接続されている。
パーソナルコンピュータ1201は、インターネットなどのワイドエリアネットワーク1152と通信を行うためのモデム1154などの手段をさらに含んでもよい。モデム1154は、内蔵でも外付けでもよく、シリアルポートインターフェース1231を介してシステムバス1207に接続される。パーソナルコンピュータ1201は、ネットワークインターフェース1156をさらに備えていてもよく、これによって遠隔計算装置1150(たとえば、他のパーソナルコンピュータ)とローカルエリアネットワーク1158を介して通信することができる(このような通信は、ワイドエリアネットワーク1152、または他の通信路、たとえばダイアルアップ方式や他の通信手段などを介して行われてもよい)。パーソナルコンピュータシステム1201は、典型的には、プリンタなどの標準周辺機器のような他の周辺出力装置を含む。
たとえば、ビデオアダプタ1235は、三次元グラフィックスパイプラインチップセットを含んでもよい。このチップセットは、マイクロソフト社のDirectXのような標準三次元グラフィックスアプリケーションプログラマインターフェースに基づいて出された三次元グラフィックスコマンドに応答して、三次元グラフィックス描画を高速に行う。さらに、一連のステレオスピーカ1237が、システムバス1207に接続されており、この接続は、バス1207によって与えられるサウンドコマンドに基づく高品質ステレオサウンド生成に対応したハードウェアおよび内蔵ソフトウェアを提供する従来の「サウンドカード」などのサウンド生成インターフェースを介して行われる。このようなハードウェアの性能により、ホスト1201は、記憶媒体1305に記憶されたビデオゲームを行うのに充分な速度のグラフィックスおよびサウンド性能を提供することができる。
(本発明による非写実的な漫画的な輪郭線処理法の例)
本発明による漫画の輪郭線/境界線処理は、ハードウエアおよび/またはソフトウエアで有利に実行され得る。時間が充分にあると仮定すると、グラッフィクスコプロセッサ1020が画像をフレームバッファにおいて描画した後であってその画像が表示される前に、プロセッサ1010は、フレームバッファ1040にアクセスして画素後処理を行い、境界線カラーをカラーフレームバッファ1042にブレンドする。あるいは、グラフィックスコプロセッサ1020内にハードウエアおよび/またはソフトウエアを備えて、この機能を行わせる。上述のように、コプロセッサ1020は、グラッフィクスパイプライン内のアルファブレンディングおよびzバッファ演算回路などの既存のハードウエアサポートを利用して、画素後処理/フィルタリングを行い、対象物の縁周りに境界線を付与してもよい。あるいは、プロセッサ1010および/または表示部1128が、フレームバッファ1040の内容を基に画素フィルタリング処理を行うこともできる。
コプロセッサ1020がこの画素後処理を完了すると、変更された画素値はフレームバッファメモリ1030に書き戻される。このフレームバッファメモリ1030から、コプロセッサ内のビデオ生成回路によって内容がアクセスされて、表示装置1009上に映像が生成される。あるいは、変更された値は他の場所へ(たとえば、直接、表示装置1005へ)送られる。この伝送効率を高めるために、フレームバッファ1040のデータをダブルバッファしてもよく、DMAを使用してもよい。フレームバッファ1040が1ラインずつ読み出され、かつ処理される場合、前に位置するラインのZ値を保持するためにラインバッファを使用してもよい。
図8は、好ましい実施例に係る画素フィルタリングルーチン100の一例を示すフローチャートであって、画素フィルタ50に対して画素後処理境界線を行う。図8の画素フィルタルーチン100は、フレームバッファ1040(ブロック102)内に記憶された画素[x][y]のそれぞれに対して行われる。この画素フィルタ100は画素のカラー値(画素R[x][y]、画素G[x][y]、画素B[x][y])を読み出し、さらに画素の深度値(Z[x][y])を読み出す(ブロック104)。加えて、この画素フィルタルーチン100は、画素[x][y]周辺にある画素の深度値も読み出す(同じくブロック104)。本例において、画素フィルタルーチン100は隣接画素2つの深度値を読み出す。つまり、x−yアレイ内の所定の画素の「左」隣にある周辺画素における深度値Z[x][y]、およびx−yアレイ内の所定の画素の真「下」にある周辺画素における深度値Z[x][y−1]である。以上は、図9を参照のこと。フレームバッファ1040が1ラインずつ読み出され、かつ処理された場合、ラインバッファは前に位置するラインのZ値を保持するのに使用され得る。
画素フィルタルーチン100は、たとえば以下のDz演算(ブロック106参照)によって、画素[x][y]が対象物の縁であるかどうかを判別する、たとえば、画素の深度値(Z[x][y])と1つ以上の周辺の(本例においては隣接する)画素の深度値との差を判別する。
DzDx = |Z[x][y]−Z[x−1][y]|
DzDy = |Z[x][y]−Z[x][y−1]|
Dz = max(DzDx,DzDy)
上記演算を行う際、画素フィルタ100は画素の深度と、2つの隣接画素それぞれとの差を判別する、つまりこれらの差の絶対値をとり(ある対象物は別の対象に近いか遠いかのどちらかであることを利用する)、得られた2つの絶対値のうち大きい方を選択する。この結果が距離値Dzであって、ある画素がz方向において、ある周辺画素からどれだけ離れているかをはかる値である。この演算は、画素が対象物の縁上にあるかどうかをテストするために行われる。たとえば、画素が対象物の縁上にある場合、Dzは一般に大きくなり(典型的に、周辺画素はそれぞれ異なる深度を有しているため)、画素が対象物の縁上にない場合は、Dzは一般に小さくなる(周辺画素は深度が相似するためである)。
別の例においては、2つの周辺画素の距離値の総計をとることで距離値Dzを演算することができる。たとえば、下式が例である。
Dz = DzDx+DzDy
また、その他の方法でも可能である(たとえば、演算方法を変えたり、使用する周辺画素を変更したり、または周辺画素数を変更するなど)。
本例における画素フィルタルーチン100は、上述のように演算された距離値Dzに比例してカラーを変化させる。たとえば、画素フィルタ100は、得られた距離値Dzの係数をスケーリング/修正して変更し、その結果得られた値をクランプして、たとえば以下のような画素ブレンドファクタを成立させる(ブロック108参照)。
アルファ = クランプ((スケール係数*Dz+ベース係数),0,1)
ここで、クランプは、クランプ(x,0,1)とした場合において、xが0以下のときには0を返し、xが1以上のときには1を返し、0<x<1のときにはxを返す関数である。
スケール係数が正の値であると仮定すると、得られたアルファ値はDzが大きいと大きくなり(たとえば、ほぼ1、または1になるようにクランプされる)、Dzが小さいとアルファ値も小さくなる(たとえば、ほぼ0、または0になるようにクランプされる)。画素ブレンドファクタを成立させるには、方法は問わない。たとえば、画素ブレンドファクタを演算する別の方法を以下に示す。
グレイ = クランプ((Dz−係数A)*係数B,0,1)
本例における画素フィルタ100は、ブレンド処理(たとえば、アルファブレンディング)で得られた画素ブレンド係数を用いて、選択的に所定の境界線カラー(たとえばラインR、ラインG、ラインB)を、カラーフレームバッファ1042から得られた画素のカラー値(画素R[x][y]、画素G[x][y]、画素B[x][y])とブレンドする。このブレンドを行うための演算の例は、以下の通りである。
新画素.R[x][y] = 旧画素.R[x][y]*(1−アルファ)+ライン.R*アルファ
新画素.G[x][y] = 旧画素.R[x][y]*(1−アルファ)+ライン.G*アルファ
新画素.B[x][y] = 旧画素.R[x][y]*(1−アルファ)+ライン.B*アルファ
これら演算に従って、ブレンドされた(「新」)画素カラー値は、距離値Dzが小さいと、ほとんどの場合、初期値になり、距離値Dzが大きいと境界線カラーになる。
上記のブレンド演算は、境界線カラーを黒(たとえばライン.R=0、ライン.G=0、ライン.B=0)に限定し、および/またはホワイトキャンバスのカラー(ライン.R=255,ライン.G=255,ライン.B=255)だけを用いることで簡略化が可能である(たとえば、さらなる最適化のために行われる)。より最適化するためには、RGBカラーでないフォーマット、たとえばYUV(この場合、境界線が鮮明に見えるよう、確実に付与するために明るさYを制御する)などを用いる。
ブレンド後、ブレンドされた画素をバッファして表示装置1009(ブロック112)に表示する。たとえば、画素フィルタルーチン100を、フレームバッファ1040内の画素すべてに対して行い、その結果得られるブレンドされたフレームバッファの内容を表示装置1009に表示する。
遠近処理は、場合によっては上記処理で得られる結果に影響を及ぼす。図10に示すように、遠くに画素PixA、近くに画素PixBがある場合について考える。変換により、遠くにある画素PixAのDzDyは、近くにある画素PixBのDzDyよりも大きくなる。この結果、未処理のDzDxおよびDzDy値を用いた画像全体における、境界線の検知がさらに難しくなる。この問題を克服するためには、Zレンジに応じてZ値に修正を加えるとよい。修正には、たとえばレンジ変換するため、以下のようにlog2(n)関数を用いる。
DzDx=|log2(Z[x][y])−log2(Z[x−1][y])|
DzDy=|log2(Z[x][y])−log2(Z[x][y−1])|
プロセッサ1010に浮動小数点計算機能があり、Z値が例えば以下のような浮動小数点フォーマットで記憶されている場合、log2(n)関数の計算は非常に都合がよい。
[3ビット指数][11ビット仮数]
図11は、図8に示すフローチャ−トを変更して、このlog2(n)のレンジ変換式を加えたものである。
図12は、ブレンディングを制御するのに用いられる、アルファ値の深度変調を行う後処理画素フィルタ200のもう一つの例である。図12に示す、ブロック204、206、および208は、図8(レンジ修正が適用される場合は図11)に示す対応するブロック104、106、および108と同一である。図12のブロック210は、ブロック208で計算された値、および画素深度zの関数であるさらなる値の関数(たとえば、積)としてアルファAを計算するために付加されたものである。たとえば、
アルファ=アルファDz*アルファZ
この結果得られたアルファ値、つまり図8のブロック210に関連して説明した、ブレンディングの制御(ブロック212参照)に用いられるアルファ値も、画素の深度に左右される。
図13ないし図18は、実現可能な、境界線によるスクリーン効果を例示したものである。図13は、境界線効果の無い、風景シーンの一例を示す。図14は、ホワイトキャンバスのカラーにブレンドされた結果得られた境界線を示し、これにより、図13の風景シーンに効果的な線とは何かを示す。図15は、図13の風景に、黒の境界線をブレンドしたものである。
図16は、アドベンチャーゲームにおける空想上の風景の一例を示す。図17は、ホワイトキャンバスのカラーにブレンドした結果、得られた境界線を示す。図18は、図16の風景に黒の境界線をブレンドしたものである。
上述のように、画素後処理フィルタ100は様々な方法で実現することができる。以下は、画素後処理フィルタをコンピュータソースコードで実現した一例である。
cfb#PixelProc#1:
add sys0, cptr, cbuf#width
sub sys1, sys0, cbuf#size
lqv depth00[0], 0(sys0)
lsv depth10[0], 32+14(zero)
lqv depth10[2], 0(sys0)
lqv depth01[0], 0(sys1)
lqv color00[0], 0(cptr)
sqv depth00[0], 0(sys1)
sqv depth00[0], 32(zero)
vnxor depth00, depth00, #0x7fff
vnxor depth10, depth10, #0x7fff
vnxor depth01, depth01, #0x7fff
vsub depthDX, depth00, depth10 # X
vsub depthDY, depth00, depth01 # Y
vabs depthDX, depthDX, depthDX
vabs depthDY, depthDY, depthDY
vor color00, vzero, #0xffff
vadd depthDX, depthDX, depthDY
vadd depthDX, depthDX, Coeff#A
vmudh depthDX, depthDX, Coeff#B
vge depthDX, depthDX, #0x0000
vmud1 color0r, color00, #0x0020
vand color0g, color00, v0x07c0
vand color0b, color00, v0x003e
vmulf color0r, color0r, depthDX
vmulf color0g, color0g, depthDX
vmulf color0b, color0b, depthDX
vand color00, color0g, v0x07c0
vmadn color00, color0b, #0x0001
vmadn color00, color0r, v0x0800
vor color00, color00, #0x0001
addi cptr, cptr, 16
bne cptr,cptr#end, cfb#PixelProc#1
sqv color00[0], -16(cptr)
jr return#sv
nop
(漫画的な輪郭線処理のさらなる実施例)
演算方法によっては、上記境界線の応用アルゴリズムでは、漫画的な輪郭線処理において、満足のいく結果が得られないことがある。図19においてそのような例を示す。図19における漫画キャラクタ300には、上記のように陰影の縁302に境界線が付与されている。図19から、この漫画キャラクタ300は右手、手首を有しており、腕を前部で曲げている様子がわかる。上記の手法では、場合によって(キャラクタの腕が胴体部からどれだけ離れているかによるが)、右の手、手首、および腕の周りの縁は陰影の縁ではなく内部だと判断されるため、それらの箇所には境界線を付与しない。図19では、漫画的な輪郭線処理がキャラクタの陰影の縁302だけに施された場合、漫画キャラクタ300が部分的に消滅する、あるいはやや鮮明でなくなる様子を示す。ところが、ユーザは(塗り絵、手描きのアニメ漫画、および/または漫画本などの記憶から)手、手首および腕がはっきり示されるような境界線を期待している。
漫画キャラクタ300が手描きであるかのように見せるには、内部の縁304にも境界線を付すとよい。本例においては、内部の縁は、キャラクタが自身の前部で曲げている手、手首および腕を規定している。図20では、このキャラクタ300の内部の縁304に境界線が付与されている。この内部の縁304は、キャラクタ300が腕を外に向けて延ばしている場合は輪郭線の縁になるが、図20に示す腕の位置では内部の縁になる。
本発明に係る別の局面によれば、図20に示すような内部の縁においては、漫画的な輪郭線処理は自動的に行われる。つまり、対象物の部分によって、画素にはそれぞれ異なる識別値が付与される。たとえば、通常はアルファ情報をエンコードするのに用いられるフレームバッファ1040および/またはDRAM1126a内に、ビット割り当てを行うことにより、この識別値を指定する。この指定された識別値を用いて、その画素の位置に境界線を付すかどうかを決定してもよい。たとえば、ある画素の識別値と、その画素の近辺にある(隣接した)画素の識別値とを比較する。これら2つの画素の識別値間にある所定の関係が認められた場合、境界線は付与されない。たとえば、識別値が同一の場合、これら2つの画素は同一面上にあるため、境界線は付さない。しかし、これら2つの画素の識別値が、別の所定の関係にある場合は、境界線を付与する。
図21(A)〜(C)では一例を示す。図21(A)は、3つの部分320、322および324に大別される対象物319の斜視図である。図21(B)は、同じ対象物319の平面図である。対象部分320は四角形であり、対象部分322は円形であり、対象部分324は円錐である。ここで、グラフィックスアーチストが、円錐324が四角形320に視覚的に接触するが、円形322には接触しない部分、または円形が四角形に接触する部分に境界線330(図21(A)参照)を引こうとしていると仮定する。この場合、四角形320、円形322および円錐324内の画素は、それぞれ異なる識別値でコーディングされる。たとえば、四角形320内の画素は識別値「1」でコーディングされ、円形322内の画素は識別値「2」でコーディングされ、さらに円錐324内の画素は識別値「3」でコーディングされる。図21(C)は、コーディング情報を記憶するフレームバッファ1040および/または1126aのアルファ部の一例を示す(斜線を付したセルが境界線カラーを付与するセルである)。
画素後処理の段階においては、フレームバッファ内の様々な識別値に対してテストを行う。隣接する画素のように同一の識別値を有する画素(このような画素はすべて同一面上に存在する)に対しては、境界線を付与しない。また、或る画素の識別値が隣接画素のそれと、ある基準を下回って異なっている場合は境界線を付与しない(たとえば、画素kの識別値が画素k+1の識別値から2以上違わない場合、境界線は付与しない)。しかし、ある画素の識別値が隣接画素のそれと、ある基準を上回って異なっている場合は境界線を付与する(たとえば、画素kの識別値が画素k+1の識別値から2以上違う場合、境界線を画素kに付与する)。
図22は、本実施例において、境界線を付与するための画素後処理ルーチンの一例を示すフローチャートである。ルーチン350は、ループ(ブロック352−362)を含み、このループはフレームバッファ1040および/または1126aに記憶される画像における画素[i][j]それぞれに対して行われる。上述のように、画像生成処理においては、フレームバッファで画像を描画する際、通常はアルファ値を記憶するためにビットが割り当てられているフレームバッファ内にある対象物の部分毎に識別値を設定する。ルーチン350において、これらアルファ値(ここではID値)をテストして境界線を引くかどうかを決定する。本例において、ルーチン350では、画素[i][j]のアルファ(ID)値および隣接画素(たとえば、画素[i−1][j]および画素[i][j−1])のアルファ(ID)値を検索する(ブロック352)。その後、ルーチン352では、以下の演算を行い(ブロック354)画素[i][j]のアルファ(ID)値と隣接画素のアルファ(ID)値との差を求める。
diffX=|(アルファ[i][j]−アルファ[i−1][j])|
diffY=|(アルファ[i][j]−アルファ[i][j−1])|
その後ルーチン350では、演算して得られた差の値、diffXとdiffYとをテストして、どちらかが所定の差の値を超えているかどうかを判別する(たとえば任意に固定の、または1のようなプログラム可能閾値)(ブロック356)。差の値のうち、少なくとも1つが所定の差の値を超えている場合、ルーチン350は画素[i][j]のカラーを境界線カラーに設定する(ブロック358)。これにより本例においては、アルファスロープが−1から+1の場合、画素は同一面上にあるとされる。ステップ352から358は、画像内にある画素それぞれに対して順に行われる(ブロック360、362)。
ルーチン350の変形例として、対象物をある特別なアルファ識別値(たとえば0x00)でコーディングして、境界線を付与するために無視すべき対象物内の画素を特定する(図23参照)。境界線が付与されていない対象物をビットマップとして描画する際に有用である(例えば、爆発のアニメーション等)。
図24は、上記ルーチン350を用いて、図19および図20に示す対象物300にいかに効率良く境界線を引くかを示す。本例において、対象物は部分毎にそれぞれ異なるアルファ(ID)値でコーディングされている。たとえば、対象物300は2本の腕311a、311bおよび胴体309を備える。腕はそれぞれ手313、手首部315、下腕部312、肘部308、上腕部310、および肩部317を備える。これら部位は、以下のようにそれぞれ異なるアルファIDでコーディングされる。
身体部 アルファID
左手313a 1
左手首315a 2
左下腕312a 3
左肘308a 4
左上腕310a 5
左肩317a 6
胴体309 7
右肩317b 8
右上腕310b 9
右肘311b 10
右下腕312b 11
右手首315b 12
右手313b 13
上記アルファIDコーディングの例によれば、ルーチン350では、図24に太線で示されているような境界線を引く。しかし、部位の区切り部分(点線で示す)には境界線を引かない。
上記コーディングは、同じ対象物300の部位の区切り部分に境界線を引くのにも用いることができる。従来の塗り絵や手描きアニメ漫画などでは、このような区切り部分にも漫画的な輪郭線処理を施して、さらに関節を規定したり、筋肉の発達を想像させたりしている。図25(A)〜(C)では、キャラクタ300の上腕310と下腕とをつなぐ関節308(つまり肘)を特に示す。上記コーディングを用いて、図25(B)および(C)に示すように、関節308を曲げることで上腕310と312とが互いに隣接(接触)して位置した場合、ルーチン350では(下腕310のアルファIDと、上腕312のアルファIDとの差が1より大きいかどうかに基づいて)、部位310と312との間に境界線セグメント316を付与する。
これにより、本発明は、三次元コンピュータグラフィックスにおいて、漫画的な輪郭線のような非写実的な効果を付与するための効果的な手法を提供する。これら手法は、画素後処理の段階で(すなわち、三次元グラフィックスパイプラインが画像をフレームバッファにおいて描画されてから)用いられ、三次元グラフィックスパイプラインによって与えられる以外の画素情報を必要としない(すなわち、色、深度およびアルファ画素情報)。このように、本発明における画素後処理の手法は、フレームバッファ(たとえば、回路上のバッファの一部から回路外のバッファへ、エリアシングまたは他の後処理動作)の「ダウンストリーム」で効果的に、かつ効率良く行われ、これによって三次元グラフィックスパイプラインまたはシステムの他の構成要素が実質的に複雑化することもない。
本発明は、現在最も現実的で好ましい実施例と思われるものに関連して説明されてきたが、本発明は、開示された実施例に限定されるものではなく、様々な変形例や均等な構成を含むことを想定していると解釈される。
50 画素フィルタ
100 画素フィルタ
130 メモリ要求アービトレーション回路
200 後処理画素フィルタ
300 漫画キャラクタ
302 輪郭線の縁
304 内部の縁
308 肘部
309 胴体
310 上腕部
312 下腕部
313 手
315 手首部
316 境界線セグメント
317 肩部
330 境界線
1005 三次元ビデオグラフィックスシステム
1007 コントローラ
1009 表示装置
1010 プロセッサ
1011 記憶装置
1020 グラッフィクスコプロセッサ
1030 メモリ
1040 フレームバッファ
1042 カラーフレームバッファ
1044 深度フレームバッファ
1107 三次元グラフィックスプロセッサ
1108 プロセッサインターフェース
1110 メモリインターフェース
1114 コマンドプロセッサ
1116 グラフィックスパイプライン
1118 変換部
1120 ラスタライザ
1122 テクスチャ部
1124 テクスチャ環境部
1126 画素エンジン
1128 表示制御器
1134 外部記憶装置
1137R スピーカ
1137L スピーカ
1138 オーディオコーデック
1140 エンコーダ
1141 バッファ
1142R バッファ増幅器
1142L バッファ増幅器
1144 メモリ
1146 パラレルバス
1148 シリアル周辺バス
1150 リアルタイムクロック
1150 遠隔計算装置
1152 モデム
1154 フラッシュメモリ
1156 ネットワークインターフェース
1158 メモリカード
1162 オーディオディジタル信号プロセッサ
1164 オーディオメモリインターフェース
1166 ミキサ
1168 周辺制御器
1201 パーソナルコンピュータ
1203 処理部
1205 システムメモリ
1207 システムバス
1209 ハードディスクドライブ
1211 磁気ハードドライブ
1213 磁気ディスクドライブ
1215 磁気ディスク
1217 光ディスクドライブ
1219 光ディスク
1221 ハードディスクドライブインターフェース
1223 磁気ディスクドライブインターフェース
1225 光ドライブインターフェース
1227 キーボード
1229 ポインティングデバイス
1231 シリアルポートインターフェース
1233 モニタ
1235 ビデオアダプタ
1237 ステレオスピーカ
1239 サウンドカード
1252 ROM
1254 RAM
1303 エミュレータ
1305 光ディスク

Claims (67)

  1. 対話型の三次元ホームビデオゲームシステムであって、
    ユーザによるリアルタイム操作入力が可能な、少なくとも1つの手動制御器と、
    少なくとも1つの漫画キャラクタを表現する三次元データを記憶する記憶媒体と、
    画像データを記憶するバッファメモリと、
    前記バッファメモリに接続される三次元グラッフィクスパイプラインと、
    前記バッファメモリに接続されるフィルタとを備え、
    前記三次元グラッフィクスパイプラインは、少なくとも前記ユーザによるリアルタイム操作入力および前記漫画キャラクタを表現する前記三次元データに基づいて、前記漫画キャラクタに対応する画像データを前記バッファメモリにおいて描画し、
    前記フィルタは、漫画的な輪郭線処理機能を前記画像データに適用して、自動的に前記漫画キャラクタの周囲にはっきりした境界線を引くことを特徴とする、三次元ホームビデオゲームシステム。
  2. 前記グラフィクスパイプラインおよび前記バッファメモリは、1つの半導体基板上に配置され、
    前記フィルタは、前記画素データを前記基板から外部装置への書き込み中に、画素データ上で動作することを特徴とする、請求項1に記載の三次元ホームビデオゲームシステム。
  3. 前記画素データは、画素カラー値を含み、
    前記フィルタは、前記画素カラーデータの代わりに境界線カラーを用いることを特徴とする、請求項1に記載の三次元ホームビデオゲームシステム。
  4. 前記フィルタは、前記バッファメモリに記憶されている少なくとも1つの画素に対応するカラーデータを、少なくとも前記画素に対応する前記深度データに部分的に基づいて選択的に変更する、請求項1に記載の三次元ホームビデオゲームシステム。
  5. 前記フィルタは、前記バッファメモリに記憶されている少なくとも1つの画素に対応するカラーデータを、少なくとも前記画素に対応するディザリングされた前記深度データに部分的に基づいて選択的に変更することを特徴とする、請求項1に記載の三次元ホームビデオゲームシステム。
  6. 前記フィルタは、前記画素に対応する深度データと、前記画素周辺に或る1つの画素に対応する深度データとの差を求め、これにより前記差が所定の閾値を上回った場合には、前記画素に対応する前記カラーデータを変更することを特徴とする、請求項1に記載の三次元ホームビデオゲームシステム。
  7. 前記フィルタは、前記バッファメモリに記憶されている対象部分の識別値に部分的に基づいて、前記カラーデータを選択的に変更することを特徴とする、請求項1に記載の三次元ホームビデオゲームシステム。
  8. 前記バッファメモリは、複数の画素に関連するアルファ値を記憶するように構成され、前記対象部分の識別値は、前記バッファメモリ内でアルファ値として記憶されることを特徴とする、請求項7に記載の三次元ホームビデオゲームシステム。
  9. 前記フィルタは、少なくとも1つの画素に対応する識別データと、前記画素周辺にある1つの画素に対応する識別データとの差を求め、これにより前記差が所定の閾値を上回った場合、前記画素に対応する前記カラーデータを変更することを特徴とする、請求項1に記載の三次元ホームビデオゲームシステム。
  10. 前記フィルタは、前記バッファメモリに記憶されるカラーデータをアルファブレンドすることを特徴とする、請求項1に記載の三次元ホームビデオゲームシステム。
  11. 前記フィルタは、前記画素に対応するアルファ値を前記画素の深度に対応する値に設定することにより、前記バッファメモリに記憶されるカラーデータを選択的に変更することを特徴とする、請求項10に記載の三次元ホームビデオゲームシステム。
  12. 前記フィルタは、少なくとも1つの画素に対応するアルファ値を、前記画素の深度と、その周辺の少なくとも1つの画素の深度との差に対応する値に設定することにより、前記バッファメモリに記憶されるカラーデータを選択的に変更することを特徴とする、請求項11に記載の三次元ホームビデオゲームシステム。
  13. 前記周辺画素は、隣接画素であることを特徴とする、請求項12に記載の三次元ホームビデオゲームシステム。
  14. 前記画素は、前記画像においてP[x、y]であると指定され、
    前記フィルタは、前記画素の深度をP[x−1、y]であると指定される第1画素と、P[x、y−1]であると指定される第2画素の深度と比較することを特徴とする、請求項1に記載の三次元ホームビデオゲームシステム。
  15. 前記画素は、前記画像においてP[x、y]であると指定され、
    前記フィルタは、前記画素の深度をP[x+1、y]であると指定される第1画素と、P[x、y+1]であると指定される第2画素の深度と比較することを特徴とする、請求項1に記載の三次元ホームビデオゲームシステム。
  16. 前記フィルタは、前記画素の深度の第1対数関数と、少なくとも1つのその周辺画素の深度の第2対数関数との差を計算することを特徴とする、請求項1に記載の三次元ホームビデオゲームシステム。
  17. 前記フィルタは、前記漫画的な輪郭線処理を行うアプリケーションにおいて深度変更を行うことを特徴とする、請求項1に記載の三次元ホームビデオゲームシステム。
  18. 前記フィルタは、前記漫画的な輪郭線を遠近処理することを特徴とする、請求項1に記載の三次元ホームビデオゲームシステム。
  19. 三次元画像の画素に対応するカラーおよび深度データを記憶する画素メモリを含むコンピュータグラフィックスシステムにおいて、非写実的な視覚効果を生成する方法であって、
    (a)前記画素メモリから、前記画素のうち少なくとも1つの画素に対して少なくとも前記カラーデータを読み出すステップと、
    (b)前記画像に漫画的な輪郭線効果を付与するために、前記カラーデータを選択的に変更するステップとを含む、方法。
  20. 前記画素メモリは、グラフィックスチップ上に配置され、
    前記読み出しステップは、前記グラフィックスチップからの前記画像を書き込むステップである画素後処理中に行われることを特徴とする、請求項19に記載の方法。
  21. 前記選択的に変更するステップは、境界線カラーデータを前記画素カラーデータで代用することを特徴とする、請求項19に記載の方法。
  22. 前記選択的に変更するステップは、前記画素に対応する前記深度データに部分的に基づいて行われることを特徴とする、請求項19に記載の方法。
  23. 前記選択的に変更するステップは、前記画素に対応するディザリングされた前記深度データに少なくとも部分的に基づいて行われることを特徴とする、請求項19に記載の方法。
  24. 前記選択的に変更するステップは、前記画素に対応する深度データと、前記画素の少なくとも1つの隣接画素に対応する深度データとの差を求め、これにより前記差が所定の閾値を上回った場合には、前記画素に対応する前記カラーデータを変更することを特徴とする、請求項19に記載の方法。
  25. 前記選択的に変更するステップは、前記画素メモリに記憶される対象部分の識別値に少なくとも部分的に基づいて行われることを特徴とする、請求項19に記載の方法。
  26. 前記画素メモリは、複数の画素に関連するアルファ値を記憶するように構成され、
    前記対象部分の識別値は、前記画素メモリ内でアルファ値として記憶されることを特徴とする、請求項25に記載の方法。
  27. 前記選択的に変更するステップは、前記画素に対応する識別データと、前記画素に隣接する1つの画素に対応する識別データとの差を求め、これにより前記差が所定の閾値を上回った場合には、前記画素に対応する前記カラーデータを変更することを特徴とする、請求項19に記載の方法。
  28. 前記選択的に変更するステップは、前記画素カラーデータに境界線を適用するため、アルファブレンディングを用いることを特徴とする、請求項19に記載の方法。
  29. 前記選択的に変更するステップは、前記画素に対応するアルファ値を、前記画素の深度に対応する値に設定することを特徴とする、請求項28に記載の方法。
  30. 前記選択的に変更するステップは、前記画素に対応するアルファ値を、前記画素の深度と少なくとも1つの周辺画素の深度との差に対応する値に設定することを特徴とする、請求項29に記載の方法。
  31. 前記周辺画素は、隣接画素であることを特徴とする、請求項30に記載の方法。
  32. 前記画素は、前記画像においてP[x、y]であると指定され、
    前記選択的に変更するステップは、前記画素の深度を、P[x−1、y]であると指定される第1画素と、P[x、y−1]であると指定される第2画素の深度と比較することを特徴とする、請求項19に記載の方法。
  33. 前記画素は、前記画像においてP[x、y]であると指定され、
    前記選択的に変更するステップは、前記画素の深度を、P[x+1、y]であると指定される第1画素と、P[x、y+1]であると指定される第2画素の深度と比較することを特徴とする、請求項19に記載の方法。
  34. 前記選択的に変更するステップは、前記画素の深度の第1対数関数と、少なくとも1つのその隣接画素の深度の第2対数関数との差を計算することを特徴とする、請求項19に記載の方法。
  35. コンピュータグラフィックスシステムであって、
    前記三次元画像の画素に対応するカラーおよび深度データを記憶する画素メモリにおいて三次元画像を描画するグラフィックスエンジンと、
    前記画素メモリに接続される画素フィルタとを備え、
    前記画素フィルタは、前記画素メモリから前記画素のうち少なくとも1つの画素に対して少なくとも前記カラーデータを読み出し、前記カラーデータを選択的に変更して前記画像に漫画的な輪郭線効果を付与する、コンピュータグラフィックスシステム。
  36. 前記基板の外部に設けられる画素メモリをさらに備え、
    前記グラフィックスエンジンおよび前記画素メモリは、共通の基板上に配置され、
    前記画素フィルタは、前記画像をさらなる前記画素メモリに書き込むことを特徴とする、請求項35に記載のシステム。
  37. 前記画素フィルタは、境界線カラーデータを前記画素カラーデータで代用することを特徴とする、請求項35に記載のシステム。
  38. 前記画素フィルタは、少なくとも前記画素に対応する前記深度データに部分的に基づいて、前記カラーデータを選択的に変更することを特徴とする、請求項35に記載のシステム。
  39. 前記画素フィルタは、少なくとも前記画素に対応するディザリングされた前記深度データに部分的に基づいて、前記カラーデータを選択的に変更することを特徴とする、請求項35に記載のシステム。
  40. 前記画素フィルタは、前記画素に対応する深度データと、前記画素の少なくとも1つの隣接画素に対応する深度データとの差を求め、これにより前記差が所定の閾値を上回った場合には、前記画素に対応する前記カラーデータを変更することを特徴とする、請求項35に記載のシステム。
  41. 前記画素フィルタは、前記画素メモリに記憶される対象部分の識別値に少なくとも部分的に基づいて行われることを特徴とする、請求項35に記載のシステム。
  42. 前記画素メモリは、複数の画素に関連するアルファ値を記憶するように構成され、
    前記対象部分の識別値は、前記画素メモリ内でアルファ値として記憶されることを特徴とする、請求項41に記載のシステム。
  43. 前記画素フィルタは、前記画素に対応する識別データと、前記画素に隣接する1つの画素に対応する識別データとの差を求め、これにより前記差が所定の閾値を上回った場合には、前記画素に対応する前記カラーデータを変更することを特徴とする、請求項35に記載のシステム。
  44. 前記画素フィルタは、アルファブレンディングによって前記画素カラーデータを選択的に変更することを特徴とする、請求項35に記載のシステム。
  45. 前記画素フィルタは、前記画素に対応するアルファ値を、前記画素の深度に対応する値に設定することで選択的に変更することを特徴とする、請求項44に記載のシステム。
  46. 前記画素フィルタは、前記画素に対応するアルファ値を、前記画素の深度と少なくとも1つの周辺画素の深度との差に対応する値に設定することで選択的に変更することを特徴とする、請求項45に記載のシステム。
  47. 前記周辺画素は、隣接画素であることを特徴とする、請求項46に記載のシステム。
  48. 前記画素は、前記画像においてP[x、y]であると指定され、
    前記画素フィルタは、前記画素の深度を、P[x−1、y]であると指定される第1画素と、P[x、y−1]であると指定される第2画素の深度と比較することを特徴とする、請求項35に記載のシステム。
  49. 前記画素は、前記画像においてP[x、y]であると指定され、
    前記画素フィルタは、前記画素の深度を、P[x+1、y]であると指定される第1画素と、P[x、y+1]であると指定される第2画素の深度と比較することを特徴とする、請求項35に記載のシステム。
  50. 前記画素フィルタは、前記画素の深度の第1対数関数と、少なくとも1つのその隣接画素の深度の第2対数関数との差を計算することを特徴とする、請求項35に記載のシステム。
  51. 対話型三次元ホームビデオゲームシステムであって、
    ユーザによるリアルタイム操作入力が可能な、少なくとも1つの手動制御器と、
    少なくとも1つの漫画キャラクタを表現する三次元データを記憶する記憶媒体と、
    画像データを記憶するフレームバッファメモリと、
    前記フレームバッファメモリに接続される三次元グラッフィクスパイプラインと、
    前記フレームバッファメモリに接続されるフィルタとを備え、
    前記三次元グラッフィクスパイプラインは、少なくとも前記ユーザによるリアルタイム操作入力および前記漫画キャラクタを表現する前記三次元データに基づいて、前記漫画キャラクタに対応する画像データを前記フレームバッファメモリにおいて描画し、
    前記フィルタは、漫画的な輪郭線処理機能を前記画像データに適用して、自動的に前記漫画キャラクタの周囲にはっきりした境界線を引くことを特徴とする、対話型三次元ホームビデオゲームシステム。
  52. 前記基板外部に設けられるさらなる画素メモリを備え、
    前記グラフィクスパイプラインおよび前記バッファメモリは、共通の半導体基板上に配置され、
    前記フィルタは、前記画像をさらなる前記画素メモリに書き込むことを特徴とする、請求項51に記載のホームビデオゲームシステム。
  53. 前記フィルタは、前記画素カラーデータの代わりに境界線カラーを用いることを特徴とする、請求項51に記載のシステム。
  54. 前記フィルタは、前記バッファメモリに記憶されている、少なくとも1つの画素に対応するカラーデータを、少なくとも前記画素に対応する前記深度データに部分的に基づいて選択的に変更することを特徴とする、請求項51に記載のシステム。
  55. 前記フィルタは、前記フレームバッファメモリに記憶されている、少なくとも1つの画素に対応するカラーデータを、少なくとも前記画素に対応するディザリングされた前記深度データに部分的に基づいて選択的に変更することを特徴とする、請求項51に記載のシステム。
  56. 前記フィルタは、前記画素に対応する深度データと、前記画素に隣接する少なくとも1つの画素に対応する深度データとの差を求め、これにより前記差が所定の閾値を上回った場合には、前記画素に対応する前記カラーデータを変更することを特徴とする、請求項51に記載のシステム。
  57. 前記フィルタは、前記フレームバッファメモリに記憶されている対象部分の識別値に部分的に基づいて、前記カラーデータを選択的に変更することを特徴とする、請求項51に記載のシステム。
  58. 前記フレームバッファメモリは、複数の画素に関連するアルファ値を記憶するように構成され、前記対象部分の識別値は、前記フレームバッファメモリ内でアルファ値として記憶されることを特徴とする、請求項57に記載のシステム。
  59. 前記フィルタは、少なくとも1つの画素に対応する識別データと、前記画素周辺にある1つの画素に対応する識別データとの差を求め、これにより前記差が所定の閾値を上回った場合には、前記画素に対応する前記カラーデータを変更することを特徴とする、請求項51に記載のシステム。
  60. 前記フィルタは、前記フレームバッファメモリに記憶されるカラーデータをアルファブレンドすることを特徴とする、請求項51に記載の方法。
  61. 前記フィルタは、前記画素に対応するアルファ値を前記画素の深度に対応する値に設定することにより、前記フレームバッファメモリに記憶されるカラーデータを選択的に変更することを特徴とする、請求項60に記載のシステム。
  62. 前記フィルタは、少なくとも1つの画素に対応するアルファ値を、前記画素の深度と、その周辺の少なくとも1つの画素の深度との差に対応する値に設定することにより、前記バッファメモリに記憶されるカラーデータを選択的に変更することを特徴とする、請求項61に記載のシステム。
  63. 前記周辺画素は、隣接画素であることを特徴とする、請求項62に記載のシステム。
  64. 前記画素は、前記画像においてP[x、y]であると指定され、
    前記画素フィルタは、前記画素の深度をP[x−1、y]であると指定される第1画素と、P[x、y−1]であると指定される第2画素の深度と比較することを特徴とする、請求項51に記載のシステム。
  65. 前記画素は、前記画像においてP[x、y]であると指定され、
    前記画素フィルタは、前記画素の深度をP[x+1、y]であると指定される第1画素と、P[x、y+1]であると指定される第2画素の深度と比較することを特徴とする、請求項51に記載のシステム。
  66. 前記フィルタは、前記画素の深度の第1対数関数と、少なくとも1つのその隣接画素の深度の第2対数関数との差を計算することを特徴とする、請求項51に記載のシステム。
  67. 対話型三次元ホームビデオゲームシステムをエミュレートするエミュレータであって、
    ユーザによるリアルタイム操作入力が可能な、少なくとも1つの手動制御器と、
    少なくとも1つの漫画キャラクタを表現する三次元データを記憶する記憶媒体と、
    画像データを記憶するフレームバッファメモリと、
    前記フレームバッファメモリに接続される三次元グラッフィクスパイプラインと、
    前記フレームバッファメモリに接続されるフィルタとを備え、
    前記三次元グラッフィクスパイプラインは、少なくとも前記ユーザによるリアルタイム操作入力および前記漫画キャラクタを表現する前記三次元データに基づいて、前記漫画キャラクタに対応する画像データを前記フレームバッファにおいて描画し、
    前記フィルタは漫画的な輪郭線処理機能を前記画像データに適用して、自動的に前記漫画キャラクタの周囲にはっきりした境界線を引くことを特徴とする、エミュレータ。
JP2009130618A 1999-09-24 2009-05-29 三次元ビデオグラフィックスシステムにおける非写実的な漫画的な輪郭線提供方法およびその装置 Expired - Lifetime JP4672072B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15566099P 1999-09-24 1999-09-24
US09/468,109 US6747642B1 (en) 1999-01-29 1999-12-21 Method and apparatus for providing non-photorealistic cartoon outlining within a 3D videographics system

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2000289625A Division JP4349733B2 (ja) 1999-09-24 2000-09-22 三次元ビデオグラフィックスシステムにおける非写実的な漫画的な輪郭線提供方法およびその装置

Publications (2)

Publication Number Publication Date
JP2009199620A true JP2009199620A (ja) 2009-09-03
JP4672072B2 JP4672072B2 (ja) 2011-04-20

Family

ID=26852501

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2000289625A Expired - Fee Related JP4349733B2 (ja) 1999-09-24 2000-09-22 三次元ビデオグラフィックスシステムにおける非写実的な漫画的な輪郭線提供方法およびその装置
JP2009130618A Expired - Lifetime JP4672072B2 (ja) 1999-09-24 2009-05-29 三次元ビデオグラフィックスシステムにおける非写実的な漫画的な輪郭線提供方法およびその装置

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2000289625A Expired - Fee Related JP4349733B2 (ja) 1999-09-24 2000-09-22 三次元ビデオグラフィックスシステムにおける非写実的な漫画的な輪郭線提供方法およびその装置

Country Status (5)

Country Link
JP (2) JP4349733B2 (ja)
CN (1) CN1316723A (ja)
AU (1) AU5652700A (ja)
BR (1) BR0004415A (ja)
CA (1) CA2319279A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011107816A (ja) * 2009-11-13 2011-06-02 Konami Digital Entertainment Co Ltd 画像処理装置、画像処理装置の制御方法、及びプログラム

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7551322B2 (en) * 2004-06-29 2009-06-23 Intel Corporation Image edge filtering
JP5011316B2 (ja) * 2006-02-27 2012-08-29 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 出力画像のレンダリング
US7612783B2 (en) * 2006-05-08 2009-11-03 Ati Technologies Inc. Advanced anti-aliasing with multiple graphics processing units
JP5236214B2 (ja) * 2007-06-11 2013-07-17 任天堂株式会社 画像処理プログラム
JP4291384B2 (ja) 2007-08-23 2009-07-08 ファナック株式会社 数値制御装置に接続されたioユニットの断線と電源断の検出方法
CN101540055B (zh) * 2009-04-13 2011-05-04 浙江大学 面向在线实时应用的卡通风格化方法
JP5439454B2 (ja) * 2011-10-21 2014-03-12 富士フイルム株式会社 電子コミック編集装置、方法及びプログラム
CN109741408A (zh) * 2018-11-23 2019-05-10 成都品果科技有限公司 一种图像及视频漫画效果实时渲染方法
CN111127614B (zh) * 2019-12-25 2023-07-21 上海米哈游天命科技有限公司 模型的描边处理方法、装置、存储介质及终端

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08131252A (ja) * 1994-11-10 1996-05-28 Internatl Business Mach Corp <Ibm> 髪画像適合方法及びコンピュータ・システム
JPH08279057A (ja) * 1995-04-05 1996-10-22 Hitachi Ltd 三次元図形の輪郭線および稜線強調表示装置
JPH09185699A (ja) * 1995-12-29 1997-07-15 Casio Comput Co Ltd 描画色変更方法、及び動画再生装置
JPH09311954A (ja) * 1996-05-22 1997-12-02 Hitachi Ltd 3次元図形表示システムおよび3次元図形の表示方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08131252A (ja) * 1994-11-10 1996-05-28 Internatl Business Mach Corp <Ibm> 髪画像適合方法及びコンピュータ・システム
JPH08279057A (ja) * 1995-04-05 1996-10-22 Hitachi Ltd 三次元図形の輪郭線および稜線強調表示装置
JPH09185699A (ja) * 1995-12-29 1997-07-15 Casio Comput Co Ltd 描画色変更方法、及び動画再生装置
JPH09311954A (ja) * 1996-05-22 1997-12-02 Hitachi Ltd 3次元図形表示システムおよび3次元図形の表示方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011107816A (ja) * 2009-11-13 2011-06-02 Konami Digital Entertainment Co Ltd 画像処理装置、画像処理装置の制御方法、及びプログラム

Also Published As

Publication number Publication date
BR0004415A (pt) 2001-04-10
CA2319279A1 (en) 2001-03-24
JP2001134779A (ja) 2001-05-18
JP4672072B2 (ja) 2011-04-20
AU5652700A (en) 2001-03-29
JP4349733B2 (ja) 2009-10-21
CN1316723A (zh) 2001-10-10

Similar Documents

Publication Publication Date Title
JP4672072B2 (ja) 三次元ビデオグラフィックスシステムにおける非写実的な漫画的な輪郭線提供方法およびその装置
JP4698893B2 (ja) 改良されたフォグ効果を提供するための方法、グラフィックスシステム、およびプログラム
US6747642B1 (en) Method and apparatus for providing non-photorealistic cartoon outlining within a 3D videographics system
JP4846120B2 (ja) スケルトンアニメーションのステッチングハードウェアを有するグラフィクス装置
JP4719363B2 (ja) 内部フレームバッファと主メモリ間でのコピーアウト変換を有するグラフィクスシステム
JP4790150B2 (ja) 低価格のグラフィックスシステムにおけるシャドウマッピング
US6234901B1 (en) Game device, picture data and flare forming method
JP4691273B2 (ja) グラフィクス処理システムおよびエンボス型バンプマッピングを行う方法
US7061502B1 (en) Method and apparatus for providing logical combination of N alpha operations within a graphics system
JP2002063590A (ja) グラフィクスシステム用再循環シェードツリーブレンダ
JP2002269583A (ja) 描画モードに基づいて隠面処理の順番を動的に再構成する方法および装置
US6914612B2 (en) Image drawing method, image drawing apparatus, recording medium, and program
US6717575B2 (en) Image drawing method, image drawing apparatus, recording medium, and program
JP2007141082A (ja) プログラム、テクスチャデータ構造、情報記憶媒体及び画像生成システム
JP4167358B2 (ja) 画像生成システム及び情報記憶媒体
JP2001143100A (ja) 三次元ビデオグラフィックスシステムにおける深度ぼかし効果提供方法および装置
EP1094421A2 (en) Method and apparatus for providing non-photorealistic cartoon outlining within a 3D videographics system
JP2001229403A (ja) ゲームシステム及び情報記憶媒体
JP3254195B2 (ja) 画像生成システム及び情報記憶媒体
JP4574058B2 (ja) 画像生成システム、プログラム及び情報記憶媒体
JP2001084390A (ja) 画像生成システム及び情報記憶媒体
JP4740476B2 (ja) グラフィックスシステム内におけるn個のアルファ演算の論理結合を提供する方法および装置
JP4632530B2 (ja) ゲームシステム、プログラム及び情報記憶媒体
MXPA00009280A (en) Method and apparatus for providing non-photorealistic cartoon outlining within a 3d videographics system
JP2002208026A (ja) グラフィックスシステムにおけるテクスチャタイリングのための方法および装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090529

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090618

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101012

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101203

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

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

R150 Certificate of patent or registration of utility model

Ref document number: 4672072

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20140128

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term