JPH08255264A - 3d像のテクスチャ処理及び陰影付け方法 - Google Patents

3d像のテクスチャ処理及び陰影付け方法

Info

Publication number
JPH08255264A
JPH08255264A JP8014192A JP1419296A JPH08255264A JP H08255264 A JPH08255264 A JP H08255264A JP 8014192 A JP8014192 A JP 8014192A JP 1419296 A JP1419296 A JP 1419296A JP H08255264 A JPH08255264 A JP H08255264A
Authority
JP
Japan
Prior art keywords
texture
pixel
image data
data
pixels
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
JP8014192A
Other languages
English (en)
Other versions
JP3510950B2 (ja
Inventor
James Fenny Simon
ジェームズ フェニー シモン
E Dunn Mark
エドワード ダン マーク
James Overliese Ian
ジェームズ オーヴァーリーズ イアン
David Leaback Peter
ディヴィッド リーバック ピーター
Yassaie Hossein
ヤーセイ ホッセイン
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.)
Imagination Technologies Ltd
Original Assignee
Videologic 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 Videologic Ltd filed Critical Videologic Ltd
Publication of JPH08255264A publication Critical patent/JPH08255264A/ja
Application granted granted Critical
Publication of JP3510950B2 publication Critical patent/JP3510950B2/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/04Texture mapping

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Generation (AREA)
  • Processing Or Creating Images (AREA)
  • Image Processing (AREA)

Abstract

