JP2001118082A - 描画演算処理装置 - Google Patents
描画演算処理装置Info
- Publication number
- JP2001118082A JP2001118082A JP29425399A JP29425399A JP2001118082A JP 2001118082 A JP2001118082 A JP 2001118082A JP 29425399 A JP29425399 A JP 29425399A JP 29425399 A JP29425399 A JP 29425399A JP 2001118082 A JP2001118082 A JP 2001118082A
- Authority
- JP
- Japan
- Prior art keywords
- vertex
- unit
- data
- processing unit
- units
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/40—Filling a planar surface by adding surface attributes, e.g. colour or texture
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Image Generation (AREA)
Abstract
ション制作者がより自由に速度と画質の制御ができ、さ
らには非リアルタイムCGで用いられている高品位な画
像生成技法をリアルタイムに実現できる描画演算処理装
置を提供する。 【解決手段】3次元空間内のオブジェクトの表面形状を
表す形状プリミティブを形状分割部10に入力して、二
次元に配列された任意の大きさの複数のサブポリゴンに
分割することによりポリゴンメッシュを生成した後、画
像メモリ80から画像メモリ読み出し経路60及びキャ
ッシュ70を介してデータを読み込む頂点処理部30に
よって、ポリゴンメッシュの頂点毎にサブポリゴンのピ
クセル単位の描画に必要なパラメータを算出し、このデ
ータを基にレンダリング処理部40及び画像メモリアク
セス部50によりピクセル単位の描画データを算出して
画像メモリ80上に書き込む。
Description
タグラフィックス(CG)をリアルタイムに、かつ高品
位に描画する描画演算処理装置に関する。
機のようなシステムでは、3次元空間に存在する物体、
すなわち3Dオブジェクト(以下、単にオブジェクトと
いう)の表面の単位形状を表す形状プリミティブと呼ば
れるデータを入力し、これに描画を行う描画演算処理が
必要となる。この処理を高速に行うためには、ハードウ
ェアとして実現される描画演算処理装置が用いられる。
呼ばれる平面多角形をオブジェクトの形状プリミティブ
として用い、これに描画を行うことで3次元空間を表現
している。具体的には、従来の画像演算処理装置は大き
く「ジオメトリ処理部」と「ラスタライズ処理部」及び
「画像メモリ」の三つの要素からなっており、処理はパ
イプライン的に行われる。
ブであるポリゴンについて頂点単位に座標変換やライテ
ィング処理を行う。また、ジオメトリ処理部は必要に応
じて頂点に対応するテクスチュア座標の計算も行うが、
テクスチュア画像そのものを画像メモリから読み込むこ
とはない。ジオメトリ処理部では処理結果としてポリゴ
ンの頂点のスクリーン座標値、色、及びテクスチュア座
標値を求め、ラスタライズ処理部に引き渡す。
モリ上でピクセル単位に描画する処理を行う。ピクセル
単位の色は、スムーズ・シェーディングと呼ばれる手法
により、各頂点に与えられた色を線形補間して決定され
る。また、ラスタライズ処理部で描画を行う際に、画像
メモリ上に構成するZバッファを用いたZバッファ法と
呼ばれる隠面消去アルゴリズムにより、あるオブジェク
トに隠れて見えないオブジェクトを隠す(描画しない)
手法が用いられる。さらに、ラスタライズ処理部でピク
セル単位の描画処理を行う際には、画像メモリに置かれ
たテクスチュア画像を用いてテクスチュア・マッピング
と呼ばれる2次元画像を張り付ける技術が使われる。
メトリ処理部からのテクスチュア座標値を基に、ピクセ
ル単位に画像メモリ上のテクスチュア画像領域の対応す
るテクスチュア画素の位置を求め、その位置の色データ
をテクスチュア画像領域から読み込み、先の線形補間に
より決定されたピクセル単位の色と演算処理して、画像
メモリに書き込む色を決定する。従来では、テクスチュ
ア・マッピング処理でのピクセル単位の演算部はラスタ
ライズ処理部にハードウェア回路で組まれており、非常
に単純な演算処理しかできなかった。
ば、ジオメトリ処理部の処理をCPUでのプログラムが
行うもの、ジオメトリ処理部をCPUに含むもの、ジオ
メトリ処理部とラスタライズ処理部を一つのLSIで構
成したもの、ラスタライズ処理部と画像メモリ部を一つ
のLSIで構成したものがある。しかし、いずれの構成
でも、ジオメトリ処理部からラスタライズ処理部への処
理は、一方通行パイプラインが基本である。
て、ピクセル演算型の並列型グラフィックス・アーキテ
クチャがある。その代表例として、Molnar,S.他、“Pix
elFlow: High-Speed Rendering Using Image Compositi
on,” Computer Graphics(Proc. of SIGGRAPH '92), Vo
l.26, No.2, pp.231-240.(文献1)や、米国特許明細
書第4,590,465号(文献2)及び米国特許明細書第4,78
3,649(文献3)等に開示されたPixelFlow/PixelPlane
が知られている。
ラスタライズする際に、ピクセル単位に割り当てられた
SIMD型のプロセッサが入れ替え可能なプログラムを
実行するにより、ピクセル単位で複雑な手続き型演算に
よって色を決定し、画像メモリに書き込むことを特徴と
し、これにより高度な画像表現を可能とする技術であ
る。しかし、ピクセル単位の処理であるがゆえに、単純
な表面特性しか持たない大きなポリゴンを描画するのに
も、多くのSIMDプロセッサによる演算が必要であ
り、これを高速に実行するためには多数のSIMDプロ
セッサを必要とし、システムが大がかりなものとなって
しまう難点がある。また、この技術ではオブジェクトの
表面の位置が変位することを特徴とする変位マッピング
(displace mapping)を実装するには困難が伴う。
イム3次元CGでは、動きのスムーズなアニメーション
を表示するために、1/60秒に代表されるフレーム時
間と呼ばれる決められた時間内で可能な限り高品位な画
像を表示することが求められる。
ゲーム等のアプリケーション・ソフトウェア制作者にと
って最も重要な点であり、リアルタイム3次元CGのた
めの描画演算処理装置には、アプリケーション制作者が
より自由に速度と画質の制御ができる構成が求められて
いる。
オメトリ処理部での手続き型でフレキシブルな頂点処理
とラスタライズ処理部での画像メモリを用いたテクスチ
ュア処理が分離分担され、それぞれの部分で可能な表現
が決められているので、速度と画質の制御方法が限られ
ている。
来よりも高品位な画像を提供するために求められている
技法として、現在、映画などの「非リアルタイム3次元
CG」の分野で非常に高品位な画像を生成するために用
いられている技法がある。これらの技法には、例えば以
下のものがある。 (1) 曲面定義によるモデリングで人物や生物などのオブ
ジェクトをリアルに表示する (2) オブジェクトの表面形状を変位させる変位マッピン
グ(displace mapping) (3) 影を計算して描画することで、空間のオブジェクト
の配置を分かり易くする (4) 実写画像からの演算で3次元CGを生成する、イメ
ージ・ベースド描画(Image-Based Rendering)手法 (5) 手続き型シェーディングでスケッチ調やイラスト調
といった、ノン・フォト・リアリスティック(Non-Photo
-Relistic Rendering)手法。
は、スクリーンに画像が表示される時の時間は決められ
ているが、表示する画像をあらかじめ1枚1枚計算で求
める時点では、画像生成の処理時間に制限はない。従っ
て、これらの技法をリアルタイム3次元CGで実現する
には、より高速に描画演算処理を行うための仕組みが必
要である。
は、前述のようにジオメトリ部での頂点処理とレンダリ
ング部でのテクスチュア処理が分離分担され、それぞれ
の処理部で可能な表現が決められているので、上記技法
を用いた高度でリアリティのある画像を効率よく描画で
きなかった。
が可能な公知例としては、Robert L. Cook他、“The Re
yes Image Rendering Architecture,”Computer Graphi
cs(Proc. of SIGGRAPH‘87), Vol.21, No.4, pp.95-10
2.(文献4)で提案されたREYESアーキテクチャがあ
る。これはソフトウェアで実装され、米PIXAR社から“P
HOTOREALISTIC RENDERMAN”ソフトウェアとして販売さ
れている。このアーキテクチャは、入力された形状プリ
ミティブをマイクロポリゴンと呼ぶ、ピクセルの大きさ
以下の小さなポリゴンに分割し、変位マッピングを含め
た高度な処理をマイクロポリゴンの頂点単位にプログラ
マブルに行っている。
に高品位な画像を生成することのみに重点を置いてい
る。従って、リアルタイム3次元CGで厳しく要求され
る描画時間短縮のための工夫がなく、演算に時間がかか
り、そのままではリアルタイムのハードウェアに向かな
いアーキテクチャである。特に、基本的には全ての形状
プリミティブをピクセルの大きさ以下の小さなマイクロ
ポリゴンに分割して処理するため、膨大なマイクロポリ
ゴンが生成され、例えば上記文献4に掲載されている例
では、マイクロポリゴンの数は680万個にもなり、こ
のことがリアルタイム・ハードウェアへの適応性に欠け
る原因となっている。
鑑みてなされたものであって、リアルタイム3次元CG
において、アプリケーション制作者がより自由に速度と
画質の制御ができ、さらには非リアルタイムCGで用い
られている高品位な画像生成技法をリアルタイムに実現
できる描画演算処理装置を提供することを目的としてい
る。
め、本発明に係る描画演算処理装置は、3次元空間に存
在するオブジェクトの表面の単位形状、具体的にはポリ
ゴンや曲面などの形状プリミティブを二次元に配列され
た任意の大きさの複数のサブポリゴンに分割してサブポ
リゴンメッシュを生成する形状分割部と、この形状分割
部により生成されたポリゴンメッシュの頂点毎にサブポ
リゴンに対するピクセル単位の描画に必要なパラメータ
を算出する頂点処理部と、この頂点処理部により算出さ
れたパラメータ及びテクスチュアマッピングのための画
像データに基づいてピクセル単位の描画データを算出す
るレンダリング処理部と、この描画データを画像データ
として保持すると共に、レンダリング処理部で描画デー
タの算出に必要な少なくともテクスチュアマッピングの
ためのデータを保持する画像メモリとを有する。
リゴンメッシュは、サブポリゴンが2次元構造的に並ん
だ構成となり、頂点処理部では各サブポリゴンの3次元
頂点毎にライティングなどの計算を行う。ここで、形状
分割部での分割に際して、形状プリミティブをどの程度
細かなサブポリゴンに分割するかを種々の方法で指定で
きるようにすることで、サブポリゴンの個数を制御し、
計算時間と画像の品質を制御することが可能となる。
毎にプログラマブルに処理を行うことができるために、
形状プリミティブの頂点単位より細かい処理が可能とな
る。具体的には、例えば頂点座標を変位させることで、
変位マッピング(displacement mapping)を適用した形状
プリミティブに対する描画ができる。
クスチュアマッピングのためのデータを読み出して頂点
処理部に伝達するための画像読み出し経路とをさらに備
え、頂点処理部ではポリゴンメッシュの頂点に対応する
画像メモリ中の少なくともテクスチュアマッピングのた
めのデータを画像読み出し経路を介して読み込み、この
読み込んだデータを用いてポリゴンメッシュの頂点毎に
サブポリゴンのピクセル単位の描画に必要なパラメータ
を算出するようにしてもよい。
画像メモリ読み出し経路を持つことにより、頂点単位で
の演算においてテクスチュア、さらにはデプスマップな
どの画像データを利用でき、粗い分割のサブポリゴンメ
ッシュにおいては、粗くて高速なテクスチュアマッピン
グや影付け処理を可能とし、ピクセルより細かな分割の
サブポリゴンメッシュにおいてはピクセル単位以上の高
品質なテクスチュアマッピングや影付け処理を施すこと
を可能とする。この画像データ読み出し経路にキャッシ
ュを付加してもよく、これにより画像メモリへのアクセ
ス回数を減らして処理速度をさらに向上させることがで
きる。
にサブポリゴンのピクセル単位の描画に必要なパラメー
タを算出する演算をそれぞれ行う複数の演算部を有し、
複数の頂点に対して同時に同一プログラムに従って演算
を行うようにしてよい。
ポリゴンメッシュの各行について演算を同時に行う処理
をポリゴンメッシュの行数だけ繰り返すようにしてもよ
い。すなわち、頂点処理部において2次元構造であるサ
ブポリゴンメッシュに対する頂点処理に際して1次元に
配列された複数の演算部にサブポリゴンメッシュの各行
を割り当て、各行毎に演算を行うことで演算部の利用効
率を上げ、トータルの処理速度を向上させることが可能
である。
配列し、かつ配列方向に隣接する演算部間をデータ転送
経路により接続して、これらのデータ転送路を介して全
ての演算部が配列方向に隣接する演算部に対して内部デ
ータの少なくとも一部を同時に転送するようにすれば、
頂点処理部において隣接頂点に対する演算結果を利用す
ることにより、法線ベクトルの計算などを容易に行うこ
とができる。
算結果を連続した三角形列(Triangle Strip)に組み上げ
て、画像塗り潰し処理を行うレンダリング処理部へ転送
する三角形列組み上げ部を設けることで、処理効率を上
げることができる。
によると、従来の描画演算処理装置では困難であった種
々の高品質描画をフレキシブルに行うことが可能となる
と同時に、従来の描画演算処理装置と同様の高速描画も
可能であり、これらのトレードオフを容易に制御するこ
とができる。
複数の頂点処理部を有し、さらに形状分割部の出力と複
数の頂点処理部の入力とを任意に交換接続する交換部を
有することにより、複数のサブポリゴンメッシュに対す
る処理を並列に行うことで処理効率を上げ、全体の処理
をより高速化することができる。
は、複数の形状分割部及び複数の頂点処理部を有し、さ
らに複数の形状分割部に対して形状プリミティブのデー
タを振り分ける入力振り分け部を備えることにより、複
数の形状プリミティブをサブポリゴンメッシュへ分割す
る処理を並列に行うことで処理効率を上げ、全体の処理
をさらに高速化することができる。
て図面を参照しながら説明する。本発明に係る描画演算
処理装置は、例えば図1に示したようなゲーム機などの
リアルタイム3次元グラフィックスシステムで用いられ
る。低速バスにコントローラ1、DVDドライブ2、ハ
ードディスクドライブ3、通信ユニット4が接続される
と共に、バス・ブリッジ5を介してCPU6が接続され
ている。DVDドライブ2にセットされる媒体(DV
D)に、ゲームなどのアプリケーションソフトウェアが
格納されている。
PU6によってメインメモリ7を用いて実行され、コン
トローラ1から入力されるユーザの操作に応じて様々な
処理が行われることにより、3次元空間データが更新さ
れる。これによりCPU6から描画演算処理装置8に形
状プリミティブデータが送られ、描画処理が実行され
る。
画像データは、例えばD/Aコンバータ9を通してビデ
オ信号出力となり、図示しないディスプレイに送られて
表示される。ディスプレイは専用ディスプレイであって
もよいし、TV受像機やコンピュータなどのディスプレ
イであってもよい。ディスプレイ上の表示画面をスクリ
ーンと呼ぶ。
の実施形態について説明する。 [第1の実施形態]図2に、本発明の第1の実施形態に
係る描画演算処理装置の構成を示す。この描画演算処理
装置8は、形状分割部10、頂点処理部30、レンダリ
ング処理部40、画像メモリアクセス部50、画像メモ
リ読み出し経路60と該画像メモリ読み出し経路60に
挿入されたキャッシュ70、画像メモリ80及び画像出
力部90からなる。
から形状プリミティブのデータが入力される。形状プリ
ミティブは、3次元空間と3次元モデルを構成する要素
であり、形状プリミティブデータは3次元空間内の物体
(以下、オブジェクトという)の表面の単位形状を数値
データで表したものである。オブジェクトが通常の物体
の場合、形状プリミティブはポリゴン(平面多角形)で
あり、多数のポリゴンによりオブジェクトの表面形状が
表されるが、球面体、立方体、円柱体などの場合は一つ
の形状プリミティブで表面形状が表される。すなわち、
従来の形状プリミティブは、ポリゴンを中心とした数種
類に限られていたが、本発明はそれに限定されない。
ミティブは、まず形状分割部10によって処理される。
形状分割部10では、入力された形状プリミティブを種
々のプログラムに従って頂点処理部30が処理できる二
次元に配列された複数のサブポリゴンに任意の方法で分
割し、メッシュ構造(これをサブポリゴンメッシュとい
う)を生成する。この場合、形状分割部30においては
分割するサブポリゴンの大きさをプログラムに従って任
意に変えられることが特徴である。形状分割部10の詳
細については、後に説明する。
されたサブポリゴンメッシュの各頂点毎にサブポリゴン
のピクセル単位の描画のための演算処理を種々のプログ
ラムによって実行し、演算結果として頂点毎のピクセル
単位の描画に必要なパラメータを三角形または三角形列
(Triangle Strip)などの形式で出力して、レンダリング
処理部40及び画像メモリアクセス部50に送る。
メモリアクセス部50と画像メモリアクセス部50から
頂点処理部30へ向けて張られた画像読み出し経路60
及びここに挿入されたキャッシュ70を介して、画像メ
モリ80からデータを適宜読み込み、それを描画に必要
なパラメータの演算処理に使用することが可能となって
いることが本発明の一つの特徴である。この頂点処理部
30についても、後に詳しく説明する。
の描画演算処理装置におけるラスタライズ処理部に相当
するものであり、頂点処理部30から送られてきた頂点
単位のデータを用いて、画像メモリアクセス部50によ
りアクセスされた画像メモリ部80に記憶保持されてい
る画像データに対して塗り潰し(レンダリング)の処理
を行う。レンダリングとは、3次元CGの分野で良く知
られているように、テクスチュアマッピング、隠面消
去、ライティング(照明の輝度計算)、シェーディング
(影付け)、アンチエイリアシング、透視変換、クリッ
ピングなどの処理をいう。
明する。 (画像メモリ80について)画像メモリ80は、画像デ
ータを保持するメモリであり、具体的には図3に示すよ
うに、画像表示用フレーム・バッファ801、隠面消去
用デプス・バッファ802、ステンシル・バッファ80
3、テクスチュア・マップ・メモリ804、光源デプス
・バッファ805及びレンダリング用フレーム・バッフ
ァ806からなる。これら画像メモリ80の各部は、以
下の機能を有する。画像表示用フレーム・バッファ80
1は、ディスプレイの画面上に表示される2次元画像の
データを保持するためのフレームメモリである。この画
像表示用フレーム・バッファ801上の2次元画像の画
素は、ピクセルと呼ばれる。隠面消去用デプス・バッフ
ァ802は、隠面消去のためのデプス値の2次元配列を
保持するデプス・バッファであり、その内容は例えば
X,Y,Z座標のZ値や1/Z値である。ステンシル・
バッファ803は、デプス・バッファを機能拡張したも
ので、画素単位にアプリケーションが利用できる属性情
報を保持する。
テクスチュアマッピングで用いられる画像(テクスチュ
ア画像)のデータを保持するメモリである。このテクス
チュア・マップ・メモリ804上のテクスチュア画像の
画素はテクセルと呼ばれる。光源デプス・バッファ80
5は、影付け処理のために光源から描画されるデプス・
バッファである。マルチパス・レンダリング用フレーム
・バッファ806は、その内容がテクスチュア画像等と
して次の描画に利用される作業用メモリ領域としてのフ
レームメモリである。
書きは、画像メモリアクセス部50によって行われる。
画像メモリ80内の画像表示用フレーム・バッファ80
1から読み出された画像データは、画像出力部90を介
して図示しないディスプレイに送出される。
分割部10の具体的な構成例を示す。この形状分割部1
0はプロセッサコア201を持ち、プログラムメモリ2
03に置かれたプログラムに従って、データメモリ20
4を作業領域として用いて前述した分割処理を実行す
る。本実施形態では、プログラムメモリ203及びデー
タメモリ204へのアクセスを高速化するためにキャッ
シュ202を備えているが、キャッシュ202を必ずし
も備えなくとも構わない。また、本実施形態ではプログ
ラムメモリ203及びデータメモリ204が形状分割部
10に含まれているが、このような構成に限られない。
ティブ毎に、それに適した分割方法のプログラムをプロ
グラムメモリ203から選択して実行し、形状プリミテ
ィブを二次元に配列された任意の大きさの複数のサブポ
リゴンに分割する。入力される形状プリミティブには、
例えば、ポリゴン、NURBS曲面、Subdivision曲面、線
分、点群がある。このような分割処理により、形状分割
部10は入力された形状プリミティブを一つまたは複数
のサブポリゴンメッシュに変換し、このサブポリゴンメ
ッシュを頂点処理部30へ送る。
形状プリミティブが複数のサブポリゴンメッシュに分割
される様子を示している。サブポリゴンは、頂点処理部
30での処理単位である。図5に示されるように、サブ
ポリゴンメッシュは一つまたは複数のサブポリゴンから
なる。また、一つのサブポリゴンメッシュを構成するサ
ブポリゴンは、隣接関係から2次元的に並んでおり、隣
のサブポリゴンと共有する頂点をまとめたデータ構造に
なっている。これにより、サブポリゴンの頂点データを
独立に保持するより効率が良くなる。
図6(a)は、縦4個×横4個の計16個のサブポリゴ
ンを持つサブポリゴンメッシュがスクリーン座標(ディ
スプレイの表示画面の座標)へ投影された様子を示して
いる。このサブポリゴンメッシュは、縦5個×横5個の
計25の頂点を持っている。図6(b)は、サブポリゴ
ンメッシュに含まれる16個のサブポリゴンの隣接関係
を示している。図6(c)の黒丸と白丸の合計25個
は、16個のサブポリゴンが共有する頂点であり、これ
は16個のサブポリゴンが独立に頂点データを持った場
合の64個より少ない。図6(c)の16個の黒丸は、
25個の頂点のうちで、16個のサブポリゴンを代表す
る頂点を示している。図6(d)は、これらの丸の位置
をずらし、黒丸の頂点がサブポリゴンと対応しているこ
とを分かりやすく示している。
ンを保持するサブポリゴンメッシュには、縦(Pm+1
個)×横(Pn+1)個の頂点がある。以下、これを縦
Vm個×横Vn個の頂点と称する。例えば、サブポリゴ
ンメッシュの最小のメッシュ構造としては、1つのサブ
ポリゴンのみからなるメッシュがあり、これは4つの頂
点を持つ。形状分割部10は、サブポリゴンメッシュの
縦または横の頂点の個数が頂点処理部30で処理できる
個数以下になるような分割を行う。
て、形状分割部10での形状プリミティブの分割処理の
流れについて説明する。まず、形状プリミティブのデー
タを読み込む(ステップS101)。次に、この形状プ
リミティブデータから、形状プリミティブがディスプレ
イの画面上に描画される可能性があるかどうかをテスト
する(ステップS102)。このテストは、例えば形状
プリミティブを包む箱または球を計算し、これがスクリ
ーン座標系でスクリーン(ディスプレイの表示画面)の
範囲の内側にあるかどうかを調べることで行うことがで
きる。
プリミティブが画面上に描画される可能性があるとき
(ステップS103でYESのとき)には、その形状プ
リミティブを頂点処理部30が処理できる数までのサブ
ポリゴンを含むサブポリゴンメッシュに変換できるかど
うかをチェックする(ステップS105)。頂点処理部
30が処理できるサブポリゴンの数の上限は、装置の構
成に依存する。サブポリゴンは通常四角形で、4つの3
次元頂点を持ち、頂点処理部30によって後述のように
色情報が決定される。
ポリゴンを含むサブポリゴンメッシュに変換できる場合
には、形状プリミティブをサブポリゴンに分割し、その
集まりをサブポリゴンメッシュとして構成する(ステッ
プS107)。このとき、座標変換処理、すなわちサブ
ポリゴンメッシュの各頂点の座標をスクリーン座標系に
変換する処理は行わず、後に頂点処理部30で行う。
できる数までのサブポリゴンを含むサブポリゴンメッシ
ュに変換できない場合には、その形状プリミティブをさ
らに複数の形状プリミティブに分割し、それぞれについ
てループを繰り返し(ステップS106)、再度、ステ
ップS101により分割した形状プリミティブに関して
同様の処理を行う。
能性がないとき(ステップS103でNOのとき)に
は、その形状プリミティブのデータを廃棄して(ステッ
プS104)、ステップS108に進む。
れた形状プリミティブのサブポリゴンへの分割の細かさ
を任意に変更できるように構成されている。形状分割部
10での分割方法はプログラムメモリ103にプログラ
ムで書かれているので、このプログラムによって以下の
ように様々な分割方法が可能である。 (1) 入力された形状プリミティブを各サブポリゴンの大
きさが、ある数のピクセルの集合より大きくなるような
メッシュに変換するプログラムを用いる。これにより、
サブポリゴンの個数を減らすことが可能となるため、描
画速度を上げることができる。 (2) 入力された形状プリミティブを各サブポリゴンの大
きさが、ピクセルより小さくなるようなサブポリゴンメ
ッシュに変換するプログラムを用いる。これにより、ピ
クセルより小さな間隔の頂点に対して処理できるので、
形状プリミティブを高品位な技法で描画できる。例え
ば、曲面定義の形状プリミティブについては、完全な曲
面で画面に表示できる。 (3) 入力された形状プリミティブをスクリーン座標系に
投影されたサブポリゴンがピクセルと1対1で対応する
ようなサブポリゴンメッシュに変換する。これは、頂点
処理部30がピクセル単位の処理を行うのと同様にな
る。このような変換と頂点処理部30での画像メモリ8
0からの画像メモリ読み出し機能を用いると、様々な2
次元画像処理効果が可能になる。
ブポリゴンの大きさ、すなわち形状分割部10での分割
の細かさを指定する方法には、以下のように幾つかの方
法がある。 (1) 形状プリミティブのデータに分割の細かさの情報を
添付する。 (2) 形状分割部10のプログラムによって、分割の細か
さを動的に判断する。具体的には、決められたフレーム
時間の残り時間に応じて分割の細かさを変えることで、
フレーム時間内に描画を終えるように調節する。 (3) 画面上でのサブポリゴンの大きさが指定されたピク
セルサイズ以下になるまで分割を行う。例えば、形状プ
リミティブから変換されるサブポリゴンメッシュを構成
するサブポリゴンの数が指定した上限以下の間、分割を
繰り返す。また、これらの(1)〜(3)の方法を組合
せた方法もある。
0は、形状分割部10からサブポリゴンメッシュを受け
取り、そのサブポリゴンメッシュを構成するサブポリゴ
ンの頂点単位に、頂点変位や座標変換や色付けや影付け
の演算を様々なプログラムで行って、レンダリング処理
部40が画像メモリ80上で描画を行うために必要なパ
ラメータを計算し、そのデータをレンダリング処理部4
0へ送る。以下、この頂点処理部30の処理の概略を説
明する。
×横Pn個のサブポリゴンについての頂点処理部30の
処理は、縦Pm+1個×横Pn+1個の頂点に対して行
われる。この結果から、縦Pm個×横Pn個のサブポリ
ゴンの頂点の色を決定する。この対応関係は、先に図6
を用いて説明した通りである。
で、与えられた頂点座標値に対しプログラムまたはデー
タから求めた変位を加えて新しい座標値を計算すること
で、従来の技術では困難であった変位マッピング(displ
ace mapping)を容易に実現できる。また、後に説明する
方法で、新しい座標値を基に法線ベクトル値も計算で
き、変位マッピングの結果がライティングに反映される
ことによって、よりリアルな画像が生成できる。この処
理例については、後に図9で説明する。
路60及びキャッシュ70を介して頂点単位の演算の際
に画像メモリアクセス部50により画像メモリ80から
読み出した画像データを読み込むことができる。これに
より、従来の技術では不可能であった画像メモリ80上
の頂点単位のデータの利用が可能となる。すなわち、画
像メモリ読み出し経路60を備えることによって、従来
はピクセル単位での処理しか出来なかった技法がサブポ
リゴンの頂点単位でプログラマブルに可能になる。
データの利用の一例としては、サブポリゴンの頂点の色
決定処理における画像メモリ80上のテクスチュアマッ
プデータの利用が挙げられる。具体的には、形状分割部
10によってサブポリゴンメッシュの頂点が画面上で任
意の間隔となるように形状プリミティブを分割できるの
で、頂点処理部30での処理時間と描画される画像の画
質とのバランスをコントロールしつつ、テクスチュアマ
ッピングや、デプスマップを用いた影付けが可能とな
る。
は、従来はラスタライズ処理部が持つ単純な機構による
マッピング技法しかできなかったのに対し、頂点処理部
30ではプログラム処理で様々な技法が可能となる。そ
して、形状分割部10による分割の細かさ(サブポリゴ
ンの大きさ)が可変であるので、粗い分割を行ったメッ
シュは、処理する頂点の少なさから、少ない処理量での
大まかなマッピングが可能である。また、サブポリゴン
がスクリーン座標系でピクセルより小さくなるような細
かい分割を行ったサブポリゴンメッシュに対しては、ピ
クセル単位でのテクスチュアマッピングより高品位なマ
ッピングに劣らない高品位なマッピングが可能である。
このように処理時間や画質のコントロールが自由にでき
る。
緻密な影を投影したいオブジェクトについては、形状プ
リミティブのサブポリゴンへの分割を細かくし、おおま
かな影を高速に投影したいオブジェクトについては、サ
ブポリゴンの分割を粗くするといったコントロールが可
能となる。この影付け処理の具体的な手順については、
後に図10で説明する。
レンダリング処理部40においては、従来のラスタライ
ズ部と同様に画像メモリ80からテクスチュア画像デー
タを読み込む機能を持たせることにより、さらに複雑な
マッピングが可能となる。例えば、サブポリゴンの頂点
単位の大まかな影付けにピクセル単位のテクスチュアマ
ッピングを重ね合わせることができる。また、テクスチ
ュア模様の低周波部分についてはサブポリゴン単位で計
算し、高周波部分はピクセル単位で計算して描画するこ
とも可能である。
うに階層構造を持った隠面消去用デプス・バッファ80
2を構成することで、頂点処理部30での頂点単位の処
理の早い段階で、計算された頂点のデプス値と画像読み
出し経路60を用いて読み出した隠面消去用デプス・バ
ッファ802の値との比較により、予備の隠面テストが
可能となる。この予備の隠面テストは、頂点が代表する
サブポリゴンが他のオブジェクトより手前に来ないこと
だけを検査するテストである。このテストにより、頂点
が代表するサブポリゴンが他のオブジェクトより手前に
来ないことが分かれば、頂点の色を決定する複雑で時間
のかかる処理を行う必要がないことが分かり、このよう
な無駄な処理を中断して効率を上げることができる。
ンの頂点とピクセルが一致するような分割を行うと、頂
点処理部30が画像読み出し経路60及びキャッシュ7
0を介して画像メモリ80内の画像表示用フレーム・バ
ッファ801上の各ピクセルのデータを読み込み、それ
を使った演算結果を画像メモリ80内の画像表示用フレ
ーム・バッファ801上の各ピクセルに戻すといった処
理も可能である。この処理例については、後に図11で
説明する。この処理においても、読み込んだピクセルの
位置と書き込むピクセルの位置が同一である必要はな
い。
能となり、例えば画像メモリ80内の画像表示用フレー
ム・バッファ801上の複数の領域のピクセルのデータ
を頂点処理部30に入力すると、頂点処理部30の処理
内容をプログラムによって幅広く記述できることにな
る。
て)頂点処理部30が処理したサブポリゴンメッシュの
サブポリゴンをレンダリング処理部40及び画像メモリ
アクセス部50へ出力する際のデータ形式には、幾つか
の形式がある。
イザ方式でも採用されている、三角形列(Triangle Stri
p)のデータ構成である。三角形列のデータ構成とは、複
数の三角形を隣接した2つの三角形で一辺を共有するよ
うに連結して配置した構造において、隣接した2つの三
角形で共有する頂点(共有する一辺の両端の頂点)のデ
ータを省く構成であり、頂点処理部30の頂点単位の処
理に合っている。
のサブポリゴンで構成される場合の三角系列の例を示
す。まず、第1列の4つのサブポリゴンから、8個の三
角形を含む10個の頂点からなる三角形列が構成され
る。これは、図8の4つの黒丸の頂点において処理する
ことで得られる。なお、第2列目の左端の頂点は、サブ
ポリゴンを代表しない頂点である。
としては、一つのサブポリゴンを2つの独立した三角形
として出力する形式や、一つのサブポリゴンを2つの三
角形が連結された4個の頂点を有する三角形列として出
力する形式がある。これらの出力データ形式のどれが適
しているかは、レンダリング処理部40及び画像メモリ
アクセス部50の構成による。
で、任意の処理が可能である。ここで、いくつかの処理
例について説明する。 (頂点処理部30の処理例1)図9に示すフローチャー
トを用いて、ポリゴンメッシュデータに対する頂点処理
部30での変位マッピングも含む頂点単位の処理につい
て説明する。
内のテクスチュア・マップ・メモリ803上の変位マッ
プのテクスチュア座標を求める(ステップS201)。
次に、画像メモリ読み出し経路60により、画像メモリ
アクセス部50を経由して画像メモリ80内のから変位
データを読み取る(ステップS202)。この変位デー
タにより、頂点座標に変位を加える(ステップS20
3)。次に、ステップS203で算出された変位後の座
標値から法線ベクトルを求める(ステップS204)。
法線ベクトルを求める方法については、後に図16を用
いて詳しく述べる。次にステップS204で得られた法
線ベクトルに基づライティング計算(輝度計算)を行
い、それに基づき頂点の色を算出する(ステップS20
5)。描画のために、頂点座標をスクリーン座標に変換
し(ステップS206)、三角方程式の係数を求めるこ
とで、頂点が代表するサブポリゴンを構成する2つの三
角形データを計算する(ステップS207)。
を画像メモリアクセス部50に出力すれば(ステップS
208)、処理は終了する。
すフローチャートを用いて、画像メモリ80内の光源デ
プスマップを用いて影付けを行うときの頂点処理部30
での頂点単位での処理について説明する。まず、光源デ
プスマップで計算するのに適するように、頂点の座標系
を光源座標系に変換する(ステップS301)。次に、
この変換された光源座標系でのX,Y座標値から、画像
メモリ読み出し経路60及びキャッシュ70を介して画
像メモリアクセス部50により画像メモリ80内の光源
デプス・バッファ805上の光源デプス(奥行き)値を
読み出す(ステップS302)。
系でのZ値を比較して影に入っているかどうかを判断
し、その光源からの寄与率を求める(ステップS30
3)。次に、頂点の座標値から法線ベクトルを求め(ス
テップS304)、この法線ベクトルを使ってライティ
ング計算を行い、これとステップS303で求めた寄与
率に基づいて頂点の色を決定する(ステップS30
5)。法線ベクトルを求める方法については、後に図1
6を用いてより詳しく述べる。次に、描画のために頂点
座標をスクリーン座標系に変換し(ステップS30
6)、三角方程式の係数を求めることで、頂点が代表す
るサブポリゴンを構成する2つの三角形データを計算す
る(ステップS307)。そして、ステップS307で
得られた三角形データをレンダリング処理部40へ出力
することにより(ステップS308)、処理は終了す
る。
すフローチャートを用いて、2次元画像処理の例として
頂点処理部30によって画像メモリ80内の作業メモリ
領域(レンダリング用フレーム・バッファ806)上の
画像を縦横共に半分にした画像を生成する処理の例を説
明する。
においてサブポリゴンがスクリーン座標系でピクセルと
同じ大きさになるようにサブポリゴンメッシュを構成す
る必要がある。頂点処理部30では、各頂点に対して図
11に従った処理を行う。
(X,Y)に変換する(ステップS401)。このスク
リーン座標値(X,Y)は、画像メモリ80内の画像表
示用フレームバッファ801上の書き込みピクセル位置
を指定するとともに、レンダリング用フレーム・バッフ
ァ806上の画像データの読み出し位置を指定するのに
用いられる。
ていくことにより、スクリーン座標値(X,Y)を持つ
ピクセル位置に書き込まれるデータの元になるレンダリ
ング用フレーム・バッファ806上の4点のデータを読
み込む(ステップS402〜S405)。
レジスタR5に代入する(ステップS406)。レジス
タR5の値を頂点の色として、描画のための三角方程式
の係数を求め、頂点が代表するサブポリゴンを構成する
2つの三角形データを計算する(ステップS407)。
そして、ステップS407で得られた三角形データをレ
ンダリング処理部40及び画像メモリアクセス部50に
出力すれば(ステップS408)、処理は終了する。
て、頂点処理部30のより詳細な構成を説明する。この
頂点処理部30は、一つの制御部310と複数の演算部
320,321,…,32Mを有する。演算部320,
321,…,32Mの数M+1をCnとする。これらの
演算部320,321,…,32Mは、並列計算アーキ
テクチャ分類では、いわゆるSIMD(Single instruct
ion,multiple data stream)アーキテクチャである。
2Mは制御部310内のプログラムメモリ313で共有
する同一プログラムの各命令を同時に同一のサイクルで
実行する。SIMDアーキテクチャには、全ての演算部
が同じプログラムの同じ命令を実行しなくてはならない
制約があるが、一つのメッシュの頂点は通常同じ特性を
持つことから、同じプログラムを実行することは制約に
ならない。
構成にすることで、命令読み込み機構など、個々の演算
部320,321,…,32Mで持たずに、制御部31
0に一つあればよい部分が多くなり、装置の構成効率が
良くなる。また、後述する法線ベクトルの計算などに際
して隣接頂点データを同期的に使用できるのも、SIM
Dアーキテクチャの利点である。さらに、演算部32
0,321,…,32Mは、本実施形態では論理的に1
次元に配列されており、2次元配列より装置の構成が容
易である。
データメモリ312及びプログラムメモリ313を有す
る。本実施形態では、データメモリ312及びプログラ
ムメモリ313を制御部310の中に含んでいるが、こ
れには限定されない。
0,321,…,32Mで共通のデータ、あるいは共有
するデータを格納する。データメモリ312には、形状
分割部10からのデータが溜められる。このため、形状
分割部10は頂点処理部30にデータを送り終えれば、
次の形状プリミティブに対する分割処理に移ることがで
きる。プログラムメモリ313には、制御部310と演
算部320,321,…,32Mを動作させるプログラ
ムが格納される。
れぞれローカルレジスタ群3201,3211,…,3
2M1とローカルメモリ3202,3212,…,32
M2を持ち、これらと共有レジスタ群311を用いて演
算を行う。本実施形態では、ローカルメモリ3202,
3212,…,32M2は演算部320,321,…,
32Mの中に含まれているが、外に置かれる構成でもよ
いが。
211,…,32M1の相互間はデータ転送路によって
接続されている。これらのデータ転送路によって、ロー
カルレジスタ群3201,3211,…,32M1のう
ちの3211,…,32M1は、演算部320,32
1,…,32Mの1次元配列方向において一方の側(図
では左側)に隣接する演算部320,321,…,32
M-1内のローカルレジスタ群3210,…,32M-11
から転送されたデータを受け付けることが可能となって
いる。これにより演算部320,321,…,32Mに
おいて頂点単位の演算を行う際に、隣接する頂点に対す
る計算結果を利用することが可能となり、後述する法線
ベクトル計算などを容易に行うことができる。
基本的には各頂点に関する演算がその頂点の座標値など
のデータを用いてそれぞれ独立に行われる。演算部32
0,321,…,32Mは、通常は異なる頂点に対して
演算を行うが、データの縮退などによって、複数の演算
部が同一の頂点に対する演算を行うこともあり得る。
1,…,32Mを用いてサブポリゴンメッシュの各行に
ついて同時に演算を行う。図13に、サブポリゴンメッ
シュの「行」を示す。演算部320,321,…,32
Mは、まず白丸で示す第1行について同時に演算を行
い、次に黒丸で示す第2行について同時に演算を行い、
以下、第3行、第4行…と順次1行ずつ同時に演算を行
う。
対する頂点処理部30での処理の流れを示す。
メッシュのデータを読み込む(ステップS501)。こ
のサブポリゴンメッシュの第1行を演算部320,32
1,…,32Mの演算対象の行とし(ステップS50
2)、演算対象の行の全ての頂点についての演算を演算
部320,321,…,32Mで実行する(ステップS
503)。演算内容は、例えば先に図9や図10で示し
たものである。
理すべき次の行があるかを調べ(ステップS504)、
全て処理し終えていたら終了する。まだ処理すべき次の
行があれば、それを演算対象とし(ステップS50
5)、ステップS503に戻って演算を行う。
に行われる。しかし、例えば法線ベクトルの計算と三角
形方程式の係数の計算においては、隣接頂点の計算結果
が必要となる。本実施形態における法線ベクトルと三角
形方程式の係数の計算方法について説明する。
ング計算には法線ベクトル値が必要なので、サブポリゴ
ンメッシュの各頂点で法線ベクトル計算が必要な場合が
ある。例えば、形状プリミティブが曲面の場合や、頂点
にバンプマッピングや変位マッピングを加える場合であ
る。一般に、法線ベクトルは平面や曲面の平行でない2
つの接線ベクトルの外積として求められる。
なした場合の法線ベクトルの計算方法を説明する。な
お、以下のPO,PL,PU,PULは3次元座標値で
ある。
ベクトルNOは、 NO=normalize((PL−PO)×(PU−PO)) である。
が1となるように正規化する演算関数である。また、×
はベクトル外積計算である。PL−POは、対象として
いる頂点の座標値POとその「左」に隣接する頂点の座
標値PLの差分である。PU−POは、対象としている
頂点の座標値POと、その「上」に隣接する頂点の座標
値PUの差分である。
て、本実施形態における法線ベクトルの計算手順を説明
する。図16において、R1〜R10は各演算部32
0,321,…,32Mの3次元要素または4次元要素
を持つベクトル型のローカルレジスタを示す。
Mが共有するプログラムは、次のようなものになる。R
3に、R1の内容を代入する(ステップS601)。R
4に、R2の内容を代入する(ステップS602)。こ
こで、頂点の変位された座標値の計算をR3とR4のデ
ータを破壊しないように計算し、R1に代入する(ステ
ップS603)。なお、R1の値は、ここ以外では書き
込まないようにプログラミングする。
スタR1の値を読み出し、R2に代入する(ステップS
604)。なお、R2の値は、ここ以外では書き込まな
いようにプログラミングする。
R1に頂点の変位された座標値PO、R2に「左」の頂
点の変位された座標値PL、R3に「上」の頂点の変位
された座標値PU、R4に「左上」の頂点の変位された
座標値PULがそれぞれ入っているので、これらからR
1とR2のデータを破壊しないように外積を求めて正規
化する。例えば、R7に、R2からR1をベクトル引き
算する(ステップS605)。R8に、R3からR1を
ベクトル引き算する(ステップS606)。R9に、R
7とR8の外積を代入する(ステップS607)。R1
0に、R9ベクトルの長さが1になるように正規化演算
したものを代入する(ステップS608)。というプロ
グラムとなる。
いようにして、頂点処理プログラムを終了まで実行す
る。
算される。この図16で説明した法線ベクトル計算は、
図9で説明した処理例1または図10で説明した処理例
2に含まれる。次に、これらの頂点毎の処理をサブポリ
ゴンメッシュの全頂点に対して行う場合の流れについ
て、再度図14と図16を用いて説明する。
は各行毎に繰り返し実行される。まず、ステップS50
2からステップS503に進むとき、演算部320,3
21,…,32Mでは、メッシュの第1列の頂点に対し
て同時に頂点処理を実行する。
は、R1とR2の値は不定であり、ステップS601と
ステップS602でその不定値がR3とR4に入れられ
る。しかし、図6(c)で示したように、第1行の頂点
はメッシュのサブポリゴンを代表しないので、これらの
値は使用されない。そして、次の行に必要な新しいR1
とR2は正常に求められる。この段階では、頂点処理部
30からサブポリゴンは出力されない。
プ203に進んでくる。今度は、演算部320,32
1,…,32Mはメッシュの第2行の頂点に対して同時
に頂点処理を実行する。ここでは、「上」列である第1
列の演算結果R1とR2が残っており、これらR3とR
4に代入することで、R3は「上」の頂点、R4は「左
上」の頂点の座標値となる。これと新たに計算されるR
1とR2を用いて法線ベクトルが求められ、サブポリゴ
ンの頂点の色情報が計算されて出力される。
「左」頂点からのR1の値が不定となるが、図6(c)
に示すように、各行の左端の頂点もサブポリゴンを代表
しないので問題ない。これら左端の頂点でも、必要な演
算結果R1は求められるので、その「右」の頂点は結果
を利用できる。
で、メッシュの全てのサブポリゴンの頂点に対しての法
線ベクトルが求められることになる。これらの法線ベク
トルからライティングの計算が正しく行える。
ついて)一つのサブポリゴンのデータをレンダリング処
理部40が処理するには、例えば、従来技術のラスタラ
イズ技術を用いる方法がある。これは図8で示したよう
に、一つのサブポリゴンから2つの三角形を生成し、そ
れらを三角形ラスタライズ方法で画像メモリに描画する
ことになる。これらの三角形は、独立した三角形として
処理してもよいし、図8で示すような三角形列として処
理されてもよい。
は、図15で示した代表頂点に対して、「左」の頂点と
「上」の頂点と「左上」の頂点からなる三角形A及び、
この代表頂点と「上」の頂点と「左」の頂点からなる三
角形Bの2つとなる。
で、ある頂点の「左」「上」「左上」の各頂点の頂点情
報が利用できるので、それらを用いて従来の三角形ラス
タライズ処理で必要な係数、例えば、三角形の各辺の傾
き、デプス情報や色情報のX方向変位とY方向変位を求
めることができる。
アクセス部50について)図17に示すように、レンダ
リング処理部40は一つまたは複数の単位レンダリング
処理部400から構成され、画像メモリアクセス部50
も一つまたは複数の単位アクセス部500から構成され
る。単位レンダリング処理部400は、基本的に頂点処
理部30からの三角形または三角形列をピクセル単位で
描画する機能を有する。この機能を実現するには例えば
次の2つの方法があり、単位レンダリング処理部400
は、これらのうちの少なくとも一つの方法を実行でき
る。 (1) 従来のラスタライズ部と同等の頂点処理部30から
送られて来た三角形または三角形列について、それぞれ
の三角形を塗り潰す処理。 (2) ピクセルより小さい三角形を効率よくサンプリング
して描画する。
部30からのデータ読み出し要求に答えて画像メモリ8
0上のデータを画像メモリ読み出し経路600を介して
頂点処理部30に転送する機能を有する。
00は、上記(1)の処理を実現する三角形ラスタライザ
部410を有する。この三角形ラスタライザ部410
は、入力された三角形データから三角形の塗り潰しのた
めのピクセル単位の繰り返し処理を行い、単位アクセス
部500を構成する画像メモリアドレス計算部510を
使って画像メモリ80のメモリアドレスを指定し、画像
メモリ80にピクセルデータを書き込む。この際には、
従来型アーキテクチャで用いられているスムーズ・シェ
ーディング手法やテクスチュア・マッピング手法を適宜
用いる。
処理では、繰り返し処理において画像メモリアドレス計
算部510を使ってテクセルのメモリアドレスを指定
し、画像メモリ80上のテクスチュアマップのテクセル
データを読み込む。
する。本実施形態では、三角形セットアップ処理を頂点
処理部30で行う方法をとっているので、この単位アク
セス部500は比較的単純な構成となり、図17に示す
ように画像メモリアドレス計算部510のみで実現され
る。
は、頂点処理部30からの要求によって、画像メモリ8
0上の指定された位置を画像メモリアドレス計算部51
0を使ってメモリアドレスで指定し、画像メモリ80か
らデータを読み込んで頂点処理部30に返す。
0/画像メモリアクセス部50との接続形態について)
頂点処理部30と、図17に単位構成を示したレンダリ
ング処理部40/画像メモリアクセス部50との接続形
態については、幾つかの形態がある。図18及び図19
にその例を示す。
40及び画像メモリアクセス部50が頂点処理部30内
の各演算部320,321,…,32Mと同じ個数の単
位レンダリング処理部400,401,…,40M及び
単位アクセス部500,501,…,50Mをそれぞれ
有し、頂点処理部30からのデータを並列に処理する形
態である。画像メモリ80からのデータの読み出しも、
頂点処理部30内の各演算部320,321,…,32
Mと同じ個数の画像メモリ読み出し経路600,60
1,…,60M及びこれらに挿入された単位キャッシュ
700,701,…,70Mを介して並列に行われる。
/画像メモリアクセス部40/50が一つの単位レンダ
リング処理部/単位アクセス部400/500を有し、
頂点処理部30からのデータを順次時分割で処理する形
態である。この場合には、演算部320,321,…,
32Mから出力される三角形データは、三角形組み上げ
部33を用いて三角形列に構成され、レンダリング処理
部/画像メモリ40/50内の単位レンダリング処理部
400に送られる。
4は、演算部320,321,…,32Mから同時に発
生する画像メモリ80に対するデータの同時読み出し要
求を順次読み出し要求に変換して、レンダリング処理部
/画像メモリ40/50内の単位アクセス部500に送
り、画像メモリ80から順次読み出されてきた画像デー
タを蓄え、全てが揃った時点で演算部320,321,
…,32Mに同時に転送する処理を行う。従って、この
構成では画像メモリ80のアクセスには時間がかかる
が、レンダリング処理部/画像メモリ40/50の構成
が簡単になるという利点がある。
位キャッシュ700,701,…,70M)を画像メモ
リ読み出し経路60(600,601,…,60M)に
備えるか、または読み出し順序制御部/キャッシュ34
内に備えることにより、画像メモリ80に対するアクセ
スを減らすことができ、画像データの読み込み速度を上
げることが可能となる。
出し経路60(600,601,…,60M)や読み出
し順序制御部/キャッシュ34の内部に限られるもので
はなく、例えば頂点処理部30や画像メモリアクセス部
50の内部等、他の位置でも構わない。
2の実施形態に係る描画演算装置を示している。図2と
同一部分に同一符号を付して説明すると、本実施形態で
は複数(N+1)個の頂点処理部30,31,…,3N
と、同じくN+1個のレンダリング処理部/画像メモリ
アクセス部40/50,41/51,…,4N/5Nを
有し、さらに形状分割部10の出力と頂点処理部30,
31,…,3Nの入力とを任意に交換接続するための交
換部20を備えている点が第1の実施形態と異なってい
る。
に動作し、互いに異なるプログラムを実行することがで
きる。また、各頂点処理部30,31,…,3N間に依
存関係はないため、高速に動作する回路を設計すること
が容易になる。
30,31,…,3Nが同一個数の演算部を持つ必要は
必ずしもない。例えば、頂点処理部30,31,…,3
Nの少なくとも一つが第1の実施形態で説明したような
複数の演算部を持つ構成であり、他の少なくとも一つが
ライン型プリミティブ専用の2個の演算部を持つような
構成であってもよいもよい。その場合には、交換部20
の制御に工夫が必要になる。
0,31,…,3Nを備えた構成によれば、単純に演算
部を多く持つ一つの頂点処理部のみを備えた構成に比較
して、より効率が向上する。
ュが連続して形状分割部10から送られて来た場合を考
える。このような場合、第1の実施形態のように多数の
演算部320,321,…,32Mを有する一つの頂点
処理部30を用いた構成では、一つのメッシュについて
幅の頂点数分の演算部しか有意な演算をせず、かつ、こ
のメッシュの処理が終わるまで、次のメッシュの処理に
移ることができない。
30,31,…,3Nのうちの一つの頂点処理部がある
一つのメッシュの処理を行っていても、他の頂点処理部
が次のメッシュの処理を行うことができるので、複数の
メッシュに対して並列に演算が可能である。
部20について説明する。図21に概略構成を示すよう
に、交換部20は形状分割部10の出力と頂点処理部3
0,31,…,3Nの入力との間の接続を形状分割部1
0からの要求と頂点処理部30,31,…,3Nの動作
状態に応じて切り替える。図21において形状分割部1
0からの出力線と頂点処理部30,31,…,3Nの入
力線との交差部の白丸と黒丸で示すノードにスイッチが
挿入され、黒丸で示すノードのスイッチがオンになって
いる。これにより、この黒丸で示すノードを介して形状
分割部10の出力と頂点処理部3Nの入力との間にデー
タ転送路が形成される。
て、交換部20の処理の流れを説明する。形状分割部1
0から頂点処理部30〜4Nへの接続要求が起こるまで
待機し(ステップS701)、形状分割部10から接続
の切断要求をうけたなら(ステップS702)、接続を
解除する(ステップS703)。次に、頂点処理部3
0,31,…,3Nのうちアイドル状態にあるもの(処
理中でないもの)を探し、なければステップS702へ
戻る(ステップS704)。頂点処理部30,31,
…,3Nに処理中でないものがあれば、形状分割部10
の出力と処理中でない頂点処理部の入力との間のノード
のスイッチをオンにして、両者を接続する(ステップS
705)。
3の実施形態に係る描画演算処理装置を示している。図
20と同一部分に同一符号を付して説明すると、本実施
形態では複数(L+1)個の形状分割部10,…,1L
と、これらの形状分割部10,…,1Lに入力を振り分
ける入力振り分け部100を有する。
部10,…,1Lのうち処理を行っていないものを探
し、その形状分割部に対して描画演算処理装置に入力さ
れたデータ及びプログラムを送り込む。
換部20に複数の形状分割部10,…,1Lからの接続
要求を制御できる機能を追加し、一つの形状分割部の出
力と一つの頂点処理部の入力との間にデータ転送路を形
成するものであり、図24に示すように形状分割部1
0,…,1Lからの出力線と頂点処理部30,31,
…,3Nの入力線との交差部の白丸と黒丸で示すノード
にスイッチが挿入され、黒丸で示すノードのスイッチが
オンになっている。これにより図24の例では、黒丸で
示すノードを介して形状分割部10の出力と頂点処理部
3Nの入力との間、及び形状分割部1Lの出力と頂点処
理部30の入力との間にそれぞれデータ転送路が形成さ
れる。
合には、データ転送路としては同時に最大Sn個のデー
タ転送路を構成でき、形状分割部10,…,1Lを効率
良く動作させることが可能となる。交換部21の処理の
流れとしては、先に説明した図22に示すフローチャー
トのステップS701,S702において、複数の形状
分割部10,…,1Lからの接続要求及び切断要求の有
無を検査するように変更すればよい。
0,…,1Lは独立にプログラムを実行して独立に動作
し、同一または異なるプログラムに従って、入力された
形状プリミティブを分割する。形状分割部10,…,1
Lの一つの構成例としては、各形状分割部10,…,1
Lが独立したインストラクション・メモリを持つ構成で
ある。形状分割部10,…,1Lの別の構成例として
は、大型の共有プログラムメモリを持ち、各形状分割部
10,…,1Lがインストラクション・キャッシュを持
つ構成であり、プログラムメモリを効率的に持つことが
できる。
つであったため、一つの形状プリミティブの処理が終了
するまで、次の形状プリミティブは処理できなかった。
従って、複数の頂点処理部30,31,…,3Nの全て
が動作しない場合がある。これに対し、この第3の実施
形態では複数の形状分割部10,…,1Lが並列に動作
することで、単位時間当たりに頂点処理部30,31,
…,3Nへ送ることができるメッシュデータが増えるこ
とにより、処理性能を上げることができる。
かかる形状プリミティブを処理している場合、分割演算
に時間がかからない後続の形状プリミティブを他の形状
分割部が先に分割して頂点処理部に送ることで、さらに
効率を上げることができる。
処理装置によれば、形状プリミティブを複数のサブポリ
ゴンに分割してサブポリゴンメッシュを生成する際の分
割の細かさを任意に可変とすることにより、アプリケー
ション制作者が描画の速度と画質の制御を容易に行うこ
とが可能となる。
アデータなどを用いたより高度な描画技法を頂点単位で
用いることが可能であり、さらに効率よく頂点単位の処
理を行うことができる。
リゴンメッシュに対する頂点処理を同時に行うことによ
り、頂点処理の能力を上げ、同じ時間内により高画質な
画像の生成が可能となる。
形状プリミティブに対する分割処理を同時に行うことに
より、形状プリミティブの処理能力を上げ、同じ時間内
により高画質な画像の生成を可能とすることができる。
リアルタイム3次元コンピュータグラフィクスシステム
の構成を示すブロック図
の構成を示すブロック図
すブロック図
すブロック図
数のサブポリゴンメッシュに分割される様子を示す図
投影された様子とサブポリゴンメッシュに含まれるサブ
ポリゴンの隣接関係とサブポリゴンの頂点及び頂点とサ
ブポリゴンの対応について示す図
の流れを示すフローチャート
関係を示す図
位の処理の流れの一例を示すフローチャート
の例を示すフローチャート
の処理の流れの一例を示すフローチャート
図
処理部での処理の流れを示すフローチャート
「上」及び「左上」頂点について示す図
算の流れの一例を示すフローチャート
及び画像メモリアクセス部の構成単位を示すブロック図
メモリアクセス部の接続形態の一例を示すブロック図
メモリアクセス部の接続形態の他の例を示すブロック図
理装置の構成を示すブロック図
換部の構成を示す図
チャート
理装置の構成を示すブロック図
換部の構成を示すブロック図
群 3202,3212,…,32M2…ローカルメモリ 40…レンダリング処理部 400,401,…,40M…単位レンダリング処理部 410…三角形ラスタライズ部 50…画像メモリアクセス部 500,501,…,50M…単位アクセス部 510…画像メモリアドレス計算部 60,600,601,…,60M…画像メモリ読み出
し経路 70…キャッシュ 700,701,…,70M…単位キャッシュ 80…画像メモリ 801…画像表示用フレーム・バッファ 802…隠面消去用デプス・バッファ 803…ステンシル・バッファ 804…テクスチュア・マップ・メモリ 805…光源デプス・バッファ 806…レンダリング用フレーム・バッファ 90…画像出力部 100…入力振り分け部
Claims (11)
- 【請求項1】3次元空間に存在するオブジェクトの表面
の単位形状を二次元に配列された任意の大きさの複数の
サブポリゴンに分割してサブポリゴンメッシュを生成す
る形状分割部と、 前記形状分割部により生成されたポリゴンメッシュの頂
点毎にサブポリゴンに対するピクセル単位の描画に必要
なパラメータを算出する頂点処理部と、 前記頂点処理部により算出されたパラメータ及びテクス
チュアマッピングのための画像データに基づいてピクセ
ル単位の描画データを算出するレンダリング処理部と、 前記描画データを画像データとして保持すると共に、前
記レンダリング処理部で前記描画データの算出に必要な
少なくともテクスチュアマッピングのためのデータを保
持する画像メモリとを具備することを特徴とする描画演
算処理装置。 - 【請求項2】3次元空間に存在するオブジェクトの表面
の単位形状を二次元に配列された任意の大きさの複数の
サブポリゴンに分割してサブポリゴンメッシュを生成す
る形状分割部と、 前記形状分割部により生成されたポリゴンメッシュの頂
点毎にサブポリゴンに対するピクセル単位の描画に必要
なパラメータを算出する複数の頂点処理部と、前記形状
分割部の出力と前記複数の頂点処理部の入力とを任意に
交換接続する交換部と、 前記頂点処理部により算出されたパラメータ及びテクス
チュアマッピングのための画像データに基づいてピクセ
ル単位の描画データを算出するレンダリング処理部と、 前記描画データを画像データとして保持すると共に、前
記レンダリング処理部で前記描画データの算出に必要な
少なくともテクスチュアマッピングのためのデータを保
持する画像メモリとを具備することを特徴とする描画演
算処理装置。 - 【請求項3】3次元空間に存在するオブジェクトの表面
の単位形状を二次元に配列された任意の大きさの複数の
サブポリゴンに分割してサブポリゴンメッシュを生成す
る複数の形状分割部と、 前記複数の形状分割部に対して前記単位形状のデータを
振り分ける入力振り分け部と、 前記形状分割部により生成されたポリゴンメッシュの頂
点毎にサブポリゴンに対するピクセル単位の描画に必要
なパラメータを算出する複数の頂点処理部と、 前記形状分割部の出力と前記複数の頂点処理部の入力と
を任意に交換接続する交換部と、 前記頂点処理部により算出されたパラメータ及びテクス
チュアマッピングのための画像データに基づいてピクセ
ル単位の描画データを算出するレンダリング処理部と、 前記描画データを画像データとして保持すると共に、前
記レンダリング処理部で前記描画データの算出に必要な
少なくともテクスチュアマッピングのためのデータを保
持する画像メモリとを具備することを特徴とする描画演
算処理装置。 - 【請求項4】前記画像メモリが保持する前記少なくとも
テクスチュアマッピングのためのデータを読み出して前
記頂点処理部に伝達するための画像読み出し経路とをさ
らに具備し、 前記頂点処理部は、前記生成されたポリゴンメッシュの
頂点に対応する前記画像メモリ中の前記少なくともテク
スチュアマッピングのためのデータを前記画像読み出し
経路を介して読み込み、該読み込んだデータを用いて該
ポリゴンメッシュの頂点毎にサブポリゴンのピクセル単
位の描画に必要なパラメータを算出する特徴とする請求
項1乃至3のいずれか1項に記載の描画演算処理装置。 - 【請求項5】前記画像読み出し経路を介して読み込んだ
データを一時保持するためのキャッシュをさらに具備す
ることを特徴とする請求項4に記載の描画演算処理装
置。 - 【請求項6】前記頂点処理部は、前記ポリゴンメッシュ
の頂点毎にサブポリゴンのピクセル単位の描画に必要な
パラメータを算出する演算をそれぞれ行う複数の演算部
を有し、複数の頂点に対して同時に同一プログラムに従
って該演算を行うことを特徴とする請求項1乃至5のい
ずれか1項記載の描画演算処理装置。 - 【請求項7】前記複数の演算部は、前記生成されたサブ
ポリゴンメッシュの各行について前記演算を同時に行う
処理を該ポリゴンメッシュの行数だけ繰り返すことを特
徴とする請求項6に記載の描画演算処理装置。 - 【請求項8】前記複数の演算部は、一次元に配列される
と共に、配列方向に隣接する演算部間がデータ転送経路
により接続され、該データ転送路を介して全ての演算部
が該配列方向に隣接する演算部に対して内部データの少
なくとも一部を同時に転送することを特徴とする請求項
6または7記載の描画演算処理装置。 - 【請求項9】前記複数の演算部による前記演算の結果を
連続した三角形列に組み上げて、前記レンダリング処理
部へ転送する三角形列組み上げ部をさらに有することを
特徴とする請求項6乃至8のいずれか1項に記載の描画
演算処理装置。 - 【請求項10】前記複数の形状分割部は、処理プログラ
ムを格納するプログラムメモリを共有することを特徴と
する請求項3に記載の描画演算処理装置。 - 【請求項11】前記レンダリング処理部は、頂点単位の
マッピングとピクセル単位のマッピングを併用して前記
描画データを算出することを特徴とする請求項1乃至1
0のいずれか1項に記載の描画演算処理装置。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP29425399A JP2001118082A (ja) | 1999-10-15 | 1999-10-15 | 描画演算処理装置 |
US09/689,794 US6704018B1 (en) | 1999-10-15 | 2000-10-13 | Graphic computing apparatus |
US10/715,498 US7088362B2 (en) | 1999-10-15 | 2003-11-19 | Graphic computing apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP29425399A JP2001118082A (ja) | 1999-10-15 | 1999-10-15 | 描画演算処理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2001118082A true JP2001118082A (ja) | 2001-04-27 |
Family
ID=17805339
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP29425399A Pending JP2001118082A (ja) | 1999-10-15 | 1999-10-15 | 描画演算処理装置 |
Country Status (2)
Country | Link |
---|---|
US (2) | US6704018B1 (ja) |
JP (1) | JP2001118082A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006318066A (ja) * | 2005-05-10 | 2006-11-24 | Digital Media Professional:Kk | 幾何演算装置 |
JP2007249796A (ja) * | 2006-03-17 | 2007-09-27 | Sony Corp | 画像処理装置および画像処理方法、並びにプログラム |
JPWO2006003856A1 (ja) * | 2004-07-01 | 2008-04-17 | 松下電器産業株式会社 | 画像描画装置、頂点選出方法、頂点選出プログラム及び集積回路 |
JPWO2007132746A1 (ja) * | 2006-05-11 | 2009-09-24 | パナソニック株式会社 | 処理装置 |
JP2012198902A (ja) * | 2005-09-27 | 2012-10-18 | Sony Computer Entertainment Inc | プロセッサにおけるタスクおよびデータ管理 |
Families Citing this family (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7102636B2 (en) * | 2001-03-31 | 2006-09-05 | Intel Corporation | Spatial patches for graphics rendering |
GB2378337B (en) * | 2001-06-11 | 2005-04-13 | Canon Kk | 3D Computer modelling apparatus |
JP3793062B2 (ja) * | 2001-09-27 | 2006-07-05 | 株式会社東芝 | メモリ内蔵データ処理装置 |
JP2003141187A (ja) * | 2001-11-07 | 2003-05-16 | Furukawa Electric Co Ltd:The | 解析格子データ生成装置、解析格子データ生成方法およびその方法をコンピュータに実行させるプログラム |
US7391418B2 (en) | 2002-10-15 | 2008-06-24 | Nokia Corporation | Three dimensional image processing |
JP4082194B2 (ja) * | 2002-12-03 | 2008-04-30 | セイコーエプソン株式会社 | 画像処理方法および画像処理装置ならびに画像処理プログラム |
US6900810B1 (en) * | 2003-04-10 | 2005-05-31 | Nvidia Corporation | User programmable geometry engine |
US7508448B1 (en) | 2003-05-29 | 2009-03-24 | Nvidia Corporation | Method and apparatus for filtering video data using a programmable graphics processor |
US7355601B2 (en) * | 2003-06-30 | 2008-04-08 | International Business Machines Corporation | System and method for transfer of data between processors using a locked set, head and tail pointers |
US6862027B2 (en) * | 2003-06-30 | 2005-03-01 | Microsoft Corp. | System and method for parallel execution of data generation tasks |
JP4313130B2 (ja) * | 2003-09-18 | 2009-08-12 | 株式会社リコー | 画像形成装置、画像形成方法、およびその方法をコンピュータで実行するプログラム |
US7239322B2 (en) | 2003-09-29 | 2007-07-03 | Ati Technologies Inc | Multi-thread graphic processing system |
US6897871B1 (en) * | 2003-11-20 | 2005-05-24 | Ati Technologies Inc. | Graphics processing architecture employing a unified shader |
US20050110793A1 (en) * | 2003-11-21 | 2005-05-26 | Steen Erik N. | Methods and systems for graphics processing in a medical imaging system |
US7015914B1 (en) | 2003-12-10 | 2006-03-21 | Nvidia Corporation | Multiple data buffers for processing graphics data |
JP2005234727A (ja) | 2004-02-18 | 2005-09-02 | Toshiba Corp | 画像処理装置、画像処理システムおよび画像処理方法 |
US7567248B1 (en) * | 2004-04-28 | 2009-07-28 | Mark William R | System and method for computing intersections between rays and surfaces |
JP4260734B2 (ja) * | 2004-12-21 | 2009-04-30 | 株式会社ソニー・コンピュータエンタテインメント | 描画処理装置、ラスタライザ、および描画処理方法 |
JP3853829B1 (ja) * | 2005-10-31 | 2006-12-06 | 株式会社ソニー・コンピュータエンタテインメント | 描画処理装置、並列処理装置および排他制御方法 |
US7639249B2 (en) * | 2006-05-05 | 2009-12-29 | Microsoft Corporation | Direct inset beveling of geometric figures |
US8125498B2 (en) * | 2007-01-03 | 2012-02-28 | Siemens Medical Solutions Usa, Inc. | Generating a 3D volumetric mask from a closed surface mesh |
JP5078712B2 (ja) * | 2008-04-01 | 2012-11-21 | 任天堂株式会社 | 画像処理プログラム、画像処理装置、画像処理システム及び画像処理方法 |
US8120607B1 (en) * | 2008-05-30 | 2012-02-21 | Nvidia Corporation | Boundary transition region stitching for tessellation |
US20100058247A1 (en) * | 2008-09-04 | 2010-03-04 | Honeywell International Inc. | Methods and systems of a user interface |
US8854379B2 (en) * | 2009-02-25 | 2014-10-07 | Empire Technology Development Llc | Routing across multicore networks using real world or modeled data |
JP5615055B2 (ja) * | 2010-06-18 | 2014-10-29 | キヤノン株式会社 | 情報処理装置及びその処理方法 |
US9053562B1 (en) | 2010-06-24 | 2015-06-09 | Gregory S. Rabin | Two dimensional to three dimensional moving image converter |
US9183651B2 (en) | 2010-10-06 | 2015-11-10 | Microsoft Technology Licensing, Llc | Target independent rasterization |
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 |
US9992021B1 (en) | 2013-03-14 | 2018-06-05 | GoTenna, Inc. | System and method for private and point-to-point communication between computing devices |
JP2014200075A (ja) * | 2013-03-15 | 2014-10-23 | 株式会社リコー | コンピュータシステム、配信制御システム、配信制御方法、及びプログラム |
EP2804151B1 (en) * | 2013-05-16 | 2020-01-08 | Hexagon Technology Center GmbH | Method for rendering data of a three-dimensional surface |
US10318102B2 (en) * | 2016-01-25 | 2019-06-11 | Adobe Inc. | 3D model generation from 2D images |
CN106600697B (zh) * | 2016-12-13 | 2019-10-11 | 东北大学 | 一种面向3d场景的导航网格地图表示方法 |
CN106802924A (zh) * | 2016-12-19 | 2017-06-06 | 北京科胜永昌软件有限公司 | 基于多线程并行的海量观测系统炮检点数据绘制显示方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4590465A (en) | 1982-02-18 | 1986-05-20 | Henry Fuchs | Graphics display system using logic-enhanced pixel memory cells |
US4783649A (en) | 1982-08-13 | 1988-11-08 | University Of North Carolina | VLSI graphics display image buffer using logic enhanced pixel memory cells |
US5459829A (en) | 1991-02-13 | 1995-10-17 | Kabushiki Kaisha Toshiba | Presentation support system |
US5307450A (en) * | 1991-02-19 | 1994-04-26 | Silicon Graphics, Inc. | Z-subdivision for improved texture mapping |
JP3239975B2 (ja) * | 1994-11-29 | 2001-12-17 | 富士通株式会社 | 多角形描画装置 |
US5886703A (en) * | 1995-02-01 | 1999-03-23 | Virtus Corporation | Perspective correct texture mapping system and methods with intelligent subdivision |
JP3645024B2 (ja) * | 1996-02-06 | 2005-05-11 | 株式会社ソニー・コンピュータエンタテインメント | 描画装置及び描画方法 |
-
1999
- 1999-10-15 JP JP29425399A patent/JP2001118082A/ja active Pending
-
2000
- 2000-10-13 US US09/689,794 patent/US6704018B1/en not_active Expired - Fee Related
-
2003
- 2003-11-19 US US10/715,498 patent/US7088362B2/en not_active Expired - Fee Related
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPWO2006003856A1 (ja) * | 2004-07-01 | 2008-04-17 | 松下電器産業株式会社 | 画像描画装置、頂点選出方法、頂点選出プログラム及び集積回路 |
JP4691494B2 (ja) * | 2004-07-01 | 2011-06-01 | パナソニック株式会社 | 画像描画装置、頂点選出方法、頂点選出プログラム及び集積回路 |
JP2006318066A (ja) * | 2005-05-10 | 2006-11-24 | Digital Media Professional:Kk | 幾何演算装置 |
JP4683623B2 (ja) * | 2005-05-10 | 2011-05-18 | 株式会社ディジタルメディアプロフェッショナル | 幾何演算装置 |
JP2012198902A (ja) * | 2005-09-27 | 2012-10-18 | Sony Computer Entertainment Inc | プロセッサにおけるタスクおよびデータ管理 |
JP2007249796A (ja) * | 2006-03-17 | 2007-09-27 | Sony Corp | 画像処理装置および画像処理方法、並びにプログラム |
JP4492567B2 (ja) * | 2006-03-17 | 2010-06-30 | ソニー株式会社 | 画像処理装置および画像処理方法、並びにプログラム |
JPWO2007132746A1 (ja) * | 2006-05-11 | 2009-09-24 | パナソニック株式会社 | 処理装置 |
JP4759614B2 (ja) * | 2006-05-11 | 2011-08-31 | パナソニック株式会社 | 処理装置 |
JP2011175656A (ja) * | 2006-05-11 | 2011-09-08 | Panasonic Corp | 処理装置 |
US8180182B2 (en) | 2006-05-11 | 2012-05-15 | Panasonic Corporation | Processing device for processing plurality of polygon meshes, the device including plurality of processors for performing coordinate transformation and gradient calculations and an allocation unit to allocate each polygon to a respective processor |
US8331734B2 (en) | 2006-05-11 | 2012-12-11 | Panasonic Corporation | Processing method and device for processing a polygon mesh that approximates a three-dimensional object with use of a polygonal shape |
Also Published As
Publication number | Publication date |
---|---|
US7088362B2 (en) | 2006-08-08 |
US20040104915A1 (en) | 2004-06-03 |
US6704018B1 (en) | 2004-03-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2001118082A (ja) | 描画演算処理装置 | |
US8115767B2 (en) | Computer graphics shadow volumes using hierarchical occlusion culling | |
US6016150A (en) | Sprite compositor and method for performing lighting and shading operations using a compositor to combine factored image layers | |
US6392655B1 (en) | Fine grain multi-pass for multiple texture rendering | |
US6650327B1 (en) | Display system having floating point rasterization and floating point framebuffering | |
US7256781B2 (en) | Image processing apparatus and method of same | |
US20230081791A1 (en) | Displaced Micro-meshes for Ray and Path Tracing | |
KR100889602B1 (ko) | 광선 추적을 위한 광선-삼각형 충돌 처리 방법 및 장치 | |
US11816783B2 (en) | Enhanced techniques for traversing ray tracing acceleration structures | |
JP2008511074A (ja) | グラフィックスハードウェアにおける幾何学的画像の細分割 | |
CN1655191A (zh) | 基于可编程图形硬件的多边形网格模型的快速体素化方法 | |
AU4998299A (en) | Apparatus and method for real-time volume processing and universal 3d rendering | |
Schneider et al. | Real-time rendering of complex vector data on 3d terrain models | |
Li et al. | Chameleon: An interactive texture-based rendering framework for visualizing three-dimensional vector fields | |
US11854141B2 (en) | Early release of resources in ray tracing hardware | |
JP2006235839A (ja) | 画像処理装置および画像処理方法 | |
JP2006517705A (ja) | コンピュータグラフィックスシステム及びコンピュータグラフィクイメージのレンダリング方法 | |
Shen et al. | Interactive visualization of three-dimensional vector fields with flexible appearance control | |
Haines | An introductory tour of interactive rendering | |
US7116333B1 (en) | Data retrieval method and system | |
US7372461B2 (en) | Image processing apparatus and method of same | |
US20210295586A1 (en) | Methods and apparatus for decoupled shading texture rendering | |
Stewart et al. | Pixelview: A view-independent graphics rendering architecture | |
KR100868396B1 (ko) | 기하 이미지 분할을 위한 그래픽 처리 시스템 및 방법 | |
JP2774874B2 (ja) | 画像合成装置及び画像合成方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050311 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070918 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20071002 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071203 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20080108 |