JP2002074390A - 低価格のグラフィックスシステムにおけるシャドウマッピング - Google Patents

低価格のグラフィックスシステムにおけるシャドウマッピング

Info

Publication number
JP2002074390A
JP2002074390A JP2001163358A JP2001163358A JP2002074390A JP 2002074390 A JP2002074390 A JP 2002074390A JP 2001163358 A JP2001163358 A JP 2001163358A JP 2001163358 A JP2001163358 A JP 2001163358A JP 2002074390 A JP2002074390 A JP 2002074390A
Authority
JP
Japan
Prior art keywords
texture
shadow
graphics
depth
mapping
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
JP2001163358A
Other languages
English (en)
Other versions
JP4790150B2 (ja
Inventor
Matthew Komsthoeft
コムソーフト マシュー
Michael Ockenden K
マイケル オッケンデン ケイ
Yoshitaka Yasumoto
吉孝 安本
Kazuki Hirose
和樹 廣瀬
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
Application filed by Nintendo Co Ltd filed Critical Nintendo Co Ltd
Publication of JP2002074390A publication Critical patent/JP2002074390A/ja
Application granted granted Critical
Publication of JP4790150B2 publication Critical patent/JP4790150B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/60Shadow generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Generation (AREA)

Abstract

(57)【要約】 【課題】 特定用途向けのグラフィックス&音声プロセ
ッサを含むグラフィックスシステムは、迫力のある2D
および3Dグラフィックスやサラウンドサウンドを生成
する。 【解決手段】 本システムは、3Dグラフィックスパイ
プラインと音声デジタル信号プロセッサとを含むグラフ
ィックス&音声プロセッサを含む。フルシーンシャドウ
マッピングは、ライティングハードウェアに距離減衰関
数を用いて距離を計算させることによって実行できる。
より高い精度が求められる場合には、テクスチャ座標生
成ハードウェアを用いて、精度距離値を記憶するランプ
テクスチャルックアップにインデックスするテクスチャ
座標を計算することができる。重複値を与える固有のラ
ンプテクスチャを用いて、ランプテクスチャ・ルックア
ップエラーを除去することができる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、コンピュータグラ
フィックスに関し、より特定的には、家庭用ビデオゲー
ムプラットフォームのような対話式グラフィックスシス
テムに関する。さらにより特定的には、本発明は、低価
格のグラフィックスシステムにおいてフルシーンシャド
ウマッピングを用いてシャドウを生成する方法であっ
て、また、グラフィックスパイプラインテクスチャ座標
生成および/またはテクスチャマッピング機構を用い
て、シャドウ比較などの効果を発揮する精度数値を生成
することに関する。
【0002】
【従来の技術】我々の多くは、非常に現実感のある恐竜
や宇宙人、アニメ化されたおもちゃといった空想的な生
物を含む映像を目にしたことがある。このようなアニメ
ーションは、コンピュータグラフィックスによって可能
となっている。このような技術を用いて、コンピュータ
グラフィックス製作者は、各物体がどのように見える
か、および時間の経過に伴ってどのような外見上の変化
が生じるかを特定することができる。そして、コンピュ
ータが、物体をモデル化し、テレビやコンピュータ画面
などのディスプレイに表示する。表示画像の各部分の着
色や形状が、そのシーンに存在する個々の物体の位置や
向き、各物体に対する照明方向、各物体の面の質感、そ
の他様々な要素に基づいて確実にうまく行なわれるため
に必要な数多くのタスクは、コンピュータが引き受け
る。
【0003】コンピュータグラフィックスの生成は複雑
なため、ほんの数年前まで、コンピュータで作成した3
次元グラフィックスの活用は、高価で専門化されたフラ
イトシミュレータやハイエンドグラフイックスワークス
テーション、スーパーコンピュータにほぼ限定されてい
た。人々は、コンピュータシステムによって生成された
画像を、映画や制作費の高いテレビ広告において目にす
ることはあっても、グラフィックス生成を行なうコンピ
ュータに実際に接することはできなかった。このような
状況が変化したのは、ニンテンドウ64(登録商標)や
パーソナルコンピュータで利用可能な各種の3Dグラフ
ィックスカードなど、比較的安価な3Dグラフィックス
プラットフォームの出現によるものである。今や、自宅
や勤務先でも、比較的安価なコンピュータグラフィック
スシステム上において、迫力のある3Dアニメーション
やシミュレーションと対話的に接することが可能となっ
ている。
【0004】シャドウは、現実感のある画像を作成した
り、オブジェクトが他のオブジェクトとの関連でどこに
現れるかについての視覚的なヒントを与えるのに重要で
ある。様々なシャドウイング技術が知られている。たと
えば、ウー他、「シャドウアルゴリズムの調査」、IE
EEコンピュータグラフィックスアンドアプリケーショ
ン、第10巻、第6号、13〜32頁(1990年11
月)を参照のこと。
【0005】グラフィックスシステム設計者がこれまで
直面した課題は、低価格のグラフィックスシステムを用
いてシャドウをいかにして描くかということであった。
これを達成する既知技術の一つとして、シャドウマッピ
ングと呼ばれるものがある。この技術によれば、通常の
zバッファによるレンダラーを、任意のオブジェクトに
対してシャドウを高速に生成するために用いることがで
きるようになる。ウィリアムズ、「曲面に対する曲面シ
ャドウのキャスティング」、コンピュータグラフィック
ス(SIGGRAPH 1978年会報)、第12巻、
第3号、270〜274頁(1978年8月)を参照の
こと。この技術を利用して、グラフィックスシステム
は、zバッファアルゴリズムを用いて、光源の位置およ
び方向を基準としてシーンをレンダリングする。zバッ
ファの各ピクセルに関して、描画した結果のzデプス
は、光源に最も近いオブジェクトまでの距離を含む。こ
のデプスマップは、シャドウマップと呼ばれる。その
後、シーンは再びレンダリングされるが、今回は、見る
者(カメラ)を基準としてレンダリングされる。各描画
プリミティブがレンダリングされるにつれて、その位置
(ライトからのデプス)はシャドウマップと比較され
る。レンダリング点が、シャドウマップ内の値よりも光
源から遠くにある場合には、シャドウ内の当該点および
その輝度は減衰される。レンダリング点がシャドウマッ
プ値よりも光源に対して近くにある場合には、当該点は
点灯されて、シャドウ内には入らない。
【0006】このシャドウマッピング技術を実施するの
に効率的な方法として、テクスチャマッピングハードウ
ェアを利用してシーンにシャドウマップを投影すること
が挙げられる。ハイドリッヒ他、「視覚化および現実感
のある画像合成におけるピクセルテクスチャの応用」、
1999年対話型3Dグラフィックスに関するシンポジ
ウム会報、127〜134頁(1999年4月)、およ
びセガール他、「テクスチャマッピングを用いた高速シ
ャドウおよびライティング効果」、コンピュータグラフ
ィックス(SIGGRAPH 1992年会報、第26
巻、第2号、249〜252頁(1992年7月)を参
照のこと。これらの技術を用いれば、zバッファリング
を利用してシャドウマップを生成することができる(す
なわち、ライティング、テクスチャリング、およびカラ
ー値のカラーバッファへの書き込みをOFFにすること
ができる)。その後、視認性を解決するための周囲ライ
ティングのみを用いて、見る者の視点からシーンをレン
ダリングする。そして、シャドウテストステップを行っ
て、zバッファ内のz値をシャドウマップ内の(光源の
座標系から見る者の座標系へと変換される)z値と比較
する。或る技術によれば、各ピクセルについて、そのピ
クセルにおけるシャドウ比較結果に基づいて、追加の値
をフレームバッファ内に設定する。そして、全ライティ
ングの式を用いて、全シーンがレンダリングされる。つ
まり、周囲ライティングパスで得たカラーと全レンダリ
ングパスで得たカラーとの和にフレームバッファ内の追
加の値を掛け合わせたものが、各ピクセルの最終的なカ
ラーとなる。
【0007】ワング他、「第2デプスシャドウマッピン
グ」(コンピュータサイエンス学部、ノースキャロライ
ナ大学チャペルヒル校)で提案されている技術は、ウィ
リアムズのシャドウマッピング技術を拡張した技術であ
り、特定の自己シャドウイング問題(シャドウ比較の精
度が低いため、面が自身に対してシャドウを掛けてしま
う恐れがあるということ)を解決するものである。この
技術では、プリミティブによって規定された第2の面の
デプスに基づいてシャドウ比較を行う。それによって、
フロントフェイス・カリング技術を用いて、シャドウマ
ップ生成時にプリミティブの第1の面を除去すること
を、ワング他は提案している。これにより、精度に限界
のあるデプス比較において、フロントフェイスが自身に
対してシャドウを掛けることが防止される。
【0008】上述のシャドウマッピング技術によれば、
汎用グラフィックスハードウェアは、任意のシャドウを
レンダリングすることができる。しかしながら、これら
の技術を用いると、生成されるシャドウの品質は、シャ
ドウマップの(ピクセルにおける)解像度に依存し、ま
た、zバッファおよびデプス比較の数値精度にも依存す
ることとなる。モラー他、「リアルタイムレンダリン
グ」、179〜183頁(AKピーターズ社、1999
年)を参照のこと。デプス比較における適正な数値精度
を達成することは、ビデオゲームプラットフォームなど
の低価格のグラフィックスシステムにとっては問題とな
り得る。フルシーンシャドウイングにおいて、各オブジ
ェクトは、(自身を含む)どのオブジェクトに対しても
シャドウを掛けることができる。距離値を符号化するた
めに用いられる情報のビット数によって、光源から近距
離および遠距離の面がどこに投影されるか、およびどの
程度複雑なデプスをレンダリングされたシャドウマップ
に与えるかが決まる。面がシャドウ内にあるかシャドウ
外にあるかを知るために、ライトからレンダリングされ
ている面までの実際の距離と、ライトから最も近い距離
(これは、光源からシャドウマップに対してシーンをレ
ンダリングすることによって決まる)との間でデプス比
較が行われる。この距離値のビット数によって、特定の
ライトがシーンにシャドウを掛ける範囲が決まる。精度
が低下すると、シャドウやライトに対して与えられるデ
プスの複雑性は低下する。よって、低精度だと、ライト
がシーンに対して掛けるシャドウ数やシャドウの範囲の
広がりを限定してしまうことになりかねない。
【0009】グラフィックスパイプラインが充分な数値
精度をシャドウマッピング効果に対して与えることがで
きない場合には、通常、必要な計算をソフトウェアによ
る制御の下でグラフィックスシステムのホストコンピュ
ータに行わせれば、より高精度なデプス値を得ることが
できる。しかしながら、これは、ホストプロセッサに対
して大きな追加的負荷をかけることとなり、ユーザがシ
ーン内にある1つ以上のオブジェクトの位置を自由に変
更することができるような対話型の動画コンピュータグ
ラフィックスシステムにおいては、リアルタイムでのフ
ルシーンシャドウの描画は困難か、不可能となってしま
いかねない。
【0010】このような限られた精度に関する問題を回
避する他の方法として、シャドウデプス比較を行わない
で、その代わりにライトから見えるものを識別すること
によって機能するようなシャドウマッピングの形式を利
用することが挙げられる。たとえば、アワーケード他、
「アンチエイリアシングされたキャストシャドウのため
のアルゴリズム」、コンピュータアンドグラフィック
ス、第9巻、第3号、259〜265頁(1985年)
を参照のこと。選ばれた視点からオブジェクトを見た場
合に、それがライトから見たのと同じであることをシャ
ドウマップが示していれば、オブジェクトは点灯され
る。この技術は、シャドウデプス比較を回避できるとい
う利点がある。しかしながら、オブジェクトやポリゴン
が交差する領域においては問題が生じる可能性がある。
そのような問題の生じる領域を、異なるオブジェクトに
対して異なる識別子を用いることによって解消すること
は可能であるが、このアルゴリズムを用いると、単一の
識別子を有するオブジェクトは自身に対してシャドウを
掛けることができなくなってしまう。
【0011】これまで様々な研究が行われてきたが、更
なる改善が可能である。本発明は、たとえば、家庭用ビ
デオゲームプラットフォ−ムやパーソナルコンピュータ
のグラフィックスアクセラレータなどに見られる、低価
格で限られた精度のハードウェアを用いて、フルシーン
シャドウマッピングを行う技術および機構を提供しつ
つ、数値精度の問題も解決するものである。
【0012】本発明の一局面によれば、テクスチャ座標
生成部を用いて、シーンの動的デプスに基づいた精度
で、ライト位置とプリミティブの面との間の距離計算を
支援する。テクスチャマッピング部は、生成されたテク
スチャ座標を用いて、テクスチャとして記憶されたラン
プ関数から精度距離値をルックアップする。結果得られ
た精度距離値は、シャドウマップ内の対応するデプス値
と比較され、ピクセルがシャドウ内にあるかどうかを決
定することができる。
【0013】一実施例において、ランプ関数は、2Dテ
クスチャとして記憶され、あるテクセルが重複していた
り、すべてのテクセルが使われるわけではなかったりす
る。ルックアップエラーをなくすために、ランプ関数が
テクセルの行/列の境界を跨いでいる場所に重複テクセ
ル値が与えられる。
【0014】
【発明の実施の形態】図1は、対話式3Dコンピュータ
グラフィックスシステム50の例を示す。システム50
は、興味をそそる立体音響を伴う対話式3Dビデオゲー
ムをプレイするのに用いることができる。また、これ
は、他の様々な用途に応用できる。
【0015】本例において、システム50は、デジタル
表現や3次元世界モデルを、対話的にリアルタイムで処
理することができる。システム50は、世界のすべてま
たは一部を、任意の視点から表示することができる。た
とえば、システム50は、手持ちコントローラ52aお
よび52bなどの入力装置からのリアルタイム入力に応
答して、視点を対話的に変化させることができる。これ
により、ゲームプレイヤは、世界の内部または外部の者
から見た世界を見ることができる。システム50は、リ
アルタイム3D対話式表示を要求しないような用途(た
とえば、2D表示生成および/または非対話式表示)に
用いることもできるが、上質の3D画像を非常に高速に
表示する能力は、現実感の高いおもしろいゲームプレイ
などの視覚的な対話を生成するのに用いることができ
る。
【0016】システム50を用いてビデオゲームなどの
アプリケーションをプレイするためには、ユーザは、ま
ず、ケーブル58を用いて、メインユニット54をユー
ザのカラーテレビ56などの表示装置に接続する。メイ
ンユニット54は、カラーテレビ56を制御するための
ビデオ信号および音声信号を生成する。ビデオ信号は、
テレビ画面59に表示される画像を制御するものであ
り、音声信号は、テレビのステレオスピーカ61Lおよ
び61Rを介して、音として再生される。
【0017】また、ユーザは、メインユニット54を電
源に接続する必要がある。この電源は、家庭の壁にある
電気コンセントに差し込む従来のACアダプタ(図示せ
ず)であってもよく、家庭用電流を、メインユニット5
4に電力供給するのに適切な、より低いDC電圧信号に
変換する。他の態様として、電池を用いることも可能で
ある。
【0018】ユーザは、ハンドコントローラ52aおよ
び52bを用いて、メインユニット54を制御してもよ
い。たとえば、操作部60を用いて、テレビ56に表示
されるキャラクタが3次元世界内で移動すべき方向(上
または下、左または右、近または遠)を指定することが
できる。また、操作部60は、他の用途のための入力を
与える(たとえば、メニュー選択、ポインタ/カーソル
制御など)。コントローラ52は、様々な形態を取り得
る。本例においては、図示された各コントローラ52
は、ジョイスティック、押しボタン、および/または方
向スイッチなどの操作部60を含む。コントローラ52
のメインユニット54への接続は、ケーブルであっても
よいし、電磁波(たとえば、電波または赤外線波)を介
した無線であってもよい。
【0019】ゲームなどのアプリケーションをプレイす
るためには、ユーザは、プレイしたいと思う当該ビデオ
ゲームなどのアプリケーションを記憶する適切な記憶媒
体62を選択して、当該記憶媒体をメインユニット54
内のスロット64に挿入する。記憶媒体62は、たとえ
ば、特に符号化されたおよび/または暗号化された光学
および/または磁気ディスクであってもよい。ユーザ
は、電源スイッチ66を操作して、メインユニット54
をオンして、記憶媒体62に記憶されたソフトウェアに
基づいてビデオゲームなどのアプリケーションの実行を
開始してもよい。ユーザは、コントローラ52を操作し
て、メインユニット54に入力を与えてもよい。たとえ
ば、操作部60を操作すると、ゲームなどのアプリケー
ションが開始されてもよい。他の操作部60を動かす
と、動くキャラクタを異なる方向へ移動させたり、3D
世界内でのユーザの視点を変化させたりすることができ
る。記憶媒体62内に記憶された特定のソフトウェアに
基づいて、コントローラ52上の様々な制御部60は、
異なる時に異なる機能を実行することができる。
【0020】<システム全体の電子回路例>図2は、シ
ステム50の構成要素例のブロック図を示す。主な構成
要素は以下のものを含む。 ・メインプロセッサ(CPU)110、 ・メインメモリ112、および ・グラフィックス&音声プロセッサ114
【0021】本例においては、メインプロセッサ110
(たとえば、拡張されたIBMPowerPC750)
は、グラフィックス&音声プロセッサ114を介して手
持ちコントローラ108(および/または他の入力装
置)からの入力を受ける。メインプロセッサ110は、
ユーザ入力に対話的に応答して、たとえば外部記憶媒体
62から光学ディスクドライブなどの大容量記憶アクセ
ス装置106を介して供給されるビデオゲームなどのプ
ログラムを実行する。一例として、ビデオゲームプレイ
の場合、メインプロセッサ110は、様々な対話的な制
御機能に加えて、衝突検出や動画処理を行うことができ
る。
【0022】本例において、メインプロセッサ110
は、3Dグラフィックスコマンドおよび音声コマンドを
生成して、グラフィックス&音声プロセッサ114に送
る。グラフィックス&音声プロセッサ114は、これら
のコマンドを処理して、興味をそそる視覚的な画像をデ
ィスプレイ59に生成したり、興味をそそる立体音響を
ステレオスピーカ61Rおよび61Lなどの適切な音発
生装置に生成したりする。
【0023】本例のシステム50が含むビデオエンコー
ダ120は、グラフィックス&音声プロセッサ114か
ら画像信号を受信して、当該画像信号を、コンピュータ
モニタや家庭用カラーテレビ56などの標準的な表示装
置に表示するのに適切なアナログおよび/またはデジタ
ルビデオ信号に変換する。また、システム50が含む音
声コーデック(圧縮器/伸長器)122は、デジタル化
された音声信号の圧縮および伸長を行い、また、必要に
応じて、デジタルまたはアナログ音声信号形式への変換
を行なってもよい。音声コーデック122は、音声入力
をバッファ124を介して受信して、グラフィックス&
音声プロセッサ114に与えて、処理を行なうことがで
きる(たとえば、プロセッサが生成した他の音声信号と
ミキシングするおよび/または大容量記憶アクセス装置
106のストリーミング音声出力を介して受信する)。
本例のグラフィックス&音声プロセッサ114は、音声
関連情報を音声タスク用に利用可能な音声メモリ126
に記憶することができる。グラフィックス&音声プロセ
ッサ114は、処理結果の音声出力信号を音声コーデッ
ク112に与えて、スピーカ61Lおよび61Rによっ
て再生できるように、(たとえば、バッファ増幅器12
8Lおよび128Rを介して)伸長やアナログ信号への
変換が行われる。
【0024】グラフィックス&音声プロセッサ114
は、システム50内にある様々な付加的な装置と通信を
行うことが可能である。たとえば、パラレルデジタルバ
ス130が、大容量記憶アクセス装置106および/ま
たは他の構成要素との通信に用いられてもよい。シリア
ル周辺機器バス132が、様々な周辺機器などの機器と
の通信に用いられてもよく、それらの機器としては、た
とえば、以下のものを含む。 ・プログラム可能な読み出し専用メモリおよび/または
リアルタイムクロック134、 ・モデム136などのネットワークインターフェース
(インターネットなどのデジタルネットワークのよう
な、プログラム命令および/またはデータをダウンロー
ドしたりアップロードしたりすることが可能な電気通信
ネットワーク138に対して、システム50を接続する
ようなものであってもよい)、および ・フラッシュメモリ140。 別の外部シリアルバス142が、付加的な拡張メモリ1
44(たとえば、メモリカード)などの装置との通信に
用いられてもよい。コネクタが、様々な装置をバス13
0、132、および142を接続するために用いられて
もよい。
【0025】<グラフィックス&音声プロセッサの例>
図3は、グラフィックス&音声プロセッサ114の例の
ブロック図である。一例として、グラフィックス&音声
プロセッサ114は、単一チップASIC(特定用途向
けIC)であってもよい。本例において、グラフィック
ス&音声プロセッサ114は、以下のものを含む。 ・プロセッサインターフェース150、 ・メモリインターフェース/コントローラ152、 ・3Dグラフィックスプロセッサ154、 ・音声デジタル信号プロセッサ(DSP)156、 ・音声メモリインターフェース158 ・音声インターフェース&ミキサ160 ・周辺機器コントローラ162、および ・ディスプレイコントローラ164。
【0026】3Dグラフィックスプロセッサ154は、
グラフィック処理タスクを行う。音声デジタル信号プロ
セッサ156は、音声処理タスクを行う。ディスプレイ
コントローラ164は、画像情報をメインメモリ112
からアクセスして、それをビデオエンコーダ120に与
えて、表示装置56に表示させる。音声インターフェー
ス&ミキサ160は、音声コーデック122とインター
フェースし、また、別のソースからの音声(たとえば、
大容量記憶アクセス装置106からのストリーミング音
声、音声DSP156の出力、および音声コーデック1
22を介して受信した外部音声入力)をミキシングする
ことも可能である。プロセッサインターフェース150
は、メインプロセッサ110およびグラフィックス&音
声プロセッサ114間のデータおよび制御インターフェ
ースを提供する。
【0027】メモリインターフェース152は、グラフ
ィックス&音声プロセッサ114およびメモリ112間
のデータおよび制御に関するインターフェースを提供す
る。本例において、メインプロセッサ110は、グラフ
ィックス&音声プロセッサ114の一部であるプロセッ
サインターフェース150およびメモリインターフェー
ス152を介して、メインメモリ112にアクセスす
る。周辺機器コントローラ162は、グラフィックス&
音声プロセッサ114および上述の様々な周辺機器間に
おけるデータおよび制御に関するインターフェースを提
供する。音声メモリインターフェース158は、音声メ
モリ126とのインターフェースを提供する。
【0028】<グラフィックスパイプラインの例>図4
は、3Dグラフィックスプロセッサ154の例のより詳
細な図である。3Dグラフィックスプロセッサ154
は、特に、コマンドプロセッサ200と、3Dグラッフ
ィックスパイプライン180とを含む。メインプロセッ
サ110は、データのストリーム(たとえば、グラフィ
ックスコマンドストリームやデータリスト)をコマンド
プロセッサ200に伝達する。メインプロセッサ110
は、メモリの待ち時間を最小限にするための2レベルキ
ャッシュ115を有し、また、グラフィックス&音声プ
ロセッサ114向けの未キャッシュのデータストリーム
のためのライトギャザリングバッファ111も有する。
ライトギャザリングバッファ111は、部分キャッシュ
ラインを集めて完全キャッシュラインとし、このデータ
を1キャッシュラインずつグラフィックス&音声プロセ
ッサ114に送出して、バスが最大限に利用できるよう
にする。
【0029】コマンドプロセッサ200は、メインプロ
セッサ110から表示コマンドを受信し、これを解析し
て、処理に必要な付加データを共通メモリ112から取
得する。コマンドプロセッサ200は、頂点コマンドの
ストリームをグラフィックスパイプライン180に与え
て、2Dおよび/または3D処理およびレンダリングを
行う。グラフィックスパイプライン180は、これらの
コマンドに基づいて画像を生成する。生成された画像情
報は、メインメモリ112に転送されて、表示制御部/
ビデオインターフェース部164によってアクセスでき
るようにしてもよく、それによって、ディスプレイ56
にパイプライン180のフレームバッファ出力が表示さ
れる。
【0030】図5は、グラフィックスプロセッサ154
の論理フロー図である。メインプロセッサ110は、グ
ラフィックスコマンドストリーム210と、表示リスト
212と、頂点アレイ214とをメインメモリ112に
記憶してもよく、バスインターフェース150を介して
ポインタをコマンドプロセッサ200に渡す。メインプ
ロセッサ110は、メインメモリ110内に割り当てた
1つ以上のグラフィックス先入れ先出し(FIFO)バ
ッファ210にグラフィックスコマンドを記憶する。コ
マンドプロセッサ200は、以下のものを取り出す。 ・グラフィックスコマンドを受信およびバッファリング
して、同期/フロー制御およびロードバランシングを行
なうオンチップFIFOメモリバッファ216を介し
て、メインメモリ112からのコマンドストリーム、 ・オンチップ呼び出しFIFOメモリバッファ218を
介して、メインメモリ112からの表示リスト212、
および ・コマンドストリームからの、および/または頂点キャ
ッシュ220を介してメインメモリ112内の頂点アレ
イ214からの頂点属性。
【0031】コマンドプロセッサ200は、コマンド処
理動作200aを行って、属性型を浮動小数点形式に変
換し、その結果の完全な頂点ポリゴンデータをグラフィ
ックスパイプライン180に渡して、レンダリング/ラ
スタライズする。プログラム可能なメモリ調停回路13
0(図4参照)は、グラフィックスパイプライン18
0、コマンドプロセッサ200、および表示制御部/ビ
デオインターフェース部164の間で共通のメインメモ
リ112に対するアクセスを調停する。
【0032】図4に示すように、グラフィックスパイプ
ライン180は、以下のものを含んでもよい。 ・変換部300、 ・セットアップ/ラスタライザ400、 ・テクスチャ部500、 ・テクスチャ環境部600、および ・ピクセルエンジン部700。
【0033】変換部300は、2Dおよび3D変換など
の様々な処理300aを行う(図5参照)。変換部30
0は、変換処理300aに用いられるマトリックスを記
憶する1以上のマトリックスメモリ300bを含んでも
よい。変換部300は、頂点毎に入力される形状を、オ
ブジェクト空間から画面空間へ変換し、入力されるテク
スチャ座標を変換して投影テクスチャ座標を計算する
(300c)。変換部300は、ポリゴンクリッピング
/カリング(300d)を行ってもよい。また、変換部
300bによって行われるライティング処理300eに
よって、一実施例においては、8個の独立した光に対す
るライティング計算が頂点毎に行われる。また、変換部
300は、エンボス型のバンプマッピング効果を出すた
めのテクスチャ座標生成(300c)や、ポリゴンクリ
ッピング/カリング処理(300d)を行うこともでき
る。
【0034】セットアップ/ラスタライザ400は、セ
ットアップ部を含む。セットアップ部は、頂点データを
変換部300から受信して三角形セットアップ情報を1
以上のラスタライザ(400b)に送信して、エッジラ
スタライズ、テクスチャ座標ラスタライズ、およびカラ
ーラスタライズを行う。
【0035】テクスチャ部500(オンチップテクスチ
ャメモリ(TMEM)502を含んでもよい)、テクス
チャリング関連の様々なタスクを行う。タスクには、た
とえば、以下のものが含まれる。 ・メインメモリ112からテクスチャ504を取り出
す、 ・たとえばマルチテクスチャ処理、ポストキャッシュテ
クスチャ伸展、テクスチャフィルタリング、エンボス、
投影テクスチャを用いたシャドウおよびライティング、
ならびにアルファ透明およびデプスを用いたBLITを
含む、テクスチャ処理(500a)、 ・バンプマッピング、疑似テクスチャ、テクスチャタイ
リング効果のためのテクスチャ座標変換量を計算するバ
ンプマップ処理(500b)、および ・間接テクスチャ処理(500c)。
【0036】テクスチャ部500は、透過されたテクス
チャ値をテクスチャ環境部600に出力して、テクスチ
ャ環境処理を行なう(600a)。テクスチャ環境部6
00は、ポリゴンとテクスチャカラー/アルファ/デプ
スをブレンドし、テクスチャフォグ処理(600b)を
も行って、インバースレンジに基づくフォグ効果を達成
する。テクスチャ環境部600は、複数のステージを提
供して、たとえばカラー/アルファ・モジュレーショ
ン、エンボス、ディテールテクスチャリング、テクスチ
ャスワッピング、クランピング、およびデプスブレンデ
ィングに基づいて、他の興味をそそる様々な環境関連の
機能を行うことができる。
【0037】ピクセルエンジン700は、デプス(z)
比較(700a)およびピクセルブレンディング(70
0b)を行う。本例において、ピクセルエンジン700
は、組み込み(オンチップ)フレームバッファメモリ7
02にデータを記憶する。グラフィックスパイプライン
180は、1以上の組み込みDRAMメモリ702を含
んでもよく、フレームバッファの内容および/またはテ
クスチャ情報をローカルに記憶する。現在有効なレンダ
リングモードによっては、Z比較700a’は、グラフ
ィックスパイプラインの早い段階において行われること
もできる(たとえば、アルファスレッショルディングが
不要であれば、z比較は早い段階で行うことができ
る。)。ピクセルエンジン700は、コピー処理700
cを含む。これは、オンチップフレームバッファの内容
をメインメモリに周期的に書き込むものであり、表示/
ビデオインターフェース部164がアクセスできるよう
にする。このコピー処理700cを用いて、組み込みフ
レームバッファ702の内容からテクスチャまでを、メ
インメモリ112にコピーすることもでき、動的なテク
スチャ合成効果が得られる。アンチエイリアシングやそ
の他のフィルタリングは、コピーアウト処理中に行うこ
とができる。(最終的にはメインメモリ112に記憶さ
れる)グラフィックスパイプライン180のフレームバ
ッファ出力は、フレーム毎に、表示/ビデオインターフ
ェース部164によって読み出される。表示制御部/ビ
デオインターフェース164は、ディジタルRGBピク
セル値を与えて、ディスプレイ102に表示する。
【0038】<シャドウマッピング技術の例>本実施例
において、変換部300は、距離減衰係数を含むライテ
ィング式を計算するようにプログラムされているような
ライティング計算ハードウェアを含む。たとえば、共通
して譲渡された2000年8月23日出願の米仮出願番
号60/227,007および 出願
の対応特許出願番号(代理人整理番号723−96
7)、名称「グラフィックスシステムおよび方法におけ
る色消しライティング機能」(代理人整理番号723−
748)を参照のこと。このようなライティング計算
は、レンダリングされるシーンにおけるライトから任意
の面までの距離を決定するために用いることができる。
光強度は、距離とともに減衰する(たとえば、線形で)
ので、その結果得られる、レンダリングされた面におけ
る輝度値は、ライトから面までの距離を示すために用い
ることができる。この計算されたデプス値は、シャドウ
マップデプス値と比較されて、ピクセルを陰付けするか
否かを決定する。
【0039】本実施例において、ライティング計算出力
は、8ビット幅である。たとえば、この値は、単一の色
要素(たとえば、RGB3色のうちの赤要素)に含まれ
ていてもよい。8ビット精度は、ライティング処理には
充分なものであが、シャドウマップデプスとの比較を行
って、任意のシャドウ複雑性を有するシーンに対してフ
ルシーンのシャドウイング技術を適用するためには不充
分な場合もある。変換部300を修正して、1チャンネ
ルあたり8ビット以上になるようにすることは可能であ
ろうが、変換部がコスト高になり、複雑になってしま
う。
【0040】グラフィックスパイプライン180内の変
換部300に続くテクスチャ部500は、カラーチャン
ネル毎に充分な精度を有しており、この精度はグラフィ
ックスパイプライン180を通じて伝達される。テクス
チャ部500は汎用プロセッサではなく、むしろ、好ま
しい実施例においては、テクスチャマッピング機能を行
うように設計されている。我々は、テクスチャ座標生成
ハードウェアを用いて、距離を展開し、距離がテクスチ
ャ座標に入ったら、テクスチャをサンプリングして8ビ
ット以上の精度を得る方法を発見した。たとえば、一例
として、シャドウ比較に関する特にこの実施例におい
て、16ビットから19ビットまでの精度を取得するこ
とができる。
【0041】より詳細には、より高精度のテクスチャ座
標生成部とシステム50のテクスチャマッピング部50
0とを用いてグラフィックスパイプライン180によっ
て計算されたデプス値の精度をシャドウマップ比較のた
めに高める代替技術を、我々は発見した。図6は、一例
であるルーチン1000を示し、システム50は、数値
精度の高いデプス比較を行うフルシーンシャドウマッピ
ングを行うことができる。本例において、グラフィック
スパイプライン180は、シャドウマップデプステクス
チャを第1のパスで生成する(ブロック1002)。第
2のパスにおいて、従来のテクスチャ投影技術を用い
て、シャドウマップデプステクスチャをシーンに投影す
る(ブロック1002)。また、第2のパスにおいて、
変換部300は、テクスチャ座標生成とテクスチャマッ
ピングとを用いて、ライトの位置から描画される面まで
の距離を示す精度数値を決定する(ブロック100
4)。
【0042】より詳細には、変換部300を制御して、
(たとえば、ライト位置からの頂点位置のモデルビュー
変換と、シーンデプスの動的な範囲を考慮したスケーリ
ング変換との組み合わせを用いて)面からライトまでの
距離を示すテクスチャ座標を生成する。そして、結果得
られたテクスチャ座標を、ランプ関数テーブルに記憶さ
れたより精度の高いデプス値をルックアップするため
に、テクスチャ部500に適用して、テクスチャ部が通
常のテキスチャとして処理できるようにする(ブロック
1006)。このようにして得られた高精度の距離値
は、対応のシャドウマップデプス値と比較され、ピクセ
ルを陰付けするか否かを決定するのに用いることができ
る(ブロック1008)。その後、システム50は、こ
の技術によってフルシーンで陰付けされた画像を表示す
ることができる(ブロック1010、画像の例として図
18を参照)。
【0043】<より詳細な実施例>図7は、システム5
0を動作させてフルシーンで陰付けされた画像を提供す
るためのより詳細な処理の例1020を示し、図8は、
第2のパスのグラフィックスパイプライン処理の例を示
す。図7は、第1のパスにおいて、組み込みフレームバ
ッファ702のバッファ部に光源視点からのシーンデプ
スを入れてレンダリングすることによって生成されたシ
ャドウマップを示す(ブロック1022)。共通して譲
渡された同時継続出願の2000年8月23日出願の仮
出願番号60/226,900および2000年11月
28日出願の対応特許出願番号09/726,226
(代理人整理番号723−964)、名称「グラフィッ
クスシステムのエイリアス補正方法および装置」を参照
のこと。本実施例では、この処理中にフロントフェイス
・カリングが起動されて、ワング他の上述の「第2のデ
プス」アルゴリズムが実施される。その結果得られた、
組み込みフレームバッファ702に記憶されたデプスマ
ップは、ピクセルエンジン700によってテクスチャに
コピーアウトされる(ブロック1024)。共通して譲
渡された2000年8月23日出願の仮出願番号60/
227,030および2000年11月28日出願の対
応特許出願番号09/722,663(代理人整理番号
723−963)、名称「内部フレームバッファと主メ
モリ間でのコピーアウト変換を有するグラフィクスシス
テム」を参照のこと。効率化のために、ブロック102
2は、カラーフレームバッファの更新をOFFにして行
うこともできる。なぜなら、本願では、デプス値の生成
のみが主眼だからである。
【0044】第2のパス中において、カメラ(すなわ
ち、ユーザ)の視点から、シーンがレンダリングされる
(ブロック1026)。各ピクセルに関して、適切なテ
クスチャ投影マトリックスが適用されて、シャドウマッ
プテクスチャがシーンに投影される(ブロック102
6)。さらに、オブジェクト空間の頂点位置は、光源に
おける視点を規定するモデルビューマトリックスを用い
て、オブジェクト空間から光空間(シャドウマップがレ
ンダリングされたのと同じ空間)へ変換される(ブロッ
ク1028)。結果得られるz値は、面からライトまで
の距離を表している。
【0045】本実施例において、テクスチャ座標生成処
理は、このデプス値に対して追加の変換を行う。この追
加の変換は、シーンの動的なデプス範囲に基づくもので
ある。本実施例においては、計算された距離値を動的な
距離範囲(すなわち、カメラが「見る」ことができる直
近の面とカメラが見ることができる最も遠い面との差)
に基づいて変換するために、テクスチャ座標変換処理は
用いられる。図12を参照のこと。
【0046】第2の変換の結果、デプスランプを(たと
えば、線形に)増加させることを規定するランプ「テク
スチャ」をルックアップテーブルにおいてインデックス
するためのテクスチャ座標が与えられる。本実施例にお
いて、テクスチャ部500は、ランプルックアップテー
ブルを他のテクスチャとしてみなし、それに対して、変
換部300によって生成されたテクスチャ座標に基づい
て通常のテクスチャマッピング処理を行う。たとえば、
共通して譲渡された2000年8月23日出願の仮出願
番号60/226,891および2000年11月28
日出願の対応特許出願番号09/722,382(代理
人整理番号723−961)、名称「グラフィクスシス
テムにおいて直接および間接テクスチャを処理するため
の方法および装置」を参照のこと。しかしながら、結果
生じたテクセル値は、面の色や不透明度を直ちに修正す
るために用いられるわけではない。むしろ、テクセル値
によって、対応する投影されたシャドウマップデプス値
と比較される精度デプス値が与えられ、シャドウイング
の判断が行われる(ブロック1032)。
【0047】ランプ関数は、充分な解像度を有する1次
元テクスチャで記憶されるのが理想的であろう。しかし
ながら、多くの低価格のグラフィックスシステムは、扱
えるテクスチャの最大サイズに限界がある。たとえば、
ある例においては、システム50は、最大1024x1
024のテクセルを扱うことができる。1次元1024
テクセル・ランプ関数テクスチャは、10ビットの数値
精度を提供する。これは、8ビットより高精度だが、よ
り高精度を求めたい。したがって、テクスチャ座標生成
を用いてデプス値(ライトから面までの距離)を符号化
して2つのテクスチャ座標(s,t)の組み合わせ値と
し、ランプ関数を要求に充分合うような精度を提供する
サイズの2次元テクスチャにして記憶する。たとえば、
1024x1024の2次元テクスチャは、1024テ
クセルの1次元テクスチャと比較して、(ほぼ)2倍の
精度を提供することができる。精度を最大にするには、
シーンのデプス範囲に基づいてデプス値を動的に変換す
ることもできる。そうすれば、どの2Dのランプテクス
チャ値も、距離的にアクセスできないといったことはな
くなり、無駄にはならなくなる。
【0048】図7を再び参照して、テクスチャ座標生成
とテクスチャマッピング処理とを用いて面デプス値を求
めると、このデプス値をシャドウマップ内の対応するデ
プス値と比較することができる。シャドウマップデプス
がライトに対するピクセルデプスより浅ければ、シャド
ウ内のピクセルおよび輝度は減衰される(判断ブロック
1032の「Yes」出口、ブロック1034)。10
26〜1034の処理は、レンダリングされるピクセル
毎に行われる。すべての面上のすべてのピクセルが処理
されると(判断ブロック1036の「No」出口)、フ
ルシーンで陰付けされた画像は完了し、表示されうる
(ブロック1038)。
【0049】図8は、第2のパス中にグラフィックスパ
イプライン180によって行われる処理を示す。この例
において、変換部300は、見る者の視点にあるカメラ
に基づいて従来のモデルビュー変換を行い、また、入力
される頂点定義をライティングして(ブロック105
0)、その結果をラスタライザ400に与えて(ブロッ
ク1052)、ラスタライズされたグローシェーディン
グされたピクセルカラー/アルファ/zを生成する。本
実施例においては、これらの値は、テクスチャ環境部6
00に与えられ、ブレンディングされる(ブロック10
54)。また、本実施例において、所定のシャドウカラ
ー値もブレンド処理に与えられる(1054)。
【0050】従来の投影テクスチャ変換(シーンを設計
した者の好みに基づく正射影または透視)が、変換部3
00によって行われ(ブロック1056)、テクスチャ
座標が生成される(ブロック1058)。テクスチャ部
500は、対応のテクスチャマッピング処理を行って、
シャドウマップテクスチャをシーンに投影する。結果得
られたデプス値は、比較処理に与えられる(106
0)。この比較処理は、本実施例においては、テクスチ
ャ環境部600によって行われる。
【0051】ピクセルデプス値は、変換部300および
テクスチャ部500を介して、ブロック1062,10
64,および1066によって行われる。上述のよう
に、変換部300によって行われるモデルビュー変換に
よって、ライトからのピクセルデプスが決定され(ブロ
ック1062)。これは、ピクセルの位置を、シャドウ
を掛けるライトの位置に変換することによって行われ
る。また、テクスチャ座標生成に関連してさらなる変換
を行って、シーンのデプス範囲に基づいてz(デプス)
値を行うこともできる(ブロック1064)。これら2
つの変換(1062,1064)は、テクスチャ座標
s,tを生成する単一のマトリックス乗算によって組み
合わせて行うことができる。結果生じるテクスチャ座標
s,tはテクスチャ部500によって用いられて、ラン
プテクスチャ・ルックアップテーブルから精度距離値を
ルックアップするというテクスチャマッピング処理を行
う(ブロック1066)。この結果値は、比較ブロック
1060によって用いられて、シャドウマップデプスと
比較される。
【0052】比較処理1060では、シャドウマップデ
プス値を、シャドウを掛ける位置に対するピクセルデプ
ス値と比較する。比較出力は、ブレンド処理(105
4)に与えられ、所定のシャドウカラーがラスタライズ
されかつ陰付けされたピクセルカラーの代わりに用いら
れるべきかどうかを制御する。他の実施例においては、
ブレンド処理1054は、ピクセルカラーを調節(たと
えば、減衰)して、デプス比較結果が表すピクセルがシ
ャドウ内に入るようにピクセルを暗くする。
【0053】<ランプテクスチャの例>上述のように、
システム50の一実施例を用いて、単一のテクスチャ座
標内のピクセル距離値を符号化して1次元テクスチャを
ルックアップして独自性(すなわち、パススルー)を与
えると、1024x1024テクセルという最大テクス
チャサイズに基づいて、10ビットの距離精度を得るこ
とができる。2つのテクスチャ座標(たとえば、1つの
座標は他の座標を変倍したもの)を用いると、2次元テ
クスチャ内のすべての(またはほとんどの)テクセルを
通じてランプ距離関数を伝達させることができる。図9
および10は、それぞれ、8ビット(16x16)およ
び16ビット(256x256)フォーマットの2次元
ランプテクスチャの例を示す。それぞれの場合におい
て、線形に増加するランプ関数は、テクスチャの各列で
降下するように見える点に注意されたい。ランプ関数
は、連続する列で継続し、最小値(たとえば、00また
は0000)から最大値(たとえば、0xFFまたは0
xFFFF)を与える。このようなランプテクスチャ
は、メインプロセッサ110による処理(図11参照)
を通じて動的に生成することができ、あるいは、静的に
予め規定しておき、大容量記憶装置から必要なときに単
にロードされるようにしてもよい。このような例におい
て、特定テクスチャ列はS座標によって選択され、Tテ
クスチャ座標は、特定の距離値化されたテクセルを選択
された列内で選択する。
【0054】図示のランプテクスチャによって、2つの
テクスチャ座標S,Tは、テクスチャマッピング処理に
よって生成可能な精度距離値を符号化することができ
る。これにより、単一のテクスチャ座標を用いて達成可
能な精度を実質2倍にする。たとえば、図9および10
に示すテクスチャ例に基づくテクスチャマッピング処理
を用いれば、入力テクスチャ座標値および出力テクセル
(デプス)値の関係が以下のように生じる。
【表1】
【0055】本実施例において、各テクセルは、数値と
して解釈される。たとえば、16ビット幅のテクセル
は、16ビット数に解釈することができる。テクスチャ
マッピングの場合、直近のサンプル値が選ばれなければ
ならない(たとえば、双一次補間は用いてはならな
い)。
【0056】図12は、変換部300内のテクスチャ座
標生成ハードウェアを用いる技術の例であって、図9お
よび10に示すようなランプテクスチャのルックアップ
のための距離を表すテクスチャ座標s,tを生成する。
本実施例においては、所定の視点と、所定の位置と、所
定の距離範囲とを与えるようにカメラが構成される。カ
メラ距離範囲は、近z値(N)および遠z値(F)によ
ってパラメータ化される。カメラのデプス範囲は、近z
と遠zとの間の距離(すなわち、F−N)によって特定
される。これらの範囲パラメータを用いて頂点位置を変
換し、これによって、オブジェクト空間から光空間への
頂点位置の総変換が行われる。光空間は、シーンのデプ
ス範囲に正確に「適合」するようにランプが与えた数値
精度の動的な範囲に拡がっている。
【0057】本実施例において用いられる、距離をテク
スチャ座標対に変換するための特定の関数は、透視投影
か正射影投影かによって異なる。以下に、これら2つの
場合における計算例を示す。
【0058】<透視>
【数1】 縮尺例 = 16(8ビットモード)/256(16ビ
ットモード)
【数2】 z=−Nのとき、sは0となり、z=−Fのとき、1と
なる。
【0059】<正射影>
【数3】 縮尺例 = 16(8ビットモード)/256(16ビ
ットモード)
【数4】 z=−Nのとき、sは0となり、z=−Fのとき、1と
なる。
【0060】なお、z値は、これら計算の両方において
存在することに留意されたい。上記の結果得られる変換
マトリックスは、ライト位置に基づくモデルビュー変換
から生じるz値を、図9および10に示すようなランプ
テクスチャにインデックスするのに用いられるs,tテ
クスチャ座標に変換する。変換部300は、比較的高精
度のテクスチャ生成計算を行い(特に、2つのテクスチ
ャ座標が並行して生成される場合)、また、本ランプテ
クスチャ例は、比較的高精度のルックアップ値を与える
(特に、2つのテクスチャ座標を用いて2次元テクスチ
ャをマッピングする場合)ので、この技術により、比較
的高精度のピクセルデプス値を得ることができる。
【0061】精度はこれで適切になったものの、2次元
テクスチャマッピング処理において曖昧さが生じること
があり、これにより、ランプテクスチャから選択される
べき値が不正確になることがある。図9および10に示
すランプテクスチャの例において、境界をまたいで不正
確な値に「ジャンプ」することもあり、シャドウ比較に
アーティファクトを招く場合がある。たとえば、システ
ムがテクスチャをトラバースする度に次の隣接するテク
スチャの列または行へ移動するように、ランプ関数をテ
クスチャの全幅に渡って与えることにより、エラーを招
くことがある。これらのエラーをなくすために、より少
数の固有デプス値を含む修正されたランプテクスチャを
用いることが可能である。重複値を記憶して、ルックア
ップエラーを除去する。図13および14は、このよう
なランプテクスチャの例である。
【0062】図13および14に示すランプテクスチャ
は、1次元フォーマット内のテクスチャマップに渡る
が、時折(すなわち、ランプがテクスチャ行間を「渡
る」場合)、次の下行にある同一のサンプルを与えるよ
うな、浅いランプ関数を提供する。図13および14に
示すように、修正されたアプローチにおいては、システ
ムが1行中1テクセルを除いてトラバースする度にテク
スチャ内の次の行に移動する。たとえば、簡略化された
図13のランプテクスチャを参照して、ランプ期間はテ
クスチャ幅と完全に一致しているわけではないので、各
隣接する1次元テクスチャ行のある一定数のテクセルを
重複させることができる。したがって、図13および1
4に示すランプテクスチャの例において、テクセルすべ
てが固有値を表さなくてもよい。なぜなら、テクセルの
うちのいくつかは重複しているからである。さらに、テ
クセルには、零値を含むものがあってもよい。なぜな
ら、ランプ関数は、それらにアクセスするからである。
これらの例において、すべてのテクセルを用いるわけで
はないが、ほぼすべてのテクセルを用いることができ
る。上述のデプス値を計算するために用いられる式が用
いられて、テクスチャをトラバースするための完全な右
傾斜を有する傾斜の浅い線を生じさせる。本実施例にお
ける変換部300内のテクスチャ生成ハードウェアおよ
びテクスチャ座標の生成/ラスタライジングにおけるテ
クスチャサンプリングは、この傾斜を維持するのに充分
正確であり、テクスチャを通じていかなるアーティファ
クトをも生じさせるものではない。したがって、図13
および14に示すランプテクスチャ例は、これらの条件
において、エラーを生じさせるものではなく、シャドウ
比較において、ランプテクスチャ・ルックアップエラー
が原因となるアーティファクトは生じない。
【0063】<詳細な実施例>図15および16は、シ
ステム50上でシャドウマッピングを行うためにメイン
プロセッサ110内において実行するアプリケーション
のより完全で詳細な実施例を示す。手順1100は、シ
ステム50を初期化することによって開始する(ブロッ
ク1102)。この初期化には、頂点フォーマットと、
ライトを含むシーンパラメータとの初期化とを含む(ブ
ロック1104)。その後、ルーチン1100は、1以
上の上述のランプテクスチャを生成または取り出し(ブ
ロック1106)、表示モードをOFFにして動的なシ
ャドウマップのためにメモリを確保することによって、
第1のパス処理の準備を行う(ブロック1108)。そ
の後、システム50は、カラーフレームバッファ更新を
禁止にし(zのみ更新される)(ブロック1110)、
テクスチャ環境部600内のシェーダを、第1のパス処
理のために設定して、シャドウデプスマップを生成する
(ブロック1112)。システム50は、フロントフェ
イス・カリングを許可して、ライトからの「第2の」面
のみを描画し、(ブロック1114)、視点をライト位
置に設定する(ブロック1116)。その後、グラフィ
ックスパイプライン180は、シーンを描画し、陰面除
去を行ってzバッファ内にデプスマップを作成する(ブ
ロック1118)。シーンがライト位置から描画される
と、zバッファデプスマップ(ライト位置に対する、シ
ーン内のすべてのプリミティブに関するすべての直近の
「第2の」面のデプスを含む)、システム50は、zバ
ッファをテクスチャにコピーして、zバッファをフラッ
シュする(ブロック1120)。
【0064】第2のパス処理を準備して、システム50
は、カラー更新を許可にして(ブロック1122)、フ
ロントフェイス・カリングをOFFにする(ブロック1
124)。その後、システム50は、主画像をレンダリ
ングするためにビューポート/カメラ/ライトを設定し
(ブロック1126)、シャドウマップテクスチャを設
定する(ブロック1128)。システム50は、テクス
チャ環境部600内の再循環シェーダのためにモード/
ステージを設定して、見る者からの実際のシーンをフル
シーンシャドウで描画するための第2のパスのパラメー
タを得る(ブロック1130)。図17に示すように、
シェーダの構成例は、以下のものを生じさせる。 ・デプス値をランプテクスチャからロードする、ステー
ジ0シェーダ処理、 ・ロードされたランプテクスチャデプス値をシャドウマ
ップデプス値と比較して、ランプテクスチャデプス値が
シャドウマップデプス値以上であれば0を出力する、ス
テージ1シェーダ処理、および ・ステージ1が0を出力した場合には、予め設定された
シャドウカラーを出力し、その他の場合はラスタライズ
されたカラーを出力する、ステージ2シェーダ処理。テ
クスチャ環境部に含まれる再循環シェーダの処理に関す
る詳細は、共通して譲渡された、2000年8月23日
出願の仮出願番号60/226,888および2000
年11月28日出願の対応特許出願番号09/722,
367(代理人整理番号723−968)、名称「グラ
フィクスシステム用再循環シェードツリーブレンダ」を
参照のこと。
【0065】その後、プロセッサ110は、テクスチャ
座標生成マトリックスをロードして、シャドウマップテ
クスチャ投影およびランプデプス値テクスチャルックア
ップを行う(ブロック1132)。一実施例によれば、
以下のソースコードを用いて、シャドウ投影マトリック
スおよびデプスルックアップマトリックスを生成するこ
とができる(透視または正射影)。
【挿入1】
【0066】以下のソースコード部分例は、ライト用の
パラメータを設定し、これには、モデルビューマトリッ
クスによって乗算される適切な変換マトリックスを含
む。
【挿入2】
【0067】様々な変換マトリックスがロードされる
と、プロセッサ110は、シャドウマップとランプテク
スチャとをテクスチャ部500にロードする(ブロック
1134)。これで、グラフィックスパイプライン18
0は、シーンを描画できることになり(ブロック113
6)、描画が完了すると表示される(ブロック113
8)。
【0068】上述したように、本実施例においては、テ
クスチャ環境部600内の再循環シェーダは、シャドウ
デプス比較と、その比較結果に基づくシャドウカラーへ
のブレンドとを行うために用いられるとした。行われる
シャドウマッピング処理の精度によっては、別の再循環
シェーダステージが用いられてもよい。一実施例におい
て、単一のステージにおける2つのデプス値を比較する
ために、再循環シェーダ内において、8/16/24ビ
ット比較器が用いられるとした。そのような比較器が利
用できないような実施例の場合でも(たとえば、低精度
の8ビット比較のみが実施可能な場合)、再循環シェー
ダは高精度の比較を行うことが可能であるが、そのため
には複数のステージが必要となる場合もある。たとえ
ば、あるステージは、(たとえばひとつのテクセルカラ
ー要素に含まれる)各デプス値の最上位部を比較するた
めに用いられ、別のステージは、(たとえば、他のテク
セルカラー要素に含まれる)各値の最下位の位置を比較
するために用いられてもよい。以下は、8ビット比較器
のみを必要とする、精度の異なるシェーダ処理のための
再循環シェーダ構成の例である。これらの例において、
R0は、シャドウカラーを保持し、RASCは、点灯さ
れた頂点カラーであり、RPは、TEVPREVレジス
タである。
【0069】<8ビット比較モードの例>
【挿入3】
【0070】<8ビット比較のシーケンスを用いた16
ビット比較モードの例>
【挿入4】
【0071】<4ステージの16ビットモードの例(い
くつかのアーティファクトを生じさせる可能性あり>
【挿入5】
【0072】以下のソースコード例は、所望の比較やシ
ャドウ描画を行うために再循環シェーダ例をどのように
制御するかをさらに詳細に示す。
【挿入6】
【0073】以下は、システム50が上述のシャドウマ
ッピングを行うのに用いる、図示のアプリケーションプ
ログラミングインターフェースコマンド例のレパートリ
・リストである。
【表2】
【0074】<結果画像の例>図18は、フルシーンシ
ャドウマッピングによって生成された画像の例である。
この例では、トーラス形状のオブジェクトが、格子模様
のフロアパネル上にシャドウを投影する。ライトは、見
る者の視点から離れた点からやってくるように見える。
システム50は、図18に示すようなシーンをリアルタ
イムでレンダリングすることができる。
【0075】<識別技術を用いたさらなる実施例>図2
1および22は、オブジェクト識別技術に基づいてシス
テム50が行うことができる、シャドウマッピングの一
実施例である。この実施例では、上述の、ライト視点か
らの全シーンをレンダリングするが、zバッファをデプ
ス比較のためのシャドウマップとして用いるのではな
く、各オブジェクトを、個別の識別番号によってペイン
トする。たとえば、この識別番号は、符号化されて、カ
ラーフレームバッファ702の1つ以上のカラー要素の
グレースケール値となってもよい。一意のオブジェクト
IDが、各オブジェクトに割り当てられる。一例におい
て、IDは8ビット幅であり、メインプロセッサ110
によって変換部300にマテリアルカラーとして書きこ
まれる。それによって、オブジェクトIDは、グラフィ
ックスパイプライン180にキャリーダウンされ、組み
込みカラーフレームバッファ702のカラーチャンネル
の1つに書き込まれる。その結果、第1のパスのレンダ
リング処理の最後には、カラーフレームバッファは、ラ
イトが「見る」ことができるすべてのオブジェクトのI
Dを含む。図19および20のブロック2100〜21
18を参照のこと。
【0076】第1のパスの最後では、カラーフレームバ
ッファの適切な内容(ID)がテクスチャにコピーされ
て(ブロック2120)、第2のパスのテクスチャマッ
ピング処理に用いられる。その後、カメラ(ユーザ)の
視点から見た全シーンが再びレンダリングされる。シャ
ドウマップオブジェクトIDテクスチャは、従来のテク
スチャ投影を用いてシーンに投影され、テクスチャ環境
部600は、各ピクセルについて、描画すべきオブジェ
クトのID番号と投影されたシャドウマップテクスチャ
からのID番号とを比較する。2つのID番号が同様で
ない場合、ライトからの光線は、別のIDを有する他の
オブジェクトによって妨害されているということにな
る。本例のテクスチャ環境部600は、所定のシャドウ
カラーをピクセルにブレンドする(または、ピクセルの
輝度を減衰させる)。本例のテクスチャ環境部600に
よって行われる比較は、2つのステージを有する。第1
のシェーダステージは、オブジェクトIDをシャドウマ
ップから受け取るために用いられ、第2のシェーダステ
ージは、シャドウマップIDとレンダリングされたオブ
ジェクトIDとの比較結果に基づいて、所定のシャドウ
カラーをブレンドするために用いられる。図20のブロ
ック2126〜2136を参照のこと。
【0077】<互換可能な他の実施例>上述のシステム
構成要素50のうちのあるものは、上述の家庭用ビデオ
ゲームコンソール以外であっても実施できる。たとえ
ば、システム50のために書き込まれているグラフィッ
クスアプリケーションなどのソフトウェアを、システム
50をエミュレートするかまたはそれと互換性のある他
の構成を用いたプラットフォーム上で実行することがで
きる。他のプラットフォームが、システム50のハード
ウェアおよびソフトウェア資源の一部または全部をうま
くエミュレート、模倣、および/または提供できるので
あれば、当該他のプラットフォームは、ソフトウェアを
うまく実行することができるであろう。
【0078】一例として、エミュレータは、システム5
0のハードウェアおよび/またはソフトウェア構成(プ
ラットフォーム)とは異なるハードウェアおよび/また
はソフトウェア構成(プラットフォーム)を提供しても
よい。エミュレータシステムは、アプリケーションソフ
トウェアを書き込む対象であるシステムのハードウェア
および/またはソフトウェア構成要素の一部またはすべ
てをエミュレートするハードウェアおよび/またはソフ
トウェア構成要素を含んでいてもよい。たとえば、エミ
ュレータシステムは、パーソナルコンピュータなどの汎
用デジタルコンピュータを備えることができ、これによ
って、システム50のハードウェアおよび/またはファ
ームウェアを模倣するソフトウェアエミュレータプログ
ラムが実行される。
【0079】汎用デジタルコンピュータの中には(たと
えば、IBMまたはマッキントッシュ製パーソナルコン
ピュータおよびその互換機)、現在、DirectX3
Dやその他の標準グラフィックスコマンドAPIに対応
したグラフィックスパイプラインを提供する3Dグラフ
ィックスカードが搭載されているものもある。これらに
は、また、標準的なサウンドコマンドに基づいて高品質
の立体音響を提供する立体音響サウンドカードも搭載さ
れている場合もある。エミュレータソフトウェアを実行
させるこのようなマルチメディアハードウェアを搭載し
たコンピュータは、システム50のグラフィックス性能
およびサウンド性能を近似するに充分な性能を有してい
る場合がある。エミュレータソフトウェアは、パーソナ
ルコンピュータプラットフォーム上のハードウェア資源
を制御して、ゲームプログラマがゲームソフトウェアを
書き込む対象である家庭用ビデオゲームゲームコンソー
ルプラットフォームの処理性能、3Dグラフィックス性
能、サウンド性能、周辺性能などを模倣する。
【0080】図19は、エミュレーション処理全体の例
を示しており、この処理は、ホストプラットフォーム1
201と、エミュレータ構成要素1303と、記憶媒体
62上に与えられているバイナリ画像を実行可能なゲー
ムソフトウェアとを用いる。ホスト1201は、汎用ま
たは専用デジタルコンピューティング装置であってもよ
く、たとえばパーソナルコンピュータやビデオゲームコ
ンソールなど、充分な計算能力を備えたプラットフォー
ムが挙げられる。エミュレータ1303は、ホストプラ
ットフォーム1201上で実行されるソフトウェアおよ
び/またはハードウェアであってもよく、コマンドやデ
ータなどの記憶媒体62からの情報をリアルタイムで変
換して、ホスト1201が処理可能な形式にすることが
できる。たとえば、エミュレータ1303は、システム
50が実行しようとする「ソース」バイナリ画像プログ
ラム命令を記憶媒体62から取り出して、実行可能な形
式またはホスト1201によって処理可能な形式に当該
プログラム命令を変換する。
【0081】一例として、IBMのPowerPCなど
の特定のプロセッサを用いたプラットフォーム上で実行
するためにソフトウェアが書き込まれており、ホスト1
201は、異なる(たとえば、インテルの)プロセッサ
を用いたパーソナルコンピュータである場合、エミュレ
ータ1303は、バイナリ画像プログラム命令の1つま
たはシーケンスを記憶媒体1305から取り出して、こ
れらのプログラム命令を、インテルのバイナリ画像プロ
グラム命令に相当するものに変換する。また、エミュレ
ータ1303は、グラフィックス音声プロセッサ114
によって処理されるグラフィックスコマンドや音声コマ
ンドを取り出しおよび/または生成し、ハードウェアお
よび/またはソフトウェアグラフィックスおよびホスト
1201で利用可能な音声処理資源によって処理可能な
形式に、これらコマンドを変換する。一例として、エミ
ュレータ1303は、これらのコマンドを、ホスト12
01の特定のグラフィックスおよび/またはサウンドハ
ードウェアによって処理可能なコマンドに変換する(た
とえば、DirectX、OpenGLおよび/または
サウンドAPIを用いる)。
【0082】上述のビデオゲームシステムの機能の一部
または全部を提供するために用いられるエミュレータ1
303には、エミュレータを用いて実行される様々なオ
プションや画面モードの選択を簡略化または自動化する
グラフィックユーザインターフェース(GUI)が与え
られてもよい。一例として、そのようなエミュレータ1
303は、ソフトウェアが本来対象としていたホストプ
ラットフォームに比較して、拡張された機能をさらに含
んでいてもよい。
【0083】図20は、エミュレータ1303と共に用
いられるのに適したエミュレーションホストシステム1
201を示す。システム1201は、処理部1203
と、システムメモリ1205とを含む。システムバス1
207は、システムメモリ1205から処理部1203
までを含む様々なシステム構成要素を結合する。システ
ム1207は、メモリバスまたはメモリコントローラ、
周辺機器バス、ローカルバスなど、様々なバスアーキテ
クチャのいずれかを用いたものを含む、数種のバス構成
のいずれであってもよい。システムメモリ1207は、
読み出し専用メモリ(ROM)1252と、ランダムア
クセスメモリ(RAM)1254とを含む。ベーシック
入出力システム(BIOS)1256は、パーソナルコ
ンピュータシステム1201内の要素間において情報を
転送するのを助ける基本ルーチンを含んでおり、ROM
1252に記憶される。システム1201は、様々なド
ライブや、関連したコンピュータが読み取り可能な媒体
をさらに含む。ハードディスクドライブ1209は、
(典型的には固定された)磁気ハードディスク1211
からの読み出しやそれに対する書き込みを行う。付加的
な(選択可能な)磁気ディスクドライブ1213は、着
脱可能な「フロッピー(登録商標)」などの磁気ディス
ク1215からの読み出しやそれに対する書き込みを行
う。随意のディスクドライブ1217は、CDROMな
どの随意の媒体のような着脱可能な光ディスク1219
からの読み出しや、構成によってはそれに対する書き込
みも行う。ハードディスクドライブ1209および光デ
ィスクドライブ1217は、それぞれ、ハードディスク
ドライブインターフェース1221および光ドライブイ
ンターフェース1225によって、システムバス120
7に接続している。ドライブやそれに関連するコンピュ
ータが読み出し可能な媒体によって、コンピュータが読
み出し可能な命令、データ構造、プログラムモジュー
ル、ゲームプログラムなどのパーソナルコンピュータシ
ステム1201のためのデータが不揮発的に記憶され
る。他の構成においては、コンピュータが読み出し可能
な他の種類の媒体が用いられていてもよく、コンピュー
タによってアクセス可能なデータを記憶できる媒体(た
とえば、磁気カセット、フラッシュメモリカード、デジ
タルビデオディスク、ベルヌーイカートリッジ、ランダ
ムアクセスメモリ(RAM)、読み出し専用メモリ(R
OM)など)であってもよい。
【0084】エミュレータ1303を含む多くのプログ
ラムモジュールは、ハードディスク1211、着脱可能
な磁気ディスク1215、光学ディスク1219、およ
び/またはシステムメモリ1205のROM1252お
よび/またはRAM1254に記憶されてもよい。その
ようなプログラムモジュールは、グラフィックスやサウ
ンドAPIを提供するオペレーティングシステム、1つ
以上のアプリケーションプログラム、他のプログラムモ
ジュール、プログラムデータ、ゲームデータを含んでも
よい。ユーザは、コマンドや情報を、キーボード122
7、ポインティングデバイス1229、マイク、ジョイ
スティック、ゲームコントローラ、衛星アンテナ、スキ
ャナなどの入力装置を通じて、パーソナルコンピュータ
システム1201に対して入力する。このような入力装
置は、システムバス1207に結合されたシリアルポー
トインターフェース1231を介して処理部1203に
接続されることが可能であるが、パラレルポートや、ゲ
ームポートファイアワイヤーバス、またはユニバーサル
シリアルバス(USB)などの他のインターフェースに
よって接続されてもよい。モニタ1233などの表示装
置も、ビデオアダプタ1235などのインターフェース
を介して、システムバス1207に接続される。
【0085】また、システム1201は、インターネッ
トのようなネットワーク1152上での通信を確立する
ための、モデム1154などのネットワークインターフ
ェース手段を含んでもよい。モデム1154は、内蔵で
あっても外付けであってもよく、シリアルポートインタ
ーフェース1231を介してシステムバス123に接続
される。また、ローカルエリアネットワーク1158を
介して(または、ワイドエリアネットワーク1152、
ダイアルアップなどの他の通信路、または他の通信手段
を介してもよい)、システム1201が遠隔コンピュー
ティング装置1150(たとえば、他のシステム120
1)と通信できるように、ネットワークインターフェー
ス1156が与えられてもよい。システム1201は、
典型的には、プリンタなどの標準周辺機器のような、他
の周辺出力装置を含む。
【0086】一例において、ビデオアダプタ1235
は、Microsoft製DirectX7.0などの
バージョンのような標準3Dグラフィックスアプリケー
ションプログラマインターフェースに基づいて出される
3Dグラフィックスコマンドに応答して、高速3Dグラ
フィックスレンダリングを提供するグラフィックスパイ
プラインチップセットを含んでいてもよい。立体音響ス
ピーカセット1237も、システムバス1207に対し
て、従来の「サウンドカード」のような音声生成インタ
ーフェースを介して接続されている。そのようなインタ
ーフェースは、バス1207から与えられたサウンドコ
マンドに基づいて高品質な立体音響を生成するための支
援をハードウェアや組み込みソフトウェアに対して行
う。このようなハードウェアの機能によって、システム
1201は、記憶媒体62に記憶されたソフトウェアを
実行するのに充分なグラフィックスおよび音響の速度性
能を提供することができる。
【0087】上記の書類は、すべて、明示的に述べたも
のとして本明細書に引用されている。
【0088】本発明は、現時点において最も現実的で最
適な実施例と思われるものに関連して説明してきたが、
本発明は、開示された実施例に限定されるものではな
く、添付の請求項の範囲に含まれる様々な変形例や相当
する仕組みを含むことを意図していると解釈されるべき
である。
【図面の簡単な説明】
【図1】対話式コンピュータグラフィックスシステムの
一例の概略図である。
【図2】図1のコンピュータグラフィックスシステムの
例のブロック図である。
【図3】図2に示すグラフィックス&音声プロセッサの
例のブロック図である。
【図4】図3に示す3Dグラフィックスプロセッサの例
のブロック図である。
【図5】図4のグラフィックス&音声プロセッサの論理
フロー図の例である。
【図6】シャドウマッピング処理手順の例を示す。
【図7】より詳細なシャドウマッピング処理手順の例を
示す。
【図8】第2のパスのシャドウマッピングパイプライン
処理の例を示す。
【図9】ランプルックアップテーブルの例を示す。
【図10】ランプルックアップテーブルの例を示す。
【図11】図9のランプルックアップテーブルを動的に
生成するための方法の例を示す。
【図12】スケーリング処理の例を示す。
【図13】重複ルックアップ値を組み込むことによって
エラーを除去するランプルックアップテーブルの例の他
の実施例である。
【図14】重複ルックアップ値を組み込むことによって
エラーを除去するランプルックアップテーブルの例の他
の実施例である。
【図15】シャドウマッピング処理手順の実施例を示
す。
【図16】シャドウマッピング処理手順の実施例を示
す。
【図17】再循環シェーダステージの構成例を示す。
【図18】フルシーンシャドウマッピング画像結果の例
を示す。
【図19】IDに基づくシャドウマッピング方法の他の
例を示す。
【図20】IDに基づくシャドウマッピング方法の他の
例を示す。
【図21】他の代替可能な実施例を示す。
【図22】他の代替可能な実施例を示す。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 安本 吉孝 京都府京都市南区上鳥羽鉾立町11番地1 任天堂株式会社内 (72)発明者 廣瀬 和樹 アメリカ合衆国 ワシントン州 ベルビュ ー Fターム(参考) 5B080 CA01 GA11 GA18 GA22

Claims (11)

    【特許請求の範囲】
  1. 【請求項1】 シャドウマッピング方法であって、 ライトと面との間の距離を表すテクスチャ座標を生成
    し、 前記テクスチャ座標に応じてランプテクスチャをマッピ
    ングし、精度デプスを得、 シャドウマッピング比較の際に前記精度デプスを用い
    る、方法。
  2. 【請求項2】 前記ランプテクスチャは、重複入力を含
    む2次元テクスチャを含む、請求項1に記載の方法。
  3. 【請求項3】 前記ランプテクスチャは、未使用入力を
    含む2次元テクスチャを含む、請求項1に記載の方法。
  4. 【請求項4】 前記ランプテクスチャは、重複入力を含
    む、請求項1に記載の方法。
  5. 【請求項5】 前記生成ステップは、 シーンのデプス範囲を考慮して、頂点位置を光空間に変
    換することを含む、請求項1に記載の方法。
  6. 【請求項6】 シャドウマップを組み込みフレームバッ
    ファに入れてレンダリングし、前記シャドウマップをシ
    ャドウマップテクスチャにコピーアウトして前記シャド
    ウマッピング比較に用いることをさらに含む、請求項1
    に記載の方法。
  7. 【請求項7】 フロントフェイス・カリングされたレン
    ダリングを行って、前記シャドウマッピング比較に用い
    るシャドウマップを生成することをさらに含む、請求項
    1に記載の方法。
  8. 【請求項8】 グラフィックスパイプラインであって、 面からライトまでの距離を共に符号化するテクスチャ座
    標s、tの対を生成する、テクスチャ座標生成部と、 前記テクスチャ座標に応じてランプテクスチャをマッピ
    ングして、デプス値を得る、テクスチャマッピング部
    と、 前記デプス値をシャドウマップと比較する、比較部とを
    含む、グラフィックスパイプライン。
  9. 【請求項9】 組み込みフレームバッファを含むグラフ
    ィックスパイプラインにおけるシャドウマッピング方法
    であって、 シーンを前記組み込みフレームバッファに入れてレンダ
    リングし、 組み込みフレームバッファの内容をシャドウマップテク
    スチャにコピーして、シャドウマッピングデプス比較に
    用いることを含む、方法。
  10. 【請求項10】 前記レンダリングステップは、デプス
    値を組み込みzバッファに入れてレンダリングすること
    を含む、請求項9に記載の方法。
  11. 【請求項11】 前記レンダリングステップは、オブジ
    ェクトID値を組み込みカラーフレームバッファに入れ
    てレンダリングすることを含む、請求項9に記載の方
    法。
JP2001163358A 2000-08-23 2001-05-30 低価格のグラフィックスシステムにおけるシャドウマッピング Expired - Lifetime JP4790150B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US22700600P 2000-08-23 2000-08-23
US60/227006 2000-08-23

Publications (2)

Publication Number Publication Date
JP2002074390A true JP2002074390A (ja) 2002-03-15
JP4790150B2 JP4790150B2 (ja) 2011-10-12

Family

ID=22851366

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001163358A Expired - Lifetime JP4790150B2 (ja) 2000-08-23 2001-05-30 低価格のグラフィックスシステムにおけるシャドウマッピング

Country Status (2)

Country Link
US (1) US6664962B1 (ja)
JP (1) JP4790150B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008033848A (ja) * 2006-08-01 2008-02-14 Digital Media Professional:Kk コンピュータ・グラフィックス回路及びこの回路を用いて、二次元表示システムに表示される三次元オブジェクトに適用される二次元擬似ランダム・テクスチャ・パターンを、一次元テクスチャ画像を用いて生成する三次元コンピュータ・グラフィックス装置
JP2010191916A (ja) * 2009-02-20 2010-09-02 Nintendo Co Ltd 描画処理装置、および、描画処理プログラム

Families Citing this family (73)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7538772B1 (en) 2000-08-23 2009-05-26 Nintendo Co., Ltd. Graphics processing system with enhanced memory controller
JP3527196B2 (ja) * 2000-11-16 2004-05-17 株式会社ソニー・コンピュータエンタテインメント テクスチャ描画方法、エンタテインメント装置および記録媒体
FI109633B (fi) * 2001-01-24 2002-09-13 Gamecluster Ltd Oy Menetelmä videokuvan pakkauksen nopeuttamiseksi ja/tai sen laadun parantamiseksi
JP3580779B2 (ja) * 2001-02-21 2004-10-27 株式会社コナミコンピュータエンタテインメントジャパン 画像の表現方法及びそれに用いるプログラム
US20020138264A1 (en) * 2001-03-21 2002-09-26 International Business Machines Corporation Apparatus to convey depth information in graphical images and method therefor
US6961458B2 (en) * 2001-04-27 2005-11-01 International Business Machines Corporation Method and apparatus for presenting 3-dimensional objects to visually impaired users
US6753875B2 (en) * 2001-08-03 2004-06-22 Hewlett-Packard Development Company, L.P. System and method for rendering a texture map utilizing an illumination modulation value
JP4082937B2 (ja) * 2002-06-07 2008-04-30 任天堂株式会社 ゲームシステム及びゲームプログラム
US7324116B2 (en) * 2002-06-20 2008-01-29 Microsoft Corporation Systems and methods for providing controllable texture sampling
GB2392072B (en) * 2002-08-14 2005-10-19 Autodesk Canada Inc Generating Image Data
US6847728B2 (en) * 2002-12-09 2005-01-25 Sarnoff Corporation Dynamic depth recovery from multiple synchronized video streams
US7106326B2 (en) * 2003-03-03 2006-09-12 Sun Microsystems, Inc. System and method for computing filtered shadow estimates using reduced bandwidth
US7681112B1 (en) 2003-05-30 2010-03-16 Adobe Systems Incorporated Embedded reuse meta information
US7262771B2 (en) * 2003-10-10 2007-08-28 Microsoft Corporation Systems and methods for all-frequency relighting using spherical harmonics and point light distributions
US7450120B1 (en) 2003-12-19 2008-11-11 Nvidia Corporation Apparatus, system, and method for Z-culling
US7248265B2 (en) * 2004-04-16 2007-07-24 Apple Inc. System and method for processing graphics operations with graphics processing unit
US8704837B2 (en) * 2004-04-16 2014-04-22 Apple Inc. High-level program interface for graphics operations
US7636489B2 (en) * 2004-04-16 2009-12-22 Apple Inc. Blur computation algorithm
US7847800B2 (en) * 2004-04-16 2010-12-07 Apple Inc. System for emulating graphics operations
US8134561B2 (en) 2004-04-16 2012-03-13 Apple Inc. System for optimizing graphics operations
US7231632B2 (en) 2004-04-16 2007-06-12 Apple Computer, Inc. System for reducing the number of programs necessary to render an image
US7397964B2 (en) * 2004-06-24 2008-07-08 Apple Inc. Gaussian blur approximation suitable for GPU
US8130237B2 (en) * 2004-06-24 2012-03-06 Apple Inc. Resolution independent user interface design
US8068103B2 (en) * 2004-06-24 2011-11-29 Apple Inc. User-interface design
US8302020B2 (en) 2004-06-25 2012-10-30 Apple Inc. Widget authoring and editing environment
US20050285866A1 (en) * 2004-06-25 2005-12-29 Apple Computer, Inc. Display-wide visual effects for a windowing system using a programmable graphics processing unit
US7652678B2 (en) * 2004-06-25 2010-01-26 Apple Inc. Partial display updates in a windowing system using a programmable graphics processing unit
US7490295B2 (en) 2004-06-25 2009-02-10 Apple Inc. Layer for accessing user interface elements
US7546543B2 (en) 2004-06-25 2009-06-09 Apple Inc. Widget authoring and editing environment
US7761800B2 (en) 2004-06-25 2010-07-20 Apple Inc. Unified interest layer for user interface
US8239749B2 (en) 2004-06-25 2012-08-07 Apple Inc. Procedurally expressing graphic objects for web pages
US8566732B2 (en) 2004-06-25 2013-10-22 Apple Inc. Synchronization of widgets and dashboards
US8453065B2 (en) 2004-06-25 2013-05-28 Apple Inc. Preview and installation of user interface elements in a display environment
US7623132B1 (en) * 2004-12-20 2009-11-24 Nvidia Corporation Programmable shader having register forwarding for reduced register-file bandwidth consumption
US7227551B2 (en) * 2004-12-23 2007-06-05 Apple Inc. Manipulating text and graphic appearance
US8140975B2 (en) 2005-01-07 2012-03-20 Apple Inc. Slide show navigation
US8543931B2 (en) 2005-06-07 2013-09-24 Apple Inc. Preview including theme based installation of user interface elements in a display environment
US20070021203A1 (en) * 2005-06-28 2007-01-25 Samsung Electronics Co., Ltd. Mobile handset video game system and method
US20070060346A1 (en) * 2005-06-28 2007-03-15 Samsung Electronics Co., Ltd. Tool for video gaming system and method
US20070060345A1 (en) * 2005-06-28 2007-03-15 Samsung Electronics Co., Ltd. Video gaming system and method
US7400329B2 (en) * 2005-06-28 2008-07-15 Samsung Electronics Co., Ltd. Graphics images system and method
US7743336B2 (en) 2005-10-27 2010-06-22 Apple Inc. Widget security
US8543824B2 (en) 2005-10-27 2013-09-24 Apple Inc. Safe distribution and use of content
US7954064B2 (en) 2005-10-27 2011-05-31 Apple Inc. Multiple dashboards
US9104294B2 (en) 2005-10-27 2015-08-11 Apple Inc. Linked widgets
US7752556B2 (en) 2005-10-27 2010-07-06 Apple Inc. Workflow widgets
US9563980B2 (en) * 2005-11-18 2017-02-07 Autodesk, Inc. Grip manipulatable shadows in 3D models
US7707514B2 (en) 2005-11-18 2010-04-27 Apple Inc. Management of user interface elements in a display environment
US8869027B2 (en) 2006-08-04 2014-10-21 Apple Inc. Management and generation of dashboards
US8237739B2 (en) * 2006-09-12 2012-08-07 Qualcomm Incorporated Method and device for performing user-defined clipping in object space
GB2442266B (en) * 2006-09-29 2008-10-22 Imagination Tech Ltd Improvements in memory management for systems for generating 3-dimensional computer images
US7965291B1 (en) * 2006-11-03 2011-06-21 Nvidia Corporation Isosurface extraction utilizing a graphics processing unit
JP4987070B2 (ja) * 2007-04-11 2012-07-25 パナソニック株式会社 画像生成装置及び画像生成方法
US7924290B2 (en) * 2007-05-30 2011-04-12 Nvidia Corporation Method and system for processing texture samples with programmable offset positions
US8954871B2 (en) 2007-07-18 2015-02-10 Apple Inc. User-centric widgets and dashboards
US8667415B2 (en) 2007-08-06 2014-03-04 Apple Inc. Web widgets
US8156467B2 (en) 2007-08-27 2012-04-10 Adobe Systems Incorporated Reusing components in a running application
US8176466B2 (en) 2007-10-01 2012-05-08 Adobe Systems Incorporated System and method for generating an application fragment
US9619304B2 (en) 2008-02-05 2017-04-11 Adobe Systems Incorporated Automatic connections between application components
GB2458488C (en) 2008-03-19 2018-09-12 Imagination Tech Ltd Untransformed display lists in a tile based rendering system
US8656293B1 (en) 2008-07-29 2014-02-18 Adobe Systems Incorporated Configuring mobile devices
US9053562B1 (en) 2010-06-24 2015-06-09 Gregory S. Rabin Two dimensional to three dimensional moving image converter
US8643678B1 (en) * 2010-12-22 2014-02-04 Google Inc. Shadow generation
CN102411792A (zh) * 2011-07-21 2012-04-11 西安和利德软件有限公司 虚拟仿真场景多水平动态加载卸载方法
US20130141433A1 (en) * 2011-12-02 2013-06-06 Per Astrand Methods, Systems and Computer Program Products for Creating Three Dimensional Meshes from Two Dimensional Images
US8872827B2 (en) * 2012-12-20 2014-10-28 Nvidia Shadow softening graphics processing unit and method
US9992021B1 (en) 2013-03-14 2018-06-05 GoTenna, Inc. System and method for private and point-to-point communication between computing devices
US9646413B2 (en) 2014-08-27 2017-05-09 Robert Bosch Gmbh System and method for remote shadow rendering in a 3D virtual environment
US9530244B2 (en) * 2014-11-11 2016-12-27 Intergraph Corporation Method and apparatus for shadow estimation and spreading
US10403033B2 (en) * 2016-07-12 2019-09-03 Microsoft Technology Licensing, Llc Preserving scene lighting effects across viewing perspectives
EP3590096A4 (en) 2017-03-03 2020-12-23 Intergraph Corporation SHADING TECHNIQUE FOR AN ELEVATION DATA GRID
US20230332922A1 (en) * 2022-04-15 2023-10-19 Onxmaps, Inc. Methods and systems for providing a real-time viewshed visualization
CN116012520B (zh) * 2023-03-23 2023-06-02 腾讯科技(深圳)有限公司 阴影渲染方法、装置、计算机设备和存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0935085A (ja) * 1995-07-17 1997-02-07 Mitsubishi Precision Co Ltd 実時間映像発生方法及びその装置
WO1999030280A1 (en) * 1997-12-05 1999-06-17 Dynamic Digital Depth Research Pty. Ltd. Improved image conversion and encoding techniques
JP2000149062A (ja) * 1998-11-10 2000-05-30 Hitachi Eng Co Ltd 三次元画像生成方法とその装置

Family Cites Families (85)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4425559A (en) 1980-06-02 1984-01-10 Atari, Inc. Method and apparatus for generating line segments and polygonal areas on a raster-type display
US4388620A (en) 1981-01-05 1983-06-14 Atari, Inc. Method and apparatus for generating elliptical images on a raster-type video display
US4570233A (en) 1982-07-01 1986-02-11 The Singer Company Modular digital image generator
US4725831A (en) 1984-04-27 1988-02-16 Xtar Corporation High-speed video graphics system and method for generating solid polygons on a raster display
US4658247A (en) 1984-07-30 1987-04-14 Cornell Research Foundation, Inc. Pipelined, line buffered real-time color graphics display system
US4625289A (en) 1985-01-09 1986-11-25 Evans & Sutherland Computer Corp. Computer graphics system of general surface rendering by exhaustive sampling
JPS62192878A (ja) 1986-02-20 1987-08-24 Nippon Gakki Seizo Kk 多角形の塗りつぶし方法
US4862392A (en) 1986-03-07 1989-08-29 Star Technologies, Inc. Geometry processor for graphics display system
JPS62231380A (ja) 1986-03-31 1987-10-09 Namuko:Kk 画像合成装置
US5504917A (en) 1986-04-14 1996-04-02 National Instruments Corporation Method and apparatus for providing picture generation and control features in a graphical data flow environment
US5170468A (en) 1987-08-18 1992-12-08 Hewlett-Packard Company Graphics system with shadow ram update to the color map
US4866637A (en) 1987-10-30 1989-09-12 International Business Machines Corporation Pipelined lighting model processing system for a graphics workstation's shading function
US4901064A (en) 1987-11-04 1990-02-13 Schlumberger Technologies, Inc. Normal vector shading for 3-D graphics display system
US4945500A (en) 1987-11-04 1990-07-31 Schlumberger Technologies, Inc. Triangle processor for 3-D graphics display system
CA1309198C (en) 1987-12-10 1992-10-20 Carlo J. Evangelisti Parallel rendering of smoothly shaded color triangles with anti-aliased edges for a three dimensional color display
US5136664A (en) 1988-02-23 1992-08-04 Bersack Bret B Pixel rendering
JPH0727581B2 (ja) 1988-09-09 1995-03-29 インターナショナル・ビジネス・マシーンズ・コーポレーション 図形処理装置
US5255353A (en) 1989-02-28 1993-10-19 Ricoh Company, Ltd. Three-dimensional shadow processor for an image forming apparatus
WO1991011799A1 (fr) 1990-02-05 1991-08-08 Ricoh Co., Ltd. Unite d'affichage d'images d'animation et memoire externe utilisee avec une telle unite
US6020894A (en) 1990-08-16 2000-02-01 Canon Kabushiki Kaisha Full-color desktop publishing system
JP2725915B2 (ja) 1990-11-15 1998-03-11 インターナショナル・ビジネス・マシーンズ・コーポレイション 三角形描画装置及び方法
US5774133A (en) 1991-01-09 1998-06-30 3Dlabs Ltd. Computer system with improved pixel processing capabilities
JPH07122908B2 (ja) 1991-03-12 1995-12-25 インターナショナル・ビジネス・マシーンズ・コーポレイション 3次元のソリッド物体を表す表示可能情報を生成する装置と方法
US5421028A (en) 1991-03-15 1995-05-30 Hewlett-Packard Company Processing commands and data in a common pipeline path in a high-speed computer graphics system
US5377313A (en) 1992-01-29 1994-12-27 International Business Machines Corporation Computer graphics display method and system with shadow generation
CA2070934C (en) 1992-06-10 1998-05-05 Benny Chi Wah Lau Graphics display system
WO1994010641A1 (en) 1992-11-02 1994-05-11 The 3Do Company Audio/video computer architecture
US5392393A (en) 1993-06-04 1995-02-21 Sun Microsystems, Inc. Architecture for a high performance three dimensional graphics accelerator
US5878273A (en) 1993-06-24 1999-03-02 Discovision Associates System for microprogrammable state machine in video parser disabling portion of processing stages responsive to sequence-- end token generating by token generator responsive to received data
JPH0778267A (ja) * 1993-07-09 1995-03-20 Silicon Graphics Inc 陰影を表示する方法及びコンピュータ制御表示システム
JP3240821B2 (ja) 1994-04-22 2001-12-25 株式会社日立製作所 高機能画像メモリlsi及びそれを用いた表示装置
US5768626A (en) 1994-06-24 1998-06-16 Intel Corporation Method and apparatus for servicing a plurality of FIFO's in a capture gate array
US5594854A (en) 1995-03-24 1997-01-14 3Dlabs Inc. Ltd. Graphics subsystem with coarse subpixel correction
US5805868A (en) 1995-03-24 1998-09-08 3Dlabs Inc. Ltd. Graphics subsystem with fast clear capability
US5798770A (en) 1995-03-24 1998-08-25 3Dlabs Inc. Ltd. Graphics rendering system with reconfigurable pipeline sequence
US5764243A (en) 1995-03-24 1998-06-09 3Dlabs Inc. Ltd. Rendering architecture with selectable processing of multi-pixel spans
US5777629A (en) 1995-03-24 1998-07-07 3Dlabs Inc. Ltd. Graphics subsystem with smart direct-memory-access operation
US5727192A (en) 1995-03-24 1998-03-10 3Dlabs Inc. Ltd. Serial rendering system with auto-synchronization on frame blanking
US5701444A (en) 1995-03-24 1997-12-23 3Dlabs Inc. Ltd. Three-dimensional graphics subsystem with enhanced support for graphical user interface
US5815166A (en) 1995-03-24 1998-09-29 3Dlabs Inc., Ltd. Graphics subsystem with slaveable rasterizer
US6025853A (en) 1995-03-24 2000-02-15 3Dlabs Inc. Ltd. Integrated graphics subsystem with message-passing architecture
US5687357A (en) 1995-04-14 1997-11-11 Nvidia Corporation Register array for utilizing burst mode transfer on local bus
US5721947A (en) 1995-05-15 1998-02-24 Nvidia Corporation Apparatus adapted to be joined between the system I/O bus and I/O devices which translates addresses furnished directly by an application program
US5758182A (en) 1995-05-15 1998-05-26 Nvidia Corporation DMA controller translates virtual I/O device address received directly from application program command to physical i/o device address of I/O device on device bus
US5870097A (en) * 1995-08-04 1999-02-09 Microsoft Corporation Method and system for improving shadowing in a graphics rendering system
US5739819A (en) 1996-02-05 1998-04-14 Scitex Corporation Ltd. Method and apparatus for generating an artificial shadow in a two dimensional color image
US5949440A (en) 1996-04-30 1999-09-07 Hewlett Packard Compnay Method and apparatus for processing graphics primitives in multiple modes using reconfigurable hardware
US5966134A (en) 1996-06-28 1999-10-12 Softimage Simulating cel animation and shading
US5821949A (en) 1996-07-01 1998-10-13 Sun Microsystems, Inc. Three-dimensional graphics accelerator with direct data channels for improved performance
US5874969A (en) 1996-07-01 1999-02-23 Sun Microsystems, Inc. Three-dimensional graphics accelerator which implements multiple logical buses using common data lines for improved bus communication
US6028611A (en) 1996-08-29 2000-02-22 Apple Computer, Inc. Modular digital image processing via an image processing chain
US6018350A (en) 1996-10-29 2000-01-25 Real 3D, Inc. Illumination and shadow simulation in a computer graphics/imaging system
US5940086A (en) 1997-01-10 1999-08-17 Hewlett Packard Company System and method for dynamically allocating data among geometry accelerators in a computer graphics system
US5870098A (en) 1997-02-26 1999-02-09 Evans & Sutherland Computer Corporation Method for rendering shadows on a graphical display
US5949424A (en) 1997-02-28 1999-09-07 Silicon Graphics, Inc. Method, system, and computer program product for bump mapping in tangent space
US6057852A (en) 1997-04-30 2000-05-02 Hewlett-Packard Company Graphics accelerator with constant color identifier
US5920326A (en) 1997-05-30 1999-07-06 Hewlett Packard Company Caching and coherency control of multiple geometry accelerators in a computer graphics system
US5969726A (en) 1997-05-30 1999-10-19 Hewlett-Packard Co. Caching and coherency control of multiple geometry accelerators in a computer graphics system
JPH1153580A (ja) 1997-07-31 1999-02-26 Sony Corp 3次元画像処理装置及びビデオ合成方法
US6037949A (en) 1997-08-04 2000-03-14 Pixar Animation Studios Texture mapping and other uses of scalar fields on subdivision surfaces in computer graphics and animation
JPH1176614A (ja) 1997-09-11 1999-03-23 Sega Enterp Ltd コンピュータゲーム装置
US6002409A (en) 1997-10-29 1999-12-14 Cirrus Logic, Inc. Arbitration for shared graphics processing resources
JPH11161819A (ja) 1997-11-27 1999-06-18 Sega Enterp Ltd 画像処理装置、画像処理方法、及び画像処理プログラムを記録した記録媒体
JPH11203500A (ja) 1998-01-09 1999-07-30 Sega Enterp Ltd 画像処理装置及びそれに利用されるバンプマップデータを格納した記録媒体
JPH11226257A (ja) 1998-02-16 1999-08-24 Sony Computer Entertainment Inc 携帯用電子機器及びエンタテインメントシステム並びに記録媒体
JPH11259678A (ja) 1998-03-12 1999-09-24 Sega Enterp Ltd 画像表示装置及びそれによる画像表示方法
JP4061697B2 (ja) 1998-03-12 2008-03-19 株式会社セガ 画像表示方法及びそれを実行する画像表示装置
US6023738A (en) 1998-03-30 2000-02-08 Nvidia Corporation Method and apparatus for accelerating the transfer of graphical images
US6226012B1 (en) 1998-04-02 2001-05-01 Nvidia Corporation Method and apparatus for accelerating the rendering of graphical images
US6092124A (en) 1998-04-17 2000-07-18 Nvidia Corporation Method and apparatus for accelerating the rendering of images
US6492991B1 (en) 1998-08-28 2002-12-10 Ati International Srl Method and apparatus for controlling compressed Z information in a video graphics system
GB2341068B (en) 1998-07-31 2002-11-06 Sony Uk Ltd Caching in digital video processing apparatus
JP2000066985A (ja) 1998-08-20 2000-03-03 Sony Computer Entertainment Inc エンタテインメントシステム及びデータ供給方法、データ処理装置及び方法、並びにデータ記憶制御装置及び方法
JP4399910B2 (ja) 1998-09-10 2010-01-20 株式会社セガ ブレンディング処理を含む画像処理装置及びその方法
JP2000132704A (ja) 1998-10-26 2000-05-12 Sony Corp 画像情報処理装置及び方法
JP3668019B2 (ja) 1998-10-27 2005-07-06 株式会社ソニー・コンピュータエンタテインメント 記録媒体、画像処理装置および画像処理方法
JP2000156875A (ja) 1998-11-19 2000-06-06 Sony Corp 映像制作装置および映像表示システムおよびグラフィックス制作方法
JP4240343B2 (ja) 1998-12-19 2009-03-18 株式会社セガ 画像生成装置および画像生成方法
JP4395902B2 (ja) 1999-01-19 2010-01-13 株式会社セガ 画像処理方法及び、これを利用した画像処理装置
JP2000215325A (ja) 1999-01-21 2000-08-04 Sega Enterp Ltd 画像処理方法および画像処理装置並びにプログラムを記録した記録媒体
US6181352B1 (en) 1999-03-22 2001-01-30 Nvidia Corporation Graphics pipeline selectively providing multiple pixels or multiple textures
US6173367B1 (en) 1999-05-19 2001-01-09 Ati Technologies, Inc. Method and apparatus for accessing graphics cache memory
US6807311B1 (en) 1999-07-08 2004-10-19 Ati International Srl Method and apparatus for compressing and storing image data
US6476811B1 (en) 1999-09-01 2002-11-05 Ati International, Srl Method and apparatus for compressing parameter values for pixels in a display frame
US6198488B1 (en) 1999-12-06 2001-03-06 Nvidia Transform, lighting and rasterization system embodied on a single semiconductor platform

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0935085A (ja) * 1995-07-17 1997-02-07 Mitsubishi Precision Co Ltd 実時間映像発生方法及びその装置
WO1999030280A1 (en) * 1997-12-05 1999-06-17 Dynamic Digital Depth Research Pty. Ltd. Improved image conversion and encoding techniques
JP2000149062A (ja) * 1998-11-10 2000-05-30 Hitachi Eng Co Ltd 三次元画像生成方法とその装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008033848A (ja) * 2006-08-01 2008-02-14 Digital Media Professional:Kk コンピュータ・グラフィックス回路及びこの回路を用いて、二次元表示システムに表示される三次元オブジェクトに適用される二次元擬似ランダム・テクスチャ・パターンを、一次元テクスチャ画像を用いて生成する三次元コンピュータ・グラフィックス装置
JP2010191916A (ja) * 2009-02-20 2010-09-02 Nintendo Co Ltd 描画処理装置、および、描画処理プログラム

Also Published As

Publication number Publication date
US6664962B1 (en) 2003-12-16
JP4790150B2 (ja) 2011-10-12

Similar Documents

Publication Publication Date Title
JP4790150B2 (ja) 低価格のグラフィックスシステムにおけるシャドウマッピング
JP4698893B2 (ja) 改良されたフォグ効果を提供するための方法、グラフィックスシステム、およびプログラム
JP4731028B2 (ja) グラフィクスシステム用再循環シェードツリーブレンダ
US6664958B1 (en) Z-texturing
US6618048B1 (en) 3D graphics rendering system for performing Z value clamping in near-Z range to maximize scene resolution of visually important Z components
US6707458B1 (en) Method and apparatus for texture tiling in a graphics system
US6639595B1 (en) Achromatic lighting in a graphics system and method
US6825851B1 (en) Method and apparatus for environment-mapped bump-mapping in a graphics system
JP4890638B2 (ja) グラフィクスシステムにおいて直接および間接テクスチャを処理するための方法および装置
US6700586B1 (en) Low cost graphics with stitching processing hardware support for skeletal animation
US6556197B1 (en) High performance low cost video game system with coprocessor providing high speed efficient 3D graphics and digital audio signal processing
JP4691273B2 (ja) グラフィクス処理システムおよびエンボス型バンプマッピングを行う方法
US7061502B1 (en) Method and apparatus for providing logical combination of N alpha operations within a graphics system
JP2002269583A (ja) 描画モードに基づいて隠面処理の順番を動的に再構成する方法および装置
JP4672072B2 (ja) 三次元ビデオグラフィックスシステムにおける非写実的な漫画的な輪郭線提供方法およびその装置
JP4975159B2 (ja) グラフィックシステム、グラフィックス画像を生成する方法およびプログラムにおける無色光のライティング
JP4683760B2 (ja) 再構成可能なピクセルフォーマットを有する組み込みフレームバッファを有するグラフィックスシステム
JP4740490B2 (ja) グラフィックスレンダリングシステムにおいて視覚的に重要なz成分の精度を最大化しz近傍クリッピングを回避するためのz近傍範囲におけるz値のクランピング
JP4740476B2 (ja) グラフィックスシステム内におけるn個のアルファ演算の論理結合を提供する方法および装置
JP4698894B2 (ja) グラフィックスシステムにおけるテクスチャタイリングのための方法、装置およびプログラム
JP2006318390A (ja) 画像生成システム、プログラム及び情報記憶媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080519

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101018

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101021

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101216

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110405

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110623

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20110701

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

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

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

Free format text: PAYMENT UNTIL: 20140729

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4790150

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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