(57)【要約】 【課題】 スクリーンに表示するように三次元像をテク
スチャ処理及び陰影付けする方法を提供する。 【解決手段】 三次元像は、スクリーンの各画素領域
(ピクセル)の位置と、そのピクセルに関連した像デー
タとを含むデータを最初に受け取ることによりスクリー
ン上に表示するようにテクスチャ処理される。テクスチ
ャ像データは、像データと、そのテクスチャ像データが
ピクセル上にマップされる適切な位置とに基づいてメモ
リ手段から検索される。同じ関連像データを共有するピ
クセルの数が決定され、そして1つのピクセル増分に対
応するピクセル上のテクスチャデータのマッピングの増
分変化も決定される。同じ像データを隣接ピクセルとし
て共有する各ピクセルの場合は、その隣接ピクセルにつ
いて既に導出されているテクスチャ像データが、テクス
チャ像データの増分変化と結合されて、そのピクセルの
ためのテクスチャ像データが導出される。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、スクリーンに表示
するために3D像をテクスチャ処理及び陰影付けする方
法に係る。
【0002】
【従来の技術】テクスチャ処理されそして陰影付けされ
たリアルタイムの3D像を発生するために商業用システ
ムによって最も一般的に使用される方法は、Zバッファ
システムを使用するものである。これは、ソフトウェア
又はハードウェアのいずれかで実施するための最も簡単
な可視表面アルゴリズムの1つであり、シリコングラフ
ィックス、イベンツ&サザーランド、及びヒューレット
パッカードのような会社で使用されている。
【0003】これは、カラー値が記憶されるフレームバ
ッファを入手できるだけでなく、各ピクセルごとにz値
が記憶される同じ入力数のZバッファも入力できること
が必要である。多角形、通常は三角形が、任意の順序で
フレームバッファにレンダリングされる。走査−変換の
間に、多角形の点がバッファに既にある点よりも視聴者
から離れない場合に、新たな点のテクスチャ処理及び陰
影付けされたカラーが評価されて、z値が古い値に置き
換えられる。予めの分類は不要であり、オブジェクト−
オブジェクトの比較も不要である。
【0004】「テクスチャマッピング」という用語は、
ピクセルの2Dアレーをピクセルの別の2Dアレーに変
換するプロセスを指す。この変換は全く任意であるが、
ここでは、遠近マッピングを考える。遠近マッピング
は、実際には、ピクセルの2Dアレーを取り上げ、それ
らを回転して3Dに変換し、そしてそれらを表示のため
のz−n平面に投射する。
【0005】テクスチャマッピングは、コンピュータグ
ラフィックにおいて、実物の表面細部の模擬を試みるの
に使用される。遠近マッピングを用いると、画(例え
ば、木の表面)を3D物体(例えば、テーブル)上に配
置することができる。その結果として、テーブルは見掛
けが木のようになる。
【0006】遠近マッピングの式は、次の通りである。 u=(ax+by+c)/(px+qy+r) v=(dx+ey+f)/(px+qy+r) u及びvは、テクスチャスペースにおける2D座標であ
り、x及びyは、スクリーンスペースにおける2D座標
であり、そしてa、b、c、d、e及びfは、マッピン
グプロセスに使用される係数である。
【0007】サンプリング率の半分より上の周波数をも
つ信号をサンプリングすると、エイリアシングを引き起
こす。テクスチャマッピングは、エイリアシングを引き
起こし易い再サンプリングプロセスである。エイリアシ
ングを生じないテクスチャマッピングされた像を形成す
るために、テクスチャスペースの像をマッピングのサン
プリング率の半分までローパスフィルタしなければなら
ない。この状態に対する複雑さは、スクリーンスペース
内の位置に基づいてサンプリング率が変化することであ
る。
【0008】像を正しくフィルタするために、大量の処
理を必要とする。数学的に簡単な演算で正しいフィルタ
動作を近似する方法は多数ある。最も簡単な方法は、M
IPマッピングであり、MIPは、MULTIM IM
PARVOの省略形である。
【0009】MIPマッピングは、メモリに記憶された
テクスチャマップをフィルタしそして半分の解像度に減
少する前処理段階である。これは、得られる像のサイズ
が1ピクセルになるまで繰り返される(これは、テクス
チャが方形で、2の累乗であると仮定する)。図1は、
煉瓦のテクスチャの例を128x128の解像度及びそ
れに関連した低いMIPマップレベルで示している。
【0010】MIPマップは、像のピラミッドとして考
えることができる。MIPマップは3つの変数u、v及
びDを介してアクセスされる。変数u及びvは、アンチ
エリアシングする必要のあるテクスチャスペースにおけ
るピクセルの座標である。変数Dは、フィルタされたそ
のピクセルがいかに必要とされるか、即ちピラミッドが
いかに高いかの尺度である。値D=1は、全解像度の像
が使用されることを意味する。値D=2は、半分の解像
度の像が使用されることを意味し、等々となる。Dの値
が2の累乗でないときには、2つの最も近いMIPマッ
プレベルを混合したものが、良く知られたように線型補
間を用いて計算される。
【0011】理想的に、Dは、テクスチャスペースへと
変換されるときにスクリーンピクセルがカバーする面積
の平方根である。不都合なことに、これは、ピクセルご
とのベースで計算するには非常に経費がかかる。
【0012】P.S.ヘクバート氏(Comm ACM
18(6)、1975年6月)はDに対し次の近似式
を用いることを示唆している。 D2 =MAX(du2 /dx)+(dv2 /dy)、 (du2 /dy)+(dv2 /dy)
【0013】この方法は、理想的なものよりは遙に簡単
であるが、依然として平方根を必要とすると共に、ピク
セル当たり2つの付加的なマッピングを必要とする。
【0014】陰影付け(シェーディング)は、コンピュ
ータグラフィックに使用される用語で、特定のスクリー
ン位置における面のカラーを評価するプロセスの一部分
を指す。面が陰影付けされる場合には、その面と光源が
いかに相互作用するかをモデリングするのに、面の位
置、向き及び特徴が使用される。
【0015】コンピュータで形成される像の現実感は、
この照明モデルの質によって大きく左右される。不都合
なことに、精度のよい照明モデルは、リアルタイムのレ
ンダリングシステムに使用するのに高価であり過ぎる。
それ故、照明計算において近似を用いて妥協を図る必要
がある。
【0016】最も一般的な近似の形態は、材料の艶消し
成分から反射される光を模擬する拡散又はランバートシ
ェーディングである。これは、図2に示されており、次
の式で表される。
【0017】図2は、目又はカメラから発生され(特定
のシーンピクセルを通過する)そして表面の所与の点P
に当たる光線を示している。又、Pにおいて表面に垂直
な直角のベクトル及び光源からPへの光線も示されてい
る。
【0018】上記式によれば、Pにおける拡散照明の輝
度(又はカラー)Iは、光の輝度Lと、表面の拡散反射
率Sと、光線と法線との角度θのコサインとの積であ
る。
【0019】この計算は、表面全体に対して一定と仮定
する(フラットシェーディングとして知られている)
か、又は曲面を模擬するように多角形の小面にわたって
種々の仕方で補間することができる。例えば、ゴーラウ
ドシェーディング(CommACM 18(60)、第
311−17ページ、1971年)は、多角形の小面に
わたる拡散カラーの線型補間である。
【0020】別の補間方法は、上記式において表面の法
線を線型補間することである。この方法は、ブイ・スオ
ング・フォンにより提案されている(Comm ACM
18(6)、1975年6月)。不都合なことに、こ
の計算は、比較的経費がかかる。又、ビショップ及びウ
エイマによって効果的な近似が提案されており(コンピ
ュータグラフィックス、20(4)、第103−6ペー
ジ、1975年)、これは、二次元のテイラー級数近似
を使用している。これらの近似は、差の方程式を用いて
効果的に評価することができる。僅かな前計算オーバー
ヘッドはさておき、cosθは、ピクセル当たり2つの
加算のみを犠牲にして近似することができる。
【0021】模擬される次に最も一般的な照明特徴は、
光沢のある又は鏡のようなハイライトである。これら
は、シーンにおける光の反射である。鏡のようなハイラ
イトは表面に反射の見掛けを与え、像の現実感を相当に
改善する。これらも、ブイ・スオング・フォンにより述
べられた方法によって最も一般的に近似され、これは、
図3に示され、次の式で表される。
【0022】図3は、目又はカメラから発生されて、特
定のピクセルを通過し、所与の点Pにおいて表面に当た
る光線を示している。この光線は、次いで、通常のミラ
ー角度を用いて図示された方向に反射される。表面は完
全に滑らかではないから、反射光線は、ある程度分散す
ると仮定され、これは表面の粗面さによって左右され
る。更に、図3は、明るい光線として見える光源からの
光線も示している。反射方向が光線に近いほど、ハイラ
イトは明るく見える。
【0023】上記式は、ハイライトIの輝度を、光の輝
度Lと、表面の反射率Sと、反射方向と光の間の角度θ
と、表面の滑らかさnとの関数として示している。この
関数は、反射方向が光線方向に近いほど(即ち、θが小
さいほど)、ハイライトの輝度が最大に接近し、他の領
域において減少することを意味する。nの値が大きいほ
ど、減少は速くなり、ハイライトは小さくなり、ひいて
は、表面の見掛けは滑らかになる。最も効果的であるた
めには、この計算を累乗関数と称する必要がある。nの
典型的な値は、1から1000の範囲である。
【0024】又、ビショップ及びウエイマ氏は、二次元
テイラー級数近似(拡散シェーディング参照)を使用す
ると共に、累乗関数を計算するためにルックアップテー
ブルを使用した上記式の計算部分の提案している。
【0025】DRAMは、ダイナミックランダムアクセ
スメモリの頭文字である。「ページモード」DRAMの
構造は、バンク、ページ及び位置に分割することができ
る。位置とは、アトミックアドレスメモリ素子である。
多数の隣接する位置がページを作り上げ、そして多数の
ページがバンクを作り上げる。
【0026】装置が位置の内容を要求したときには、そ
の位置を含むページがオープンされそしてデータがフェ
ッチされる。次に要求されたページが同じページ内に入
る場合には、データをフェッチするまでページを再オー
プンする必要はない。ページをオープンするのに要する
時間は著しいものであるから、ページ内のランダムな位
置を要求することは、ページ外のランダムな位置を要求
するよりも相当に速いものとなる。「ページブレーク」
という用語は、オープンしていないページ内の位置の内
容をフェッチすることを指す。
【0027】多数のバンクを有するメモリ構成において
は、一度に2つ以上のページをオープン状態に保持する
ことができる。オープンしたページは異なるバンクにな
ければならないという制約がある。
【0028】SRAMは、スタティックランダムアクセ
スメモリの頭文字である。SRAMの構造は、DRAM
より簡単である。装置内のいかなる位置も単一のクロッ
クサイクル内でフェッチすることができる。この簡単化
の欠点は、シリコン上のメモリ素子の密度がDRAMよ
りも相当に低いことである。その結果、DRAMよりも
相当に高価なものになる。
【0029】霧の雰囲気効果は、発生される3Dシーン
に、ある次元の現実性を付加する。霧のように見えるシ
ーンは単に有用ではなく、全ての屋外シーンは霧を必要
とする。屋外シーンにおいて、遠くにある物体は、あま
り刺激的な色をしていない。この効果は霧と同じであ
り、物体は距離と共に「灰色化」する。
【0030】霧の密度が変化しないと仮定すれば、光
は、1m当たりある割合で減衰する。例えば、光が1m
当たり1%で減衰する場合には、1mで光は0.99に
なる。2mでは、元の光の0.99*0.99=0.9
2 =0.98となる。「n」mでは、光は元の0.9
n となる。
【0031】Zバッファシステムに関連したテクスチャ
処理及び陰影付けに伴う問題は、各シーンピクセルがそ
のカラーを何回も評価されることである。これは、表面
がランダムに処理され、目に最も近い面が、シーンの処
理中に何回も変化するからである。
【0032】
【発明の構成】本発明の1つの特徴を用いた据え置きテ
クスチャ処理及び陰影付けアーキテクチャは、各スクリ
ーンピクセルごとに単一のカラーを処理するだけで計算
浪費を排除する。シーン内の各面には、独特の「タグ」
が関連される。ピクセルを処理するために、隠れた面の
除去が行われ、そのピクセルに最も近い面のタグが計算
される。このタグの値を用いて、そのピクセルを正しく
テクスチャ処理及び陰影付けする命令がフェッチされ
る。
【0033】ここに述べる実施形態は、据え置きテクス
チャ処理及び陰影付けを必要とするシステムに特に適し
た非常に効率的で且つ最適なアーキテクチャを提供す
る。ここに述べるような複雑なシステムの場合には、複
雑さ(ハードウェアサイズ/シリコン面積)と機能性と
の間の最良のバランスを入念に達成するよう確保するこ
とが非常に重要である。これは、主たるブロック間の相
互作用と、各ブロックに使用される低レベル方法の細部
とを含む全システムアーキテクチャーを選択時に入念に
設計しなければならないことを意味する。特に重要なも
のは、次の通りである。 1.障害を確実に最小にするデータ編成及びメモリアー
キテクチャ; 2.種々の機能ブロック、メモリキャッシュ要求及びそ
れらの相互作用に関するリソースの区分化; 3.数値の精度についての複雑さレベル、及び各ブロッ
クに必要とされる機能を実施するのに用いる方法に使用
される近似の程度; 4.ハードウェア/シリコン予算内での充分な融通性レ
ベルのサポート。
【0034】ここに述べる実施形態は、上記の事柄につ
いてバランスをとるために入念なアルゴリズム及びシュ
ミレーション分析を使用する。
【0035】MIPマッピングを実行するシステムの率
決定段階の1つは、メモリからテクスチャピクセルをフ
ェッチすることである。帯域巾を広く保つために、ある
設計では、高速SRAMを使用する。これは、所望の性
能を与えることができるが、このような解決策のコスト
は、甚だしいものとなる。
【0036】本発明の好ましい実施形態において提案さ
れたアーキテクチャーは、MIP−MAPデータをペー
ジモードDRAMに記憶する。最高のデータスループッ
トを得るために、ページブレークの数を最小に減少しな
ければならない。MIPマップを記憶する最も簡単な方
法は、Dレベルを隣接配置し、そしてマップ内でピクセ
ルが走査順序で記憶されるようにすることである。MI
Pマップへのアクセスの性質により、この記憶方法は、
ほぼアクセスごとにページをブレークする。メモリ構造
は、ページブレークの数を最適なものにする。
【0037】上記のテクスチャ処理方程式の係数は、潜
在的に境界のないものである。分かり易い境界が実施さ
れても、必要とされる値は広い範囲に及ぶ。純粋な固定
小数点演算を用いて方程式を解く場合は、高精度の乗算
器及び除算器が必要となる。このようなハードウェア
は、大型で低速であり、従って、システムの価格及び性
能に影響を及ぼす。本発明の別の特徴による混合浮動及
び固定小数点方法は、2つの利点を有する。第1に、乗
算器及び除算器のサイズを縮小することができ、そして
第2に、全浮動小数点演算を実施する複雑さが回避され
る。
【0038】テクスチャマッピング方程式は、ピクセル
当たり1つの除算を必要とする。殆どのハードウェア除
算アーキテクチャーは、次々に近似する方法を使用し、
これは、所望の精度に対し繰り返しを必要とする。この
繰り返しは、時間的に行わねばならない(多数のクロッ
クサイクル)か、又はスペース的に行わねばならない
(シリコン領域)。次々の近似を伴わずに所望の精度の
逆数を評価するための本発明の更に別の特徴による新規
な方法及びアーキテクチャーを以下に述べる。
【0039】変数「D」は、テクスチャ処理されたピク
セルをいかにフィルタすることが必要かの尺度である。
「D」に対するヘクバート氏の近似は、計算的にかなり
経費がかかり、平方根を必要とすると共に、及びピクセ
ル当たり2つの付加的なマッピングを必要とする。
「D」を計算する更に簡単な新規な方法について以下に
説明する。
【0040】テクスチャ処理及び陰影付けプロセスに使
用されるパラメータをフェッチする場合には、ピクセル
を処理できる率に影響が及ぶ。パラメータが必要とされ
る順序は、完全にランダムではなく、基準の位置を利用
することができる。ここに述べるアーキテクチャーはパ
ラメータキャッシュを含み、これは、全設計の性能を著
しく改善する。
【0041】鏡のようなハイライトのサイズの輝度を制
御するために、累乗関数が一般的に使用される。これ
は、実施に経費がかかり、大きなROMルックアップテ
ーブルによる近似又は正確な累乗関数の明確な実施の2
つが考えられる。ハイライトの方程式は近似に過ぎない
ので、この関数は、完全に正確な累乗関数である必要は
ない。
【0042】cosθを計算又は近似する方法が存在す
ると仮定すれば、累乗関数は単に次の計算となる。 xn 、但し、0≦x≦1
【0043】又、nの粒度について微細な制御を行う必
要はなく、若干の整数値で充分である。次の式に注目さ
れたい。 (1−y)2n ∝(1−2y)2n-1 yが小さいときには、次の近似を使用し、xが上記範囲
内のときに、xを累乗nまで上昇させる。 xn ≒(1−max(1、(1−x)、2k ))2 但し、kは、(log2 n)−1の整数部分である。値
kは、表面特性の一部分として値nに効果的に置き代わ
る。
【0044】2つの減算の計算は、比較的安価である。
ある値に2進表示で2k を乗算することは、単にk個の
場所だけ左にシフトすることであり、最大値の計算も平
凡な演算である。平方演算は、値それ自身の乗算であ
る。
【0045】この方法は、ハードウェア及びファームウ
ェアの両方の実施形態に適用可能である。
【0046】シーンを霧の状態にするときに減衰係数を
計算するには、霧の濃度を、物体と観察者との間の距離
の累乗まで上昇させる必要がある。この関数を近似する
効率的な方法は、以下に説明する。
【0047】本発明の種々の特徴は、特許請求の範囲に
規定する。以下、添付図面を参照して本発明の好ましい
実施形態を詳細に説明する。
【0048】
【発明の実施の形態】図4は、システムを通る主なデー
タの流れを示す図である。システムへの入力は、本出願
人の英国特許出願第9414834.3号に開示された
システムで発生できる形式の「x、y」座標、タグ(T
ag)及びある任意の「ピクセル特定データ」である。
入力ピクセルデータは、「走査順序」又は「タイル順
序」で受け取られる。走査及びタイル順序は、図5及び
6に示されている。
【0049】「タイル順序」でデータを受け取る利点
は、「走査順序」の場合よりも、像のローカルピクセル
が互いに接近して送信されることである。基準の位置
は、パラメータキャッシュの性能を改善する。
【0050】上記したTagは、シーンにおける各々の
潜在的に見える面に関連した独特の識別子である。
【0051】「ピクセル特性データ」は、システムの外
部で評価されたピクセルの属性である。これらの属性
は、ピクセルカラーの評価に使用される。例えば、「三
次元像の陰影付け(Shading Three-Demensional Image)
」と題する特許出願(出願第9414834.3号)
に開示されたシステムでは、各ピクセルに、影が投じら
れるかどうか記述するデータが関連される。この情報
は、ピクセルカラーを評価するときに加味することがで
きる。
【0052】ピクセルTagは、パラメータメモリ2へ
のインデックスとして使用される。これは、各ピクセル
において見える面を定めるパラメータを記憶する。イン
デックスされた位置に記憶されるデータは、ピクセルカ
ラーの評価に使用される(例えば、テクスチャマッピン
グ方程式の係数)。
【0053】Tagが2つ以上のピクセル位置に現れる
ときには、そのTagに関連したデータが2回以上必要
となる。というのは、目に見える同じ面を表示するのに
多数のピクセルが使用されるからである。それ故、パラ
メータキャッシュ4をデータ経路に挿入することにより
フェッチパラメータの性能を改善することができる。シ
ュミレーションにおいては、2方セット連想キャッシュ
が最良の複雑さ/性能比を与えている。
【0054】テクスチャメモリ6は、MIPマップデー
タを含むDRAMの多数のバンクで構成される。入力ピ
クセルの「u、v」座標が評価されると、それに関連し
たテクセル(Texel)(テクスチャメモリの画素領
域)がテクスチャメモリからフェッチされる。
【0055】テクスチャマッピング方程式は、2つの段
即ち前計算段及び繰り返し段に分割される。前計算ユニ
ット8では、パラメータがフェッチされ、次いで、「a
x+by+c」、「dx+ey+f」及び「px+qy
+r」が評価される。又、このユニットは、いかに多く
の隣接ピクセルが同じTag値を共有するかをカウント
する。このカウントは、上記の値と共に、テクスチャ繰
り返しユニット10へ転送される。
【0056】テクスチャ繰り返しユニット10は、前計
算ユニット8から値を取り上げて、2つの除算を実行
し、「u、v」評価を完了する。前計算からのカウント
値が0より大きい場合には、現在ピクセルと次のピクセ
ルとの間の差(即ち、「a」、「d」及び「p」)が、
前計算された値(「ax+by+c」、「dx+ey+
f」及び「px+qy+r」)に加算され、そして2つ
の除算が繰り返される。この段階は、「カウント」で指
定された回数だけ繰り返される。
【0057】テクスチャ繰り返しユニットからのカラー
が計算されると、それが陰影付けユニット12へ通され
る。ピクセルTagにより指示されたパラメータは、単
なるテクスチャ処理係数ではなく、それらは、陰影付け
ユニットにより最終ピクセルカラーを評価するのに使用
する情報も含んでいる。
【0058】行われる陰影付け計算の最も簡単な形態
は、一次及び二次関数陰影付けのような「x、y」スク
リーン位置の関数である。
【0059】一次陰影付けは、次の式を計算する。 I(x、y)=T2 x+T1 y+T0 但し、Iは輝度(又はカラー)であり、x及びyはスク
リーンピクセル座標であり、T2 、T1 、T0 は定数で
ある。これは、テクスチャ処理と同様に前計算部分及び
繰り返し部分に分割することができる。
【0060】出力は、範囲0...1内に存在するよう
に制約される。
【0061】二次陰影付けは、関数の良好な近似を与え
るが、実施のコストを高める。これは、次の式の関数に
よって実施される。 I(x、y)=T5 2 +T4 xy+T3 2 +T2
+T1 y+T0 但し、Iは輝度(又はカラー)であり、x及びyはスク
リーンピクセル座標であり、そしてT5 、T4 、T3
2 、T1 、T0 は定数である。これは、テクスチャ処
理と同様に前計算部分及び繰り返し部分に分割すること
ができる。
【0062】出力は、範囲0...1内に存在するよう
に制約される。
【0063】二次関数は、前記の累乗関数を用いて、あ
る累乗まで高めることができる。
【0064】ピクセルは、テクスチャ処理され、陰影付
けされた後に、フレーム記憶装置へ出力される。次い
で、フレーム記憶装置からピクセルがフェッチされて表
示装置へ送られる。
【0065】本発明の好ましい実施形態である非常に最
適化されたアーキテクチャが図11に示されている。
【0066】システムへの入力データ20は、ピクセル
データではなくタグをその出力として記憶する隠れた面
の除去及び深さの分類装置から導出される。このような
システムは、英国特許出願第9414834.3号に開
示されている。入力データは、シーンの各面に対して独
特の表面タグと、システムへ入力されるピクセルの現在
ブロックのスタートアドレスであるブロックx、yアド
レスと、現在入力されているピクセルの深さである深さ
(Z)値と、現在ピクセルが1つ以上の陰影ライトの影
にあるかどうかを指示する陰影フラグとを備えている。
【0067】所与のブロックに対する表面タグは、<表
面タグ:スパン長さ(パラメータが同じに保たれるとこ
ろのピクセルの数)>としてコード化されてタグバッフ
ァ22に記憶されるラン長さである。他の入力パラメー
タは、ピクセルごとのベースで入力ブロックバッファ2
4に記憶される。
【0068】スパンは、パラメータキャッシュ26に対
して比較される。ブロックはタイル状のフォーマットで
入力され、従って、所与のシーンの垂直及び水平のコヒ
レンスがキャッシュにより利用できるのが望ましい。キ
ャッシュの連想性の程度は、個々のシステムコスト/性
能の兼ね合いについて残されている問題である。キャッ
シュがヒットする場合に、それに対応する表面パラメー
タリストは、前計算ユニット8へ直接通される。キャッ
シュがミスする場合には、パラメータリストがシステム
メモリからフェッチされ、記憶されそして前計算ユニッ
トへ送られる。キャッシュは、高いヒット率で設計され
ているので、システムメモリバスの帯域巾におけるその
後のミスのペナルティは小さく、個別のパラメータメモ
リの必要性は否定される。
【0069】前計算ユニットは、ブロックスタートアド
レス(ここからスピンスタートアドレスが導出される)
を現在パラメータリストと共に取り上げ、パラメータリ
ストに指定されたようにテクスチャ/陰影付け繰り返し
装置28、30のいずれか又は全てに対する初期値を計
算する。このようにする際に、上記の走査線テクスチャ
アドレス及び陰影付け輝度アルゴリズムを実施する。こ
れは、典型的に、マイクロシーケンサによって制御され
る乗算アキュムレータのアレーより成る。
【0070】前計算バッファ32は、キャッシュミスの
ペナルティ及び前計算オーバーヘッドをテクスチャ及び
陰影付け繰り返しプロセスにオーバーラップさせ、これ
により、システムスループットを増加できるようにす
る。
【0071】テクスチャ繰り返し装置は、以下に述べる
ように、u、v及びMIPマップの「D」計算において
双曲線補間を実行する。テクスチャ繰り返し装置の出力
は、テクスチャメモリ6のアドレスの対より成り、2つ
の適切なMIPマップからのテクスチャ値がフェッチさ
れてピクセル処理ユニット34へ送られる。
【0072】陰影付け繰り返し装置28、30の数は、
陰影付け機能に必要とされる並列の程度によって左右さ
れる。例えば、2つのユニットは、滑らかに陰影付けさ
れた面に対し全体的な照明輝度と影の光輝度とを同時に
評価することができる。或いは又、これらユニットは、
フォングの陰影付けされた面の拡散成分及び鏡状成分を
並列に計算するのに使用できる。繰り返し装置は、以下
のアルゴリズムを実施する。陰影付けパイプラインの出
力は、1組の輝度値を含み、これらは、ピクセル処理ユ
ニットへ送られる。
【0073】霧付与ユニット36は、入力ブロックバッ
ファから記憶された深さ値を取り上げ、そして以下に述
べるように、霧付与の擬似指数関数を解く。これらの値
は、ピクセル処理ユニットへ送られ、そこで、計算され
たピクセルカラーと霧カラーとの間を補間するのに使用
される。
【0074】ピクセル処理ユニット32は、各スクリー
ンピクセルの最終的なR、G、Bカラー評価を行う。基
本カラー又はテクスチャカラーが入力され、そして陰影
ビットにより指示された陰影付け繰り返し装置からの全
ての当該光源輝度値の条件和で乗算される。ハイライト
のオフセットも加算される。次いで、ピクセルは霧が付
与され、ブロック累積バッファ38へ転送される。
【0075】ここに述べるアーキテクチャは、多数の進
歩した特徴をサポートすることができる。これは、英国
特許出願第9414843.3号に開示されたような互
換性のある隠れた面の除去及び深さ分類システムを必要
とすることに注意されたい。
【0076】1)半透明の面:半透明のオブジェクト
は、マルチパス技術を用いてレンダリングすることがで
きる。先ず第1に、ブロックの不透明な面が処理され、
そして上記のように累積バッファへ転送される。次い
で、半透明の面が同様に処理されるが、全ての半透明の
面は、それらのパラメータリスト又はテクスチャデータ
の一部分として「アルファ」成分を有し、これを用い
て、現在ピクセルと、累積バッファに記憶された対応す
るバックグランドピクセルとの間で混合が行われる。全
ての半透明ピクセルが処理されたときに、累積バッファ
の内容がフレームバッファから流出される。
【0077】2)アンチエリアシング:これは、マルチ
パス技術を用いて達成することができる。この方法にお
いては、各ブロックがX及びYのサブピクセル増分で何
回も通される。それにより得られるピクセルカラーは、
ブロック累積バッファに累積される。パスが完了する
と、ピクセルがパスの回数によって分割され、フレーム
バッファへ送られる。
【0078】3)動きのぼけ:これは、時間的にぼけさ
せるべきオブジェクトを過剰サンプリングし、次いで、
上記のようにブロック累積バッファを用いてサンプルを
平均化することにより達成される。
【0079】4)ソフト陰影:この効果は、マルチパス
技術を用いて模擬することができ、陰影光源がパス間で
ジッタ状にされ、次いで、上記2)で述べたブロック累
積バッファを用いてサンプルが平均化される。
【0080】5)サーチライト効果:これは、シーンの
領域に光束を投射するトーチビーム又はヘッドライトの
効果である。これは、陰影ボリューム及び光ボリューム
の両方を表すことができるように陰影ビットを適当にセ
ットすることにより実施できる。ソフトなエッジは、上
記のように模擬することができる。
【0081】テクスチャマップを走査順序で記憶する問
題及びそれにより生じるページブレークの問題は、上記
で述べた。これについて、以下に、より詳細に説明す
る。
【0082】所与のシーンピクセルをテクスチャ処理す
るときには、必要なテクスチャピクセル又はテクセル、
或いはMIPマッピングの場合には、スクリーンピクセ
ルへとマップされる多数のテクセルを得るために、テク
スチャマップをアクセスしなければならない。
【0083】メモリにおける正しいテクセルをアクセス
するために、次の式の関数を計算して、テクセルの位置
を見つけなければならない。 Texel address=Texture base address +Offset Func(u、v) Texture base addressは、テクス
チャメモリにおけるMIP mapレベルの所与のテク
スチャのスタート位置であり、そしてu、vは、計算さ
れた整数テクスチャ座標である。Offset Fun
cは、u、v座標をテクスチャマップのオフセットに対
してマップする。
【0084】テクスチャが走査線順序で記憶される場合
には、オフセット関数が次のようになる。 Offset Func(u、v)=u+size*v 但し、sizeは、u次元のテクスチャマップである。
テクスチャマップの次元は2の累乗であるから、上記乗
算は、2進表示での単なる左シフト動作であり、そして
加算は、ビットの単なる連鎖である。それにより128
x128テクスチャマップに対して得られる関数が図7
に走査順序で示されている。(vx は、vのx番目のビ
ットを指し、最下位ビットは0で番号付けされているこ
とに注意されたい。)
【0085】これに伴う問題は、vインデックスが何ら
かの量だけ変化するや否や、それによりオフセットが急
激に変化することである。これらの急激な変化は、非常
に多数のページブレークを生じ、これは、テクスチャ処
理性能に悪影響を及ぼす。一般に、テクスチャ座標は徐
々に変化する。しかしながら、これらはu及び/又はv
方向に同等に変化する傾向がある。
【0086】テクスチャマップを構成する更に効率的な
方法は、u及びvインデックスビットをインターリーブ
することである。最下位ビットにv0 を有する1つのこ
のような方法が、最適な関数のもとで図7に示されてい
る。(Uでスタートすることもできる。)
【0087】この構成は、多数の隣接ピクセル(u及び
vの両方向に隣接する)をテクスチャメモリにおいて比
較的接近して保持し、それ故、ページブレークを減少す
る。図8は、テクスチャマップの左上の角を示してい
る。各ピクセルの番号は、ピクセルが記憶されるオフセ
ットを示している。
【0088】この構造は、フラクタルとして最も良好に
説明される。このパターンは、それ自身で同様に回転さ
れた「Z」であり、即ちジグザグがピクセルレベルでス
タートし、ピクセルのグループが更に大きくなるのと共
に続けられる。
【0089】MIPマッピングの要求に伴い更に別の問
題が生じる。MIPマッピングのプロセスは、通常、各
スクリーンピクセルの計算のたびにMIPマップの2つ
の隣接レベルをアクセスする必要がある。MIPマップ
レベルが隣接して記憶される場合には、2つのレベルか
らのピクセルフェッチが、1つのDRAMページ内に留
まるにはあまりに離れ過ぎ、従って、各ピクセルアクセ
スにおいてページブレークが生じる。
【0090】このオーバーヘッドを回避するには、DR
AMバンクを使用する必要がある。多数のバンクを有す
るメモリ構成では、一度に2つ以上のページをオープン
状態に保持することができる。オープンしたページは異
なるバンクになければならないという制約がある。それ
故、連続するMIPマップレベルが個別のバンクに記憶
される場合には、各ピクセルフェッチのたびにページブ
レークが生じない。
【0091】以下の説明においては、次のようなネーミ
ング規定を使用する。MIPマップレベルは0から番号
付けされ、0は1x1解像度マップを指し、1は2x2
マップを指し、等々となる。図9は、全ての奇数番号の
MIPマップレベルを1つのバンクにおける隣接ブロッ
クとして示し、そして全ての偶数レベルを別のバンクに
おける隣接ブロックとして示している。
【0092】この構成は、更なるMIPマップテクスチ
ャをメモリに追加するときに問題を生じさせる。バンク
Yにおけるメモリ要求は、バンクXのほぼ4倍である。
バンクが同じサイズであるときには、バンクYは、バン
クXよりかなり前にいっぱいになる。この問題は、奇数
MIPマップレベルが記憶されるバンクをトグルするこ
とにより回避できる。不都合なことに、この構成は、奇
数及び偶数のデータブロックに対して個別のベースアド
レスを必要とする。
【0093】更に優れた解決策は、図10に示すよう
に、MIPマップの対をインターリーブすることであ
る。テクスチャAは、バンクXのベースアドレスに最低
解像度のマップ(1x1)を有する。次のマップ(2x
2)は、バンクYの連続アドレスにある。テクスチャB
は、バンクYのベースアドレスに1x1マップを有し、
そしてバンクXの連続アドレスに2x2マップを有す
る。
【0094】上記のテクスチャマッピング方程式は、テ
クスチャ処理される各スクリーンピクセルごとに、6つ
の乗算と、6つの加算と、2つの除算とを必要とする。
必要な計算を減少するために、差の式が使用される。
【0095】入力ピクセル流は、走査順序で送られるの
で、同じテクスチャ処理関数を共有するピクセルの水平
方向スパンがある。X次元における数1の差の式は、そ
のスパン内の必要な計算を減少する。
【数1】
【0096】スパンのスタートは、完全な計算を必要と
するが、その後のピクセルは、3つの加算と、2つの除
算しか必要としない。
【0097】テクスチャマッピング計算に対するアーキ
テクチャーは、2つのユニット即ち前計算ユニット及び
繰り返しユニットに分割される。前計算ユニットは、a
x+by+c、dx+ey+f及びpx+qy+rを評
価する。繰り返しユニットは、「a」、「d」及び
「p」の除算及び加算を実行する。
【0098】テクスチャの異なる領域における演算精度
の目に見える効果を詳細に検査した後に、混合浮動及び
固定小数点方法が最も適当であると判断された。
【0099】係数「p」、「q」及び「r」は整数であ
り、従って、「px+qy+r」の評価は、整数乗算及
び整数加算しか必要としない。
【0100】係数「a」、「b」、「c」、「d」、
「e」及び「f」は、単一のべき指数2を共有し、これ
は、他のテクスチャ処理係数と共に記憶される。「ax
+by+c」及び「dx+ey+f」の評価は、「px
+qy+r」の評価と同じであるが、べき指数係数も除
算ユニットへ送られる。
【0101】除算は、浮動小数点で行われる。評価され
る項「ax+by+c」、「dx+ey+f」及び「p
x+qy+r」は、仮数及びべき指数2を伴う浮動小数
点数へと換算される。除算の結果は、アドレス発生に用
いるための整数へと換算される。
【0102】現在の設計は、16ビットの係数と、14
ビットの逆数の仮数とを使用する。
【0103】2つの除算は、単一の逆数化及び2つの乗
算によって行われる。逆数化ユニットへの入力は、0.
5ないし0.9999の固定小数点数であり、出力は、
2ないし1の範囲である。
【0104】この関数を解く最も適した方法は、圧縮ル
ックアップテーブルによるものである。関数は、14ビ
ットまでの精度であることが必要とされる。これは、
0.5が0x2000(16進)として表され、0.9
999が0x3fffであることを意味する。データを
完全に非圧縮状態で記憶するためには、各々14ビット
の8192の位置が必要である(14KB)。逆数の最
上位ビットは、常に1であるから除去することができ
る。これは、記憶量を各々13ビットの8192の位置
(13KB)まで減少する。
【0105】データを圧縮する方法は、逆数の差を記憶
することである。オペランドが0.707より大きい場
合には、逆数は1又は0だけ変化する。それ故、これら
の差は、1ビットの記憶しか必要としない。0.707
より小さければ、逆数は、2又は1だけ変化し、これも
1ビットで記憶できる。この圧縮方法は、必要なメモリ
を1.375KBまで減少する。以下のテーブルは、幾
つかの逆数とそれらの差を示す。オペランド 逆数 0x3FFF 0x2000 - 0x3FFE 0x2001 1 0x3FFD 0x2001 0 0x3FFC 0x2002 1 0x3FFB 0x2002 0 0x3FFA 0x2003 1 0x3FF9 0x2003 0 0x3FF8 0x2004 1 0x3FF7 0x2004 0
【0106】データを圧縮解除するために、差の加算が
行われる。例えば、0x3FFBの逆数を計算するため
に、0x3FFFないし0x3FFBに対する差のビッ
トが加算され、次いで、0x2000(1+0+1+0
+0x2000≒0x2002)に加算される。オペラ
ンドが0.707より下がったときは、差が2又は1と
なる。これらの差は、単一ビットとして記憶されるが、
差を加算するときには2及び1として解釈される。
【0107】この圧縮/圧縮解除方法は、非常に多数の
加算を必要とするので、少数のクロックサイクルで行う
ことは不可能である。若干効率の悪い圧縮方法は、加算
の数を大巾に減少することができる。32ごとの逆数値
が、介在する31の数字の差と共にいっぱいに記憶され
る。以下のテーブルは、このデータの最初の幾つかのエ
ントリーを示す。 オペランド 逆数 介在する差 0x3FFF 0x2000 1010101010101010101010101010101 0x3FDF 0x2010 1010101010101010101010101010101 0x3FFF 0x2020 1010101010101010101010101010101
【0108】例えば、0x3FDAの逆数を見つけるた
めに、オペランドは、先ず、それに関連した全逆数をも
つ最も近い数(0x3FDF)に丸められる。これらの
値の差は、加算されるべき差の数(0x2010+1+
0+1+0+1=0x2013)である。
【0109】ここに提案する方法は、一連の基本値及び
オフセットを記憶する。nビットの到来するオペランド
は、次のように2つの部分において2つの個別の番号と
して考えられる。 a.番号Kと称する最上位ビット、及び b.番号Lと称する最下位ビット。
【0110】基本値は、KをROMアドレスとして用い
てROMから読み取られ、そしてオフセットは、同じア
ドレスにおいて別のROM(「デルタROM」と称す
る)から読み取られる。
【0111】次いで、この方法は、デルタROMからの
データの最初のLビットに生じる1の数をカウントし、
これは、この基本値からのオフセットを与え、逆数に到
達するためにはこのオフセットを基本値に加えなければ
ならない。オフセット値が上記ケース1に対応する場合
には、次のようになる。 (i)オフセット=(デルタROMの最初のLビットに
おける1の数の和)。 上記のケース2に対応する場合には、次のようになる。 (ii)オフセット=(デルタROMの最初のLビットに
おける1の数の和+L)。この第2のケースは、1又は
2を表すデルタROMからの値を効果的に補正するが、
それらは、2進で「0」又は「1」として表される。
【0112】ハードウェアの構成が図13に示されてい
る。px+qy+rの値(「pqr積」として示され
た)は、1.0ないし2.0の値に正規化される(4
0)。仮数は、上記のように、2つの部分、即ち最上位
部分及び最下位部分において考えられる。最上位部分
は、ROM42、44をアクセスするアドレスとして使
用される。
【0113】最下位部分は、マスク46を発生するのに
使用され、これは、デルタROM44からの値と論理的
にアンドされる(48)。これは、デルタROMから最
初のLビットを分離し、それらをカウントできるように
する(50)。ユニットから出て来るカウントされた1
の数は、52Lをこれに加算することにより計算され
る。次いで、√2の元の数を比較する比較器によって正
しいオフセットが選択され、式(i)又は(ii)から適
切な結果が選択される。
【0114】このオフセット値は、次いで、「メインR
OM」からの基本値に加えられ(56)、「pqr積」
の逆数が与えられる。
【0115】この図は、ax+by+c(「abc
積」)によって与えられる逆数を乗算し(58)そして
正規化解除する(60)ことにより、次の数2の式をい
かに行うかを示している。
【数2】
【0116】Vは、dx+ey+f(「def積」)を
用いて同様に計算される。
【0117】「D」を計算する計算経費を回避するため
に、精度は低いが効率の良い方法は次の数3である。
【数3】 「pz+qy+r」はテクスチャマッピング方程式の下
半分である。「n」は、レンダリングの前に評価されて
他のテクスチャ処理パラメータと共に記憶される定数で
ある。「n」を計算する方法は多数あり、例えば、次の
数4がある。
【数4】 「a」、「b」、「c」、「d」、「e」、「f」、
「p」、「q」及び「r」は、テクスチャマッピング係
数である。
【0118】上記の数4は、ピクセル座標(0、0)に
おいてヘクベルトの近似を使用して「D」を評価し、次
いで、数3の式をその値に等しくする。これは理想的な
ものではない。というのは、「D」の最良の近似は、テ
クスチャ処理面が見えるところでなければならないから
である。それ故、良好な方法は、数3の式を、見える面
のピクセル座標においてヘックバートの近似に等しくす
ることである。
【0119】図11に示した累乗関数近似のハードウェ
ア実施について説明する。これは、固定小数点表示で表
された0≦X≦2の範囲の値Xと、小さな正の係数Kを
入力として受け取り、そして固定小数点の結果を再び0
≦X≦2の範囲で出力する。
【0120】ビットXの数(即ち、図の点Aにおける関
数への入力)は、ハイライトの所要濃度によって左右さ
れるが、通常は、典型的に、約16ビットである。この
説明においては、これがmである。
【0121】kのビット数は、通常、3又は4であり、
これも、ハイライトの所要濃度によって左右される。こ
れは、nと称する。
【0122】結果のビット数は、所要の精度に基づいて
いる。pビットの出力精度が必要とされると仮定する。
【0123】図11のプロセスは、次の通りである。ステップ 1.固定小数点xが、最初に、1の固定小数点定数値か
ら減算される。出力のビット数は、入力と同じに保た
れ、即ちmビットである。 2.次いで、値は、k位置だけ左へシフトされる。点B
の巾は、m+(2π−1)ビットであって、0...2
πの範囲の固定小数点数を表している。 3.次いで、値は、最大関数により1にクランプされ
る。これは、上位の2πビットを検査し、いずれかがセ
ットされている場合には、その値を1以上にしなければ
ならない。この例では、出力を固定点1.0にセットす
ることができる。上位の2πビットがどれもセットされ
ていない場合には、出力値は入力と同じである。必要と
される結果の質に基づいて、点Cにおいて最大関数から
出力されるビットの数は、p又はp+1ビットに限定さ
れる。選択されるビットは、下位mの上位p又はp+1
ビットである。即ち、値の出力は、依然として、0≦x
≦1の範囲の固定小数点数であるが、精度はp又はp+
1に過ぎない。 4.必要とされる結果の質に基づいて、点Cにおいて最
大関数から出力されるビットの数は、p又はp+1ビッ
トに限定される。選択されるビットは、下位mの上位p
又はp+1ビットである。即ち、値の出力は、依然とし
て、0≦x≦1の範囲の固定小数点数であるが、精度は
p又はp+1に過ぎない。 5.次いで、値は、固定小数点フォーマットにおいて1
から減算される。精度のビット数は、依然として、p又
はp+1に保たれる。 6.次いで、値は、それ自身を乗算することにより平方
される。オペランドのサイズ、即ちp又はp+1ビット
に基づいて、これは、p2 又は(p+1)2 ビットをも
つ値を与える。いずれにせよ、上位のpビットが取り出
され、0≦結果≦1の範囲の固定小数点の値を与える結
果として出力される。
【0124】陰影付けハードウェアユニットは、標準的
な差動技術である前計算及び繰り返しユニットに対して
はテクスチャ処理ユニットと相違しない。フラット、一
次関数、二次関数の2つの陰影付けモードについて以下
に説明する。
【0125】以下の説明上、陰影付け関数をx及びyの
ピクセル位置について説明する。これらは、絶対的なス
クリーンピクセル位置であるが、陰影付けされる面の中
心に対する位置にするのが更に効果的である。このよう
にすると、以下に述べる種々のTn パラメータを表すの
に必要な精度が相当に低減される。
【0126】フラットな陰影付けの場合には、前計算も
繰り返しも行う必要がなく、定数値が直接使用される
か、又はテクスチャ処理パイプラインの結果により乗算
されるかのいずれかである。
【0127】一次関数陰影付けは、次の式の前計算を必
要とする。 I(x、y)=T2 x+T1 y+T0
【0128】従って、繰り返し部分は、T2 を繰り返し
加算するだけでよい。というのは、次の通りだからであ
る。
【0129】二次関数陰影付けも、差の方程式を用いて
行われる。二次関数陰影付けの式は次の通りである。 I(x、y)=T5 2 +T4 xy+T3 2 +T2 x+T1 y+T0 従って、ピクセル(x、y)とピクセル(x+1、y)
との間のIの差は、次の式で与えられる。 ΔI(x、y)=I(x+1、y)−(x、y) =T2 (x+1)2 −T2 2 +T4 (x+1)y−T4 xy +T2 (x+1)−T2 x =T2 (2x+1)+T4 y+T2 それ故、ピクセルxyにおける差の間の差は、次の通り
である。 ΔΔI(x、y)=ΔI(x+1、y)−ΔI(x、y) =T5 (2(x+1)+1)+T4 y+T2 −T5 (2x+1)−T4 y−T2 =T5 (2x+3)−T5 (2x+1) =2T5 従って、前処理ユニットは、Iで始まる初期値と、初期
デルタ値を計算することが必要である。即ち、 I(x、y)=T5 2 +T4 xy+T3 2 +T2 x+T1 y+T0 ΔI(x、y)=T5 (2x+1)+T4 y+T2 繰り返しを行うために、デルタ値を加算することにより
次のI値が得られ、デルタの差において加算することに
より新たなデルタが発生される。即ち、 I(x+1、y)=I(x、y)+ΔI(x、y) ΔI(x+1、y)=ΔI(x、y)+ΔΔI(x、y) =ΔI(x、y)+2T5 ピクセルごとに2回の加算を行うだけでよい。出力値は
固定小数点であり、範囲0...1にクランプされる。
ハイライトを計算する場合には、この値を上記のように
累乗関数に入れることができる。
【0130】上記したように、霧付与の減衰係数は、次
の式によって計算される。 A=dn 但し、Aは減衰係数であり、dは霧の濃度であり、そし
てnはレンダリングされるオブジェクトと観察者との間
の距離である。この式は、次のように書き直すことがで
きる。 A=2n.log2(d) これは、乗算及び2-x関数に対する演算を簡単化する。
この関数をルックアップテーブルで具現化する場合に
は、必要とされる精度に対して甚だしく大規模なものと
なり、従って、情報の圧縮方法が提案される。
【0131】関数2-xは、便利なことに、2の累乗ごと
に「自己類似」である。0と1との間の2-xは,1と2
との間の2-x*2と同じであり、且つ2と3との間の2
-x*4と同じである。それ故、この関数は、2の分数累
乗のルックアップテーブルと出力に対する演算シフト回
路とによって具現化することができる。提案された関数
への入力の一例を以下に示す。 ビット0 1 2 3 4 5 6 7 8 9 10
11 12 13 14 15 16 17 18 19 20 21 2
2 23 24 25・・・・ ビット0−6は、累乗テーブルへのインデックスであ
る。ビット7−9は、ルックアップの答えをシフトダウ
ンするのに使用される。10より上のビットがセットさ
れた場合には、結果が0である。
【0132】上記特許出願「三次元像の陰影付け」(出
願第9414834.3号)に開示されたアーキテクチ
ャーは、レンダリングされるオブジェクトと観察者との
間の距離の逆数に比例する数字を与えることができる。
霧付与関数は、2log2(d)/nに変更しなければならな
い。不都合なことに、この関数を容易に評価する関数は
ない。この関数に対する受け入れられる近似は、A=1
−2n.log2(d) である。
【図面の簡単な説明】
【図1】MIPマップデータの種々の解像度を示す図で
ある。
【図2】拡散陰影付けの図である。
【図3】鏡状ハイライトの図である。
【図4】陰影付けに使用されるシステムアーキテクチャ
ーのブロック図である。
【図5】メモリアドレスの従来の走査と、アドレスビッ
トをインターリーブした走査とを比較するための図であ
る。
【図6】メモリアドレスの従来の走査と、アドレスビッ
トをインターリーブした走査とを比較するための図であ
る。
【図7】ビットが実際にいかにインターリーブされるか
を示す図である。
【図8】物理的なメモリ位置がインターリーブされたア
ドレスビットでアドレスされる順序を詳細に示す図であ
る。
【図9】2つのメモリバンク内の1組のMIPマップデ
ータの記憶を示す図である。
【図10】2つのメモリバンク内の2組のMIPマップ
データの記憶を示す図である。
【図11】累乗霧付与関数を具現化するブロック図であ
る。
【図12】図4の詳細な実施を示す図である。
【図13】除算演算を実行する改良された回路のブロッ
ク図である。
【符号の説明】
4 パラメータキャッシュ 6 テクスチャメモリ 8 前計算ユニット 10 テクスチャ繰り返しユニット 12 陰影付けユニット 20 入力データ 22 タグバッファ 26 パラメータキャッシュ 28、30 テクスチャ/陰影付け繰り返し装置 32 前計算バッファ 34 ピクセル処理ユニット 36 霧付与ユニット 38 ブロック累積バッファ
─────────────────────────────────────────────────────
【手続補正書】
【提出日】平成8年4月4日
【手続補正3】
【補正対象書類名】図面
【補正対象項目名】図12
【補正方法】変更
【補正内容】
【図12】
───────────────────────────────────────────────────── フロントページの続き (72)発明者 マーク エドワード ダン イギリス ハートフォードシャー ダブリ ューディー1 3ティーエヌ ワトフォー ド ザ リッジウェイ 26 (72)発明者 イアン ジェームズ オーヴァーリーズ イギリス ロンドン ダブリュー9 3デ ィービークイーンズ パーク アッシュモ ア ロード 211 (72)発明者 ピーター ディヴィッド リーバック イギリス ハートフォードシャー ダブリ ューディー7 3ティーエヌ ラドレット リンクス ドライヴ 5 (72)発明者 ホッセイン ヤーセイ イギリス バッキンガムシャー エイチピ ー5 2アールエス チェーシャム バー クレイ アベニュー 111

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 スクリーンに表示するために三次元像を
    テクスチャ処理する方法において、スクリーンに対する
    各画素領域(ピクセル)の位置と、ピクセルに対する関
    連像データとを含むデータを受け取り、上記像データに
    基づいてメモリ手段からテクスチャ像データを検索し、
    上記関連像データに基づいて上記ピクセルに上記テクス
    チャ像データの適切な部分をマッピングし、同じ関連像
    データを共有するピクセルの数を決定し、1ピクセル増
    加に対応してピクセルにおける上記テクスチャデータの
    マッピングの増分変化を決定し、そして隣接ピクセルと
    同じ像データを共有する各ピクセルに対し、その隣接ピ
    クセルに対して既に導出されたテクスチャ像データを、
    テクスチャ像データの上記増分変化と結合して、そのピ
    クセルに対するテクスチャ像データを導出するという段
    階を備えたことを特徴とする方法。
  2. 【請求項2】 像をテクスチャ処理するのに使用するM
    IPマップデータをダイナミックランダムアクセスメモ
    リ(DRAM)に記憶し、テクスチャMIPマップのu
    及びvアドレスビットをインターリーブし、これによ
    り、物理的に隣接するMIPマップピクセルが同じDR
    AMページに入る最大の確率を有するようにする請求項
    1に記載の三次元像をテクスチャ処理する方法。
  3. 【請求項3】 MIPマップデータの連続する解像度レ
    ベルを2つのDRAMバンクに交互に記憶し、第1のD
    RAMバンクのメモリページは、所与のテクスチャに対
    するMIPマップデータの解像度の全ての偶数レベルを
    含み、そして第2のDRAMバンクのメモリページは、
    そのテクスチャに対するMIPマップデータの解像度の
    全ての奇数レベルを含むようにする請求項2に記載の方
    法。
  4. 【請求項4】 第1のDRAMバンクのメモリページに
    おけるMIPマップデータの解像度の偶数レベルは、第
    2のテクスチャに対するMIPマップデータの解像度の
    奇数レベルとインターリーブされ、そして第2のDRA
    MバンクにおけるMIPマップデータの奇数レベルは、
    第2のテクスチャに対するMIPマップデータの偶数レ
    ベルとインターリーブされる請求項3に記載の方法。
  5. 【請求項5】 除算演算のためのマシンによる方法にお
    いて、nが1より大きいとすれば、0ないしXの範囲の
    各n番目の値の逆数を記憶し、介在するn−1の値の逆
    数間の差を記憶し、除算演算のためのオペランド及び仮
    数を受け取り、受け取った仮数の最上位部分に応答して
    記憶された逆数の1つを検索し、受け取った仮数の最下
    位部分に応答して1組の差を受け取り、上記逆数と1組
    の差を加算し、そして加算結果を乗算するという段階を
    備えたことを特徴とする方法。
  6. 【請求項6】 長除演算を実行する装置において、nが
    1より大きいとすれば、0ないしXの範囲の各n番目の
    値の逆数を記憶する手段と、介在するn−1の値の逆数
    間の差を記憶する手段と、除算演算のためのオペランド
    及び仮数を受け取る手段と、受け取った仮数の最上位部
    分に応答して記憶された逆数の1つを検索する手段と、
    受け取った仮数の最下位部分に応答して1組の差を検索
    する手段と、上記逆数と1組の差を加算する手段と、受
    け取ったオペランドで加算結果を乗算する手段とを備え
    たことを特徴とする装置。
JP01419296A 1995-01-31 1996-01-30 3d像のテクスチャ処理及び陰影付け方法 Expired - Lifetime JP3510950B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB9501832:1 1995-01-31
GBGB9501832.1A GB9501832D0 (en) 1995-01-31 1995-01-31 Texturing and shading of 3-d images

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2003389383A Division JP2004103039A (ja) 1995-01-31 2003-11-19 3d像のテクスチャ処理及び陰影付け方法

Publications (2)

Publication Number Publication Date
JPH08255264A true JPH08255264A (ja) 1996-10-01
JP3510950B2 JP3510950B2 (ja) 2004-03-29

Family

ID=10768838

Family Applications (4)

Application Number Title Priority Date Filing Date
JP01419296A Expired - Lifetime JP3510950B2 (ja) 1995-01-31 1996-01-30 3d像のテクスチャ処理及び陰影付け方法
JP2003389383A Pending JP2004103039A (ja) 1995-01-31 2003-11-19 3d像のテクスチャ処理及び陰影付け方法
JP2007140603A Pending JP2007213621A (ja) 1995-01-31 2007-05-28 3d像のテクスチャ処理及び陰影付け方法
JP2008012767A Expired - Lifetime JP4249796B2 (ja) 1995-01-31 2008-01-23 3d像のテクスチャ処理及び陰影付け方法

Family Applications After (3)

Application Number Title Priority Date Filing Date
JP2003389383A Pending JP2004103039A (ja) 1995-01-31 2003-11-19 3d像のテクスチャ処理及び陰影付け方法
JP2007140603A Pending JP2007213621A (ja) 1995-01-31 2007-05-28 3d像のテクスチャ処理及び陰影付け方法
JP2008012767A Expired - Lifetime JP4249796B2 (ja) 1995-01-31 2008-01-23 3d像のテクスチャ処理及び陰影付け方法

Country Status (6)

Country Link
US (2) US6330000B1 (ja)
EP (1) EP0725366B1 (ja)
JP (4) JP3510950B2 (ja)
DE (1) DE69610341T2 (ja)
ES (1) ES2153077T3 (ja)
GB (2) GB9501832D0 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002529869A (ja) * 1998-11-06 2002-09-10 イマジネイション テクノロジーズ リミテッド コンピュータによる3次元シェーディング及びテクスチャリング・システムに使用する深度ソート
JP2008276782A (ja) * 2007-05-01 2008-11-13 Vivante Corp 2の非冪乗テクスチャマップに対する座標計算
US7536047B2 (en) 2002-11-15 2009-05-19 Warner Bros. Entertainment Inc. Method for digitally rendering skin or like materials
KR101386767B1 (ko) * 2009-06-25 2014-04-21 티브이 원 리미티드 소스 이미지의 뒤틀린 버전을 표시하는 장치 및 방법

Families Citing this family (63)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5724561A (en) * 1995-11-03 1998-03-03 3Dfx Interactive, Incorporated System and method for efficiently determining a fog blend value in processing graphical images
US6650327B1 (en) 1998-06-16 2003-11-18 Silicon Graphics, Inc. Display system having floating point rasterization and floating point framebuffering
JP2000115558A (ja) * 1998-10-08 2000-04-21 Mitsubishi Electric Corp 色特性記述装置および色管理装置および画像変換装置ならびに色補正方法
JP3687945B2 (ja) * 1998-12-11 2005-08-24 ソニー株式会社 画像処理装置およびその方法
US6417861B1 (en) * 1999-02-17 2002-07-09 Sun Microsystems, Inc. Graphics system with programmable sample positions
US6674922B1 (en) * 1999-03-26 2004-01-06 Canon Kabushiki Kaisha Image processing method, image processing apparatus, and storage medium
US7098925B1 (en) * 2000-03-10 2006-08-29 Intel Corporation Shading of images using texture
US20020012472A1 (en) * 2000-03-31 2002-01-31 Waterfall Andrew E. Method for visualization of time sequences of 3D optical fluorescence microscopy images
US6766281B1 (en) * 2000-05-12 2004-07-20 S3 Graphics Co., Ltd. Matched texture filter design for rendering multi-rate data samples
IL136430A0 (en) * 2000-05-29 2001-06-14 Zviaguina Natalia Ray tracing method and system for determining visible parts of surfaces of three-dimensional objects and their parameters of shading accounting for light and shadow volumes
JP3527196B2 (ja) * 2000-11-16 2004-05-17 株式会社ソニー・コンピュータエンタテインメント テクスチャ描画方法、エンタテインメント装置および記録媒体
US6940504B1 (en) 2000-11-21 2005-09-06 Microsoft Corporation Rendering volumetric fog and other gaseous phenomena using an alpha channel
US7046243B1 (en) * 2000-11-21 2006-05-16 Microsoft Corporation Rendering volumetric fog and other gaseous phenomena
CA2329104C (en) * 2000-12-20 2005-05-24 Sicon Video Corporation Method and apparatus for calculating a reciprocal
GB2372188B (en) 2001-02-08 2005-07-13 Imagination Tech Ltd Volume clipping in computer 3-D Graphics
US20030107572A1 (en) * 2001-07-02 2003-06-12 Smith Joshua Edward Method and apparatus for reducing the polygon count of a textured, three dimensional model of an object
US7007058B1 (en) * 2001-07-06 2006-02-28 Mercury Computer Systems, Inc. Methods and apparatus for binary division using look-up table
US20030081849A1 (en) * 2001-07-16 2003-05-01 Smith Joshua Edward Method and system for creating seamless textured three dimensional models of objects
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
US6781594B2 (en) * 2001-08-21 2004-08-24 Sony Computer Entertainment America Inc. Method for computing the intensity of specularly reflected light
US7046245B2 (en) * 2001-10-10 2006-05-16 Sony Computer Entertainment America Inc. System and method for environment mapping
GB0128888D0 (en) 2001-12-03 2002-01-23 Imagination Tech Ltd Method and apparatus for compressing data and decompressing compressed data
GB2383248B (en) * 2001-12-14 2005-12-07 Imagination Tech Ltd 3-dimensional computer graphics system
US6847372B2 (en) * 2002-03-11 2005-01-25 Sun Microsystems, Inc. Magnified texture-mapped pixel performance in a single-pixel pipeline
DE10246122B4 (de) * 2002-10-01 2006-04-20 Audi Ag Verfahren und Vorrichtung zur Darstellung eines computermodellierten Gegenstands
US7864176B2 (en) * 2003-04-30 2011-01-04 Pixar Translucent object rendering methods and apparatus
US7443394B2 (en) * 2003-04-30 2008-10-28 Pixar Method and apparatus for rendering of complex translucent objects using multiple volumetric grids
US7019744B2 (en) * 2003-04-30 2006-03-28 Pixar Method and apparatus for rendering of translucent objects using volumetric grids
US7859530B2 (en) * 2003-04-30 2010-12-28 Pixar Subsurface rendering methods and apparatus
US8133115B2 (en) 2003-10-22 2012-03-13 Sony Computer Entertainment America Llc System and method for recording and displaying a graphical path in a video game
JP4547906B2 (ja) * 2003-12-19 2010-09-22 ソニー株式会社 描画装置および描画方法、プログラム、並びに記録媒体
US8411105B1 (en) 2004-05-14 2013-04-02 Nvidia Corporation Method and system for computing pixel parameters
US8687010B1 (en) * 2004-05-14 2014-04-01 Nvidia Corporation Arbitrary size texture palettes for use in graphics systems
US8736620B2 (en) * 2004-05-14 2014-05-27 Nvidia Corporation Kill bit graphics processing system and method
US8711155B2 (en) * 2004-05-14 2014-04-29 Nvidia Corporation Early kill removal graphics processing system and method
US7079156B1 (en) * 2004-05-14 2006-07-18 Nvidia Corporation Method and system for implementing multiple high precision and low precision interpolators for a graphics pipeline
US20060007234A1 (en) * 2004-05-14 2006-01-12 Hutchins Edward A Coincident graphics pixel scoreboard tracking system and method
US8416242B1 (en) 2004-05-14 2013-04-09 Nvidia Corporation Method and system for interpolating level-of-detail in graphics processors
US8736628B1 (en) 2004-05-14 2014-05-27 Nvidia Corporation Single thread graphics processing system and method
US8432394B1 (en) 2004-05-14 2013-04-30 Nvidia Corporation Method and system for implementing clamped z value interpolation in a raster stage of a graphics pipeline
US8860722B2 (en) * 2004-05-14 2014-10-14 Nvidia Corporation Early Z scoreboard tracking system and method
US8743142B1 (en) 2004-05-14 2014-06-03 Nvidia Corporation Unified data fetch graphics processing system and method
GB0411880D0 (en) * 2004-05-27 2004-06-30 Imagination Tech Ltd Method and apparatus for efficient evaluation of "table-based" mathematical functions
US20060071933A1 (en) 2004-10-06 2006-04-06 Sony Computer Entertainment Inc. Application binary interface for multi-pass shaders
KR20060116916A (ko) * 2005-05-11 2006-11-16 삼성전자주식회사 텍스쳐 캐쉬 및 이를 구비한 3차원 그래픽 시스템, 그리고그것의 제어 방법
US7636126B2 (en) 2005-06-22 2009-12-22 Sony Computer Entertainment Inc. Delay matching in audio/video systems
KR100648293B1 (ko) * 2005-08-09 2006-11-23 삼성전자주식회사 그래픽 시스템 및 그것의 그래픽 처리 방법
US7880746B2 (en) 2006-05-04 2011-02-01 Sony Computer Entertainment Inc. Bandwidth management through lighting control of a user environment via a display device
US7965859B2 (en) 2006-05-04 2011-06-21 Sony Computer Entertainment Inc. Lighting control of a user environment via a display device
US8537168B1 (en) 2006-11-02 2013-09-17 Nvidia Corporation Method and system for deferred coverage mask generation in a raster stage
US8441497B1 (en) 2007-08-07 2013-05-14 Nvidia Corporation Interpolation of vertex attributes in a graphics processor
DE102008023269A1 (de) 2008-05-13 2009-11-19 Rheinmetall Waffe Munition Gmbh Optisches System bzw. Verfahren zur verbesserten Zielerkennung
US10786736B2 (en) 2010-05-11 2020-09-29 Sony Interactive Entertainment LLC Placement of user information in a game space
US9342817B2 (en) 2011-07-07 2016-05-17 Sony Interactive Entertainment LLC Auto-creating groups for sharing photos
US9213639B2 (en) * 2012-09-25 2015-12-15 Teradata Us, Inc. Division of numerical values based on summations and memory mapping in computing systems
KR102066659B1 (ko) 2013-08-13 2020-01-15 삼성전자 주식회사 그래픽 프로세싱 유닛, 이를 포함하는 그래픽 프로세싱 시스템 및 이의 동작 방법
US10535114B2 (en) * 2015-08-18 2020-01-14 Nvidia Corporation Controlling multi-pass rendering sequences in a cache tiling architecture
KR102651126B1 (ko) * 2016-11-28 2024-03-26 삼성전자주식회사 그래픽 프로세싱 장치 및 그래픽스 파이프라인에서 텍스처를 처리하는 방법
GB2560336B (en) * 2017-03-07 2020-05-06 Imagination Tech Ltd Address generators for verifying integrated circuit hardware designs for cache memory
JP2018114328A (ja) * 2018-03-30 2018-07-26 株式会社ユニバーサルエンターテインメント 遊技機
US10503473B1 (en) * 2018-05-30 2019-12-10 Apple Inc. Floating-point division alternative techniques
WO2020115520A1 (en) * 2018-12-02 2020-06-11 Playsight Interactive Ltd. Ball tracking in sport events
US11823318B2 (en) * 2021-06-04 2023-11-21 Nvidia Corporation Techniques for interleaving textures

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4615013A (en) * 1983-08-02 1986-09-30 The Singer Company Method and apparatus for texture generation
EP0256455B1 (de) 1986-08-11 1991-05-02 Siemens Aktiengesellschaft Verfahren zur schnellen Division langer Operanden in Datenverarbeitungsanlagen und Schaltungsanordnung zur Durchführung des Verfahrens
US4823301A (en) * 1987-10-22 1989-04-18 Tektronix, Inc. Method and circuit for computing reciprocals
GB2240017A (en) 1990-01-15 1991-07-17 Philips Electronic Associated New, interpolated texture values are fed back to texture memories
GB2240016A (en) * 1990-01-15 1991-07-17 Philips Electronic Associated Texture memories store data at alternating levels of resolution
GB2240015A (en) * 1990-01-15 1991-07-17 Philips Electronic Associated Texture memory addressing
US5222205A (en) * 1990-03-16 1993-06-22 Hewlett-Packard Company Method for generating addresses to textured graphics primitives stored in rip maps
GB2245460B (en) * 1990-06-18 1994-04-06 Link Miles Ltd Apparatus for generating a visual display
GB2270243B (en) * 1992-08-26 1996-02-28 Namco Ltd Image synthesizing system
US5341321A (en) * 1993-05-05 1994-08-23 Hewlett-Packard Company Floating point arithmetic unit using modified Newton-Raphson technique for division and square root
US5490240A (en) 1993-07-09 1996-02-06 Silicon Graphics, Inc. System and method of generating interactive computer graphic images incorporating three dimensional textures
US5550960A (en) 1993-08-02 1996-08-27 Sun Microsystems, Inc. Method and apparatus for performing dynamic texture mapping for complex surfaces
CA2144914A1 (en) 1994-04-01 1995-10-02 Raymond L. Fitzgerald Computer graphics texture paging system with fragmentary mip map selection
US5745118A (en) 1995-06-06 1998-04-28 Hewlett-Packard Company 3D bypass for download of textures
US6016151A (en) 1997-09-12 2000-01-18 Neomagic Corp. 3D triangle rendering by texture hardware and color software using simultaneous triangle-walking and interpolation for parallel operation

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002529869A (ja) * 1998-11-06 2002-09-10 イマジネイション テクノロジーズ リミテッド コンピュータによる3次元シェーディング及びテクスチャリング・システムに使用する深度ソート
US7536047B2 (en) 2002-11-15 2009-05-19 Warner Bros. Entertainment Inc. Method for digitally rendering skin or like materials
US8515157B2 (en) 2002-11-15 2013-08-20 Warner Bros. Entertainment Inc. Method for digitally rendering skin or like materials
JP2008276782A (ja) * 2007-05-01 2008-11-13 Vivante Corp 2の非冪乗テクスチャマップに対する座標計算
KR101386767B1 (ko) * 2009-06-25 2014-04-21 티브이 원 리미티드 소스 이미지의 뒤틀린 버전을 표시하는 장치 및 방법

Also Published As

Publication number Publication date
DE69610341D1 (de) 2000-10-26
JP2007213621A (ja) 2007-08-23
US6330000B1 (en) 2001-12-11
EP0725366A3 (en) 1996-11-06
GB9501832D0 (en) 1995-03-22
JP3510950B2 (ja) 2004-03-29
EP0725366B1 (en) 2000-09-20
ES2153077T3 (es) 2001-02-16
US6313846B1 (en) 2001-11-06
EP0725366A2 (en) 1996-08-07
DE69610341T2 (de) 2001-04-05
GB2297886B (en) 2000-02-02
JP4249796B2 (ja) 2009-04-08
GB2297886A (en) 1996-08-14
GB9601965D0 (en) 1996-04-03
JP2004103039A (ja) 2004-04-02
JP2008112468A (ja) 2008-05-15

Similar Documents

Publication Publication Date Title
JP3510950B2 (ja) 3d像のテクスチャ処理及び陰影付け方法
US7167181B2 (en) Deferred shading graphics pipeline processor having advanced features
US5870097A (en) Method and system for improving shadowing in a graphics rendering system
US5949428A (en) Method and apparatus for resolving pixel data in a graphics rendering system
US6664959B2 (en) Method and apparatus for culling in a graphics processor with deferred shading
US6326964B1 (en) Method for sorting 3D object geometry among image chunks for rendering in a layered graphics rendering system
US5886701A (en) Graphics rendering device and method for operating same
EP0850462B1 (en) Method and system for rendering graphical objects to image chunks and combining image layers into a display image
US5856829A (en) Inverse Z-buffer and video display system having list-based control mechanism for time-deferred instructing of 3D rendering engine that also responds to supervisory immediate commands
US5867166A (en) Method and system for generating images using Gsprites
US6005582A (en) Method and system for texture mapping images with anisotropic filtering
EP0447227B1 (en) Method for Generating Addresses to Textured Graphics Primitives Stored in RIP Maps
WO1999049417A1 (en) Fog simulation for partially transparent objects
US20050024378A1 (en) Texturing systems for use in three-dimensional imaging systems
EP1434171A2 (en) Method and system for texture mapping a source image to a destination image
US6982719B2 (en) Switching sample buffer context in response to sample requests for real-time sample filtering and video generation
EP1766584A2 (en) Inverse texture mapping 3d graphics system
Davis et al. Shader-Based Water Effects
GB2338096A (en) Arithmetic division method

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20031222

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040105

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20080109

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090109

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20090109

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100109

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110109

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20110109

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20120109

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20130109

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20130109

Year of fee payment: 9

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