[go: up one dir, main page]

JP3761085B2 - 画像処理装置及びその構成部品、レンダリング処理方法 - Google Patents

画像処理装置及びその構成部品、レンダリング処理方法 Download PDF

Info

Publication number
JP3761085B2
JP3761085B2 JP2002337966A JP2002337966A JP3761085B2 JP 3761085 B2 JP3761085 B2 JP 3761085B2 JP 2002337966 A JP2002337966 A JP 2002337966A JP 2002337966 A JP2002337966 A JP 2002337966A JP 3761085 B2 JP3761085 B2 JP 3761085B2
Authority
JP
Japan
Prior art keywords
primitive
primitives
buffer
attribute data
displayed
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP2002337966A
Other languages
English (en)
Other versions
JP2003228733A (ja
Inventor
伸夫 佐々木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Interactive Entertainment Inc
Original Assignee
Sony Computer Entertainment Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority to JP2002337966A priority Critical patent/JP3761085B2/ja
Application filed by Sony Computer Entertainment Inc filed Critical Sony Computer Entertainment Inc
Priority to KR1020037013515A priority patent/KR100907154B1/ko
Priority to EP02783603A priority patent/EP1450308A4/en
Priority to CNB028091124A priority patent/CN1288603C/zh
Priority to PCT/JP2002/012214 priority patent/WO2003046836A1/ja
Priority to US10/304,183 priority patent/US6961065B2/en
Priority to TW091134490A priority patent/TWI245235B/zh
Publication of JP2003228733A publication Critical patent/JP2003228733A/ja
Application granted granted Critical
Publication of JP3761085B2 publication Critical patent/JP3761085B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/40Hidden part removal
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/10Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/30Clipping

Landscapes

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

Description

【0001】
【発明の属する技術分野】
本発明は、ディスプレイ等の2次元スクリーンに表示される3次元画像のレンダリング処理を効率的に行う画像処理技術に関する。
【0002】
【従来の技術】
画像をディスプレイに表示させる画像処理装置、例えばゲームコンソール装置又はパーソナルコンピュータ等における画像処理能力は、近年のプロセッサの高速化に伴い、著しく進歩している。
例えば精細で高品位な3次元画像を2次元スクリーンに表示させるための2次元画像を、ほぼリアルタイムで生成することが可能になっている。
2次元画像は、3次元画像に存する仮想的な物体の画像(以下、「オブジェクト」という)を構成するポリゴンなどの複数のプリミティブと、各プリミティブの形状、サイズ、色、輝度などの属性を表す属性データとにより生成される。
【0003】
3次元画像を2次元スクリーンに表示させるときに行われる画像処理は、大別して、プリミティブの頂点座標等に座標変換などを施すジオメトリ処理と、このジオメトリ処理の結果得られるジオメトリデータからピクセル毎の色などを決定して2次元画像を生成するレンダリング処理とからなる。
本明細書では、主としてレンダリング処理を実行する装置(分散システム、半導体デバイスを含む)をレンダリング処理装置と称する。このレンダリング処理装置は、画像処理装置の一部を構成するものである。
【0004】
レンダリング処理装置の中には、同じプリミティブに対して複数回のレンダリング処理を行うことにより、複雑な絵柄等の視覚効果の高い画像を描画できるものがある。この複数回のレンダリング処理を「マルチパスレンダリング」と称し、このマルチパスレンダリングにおける1回の処理を「パス」と称する。3回のパスによってレンダリング処理を行うマルチパスレンダリングの場合、例えば1パス目でテクスチャの貼り付けを行わないポリゴン描画を行い、2パス目でテクスチャを貼り付ける処理を行い、3パス目で別のテクスチャを貼り付ける処理を行う。
【0005】
【発明が解決しようとする課題】
従来のレンダリング処理装置では、マルチパスレンダリングを行うときに、すべてのプリミティブについて必ず複数回のレンダリング処理を行う。そのため、複雑な絵柄の画像を描画しようとすると、レンダリング処理の回数が多くなって処理量が増大し、負担が大きくなる。
【0006】
本発明の課題は、上記のような問題に鑑みてなされたものであり、3次元画像のレンダリング処理を従来技術よりも少ない処理量で実現するレンダリング処理装置及びレンダリング処理方法を提供することにある。
本発明の他の課題は、視覚効果の高い画像をオーバーヘッドなく生成する画像処理装置及びその構成部品を提供することにある。
【0007】
【課題を解決するための手段】
上記の課題を解決する本発明のレンダリング処理装置は、複数のプリミティブにより形成される3次元画像を2次元スクリーンに表示させるためのレンダリング処理を行う装置であって、前記複数のプリミティブの各々の属性を表す属性データを当該プリミティブと対応付けて格納するプリミティブバッファと、前記プリミティブバッファに格納されている複数の属性データ同士を比較することにより、前記複数のプリミティブの各々を、前記2次元スクリーンに表示される第1のプリミティブと表示されない第2のプリミティブのいずれかに選別するテスタとを備え、前記テスタにより選別された第2のプリミティブを除く前記第1のプリミティブに対して前記レンダリング処理を行うように構成されている装置である。
【0008】
レンダリング処理は、同一のプリミティブに一つのテクスチャの描画を行う通常の1パスレンダリング処理であっても、複数回のテクスチャ描画を行うマルチパスレンダリングであってもよい。いずれにしても実際に2次元スクリーンに表示されることになるプリミティブ(第1のプリミティブ)についてレンダリング処理を行うので、3次元画像を構成するすべてのプリミティブについて描画を行っていた従来のレンダリング処理装置よりも処理量は大幅に低減する。
「属性データ」は、プリミティブが2次元スクリーンに現れるものかどうかを判別可能にするものであれば、どのような種類のデータであってもよい。通常は、数値データ、例えば、プリミティブの頂点に関する数値データ(頂点座標、頂点輝度、テクスチャ座標等)、プリミティブのサイズ、色又は透過度等を属性データとすることができる。頂点に関する数値データは、例えば、ジオメトリ処理により得られたジオメトリデータを用いることができる。
【0009】
前記プリミティブバッファに格納される複数のプリミティブは、好ましくは、少なくとも前記2次元スクリーンに表示される一画面分の3次元画像を形成し得る数のプリミティブとする。このようにすれば、画面単位で効率的なレンダリング処理を行うことができる。
【0010】
ピクセル単位でのレンダリング処理をより効率的に行う場合は、プリミティブの既知の属性データに基づいてピクセル補間を行う補間手段をさらに備えてレンダリング処理装置を構成し、前記テスタが、前記ピクセル補間により得られた新たな属性データを前記比較の対象に含めることで前記選別をピクセル単位で行うようにする。このような構成にすると、1ピクセルでも2次元スクリーンに表示されるプリミティブは第1のプリミティブとされる。
【0011】
より高解像度の画像を表示させる場合は、前記補間手段を、1ピクセルから分割された複数のサブピクセルの少なくとも1つがレンダリング処理されるときにプリミティブの既知の属性データに基づいてサブピクセル補間を行い、前記テスタは、前記サブピクセル補間により得られた新たな属性データを前記比較の対象に含めることで前記選別をサブピクセル単位で行うように構成する。
【0012】
レンダリング処理されるサブピクセルの、1ピクセル分のサブピクセル全体に占める割合をプリミティブ毎に算定する占有率算定手段をさらに備え、この占有率算定手段による算定結果に応じて当該1ピクセルについての属性データを決定するようにしてもよい。このようにすれば、アンチエイリアシングを迅速に行うことができるようになる。
【0013】
アンチエイリアシングを可能にするため、前記テスタを、1ピクセルに複数のプリミティブが描画されるときの境界部分のピクセルについては前記選別を回避するように構成してもよい。
【0014】
前記プリミティブバッファに格納されている複数の属性データの各々が前記3次元画像における当該プリミティブの位置を表す位置情報、例えば座標値(X、Y、Z)を含むようにし、前記テスタが、個々の属性データに含まれる位置情報を比較することにより前記2次元スクリーンを通じて視る者の視点に最も近いプリミティブを前記第1のプリミティブとし、それ以外のプリミティブを前記第2のプリミティブとして選別するように構成してもよい。このように構成すると、他のプリミティブに隠される位置にあるプリミティブについてのレンダリング処理を回避することができる。
【0015】
前記複数のプリミティブの各々は、前記2次元スクリーンへの表示を許可する許可領域と許可しない非許可領域とを有し表示対象となる画像の透過度及び形状を表すステンシルデータ上に重畳可能なものとすることができる。この場合、前記テスタは、前記ステンシルデータの許可領域又は非許可領域と少なくともその一部が重畳するプリミティブを前記第1のプリミティブとし、それ以外のプリミティブを前記第2のプリミティブとして選別する。
【0016】
レンダリング処理をより迅速にする観点からは、第1のプリミティブか第2のプリミティブかを表すフラグを、レンダリング処理時に参照可能な所定の選別テーブルに、各プリミティブの属性データと対応付けて記録するように前記テスタを構成する。このように構成することにより、レンダリング処理装置が、選別テーブルのフラグを確認するだけで、属性データが第1のプリミティブのものか、第2のプリミティブのものかを判別することができるようになる。フラグを、プリミティブ毎に複数種類の値を呈し得る数値データとし、前記フラグの値が前記2次元スクリーンに表示されるプリミティブのピクセル数に応じて更新されるようにしてもよい。
前記選別テーブルに記録されている個々のプリミティブについての前記フラグを参照し、前記第2のプリミティブについては、その属性データの前記プリミティブバッファからの読み出しを制限する編集手段をさらに備えるようにしてもよい。より確実に第2のプリミティブの使用を回避する観点からは、前記編集手段は、前記第2のプリミティブとして選別したプリミティブの属性データを前記プリミティブバッファから削除するようにする。
【0017】
上記他の課題を解決する本発明の画像処理装置は、2次元スクリーンの表示領域に対応するサイズのフレームバッファと、3次元画像を形成する複数のプリミティブのジオメトリ処理を行って当該3次元画像についてのジオメトリデータを生成する第1プロセッサと、生成された前記ジオメトリデータに基づいて前記フレームバッファに前記3次元画像に対応する2次元画像をレンダリング処理する第2プロセッサと、レンダリング処理された前記2次元画像を前記表示領域に表示させるコントローラとを備える。
前記第2プロセッサは、前記第1プロセッサより取得したジオメトリデータにより特定される複数のプリミティブの各々の属性を表す属性データ同士を比較することにより、前記複数のプリミティブの各々を、前記2次元スクリーンに表示される第1のプリミティブと表示されない第2のプリミティブのいずれかに選別するとともに、前記第2のプリミティブを除く前記第1のプリミティブによる前記2次元画像を前記フレームバッファにレンダリング処理する。
【0018】
好ましい実施の態様では、前記第1プロセッサと前記第2プロセッサとの間にバッファメモリが介在し、前記第1プロセッサにより生成されたジオメトリデータが前記バッファメモリを介して前記第2プロセッサに伝達されるようにする。
処理対象となる前記3次元画像を外部機器より受領して前記第1プロセッサに導く画像受領機構をさらに備えて画像処理装置を構成してもよい。
【0019】
上記他の課題を解決する本発明のレンダリング処理方法は、画像形成に利用されるプリミティブを格納するプリミティブバッファを有し、複数のプリミティブにより形成される3次元画像を2次元スクリーンに表示させる装置により実行される方法である。すなわち、この装置が、前記3次元画像を形成する複数のプリミティブの各々の属性を表す属性データを、当該プリミティブと対応付けて前記プリミティブバッファに格納し、格納した属性データ同士を比較して前記複数のプリミティブの各々を前記2次元スクリーン上に表示される第1のプリミティブと表示されない第2のプリミティブのいずれかに選別するテストパスと、このテストパスにより選別された第2のプリミティブを除く前記第1のプリミティブを前記プリミティブバッファから読み出し、読み出した第1のプリミティブに対するレンダリング処理を行うレンダリングパスとをこの順に実行することを特徴とする。
前記レンダリングパスを複数回実行し、同一のプリミティブに対して異なるテクスチャを複数回レンダリング処理するようにする形態も可能である。
【0020】
上記他の課題を解決するため、本発明は、半導体デバイス、コンピュータプログラムをも提供する。
本発明の半導体デバイスは、2次元スクリーンを有するディスプレイが接続されるコンピュータに搭載されるデバイスであって、前記コンピュータが有する他の構成部品と協働で、該コンピュータに、3次元画像を形成する複数のプリミティブの各々の属性を表す属性データを当該プリミティブと対応付けて格納するプリミティブバッファと、前記プリミティブバッファに格納されている複数の属性データ同士を比較することにより、前記複数のプリミティブの各々を、前記2次元スクリーンに表示される第1のプリミティブと表示されない第2のプリミティブのいずれかに選別するテスタと、前記テスタにより選別された第2のプリミティブを除く前記第1のプリミティブに対して前記レンダリング処理を行って前記2次元スクリーンに表示させる2次元画像を生成するレンダリング処理手段とを構築するものである。
【0021】
本発明のコンピュータプログラムは、画像形成に利用されるプリミティブを格納するプリミティブバッファと、2次元スクリーンを有するディスプレイとが接続されるコンピュータに、3次元画像を形成する複数のプリミティブの各々の属性を表す属性データを、当該プリミティブと対応付けて前記プリミティブバッファに格納する処理、前記プリミティブバッファに格納されている複数の属性データ同士を比較することにより、前記複数のプリミティブの各々を、前記2次元スクリーンに表示される第1のプリミティブと表示されない第2のプリミティブのいずれかに選別する処理、及び、前記選別された第2のプリミティブを除く前記第1のプリミティブに対して前記レンダリング処理を行って前記2次元スクリーンに表示させる2次元画像を生成する処理、を実行させるためのコンピュータプログラムである。このコンピュータプログラムは、コンピュータ読み取り可能な記録媒体に記録されることにより実体化される。
【0022】
【発明の実施の形態】
以下、本発明を、マルチパスレンダリングが可能な画像処理装置に適用した場合の実施形態を説明する。
図1は、この実施形態による画像処理装置のハードウエア構成図である。
画像処理装置1は、レンダリング処理装置の一例となるレンダリングプロセッサ16を搭載し、マルチパスレンダリングを行うことにより、視覚効果の高い3次元画像を2次元スクリーン、例えばディスプレイ41の画面にリアルタイムに表示させる。マルチパスレンダリングに際しては、後述するテストパスを先行させ、他のプリミティブに隠れて見えなくなるなどの理由でディスプレイ41に表示されない第2プリミティブを選別し、選別したプリミティブを除いたレンダリングパスを実行する。このようにして、画像処理装置1は、実際にはディスプレイ41に表示されないプリミティブを描画するような無駄な処理を排除し、レンダリング処理の効率化を図る。
【0023】
画像処理装置1は、CD−ROM、DVD−ROM等のディスク媒体15が装着されるディスクドライブ10、有線若しくは無線により外部機器との間との通信を可能にする通信制御部11、ジオメトリプロセッサ12、メモリ13、CPU14、レンダリングプロセッサ16が、バスにより相互にデータの送受信が可能に接続されている。
レンダリングプロセッサ16には、ビデオ信号などの画像信号をディスプレイ41に出力するためのディスプレイコントローラ40が接続されている。
【0024】
ディスクドライブ10は、ディスク媒体15から画像処理用のデータ及びプログラムを読み出し、これをメモリ13に格納する。画像処理用のデータは、例えば、プリミティブについての図形データなどである。この実施形態における図形データは、例えばプリミティブについての頂点座標値(X,Y,Z)、頂点輝度値(R,G,B)、ベクトル値、頂点同士の接続状況を表す連結情報、などを含んでいる。
通信制御部11は、上述の画像処理用のデータ及びプログラムを外部機器から取り込み、これをメモリ13に格納する。すなわち、通信制御部11は、ディスクドライブ10がディスク媒体15から取り込むデータと同様のデータを外部機器から取り込んでメモリ13に格納するように動作する。
このような構成を採用することにより、画像処理装置1は、ディスクドライブ10と通信制御部11の少なくとも一方から、画像処理用のデータ及びプログラムを受領することができる。
【0025】
ジオメトリプロセッサ12は、CPU14の制御のもと、メモリ13に格納された図形データに対して、アフィン(affine)変換処理、頂点に対する光源処理などのジオメトリ処理を行う。ジオメトリ処理の結果得られるジオメトリデータは、プリミティブについての頂点座標値(X,Y,Z)、各頂点でのテクスチャ座標値(S,T,Q)、頂点輝度値(R,G,B,A)など、プリミティブの属性を表すデータからなる。頂点輝度値の“A”は、公知のアルファブレンディング処理を行う際に用いられる半透明係数である。
【0026】
メモリ13には、ディスクドライブ10及び通信制御部11の少なくとも一方から取り込んだ画像処理用データ及びプログラムが格納されるほか、画像処理装置1による処理の際に生成される各種データも格納される。これにより、画像処理装置1におけるメインメモリとしても利用される。
【0027】
CPU14は、各構成要素間のデータの受け渡し、例えば、ジオメトリプロセッサ12で生成されたジオメトリデータを、メモリ13等をバッファとしてレンダリングプロセッサ16へ伝達させるための制御等を行う。
なお、本実施形態では、ジオメトリプロセッサ12をCPU14とは別に設けた例を示すが、これらが一体となって、CPU14がジオメトリプロセッサ12の機能を持つようにしてもよい。
【0028】
レンダリングプロセッサ16は、ジオメトリプロセッサ12で生成されたジオメトリデータに基づいてマルチパスレンダリングを行う。
ディスプレイコントローラ40は、レンダリング処理の結果生成された2次元画像を、ディスプレイ41で表示可能な構造の画像信号に変換してディスプレイ41へ出力する。この画像信号によりディスプレイ41に画像が表示される。
【0029】
レンダリングプロセッサ16は、より具体的には、プリミティブバッファ21、マルチパス制御部22、XYZクリップ部23、セットアップDDA(Digital Differential Analyzer)部(以下、「SU/DDA部」という)24、Zテスト部25、Zバッファ26、ステンシルテスト部27、ステンシルバッファ28、プリミティブ選別部29、プリミティブ編集部30、テクスチャマッピング部31、フレームバッファ32を備えている。
Zテスト部25、ステンシルテスト部27、プリミティブ選別部29、及びプリミティブ編集部30は、それぞれ本発明におけるテスタの一構成要素となるものである。
これらの構成要素は、半導体デバイスなどにより個別に実現することができるが、汎用のディジタルシグナルプロセッサ(Digital Signal Processor:DSP)、或いはグラフィックプロセッサ(Graphic Processor:GP)等と、コンピュータプログラムとの協働により、すなわち、これらのプロセッサがコンピュータプログラムを読み込んで実行することにより実現されるようにしてもよい。
【0030】
プリミティブバッファ21は、プリミティブの少なくとも1グループ分のジオメトリデータを、これらのプリミティブの各々の属性データの一例として格納する。プリミティブの1グループとは、例えば、ディスプレイ41における一つの画面上の画像又は一つのオブジェクトを構成するプリミティブの集合を指す。各プリミティブには、それぞれを識別するための識別情報となる識別番号(以下、「プリミティブ番号」という)が、これも属性データの一つとして付される。
【0031】
図2は、プリミティブバッファ21に格納されるジオメトリデータと、各ジオメトリデータに付されるプリミティブ番号(PN1、PN2…)との関係を示した図である。なお、図示の例以外に、ジオメトリデータのそれぞれに、そのジオメトリデータをマルチパスレンダリングに用いるか否かを表すためのフラグを対応付けておいてもよい。
【0032】
ジオメトリデータが、三角形状を表現するための所謂トライアングルストリップ(triangle strip)データになっている場合、ジオメトリデータは、トライアングルストリップの各頂点について生成される。そのために、レンダリングプロセッサ16は、各頂点のジオメトリデータにプリミティブ番号を付してプリミティブバッファ21に格納する。
トライアングルストリップデータによるトライアングルストリップの例を図3に示す。図示の「0」〜「7」はそれぞれ頂点である。図3のようなトライアングルストリップデータの場合は、頂点0,1,2…7のそれぞれにプリミティブ番号が付される。トライアングルファンにも、同様のプリミティブバッファ21を用いることができる。
【0033】
プリミティブバッファ21は、ジオメトリプロセッサ12とレンダリングプロセッサ16との間におけるジオメトリデータの転送が、マルチパスレンダリングのパス毎に発生してしまうことを防止するために設けられる。このプリミティブバッファ21を介在させることにより、ジオメトリプロセッサ12とレンダリングプロセッサとの間のオーバヘッドを低減させることができる。
プリミティブバッファ21は、この実施形態ではレンダリングプロセッサ16内に設けることとしているが、これに限らずレンダリングプロセッサ16とは独立に設けるようにしてもよい。また、メモリ13内に設けるようにしてもよい。
【0034】
マルチパス制御部22は、マルチパスレンダリングの制御を行う。例えば、レンダリングプロセッサ16内の各構成要素に対して、後述するZバッファ描画、テストパス、マルチパスレンダリングのどれを実行するかを通知する。また、プリミティブバッファ21から、レンダリング処理されるプリミティブのジオメトリデータ及びそのジオメトリデータのプリミティブ番号を読み出してXYZクリップ部23へ送る。
マルチパスレンダリングの実行中、マルチパス制御部22は、ジオメトリデータを必要に応じて変更する。例えば、1つのプリミティブ(例えば、ポリゴン)に対してパス毎に異なるテクスチャをマッピングする場合、テクスチャ座標値の倍率を変えたり、或いはシフトさせる処理を行う。
【0035】
マルチパス制御部22は、また、必要に応じて、テクスチャの原点座標のシフト量を変更させる。この変更の処理を行うことにより、レンダリングプロセッサ16で、テクスチャ座標軸毎の線形変換を行うことが可能となる。さらにマルチパス制御部22は、必要に応じて、頂点輝度値(R,G,B,A)を選択的に固定値に置き換える。これにより、レンダリングプロセッサ16において、例えば2パス目以降に同じ頂点輝度値を再送する無駄を無くすことができる。
【0036】
XYZクリップ部23は、予め用意されているクリップデータに基づいて、マルチパス制御部22から送られたジオメトリデータによるプリミティブの3次元のクリッピング(Clipping)を行う。クリップデータは、ディスプレイ41の表示領域を表すデータであり、クリッピングは、クリップデータによる表示領域外となるプリミティブの除去、或いは、表示領域からはみ出すプリミティブについての形状変更等を行う処理である。
【0037】
ここで、クリッピングの動作を図4、図5を参照して具体的に説明する。
図4は、頂点座標(X1,Y1)、(X2,Y2)、(X3,Y3)で表されるプリミティブ51とディスプレイ41の表示領域50との関係を表している。XYZクリップ部23は、プリミティブ51が表示領域50からはみ出しているときに、クリッピングによりその形状の変更を行う。この変更された形状のプリミティブ52と表示領域50との関係を示したのが図5である。
XYZクリップ部23は、図5のように、表示領域50からはみ出しているプリミティブ51の形状を変更し、頂点座標(X3,Y3)、(X6,Y6)、(X5,Y5)、(X4,Y4)、(X7,Y7)からなる新たなプリミティブ52を生成する。この新たなプリミティブ52のプリミティブ番号は、形状変更前のプリミティブ51と同じ番号である。
XYZクリップ部23は、クリッピング後のジオメトリデータとプリミティブ番号とを、SU/DDA部24へ送る。
【0038】
SU/DDA部24は、セットアップ処理及びDDA処理を行う。
セットアップ処理とは、XYZクリップ部23から送られたクリッピング後のジオメトリデータに基づいて、DDA処理に用いられる初期座標値及び傾き値を算出する処理である。
DDA処理とは、セットアップ処理で算出された初期座標値及び傾き値に基づいて、プリミティブの頂点間を線形補間すると共に、プリミティブ内部についても補間して、プリミティブを構成する各ピクセルの座標値(X,Y,Z)、輝度値(R,G,B,A)、テクスチャマッピングのためのテクスチャ座標値(S,T,Q)等を含む補間データを求める処理である。
例えば図5に示したプリミティブ52の場合は、斜線で示した部分の各ピクセルについて補間データを求める。ただし、後述するZバッファ描画及びテストパスの際には、SU/DDA部24は、各ピクセルの座標値の補間のみを行うようにしてもよい。
ピクセル毎の補間データは、プリミティブ番号とともに、Zテスト部25に送られる。
【0039】
Zテスト部25は、Zバッファ描画時とテストパス時とで異なる形態の処理を行う。
Zバッファ描画時にZテスト部25は、ピクセル毎に、SU/DDA部24から送られる補間データに含まれるZ値とZバッファ26に書き込まれているZ値とを比較し、比較の結果に基づいて、いずれかのZ値をZバッファ26に書き込む。例えば、より視点に近い方のZ値を選択し、このZ値をZバッファ26に書き込む。SU/DDA部24から送られたZ値を選択した場合は、このZ値によりZバッファ26の当該ピクセルのZ値を更新する。Zバッファ26に記憶されていたZ値を選択した場合には、Zバッファ26の更新は行わない。
但し、1ピクセルのZバッファについて、そのピクセルの全域を埋めないプリミティブについては、その背面部分に表示に必要な他のプリミティブが存在することがあるので、アンチエイリアシング(Anti-Aliasing)のために、Zテスト部25は、そのピクセルのZ値をZバッファ26に書き込まないでおく。また、プリミティブが透明または半透明な場合にも、同様の理由でZバッファ26にZ値を書き込まない。
他方、テストパス時にZテスト部25は、Zバッファ26に記憶されたZ値とSU/DDA部24から送られた補間データとをピクセル毎に比較して、Zバッファ26に記憶されたZ値と同じZ値を持つ補間データを選択する。そして、選択した補間データを、プリミティブ番号と共にステンシルテスト部27へ送る。なお、前述のようにZバッファ26にZ値が書き込まれていない場合には、Zテスト部25は、最も視点に近いZ値を持つ補間データを選択して、これをプリミティブ番号と共にステンシルテスト部27へ送る。
【0040】
Zバッファ26には、Zバッファ描画の結果として、ピクセル毎に視点に最も近いプリミティブのZ値が書き込まれる。
なお、レンダリングパスをピクセル単位でなく、サブピクセル単位で実行し、より高解像度の画像をレンダリングすることもできる。この場合は、サブピクセル用のZバッファを用い、サブピクセルのレンダリング処理を終えた時点で、実際のピクセルを求めるための縮小描画を行う。
【0041】
図6は、縦3×横2ピクセルをサブピクセルで表示した例を示した図である。図6において、各ピクセルは、4×4のサブピクセルに分割されている。この例では右上がりの斜線が描かれている。右下のピクセルは、通常のピクセルでは、斜線が描かれないピクセルと判断される。しかし、サブピクセルを用いると、1つのサブピクセルにこの斜線が描かれるので、右下のピクセルにも斜線が影響を与えることになる。このように、サブピクセル単位でZ値を書き込むことにより、一つのピクセルに2以上のプリミティブが含まれる場合であっても、すべてのプリミティブを考慮した表示が可能となる。
Zバッファ26の記憶容量に余裕がある場合には、Z値の他に、当該Z値のプリミティブに付されたプリミティブ番号を格納するようにしてもよい。
【0042】
ステンシルテスト部27は、ステンシルバッファ28に格納されているステンシルデータに基づいてステンシルテストを行う。
このステンシルテストの概要を図7を参照して説明する。
図7に示すように、ステンシルデータは、ディスプレイ41への表示を許可しない非許可領域53と、許可する許可領域54とを表すものである。本実施形態によるステンシルテストは、例えばZテスト部25から送られる補間データの座標値とステンシルデータの座標値を比較することで、許可領域54にプリミティブ52が表示されるか否か、すなわち許可領域54に位置する補間データが存在するか否かを判別する処理である。表示されるプリミティブ52のプリミティブ番号は、プリミティブ選別部29へ送られる。
マルチパスレンダリングの場合は、表示されるプリミティブの補間データをテクスチャマッピング部31へ送る。
【0043】
ステンシルバッファ28は、ステンシルデータを格納し、ステンシルテスト部27からの要求により、これを随時読み出すように構成される。ステンシルバッファ28に格納されるステンシルデータは、例えば、バスを介してメモリ13から供給される。
【0044】
XYZクリップ部23、Zテスト部25及びステンシルテスト部27により、ディスプレイ41に表示されるピクセルを含むプリミティブと表示されないプリミティブとが分けられる。
ディスプレイ41に表示されるピクセルを含むプリミティブのプリミティブ番号は、ステンシルテスト部27からプリミティブ選別部29へ送られる。
【0045】
プリミティブ選別部29は、図8に示すように、アドレス制御部61と選別テーブル62とを備えて構成される。
選別テーブル62は、アドレス(NA1,NA2,…)と、ディスプレイ41に表示されるかどうかを表すための可視フラグとが記録される。
アドレスは、プリミティブバッファ21に格納されたプリミティブデータに付されるプリミティブ番号(PN1,PN2,…)に対応している。
アドレス制御部61は、選別テーブル62の初期化、選別テーブル62のアドレス計算、可視フラグの変更を行う。例えば、アドレス制御部61は、全プリミティブのZバッファ描画が終了した時点で可視フラグを“0”クリア(初期化)する。そして、ステンシルテスト部27から送られるプリミティブ番号を、選別テーブル62のアドレスに変換し、そのアドレスに対応する可視フラグを“0”から“1”へ変更する。
“1”の値が格納された可視フラグのアドレスは、ディスプレイ41に表示されるプリミティブのプリミティブ番号に対応する。また、“0”の値が格納された可視フラグのアドレスは、ディスプレイ41に表示されるピクセルを一つも含んでいないプリミティブのプリミティブ番号に対応する。
なお、アドレスは、上述のプリミティブ番号と同じものであってもよい。
【0046】
プリミティブが、図9に示したトライアングルストリップである場合、選別テーブル62の内容は、図10のようになる。図9の例では、頂点2、3、4で構成される三角形のプリミティブが形成されていない。
すなわち、頂点0,1,2…7のそれぞれのプリミティブ番号に対応したアドレスに、表示するか否かを表す可視フラグが格納される。トライアングルストリップの場合には、各頂点のジオメトリデータが0から順に読み出されて三角形のプリミティブが生成される。例えば、頂点0、1のジオメトリデータが読み出された後に、頂点2のジオメトリデータが読み出され、頂点0、1、2による三角形のプリミティブが生成される。頂点0、1についての可視フラグは、“Not Active”とされ、頂点0、1は可視フラグに左右されない。
図10の例では、アドレスNA4に対応するプリミティブ番号4の頂点4は、表示されない。これは、レンダリング処理の際に、頂点4のジオメトリデータを読み出したときには、それによってできる頂点2、3、4による三角形が形成されないことを意味しており、頂点4に関係するすべての三角形が形成されないことを意味するものではない。つまり、頂点2、3、4による三角形は形成されないが、頂点3、4、5による三角形、頂点4、5、6による三角形は形成される。また、トライアングルファンについても同様の選別テーブル62を用いることができる。
【0047】
可視フラグは、単一の数値、あるいは二値のほか、整数値を保持できるものとしてもよい。この場合のアドレス制御部61は、ステンシルテスト部27から送られてくる各ピクセルのプリミティブ番号を、選別テーブル62のアドレスへ順次変換し、そのアドレスに対応する可視フラグの値を順次インクリメントする。これにより、可視フラグは、プリミティブ毎に、ディスプレイ41上に表示されるピクセル数に応じた数値を呈することになる。
【0048】
プリミティブ選別部29の選別テーブル62への書き込みは数ビット程度のサイズなので、フレームバッファ32への書き込みに比べてページブレイクを起こす可能性が非常に低い。そのため、高速なテストパス処理が可能である。
【0049】
プリミティブ編集部30は、本発明の編集手段の一例となるもので、プリミティブ選別部29の選別テーブル62に基づいて、ディスプレイ41に表示されないプリミティブのプリミティブ番号を確認する。そして、確認したプリミティブ番号に対応するジオメトリデータが、プリミティブバッファ21から読み出されないようにする。
例えば、プリミティブ編集部30は、選別テーブル62の可視フラグが“0”であるアドレスに対応するプリミティブ番号を確認して、このプリミティブ番号に対応するプリミティブがマルチパスレンダリングの際にプリミティブバッファ21から読み出されないようにする。プリミティブバッファ21内の各ジオメトリデータに、マルチパスレンダリングに用いるか否かを表すためのフラグが付されている場合には、このフラグにより、マルチパスレンダリングの際に読み出されないようにする。ジオメトリデータを、プリミティブバッファ21から消去するようにしてもよい。
【0050】
テクスチャマッピング部31は、パス数に応じた回数のレンダリング処理を行う。テクスチャマッピング部31は、例えば、パス毎に異なるテクスチャを同一のプリミティブにマッピングする。このマッピングによってフレームバッファ32に、表示対象となる画像が描画される。
【0051】
フレームバッファ32は、ディスプレイ41に対応したメモリ空間を備えており、そのメモリ空間上に、当該ディスプレイ41の2次元平面に対応するようにして各ピクセルの描画を行う。フレームバッファ32に描画されたフレーム単位の画像は、ディスプレイコントローラ40を介して画像信号としてディスプレイ41に送られ、表示される。
【0052】
次に、上記のように構成される画像処理装置1の動作、特にレンダリングプロセッサ16によるレンダリング処理方法の例を具体的に説明する。
前提として、レンダリングプロセッサ16のプリミティブバッファ21に、ジオメトリプロセッサ12によるジオメトリ処理の結果であるジオメトリデータが、属性データの一例として格納されているものとする。
【0053】
図11は、このレンダリング処理方法の概要図である。
レンダリングプロセッサ16は、プリミティブバッファ21に格納されているすべてのジオメトリデータに対してZバッファ描画を行い、視点に近いZ値をZバッファに書き込む(ステップS10)。このZバッファ描画が終了すると、レンダリングプロセッサ16は、プリミティブ選別部29の選別テーブル62をクリアして、可視フラグをすべて“0”にする(ステップS20)。次いで、テストパスを行い、その結果に応じて選別テーブル62の可視フラグを変更する(ステップS30)。テストパスにより、選別テーブル62には、ディスプレイ41に表示されるプリミティブか表示されないプリミティブかを表すフラグが格納されるので、レンダリングプロセッサ16は、この選別テーブル62を確認して、プリミティブバッファ21に格納されたジオメトリデータのうちディスプレイ41に表示されないプリミティブのジオメトリデータを消去させる。つまり、プリミティブを消去させる(ステップS40)。プリミティブの消去が終了すると、レンダリングプロセッサ16は、ディスプレイ41に表示されるプリミティブに対するマルチパスレンダリングを実行する(ステップS50)。
このようにして無駄のないレンダリング処理を行うことが可能になる。
【0054】
次に、図11における各処理ステップの内容を、より具体的に説明する。
[Zバッファ描画:ステップS10]
Zバッファ描画時の手順を図12、データの流れを図13に示す。
Zバッファ描画時には、まず、マルチパス制御部22がプリミティブバッファからジオメトリデータをプリミティブ番号と共に読み出して、これをXYZクリップ部23に送る(ステップS11)。XYZクリップ部23は、マルチパス制御部22から送られてきたジオメトリデータに基づくプリミティブに対してクリッピングを行い、ディスプレイ41の表示領域50外に位置するプリミティブの除去、変形を行う。そして、この除去、変形の結果をジオメトリデータに反映させる(ステップS12)。クリッピング後のジオメトリデータはプリミティブ番号とともにSU/DDA部24へ送られる。なお、クリッピングにより除去されるプリミティブのジオメトリデータについては、SU/DDA部24へ送られることはない。
【0055】
SU/DDA部24は、クリッピング後のジオメトリデータに基づいて補間を行い、プリミティブを構成する各ピクセルの座標値を生成する(ステップS13)。SU/DDA部24は、生成した座標値を補間データとして、プリミティブ番号と共にZテスト部25へ送る。
【0056】
Zテスト部25は、SU/DDA部24から送られてきた各ピクセルの補間データを用いて、Zテストを行う(ステップS14)。Zテスト部25は、Zバッファ26から当該ピクセルのZ値を読み込み、このZ値と補間データに含まれるZ値とを比較して、より視点に近い方を選ぶ。Zバッファ26から読み込んだZ値の方が視点に近ければZバッファ26をそのままにしておき(ステップS14:更新なし)、補間データに含まれるZ値の方が視点に近ければ、Zバッファ26のZ値を更新する(ステップS14:更新あり、ステップS15)。
【0057】
以上のような一連の処理を、プリミティブバッファ21に格納されているすべてのジオメトリデータに対して行う(ステップS16)。このようにしてZバッファ描画が終了する。
Zバッファ描画が終了すると、Zバッファ26には、ピクセル毎に視点に最も近いプリミティブのZ値が書き込まれる。但し、1つのピクセルの全域を埋めない場合、プリミティブが透明または半透明である場合には、当該ピクセルにZ値は書き込まれない。
【0058】
[テストパス:ステップS30]
図14、図15は、テストパス時の処理を説明する図である。テストパス時には、まず、マルチパス制御部22がプリミティブバッファからジオメトリデータをプリミティブ番号とともに読み出して、これをXYZクリップ部23に送る(ステップS31)。XYZクリップ部23は、マルチパス制御部22から送られてきたジオメトリデータに基づくプリミティブに対してクリッピングを行い、ディスプレイ41の表示領域外に位置するプリミティブの除去、変形を行う(ステップS32)。XYZクリップ部23は、除去、変形の結果をジオメトリデータに反映させる。クリッピングのジオメトリデータはプリミティブ番号とともにSU/DDA部24へ送られる。なお、クリッピングにより除去されるプリミティブのジオメトリデータについては、SU/DDA部24へ送られることはない。
【0059】
SU/DDA部24は、クリッピング後のジオメトリデータに基づいて補間を行い、プリミティブを構成する各ピクセルの座標値を生成する(ステップS33)。SU/DDA部24は、生成した座標値を補間データとして、プリミティブ番号とともにZテスト部25へ送る。
【0060】
Zテスト部25は、テストパス用の動作を行う。テストパス用の動作では、Zテスト部25は、SU/DDA部24から送られた補間データのZ値と、Zバッファ26に格納されたZ値とを比較して、合致するものについてはその補間データとプリミティブ番号とをステンシルテスト部27へ送る(ステップS34:合致する)。合致しない場合には、レンダリングプロセッサ16は、プリミティブバッファ21に格納されるすべてのジオメトリデータについてテストパスが終了したか否かを判断する(ステップS34:合致しない、ステップS37)。
なお、Zバッファ26にZ値が記憶されていないピクセルについては、最も視点に近いZ値を持つ補間データとプリミティブ番号をステンシルテスト部27へ送る。
【0061】
ステンシルテスト部27は、Zテスト部25から送られた補間データについてステンシルテストを行う(ステップS35)。ステンシルテストの結果、補間データが示すピクセルが許可領域54にある場合には、このピクセルは表示するのでプリミティブ番号をプリミティブ選別部29へ送る(ステップS35:表示)。補間データが示すピクセルが非許可領域53にある場合には、レンダリングプロセッサ16は、プリミティブバッファ21に格納されるすべてのジオメトリデータについてテストパスが終了したか否かを判断する(ステップS35:非表示、ステップS37)。
【0062】
プリミティブ選別部29は、ステンシルテスト部27からプリミティブ番号が送られてくると、このプリミティブ番号に対応したアドレスの可視フラグを“1”に更新する(ステップS36)。
以上のような処理をプリミティブバッファ21に格納されるすべてのジオメトリデータについて行う(ステップS37)。このようにしてテストパスが終了する。
【0063】
Zバッファ描画及びテストパスにより、ディスプレイ41に表示されないプリミティブが選別される。つまり、XYZクリップ部23によるクリッピングにより表示領域50外のプリミティブが選別され、Zテスト部25によるZテストにより他のプリミティブにより隠されるプリミティブが選別され、ステンシルテスト部27によるステンシルテストにより非許可領域53のプリミティブが選別される。
以上のようにして選別されたプリミティブのプリミティブ番号に対応する、プリミティブ選別部29のアドレスの可視フラグが“0”である。このプリミティブがディスプレイ41に表示されないものである。
つまり、XYZクリップ部23、Zテスト部25、ステンシルテスト部27により、ディスプレイ41に表示されるプリミティブと表示されないプリミティブとが分けられ、表示されるプリミティブのみ、プリミティブ選別部29の可視フラグが“1”になる。XYZクリップ部23、Zテスト部25、ステンシルテスト部27の少なくとも一つで表示されないプリミティブに選別されたプリミティブは、可視フラグが“0”のままである。
【0064】
なお、ここではZテストをテストパスとは異なるパスで実行する例を示しているが、Zバッファ26の記憶容量に余裕がある場合には、Zテストをテストパスと同じパスで行うことも可能である。この場合には、Zテスト時に、Zバッファ26にZ値とともに当該Z値のプリミティブ番号を書き込むようにして、最も視点に近いプリミティブがわかるようにする。Zテストの結果、Zバッファ26に書き込まれたプリミティブ番号によりプリミティブの選別が可能となり、Zバッファ描画及びテストパスを1回のパスで行うことができる。
この実施形態では、ステップS30において選別テーブル62の可視フラグを“0”にしてテストパスを行っているが、この工程を省いてもよい。この場合には、Zバッファ描画及びテストパスにより、ディスプレイ41に表示されるプリミティブと表示されないプリミティブとを判別して、可視フラグを“0”又は“1”にセットする。
また、XYZクリップ部22、Zテスト部25、ステンシルテスト部27のそれぞれで、表示されないプリミティブとして選別されたプリミティブの選別番号を、それぞれから、プリミティブ選別部29に送るようにしてもよい。
【0065】
[プリミティブ消去:ステップS40]
レンダリングプロセッサ16は、プリミティブ選別部29の選別テーブル62に基づいて、プリミティブバッファ21に格納されたジオメトリデータのうちディスプレイ41に表示されないプリミティブのジオメトリデータが、マルチパスレンダリングの際に読み出されないようにする(ステップS40)。図16は、プリミティブ消去時のレンダリングプロセッサ16における処理を説明する図である。
【0066】
プリミティブ編集部30は、プリミティブ選別部29の選別テーブル62の可視フラグにより、ディスプレイ41に表示するプリミティブと、表示されないプリミティブとを確認する。例えば、図8の選別テーブル62で、可視フラグが“0”のアドレスに対応するプリミティブ番号のプリミティブが表示されないプリミティブ、可視フラグが“1”のアドレスに対応するプリミティブ番号のプリミティブが表示されるプリミティブである。
プリミティブ編集部30は、確認した表示されないプリミティブのジオメトリデータを、プリミティブバッファ21から消去する。
これにより、マルチパスレンダリングの際に処理されるジオメトリデータが、ディスプレイ41に表示されるもののみとなり、マルチパスレンダリングによるレンダリングプロセッサへの付加が軽減される。
【0067】
なお、例えば、トライアングルストリップの場合には、すべてのジオメトリデータを使用するので、ジオメトリデータの消去は行えない。そのために、例えば、ジオメトリデータのそれぞれに、マルチパスレンダリングに用いるか否かを表すためのフラグを付して、これによりディスプレイ41に表示されないプリミティブを表すようにする。当然、トライアングルストリップ以外でも、ジオメトリデータの消去を行わず、このようなフラグを用いるようにしてもよい。
【0068】
[マルチパスレンダリング:ステップS50]
図17、図18は、マルチパスレンダリング時の処理を説明する図である。
マルチパスレンダリング時には、まず、マルチパス制御部22がプリミティブバッファからジオメトリデータをプリミティブ番号とともに読み出して、これをXYZクリップ部23に送る(ステップS51)。
【0069】
XYZクリップ部23は、マルチパス制御部22から送られてきたジオメトリデータに基づくプリミティブに対してクリッピングを行い、ディスプレイ41の表示領域外に位置するプリミティブの除去、変形を行う(ステップS52)。XYZクリップ部23は、除去、変形の結果をジオメトリデータに反映させる。クリッピングのジオメトリデータはプリミティブ番号とともにSU/DDA部24へ送られる。
【0070】
SU/DDA部24は、クリッピング後のジオメトリデータに基づいて補間を行い、プリミティブを構成する各ピクセルの座標値、輝度値、テクスチャ座標値を含む補間データを生成する(ステップS53)。SU/DDA部24は、生成した補間データを、プリミティブ番号とともにZテスト部25へ送る。
【0071】
Zテスト部25は、SU/DDA部24から送られた補間データに含まれるZ値と、Zバッファ26に格納されたZ値とをピクセル毎に比較して、合致するものについてはその補間データとプリミティブ番号とをステンシルテスト部27へ送る(ステップS54:合致する)。合致しない場合には、ステップS57へ移行する。
なお、Zバッファ26にZ値が記憶されていないピクセルについては、最も視点に近いZ値を持つ補間データとプリミティブ番号をステンシルテスト部27へ送る。
【0072】
ステンシルテスト部27は、Zテスト部25から送られた補間データについてステンシルテストを行う(ステップS55)。ステンシルテストの結果、補間データが示すピクセルが許可領域54にある場合には、このピクセルは表示するので補間データをテクスチャマッピング部31へ送る(ステップS55:表示)。補間データが示すピクセルが非許可領域53にある場合には、ステップS57へ移行する。
【0073】
テクスチャマッピング部31は、ステンシルテスト部27から送られた補間データに基づいて、フレームバッファ32に描画を行う(ステップS56)。以上のようにして1つのプリミティブについての描画が終了する。
レンダリングプロセッサ16は、当該プリミティブを構成するすべてのピクセルについて描画が終了するまでステップS54〜S56の処理を実行する(ステップS57)。
【0074】
1つのプリミティブの描画が終了すると他のプリミティブについて描画が終了したか否かを確認する(ステップS58)。描画が済んでいないプリミティブがあると、ステップS51に戻る(ステップS58:N)。すべてのプリミティブについて描画が終了すると(ステップS58:Y)、決められたパスの回数だけ描画が終了したかを確認する(ステップS59)。決められたパスの回数を満たしていなければステップS51に戻る(ステップS59:N)。すべてのプリミティブについて決められたパスが終了するとマルチパスレンダリングを終了する(ステップS59:Y)。
【0075】
以上の処理により、フレームバッファ32(図1参照)には、ディスプレイ41に表示すべき2次元画像が描画される。この後、ディスプレイコントローラ40は、フレームバッファ32に描画された2次元画像を画像信号に変換して、ディスプレイ41へ送る。ディスプレイ41は、この画像信号を表示する。
【0076】
このように、本実施形態の画像処理装置1によれば、マルチパスレンダリングの際にプリミティブバッファ21から読み出すジオメトリデータを必要最小限に抑えるので、レンダリング処理時の負荷を低減させることができる。
【0077】
なお、レンダリングプロセッサ16を図19のような構成としてもよい。
図19のレンダリングプロセッサ16は、図1のレンダリングプロセッサとは、Zテスト部25の前に占有率算出部33を設けた点で異なる。
占有率算出部33は、レンダリング処理されるサブピクセルの、1ピクセル分のサブピクセル全体に占める割合(占有率)をプリミティブ毎に算定するものである。占有率は、例えば、特開2002−140722号(発明の名称:エイリアシングを除去した画像を描画する装置及び方法)に開示される装置及び方法により求めることができる。図20は、1ピクセル内のプリミティブの占有率を説明する図である。図20では、1ピクセルにプリミティブa、b、cの3つのプリミティブが描画されている。それぞれの、1ピクセル内での占有率の比がプリミティブa、b、cの順で2:3:7である。
レンダリングプロセッサ18は、この比にしたがってプリミティブa、b、cを合成し、このピクセルを代表するプリミティブとする。
プリミティブa、b、cは、このピクセルにレンダリングされるので、このピクセルについてプリミティブa、b、cでZバッファ26を更新しないようにする。このようなレンダリングプロセッサ16により、ジャギーなどが効果的に抑えられるので、この方法によってもアンチエイリアシングが達成される。
なお、1ピクセル分毎の占有率を求めていく方法では、Zバッファは、占有率が1(不透明あるいはプリミティブ内部)の部分でのみそれを行い、占有率が1未満の境界部分では、Zバッファを行わない。そのため、境界での不自然さを無くすために、Zバッファを用いるにも拘わらず、Zソート(Z値の並び替え)をおこない、遠方から順にフレームバッファ32に書き込む。但し、この場合でも、他のプリミティブの影になるプリミティブについては除去される。
【0078】
なお、以上の説明ではマルチパスレンダリングについて説明しているが、通常の1パスのみのレンダリング処理についても、テストパスを実行してディスプレイ41に表示するプリミティブのみを描画するようにしてもよい。
【0079】
【発明の効果】
以上の説明から明らかなように、本発明によればレンダリング処理、特にマルチパスレンダリング時の処理量を従来よりも格段に低減させることができる。
【図面の簡単な説明】
【図1】 本実施形態の画像処理装置のハードウェア構成図。
【図2】 プリミティブバッファに格納されたジオメトリデータの例示図。
【図3】 トライアングルストリップの説明図。
【図4】 クリッピングを説明するための図。
【図5】 クリッピングを説明するための図。
【図6】 サブピクセルの例示図。
【図7】 ステンシルテストの説明に用いる図である。
【図8】 プリミティブ選別部の構成例を示す図。
【図9】 トライアングルストリップの例示図。
【図10】 プリミティブがトライアングルストリップのときの選別テーブルの例示図。
【図11】 本実施形態のレンダリング処理の処理手順を表す図。
【図12】 Zバッファ描画の処理手順を表す図。
【図13】 Zバッファ描画のデータの流れを表す図。
【図14】 テストパスの処理手順を表す図。
【図15】 テストパスのデータの流れを表す図。
【図16】 ディスプレイに表示されないプリミティブを消去するときのデータの流れを表す図。
【図17】 マルチパスレンダリングの処理手順を表す図。
【図18】 マルチパスレンダリングのデータの流れを表す図。
【図19】 他の実施形態のレンダリングプロセッサのハードウェア構成図。
【図20】 プリミティブの占有率の説明図。
【符号の説明】
1…画像処理装置、10…ディスクドライブ、11…通信制御部、12…ジオメトリプロセッサ、13…メモリ、14…CPU、15…ディスク媒体、16…レンダリングプロセッサ、21…プリミティブバッファ、22…マルチパス制御部、23…XYZクリップ部、24…セットアップ・DDA部、25…Zテスト部、26…Zバッファ、27…ステンシルテスト部、28…ステンシルバッファ、29…プリミティブ選別部、30…プリミティブ編集部、31…テクスチャマッピング部、32…フレームバッファ、40…ディスプレイコントローラ、41…ディスプレイ、61…アドレス制御部、62…選別テーブル

Claims (27)

  1. 複数のプリミティブにより形成される3次元画像を2次元スクリーンに表示させるためのレンダリング処理を行う装置であって、
    前記複数のプリミティブの各々の属性を表す属性データを当該プリミティブと対応付けて格納するプリミティブバッファと、
    前記プリミティブバッファに格納された属性データに基づいてピクセル補間を行うとともに、1ピクセルから分割された複数のサブピクセルの少なくとも1つがレンダリング処理されるときに、プリミティブの既知の属性データに基づいてサブピクセル補間を行う補間手段と、
    前記プリミティブバッファに格納されている複数の属性データ、前記ピクセル補間により得られた新たな属性データ、及びサブピクセル補間により得られた新たな属性データを比較することにより、前記複数のプリミティブの各々を、前記2次元スクリーンに表示される第1のプリミティブと表示されない第2のプリミティブのいずれかにサブピクセル単位で選別するテスタとを備え、
    前記テスタにより選別された第2のプリミティブを除く前記第1のプリミティブに対して前記レンダリング処理を行うように構成されている、
    レンダリング処理装置。
  2. 複数のプリミティブにより形成される3次元画像を2次元スクリーンに表示させるためのレンダリング処理を行う装置であって、
    前記複数のプリミティブの各々の属性を表す属性データを当該プリミティブと対応付けて格納するプリミティブバッファと、
    前記プリミティブバッファに格納された属性データに基づいてピクセル補間を行う補間手段と、
    1ピクセルに複数のプリミティブが描画されているときの境界部分のピクセルを除いて、前記プリミティブバッファに格納されている複数の属性データ及びピクセル補間により得られた新たな属性データをピクセル単位で比較することにより、前記プリミティブの各々を、前記2次元スクリーンに表示される第1のプリミティブと表示されない第2のプリミティブのいずれかに選別するテスタと、を備えて構成されている、
    レンダリング処理装置。
  3. 複数のプリミティブにより形成される3次元画像を2次元スクリーンに表示させるためのレンダリング処理を行う装置であって、
    前記複数のプリミティブの各々の属性を表す属性データを当該プリミティブと対応付けて格納するプリミティブバッファと、
    前記プリミティブバッファに格納されている複数の属性データを、前記2次元スクリーンへの表示を許可する許可領域と許可しない非許可領域とを有するステンシルデータと比較することにより、前記許可領域に少なくともその一部が重畳するプリミティブを前記2次元スクリーンに表示される第1のプリミティブとし、それ以外のプリミティブを前記2次元スクリーンに表示されない第2のプリミティブとして選別するテスタとを備え、
    前記テスタにより選別された第2のプリミティブを除く前記第1のプリミティブに対して前記レンダリング処理を行うように構成されている、
    レンダリング処理装置。
  4. 複数のプリミティブにより形成される3次元画像を2次元スクリーンに表示させるためのレンダリング処理を行う装置であって、
    前記複数のプリミティブの各々の属性を表す属性データを当該プリミティブと対応付けて格納するプリミティブバッファと、
    前記プリミティブバッファに格納されている複数の属性データ同士を比較することにより、前記複数のプリミティブの各々を、前記2次元スクリーンに表示される第1のプリミティブと表示されない第2のプリミティブのいずれかに選別するとともに、第1のプリミティブか第2のプリミティブかを表すフラグを、レンダリング処理時に参照可能な所定の選別テーブルに各プリミティブの属性データと対応付けて記録するテスタと、
    前記選別テーブルに記録されている個々のプリミティブについての前記フラグを参照して、前記第2のプリミティブとして選別したプリミティブの属性データを前記プリミティブバッファから削除する編集手段と、を備え、
    前記第1のプリミティブとして選別されたプリミティブに対して前記レンダリング処理を行うように構成されている、
    レンダリング処理装置。
  5. レンダリング処理されるサブピクセルの、1ピクセル分のサブピクセル全体に占める割合をプリミティブ毎に算定する占有率算定手段をさらに備え、この占有率算定手段による算定結果に応じて当該1ピクセルについての属性データを決定するように構成されている、
    請求項1記載のレンダリング処理装置。
  6. 前記プリミティブバッファに格納される複数のプリミティブが、少なくとも前記2次元スクリーンに表示される一画面分の3次元画像を形成し得る数のプリミティブである、
    請求項1〜4のいずれかに記載のレンダリング処理装置。
  7. 前記プリミティブバッファに格納されている複数の属性データの各々が前記3次元画像における当該プリミティブの位置を表す位置情報を含んでおり、
    前記テスタは、個々の属性データに含まれる位置情報を比較することにより前記2次元スクリーンを通じて視る者の視点に最も近いプリミティブを前記第1のプリミティブとし、それ以外のプリミティブを前記第2のプリミティブとして選別するように構成されている、
    請求項1〜4のいずれかに記載のレンダリング処理装置。
  8. 前記テスタは、前記第1のプリミティブか第2のプリミティブかを表すフラグを、レンダリング処理時に参照可能な所定の選別テーブルに、各プリミティブの属性データと対応付けて記録するように構成されている、
    請求項1〜3のいずれかに記載のレンダリング処理装置。
  9. 前記フラグは、プリミティブ毎に複数種類の値を呈し得る数値データであり、前記フラグの値が前記2次元スクリーンに表示されるプリミティブのピクセル数に応じて更新される、
    請求項8記載のレンダリング処理装置。
  10. 前記選別テーブルに記録されている個々のプリミティブについての前記フラグを参照し、前記第2のプリミティブについては、その属性データの前記プリミティブバッファからの読み出しを制限する編集手段をさらに備える、
    請求項8記載のレンダリング処理装置。
  11. 2次元スクリーンの表示領域に対応するサイズのフレームバッファと、
    3次元画像を形成する複数のプリミティブのジオメトリ処理を行って当該3次元画像についてのジオメトリデータを生成する第1プロセッサと、
    前記第1プロセッサにより生成された前記ジオメトリデータを格納するためのバッファメモリと、
    このバッファメモリに格納されている前記ジオメトリデータに基づいてレンダリング処理を行い、前記フレームバッファに前記3次元画像に対応する2次元画像を描画する第2プロセッサと、
    前記フレームバッファに描画された前記2次元画像を前記表示領域に表示させるコントローラとを備えており、
    前記第2プロセッサは、
    前記バッファメモリに格納されるジオメトリデータにより特定される前記複数のプリミティブの各々の属性を表す属性データに基づいてピクセル補間を行うとともに、1ピクセルから分割された複数のサブピクセルの少なくとも1つがレンダリング処理されるときにプリミティブの既知の属性データに基づいてサブピクセル補間を行う補間手段と、
    前記ジオメトリデータにより特定される属性データ、前記ピクセル補間により得られた新たな属性データ、及びサブピクセル補間により得られた新たな属性データを比較することにより、前記複数のプリミティブの各々を、前記2次元スクリーンに表示される第1のプリミティブと表示されない第2のプリミティブのいずれかにサブピクセル単位で選別するテスタとを備え、
    前記テスタにより選別された前記第1のプリミティブに対して前記レンダリング処理を行うように構成されている、
    画像処理装置。
  12. 2次元スクリーンの表示領域に対応するサイズのフレームバッファと、
    3次元画像を形成する複数のプリミティブのジオメトリ処理を行って当該3次元画像についてのジオメトリデータを生成する第1プロセッサと、
    前記第1プロセッサにより生成された前記ジオメトリデータを格納するためのバッファメモリと、
    このバッファメモリに格納されている前記ジオメトリデータに基づいてレンダリング処理を行い、前記フレームバッファに前記3次元画像に対応する2次元画像を描画する第2プロセッサと、
    前記フレームバッファに描画された前記2次元画像を前記表示領域に表示させるコントローラとを備えており、
    前記第2プロセッサは、
    前記バッファメモリに格納されるジオメトリデータにより特定される前記複数のプリミティブの各々の属性を表す既知の属性データに基づいてピクセル補間を行い、1ピクセルに複数のプリミティブが描画されているときの境界部分のピクセルを除いて、前記ジオメトリデータにより特定される属性データ及びピクセル補間により得られた新たな属性データをピクセル単位で比較することにより、前記複数のプリミティブの各々を、前記2次元スクリーンに表示される第1のプリミティブと表示されない第2のプリミティブのいずれかに選別するとともに、選別された前記第1のプリミティブに対して前記レンダリング処理を行うように構成されている、
    画像処理装置。
  13. 2次元スクリーンの表示領域に対応するサイズのフレームバッファと、
    3次元画像を形成する複数のプリミティブのジオメトリ処理を行って当該3次元画像についてのジオメトリデータを生成する第1プロセッサと、
    前記第1プロセッサにより生成された前記ジオメトリデータを格納するためのバッファメモリと、
    このバッファメモリに格納されている前記ジオメトリデータに基づいてレンダリング処理を行い、前記フレームバッファに前記3次元画像に対応する2次元画像を描画する第2プロセッサと、
    前記フレームバッファに描画された前記2次元画像を前記表示領域に表示させるコントローラとを備えており、
    前記第2プロセッサは、前記バッファメモリに格納されるジオメトリデータにより特定される前記複数のプリミティブの各々の属性を表す属性データを、前記2次元スクリーンへの表示を許可する許可領域と許可しない非許可領域とを有するステンシルデータと比較することにより、前記許可領域に少なくともその一部が重畳するプリミティブを前記2次元スクリーンに表示される第1のプリミティブとし、それ以外のプリミティブを前記2次元スクリーンに表示されない第2のプリミティブとして選別するとともに、選別された前記第1のプリミティブに対して前記レンダリング処理を行うように構成されている、
    画像処理装置。
  14. 2次元スクリーンの表示領域に対応するサイズのフレームバッファと、
    3次元画像を形成する複数のプリミティブのジオメトリ処理を行って当該3次元画像についてのジオメトリデータを生成する第1プロセッサと、
    前記第1プロセッサにより生成された前記ジオメトリデータを格納するためのバッファメモリと、
    このバッファメモリに格納されている前記ジオメトリデータに基づいてレンダリング処理を行い、前記フレームバッファに前記3次元画像に対応する2次元画像を描画する第2プロセッサと、
    前記フレームバッファに描画された前記2次元画像を前記表示領域に表示させるコントローラとを備えており、
    前記第2プロセッサは、前記バッファメモリから取得したジオメトリデータにより特定される複数のプリミティブの各々の属性を表す属性データ同士を比較することにより、前記複数のプリミティブの各々を、前記2次元スクリーンに表示される第1のプリミティブと表示されない第2のプリミティブのいずれかに選別するとともに、前記第1のプリミティブか第2のプリミティブかを表すフラグを、レンダリング処理時に参照可能な所定の選別テーブルに各プリミティブの属性データと対応付けて記録しておき、この選別テーブルに記録されている個々のプリミティブについての前記フラグを参照して、前記第2のプリミティブとして選別したプリミティブの属性データを特定するジオメトリデータを前記バッファメモリから削除して、前記第2のプリミティブを除く前記第1のプリミティブによる前記2次元画像を前記フレームバッファにレンダリング処理するように構成されている、
    画像処理装置。
  15. 画像形成に利用されるプリミティブを格納するプリミティブバッファを有し、複数のプリミティブにより形成される3次元画像を2次元スクリーンに表示させる装置が、
    前記3次元画像を形成する複数のプリミティブの各々の属性を表す属性データを、当該プリミティブと対応付けて前記プリミティブバッファに格納して、この属性データに基づいてピクセル補間を行うとともに、1ピクセルから分割された複数のサブピクセルの少なくとも1つがレンダリング処理されるときに、プリミティブの既知の属性データに基づいてサブピクセル補間を行い、格納した属性データ、前記ピクセル補間により得られた新たな属性データ、及びサブピクセル補間により得られた新たな属性データを比較して前記複数のプリミティブの各々を前記2次元スクリーン上に表示される第1のプリミティブと表示されない第2のプリミティブのいずれかに選別するテストパスと、
    このテストパスにより選別された第2のプリミティブを除く前記第1のプリミティブを前記プリミティブバッファから読み出し、読み出した第1のプリミティブに対するレンダリング処理を行うレンダリングパスとをこの順に実行することを特徴とする、
    レンダリング処理方法。
  16. 画像形成に利用されるプリミティブを格納するプリミティブバッファを有し、複数のプリミティブにより形成される3次元画像を2次元スクリーンに表示させる装置が、
    前記3次元画像を形成する複数のプリミティブの各々の属性を表す属性データを、当該プリミティブと対応付けて前記プリミティブバッファに格納して、この属性データに基づいてピクセル補間を行い、1ピクセルに複数のプリミティブが描画されているときの境界部分のピクセルを除いて、格納した属性データ及び前記ピクセル補間により得られた新たな属性データをピクセル単位で比較して前記複数のプリミティブの各々を前記2次元スクリーン上に表示される第1のプリミティブと表示されない第2のプリミティブのいずれかに選別するテストパスと、
    このテストパスにより選別された第2のプリミティブを除く前記第1のプリミティブを前記プリミティブバッファから読み出し、読み出した第1のプリミティブに対するレンダリング処理を行うレンダリングパスとをこの順に実行することを特徴とする、
    レンダリング処理方法。
  17. 画像形成に利用されるプリミティブを格納するプリミティブバッファを有し、複数のプリミティブにより形成される3次元画像を2次元スクリーンに表示させる装置が、
    前記3次元画像を形成する複数のプリミティブの各々の属性を表す属性データを、前記2次元スクリーンへの表示を許可する許可領域と許可しない非許可領域とを有するステンシルデータと比較することにより、前記許可領域に少なくともその一部が重畳するプリミティブを前記2次元スクリーン上に表示される第1のプリミティブとし、それ以外のプリミティブを前記2次元スクリーンに表示されない第2のプリミティブとして選別するテストパスと、
    このテストパスにより選別された第2のプリミティブを除く前記第1のプリミティブを前記プリミティブバッファから読み出し、読み出した第1のプリミティブに対するレンダリング処理を行うレンダリングパスとをこの順に実行することを特徴とする、
    レンダリング処理方法。
  18. 画像形成に利用されるプリミティブを格納するプリミティブバッファを有し、複数のプリミティブにより形成される3次元画像を2次元スクリーンに表示させる装置が、
    前記3次元画像を形成する複数のプリミティブの各々の属性を表す属性データを、当該プリミティブと対応付けて前記プリミティブバッファに格納し、格納した属性データ同士を比較して前記複数のプリミティブの各々を前記2次元スクリーン上に表示される第1のプリミティブと表示されない第2のプリミティブのいずれかに選別して、第1のプリミティブか第2のプリミティブかを表すフラグを、レンダリング処理時に参照可能な所定の選別テーブルに各プリミティブの属性データと対応付けて記録するとともに、この選別テーブルに記録されている個々のプリミティブについての前記フラグを参照して、前記第2のプリミティブとして選別したプリミティブの属性データを前記プリミティブバッファから削除するテストパスと、
    このテストパスにより選別された前記第1のプリミティブを前記プリミティブバッファから読み出し、読み出した第1のプリミティブに対するレンダリング処理を行うレンダリングパスとをこの順に実行することを特徴とする、
    レンダリング処理方法。
  19. 2次元スクリーンを有するディスプレイが接続されるコンピュータに搭載され、前記コンピュータが有する他の構成部品と協働で、該コンピュータに、
    3次元画像を形成する複数のプリミティブの各々の属性を表す属性データを当該プリミティブと対応付けて格納するプリミティブバッファと、
    前記プリミティブバッファに格納された属性データに基づいてピクセル補間を行うとともに、1ピクセルから分割された複数のサブピクセルの少なくとも1つがレンダリング処理されるときに、プリミティブの既知の属性データに基づいてサブピクセル補間を行う補間手段と、
    前記プリミティブバッファに格納されている複数の属性データ、前記ピクセル補間により得られた新たな属性データ、及びサブピクセル補間により得られた新たな属性データを比較することにより、前記複数のプリミティブの各々を、前記2次元スクリーンに表示される第1のプリミティブと表示されない第2のプリミティブのいずれかにサブピクセル単位で選別するテスタと、
    前記テスタにより選別された第2のプリミティブを除く前記第1のプリミティブに対してレンダリング処理を行って前記2次元スクリーンに表示させる2次元画像を生成するレンダリング処理手段とを構築する、
    半導体デバイス。
  20. 2次元スクリーンを有するディスプレイが接続されるコンピュータに搭載され、前記コンピュータが有する他の構成部品と協働で、該コンピュータに、
    3次元画像を形成する複数のプリミティブの各々の属性を表す属性データを当該プリミティブと対応付けて格納するプリミティブバッファと、
    プリミティブの既知の属性データに基づいてピクセル補間を行う補間手段と、
    1ピクセルに複数のプリミティブが描画されているときの境界部分のピクセルを除いて、前記プリミティブバッファに格納されている複数の属性データ及びピクセル補間により得られた新たな属性データをピクセル単位で比較することにより、前記複数のプリミティブの各々を、前記2次元スクリーンに表示される第1のプリミティブと表示されない第2のプリミティブのいずれかに選別するテスタと、
    前記テスタにより選別された第2のプリミティブを除く前記第1のプリミティブに対してレンダリング処理を行って前記2次元スクリーンに表示させる2次元画像を生成するレンダリング処理手段とを構築する、
    半導体デバイス。
  21. 2次元スクリーンを有するディスプレイが接続されるコンピュータに搭載され、前記コンピュータが有する他の構成部品と協働で、該コンピュータに、
    3次元画像を形成する複数のプリミティブの各々の属性を表す属性データを当該プリミティブと対応付けて格納するプリミティブバッファと、
    前記プリミティブバッファに格納されている複数の属性データを、前記2次元スクリーンへの表示を許可する許可領域と許可しない非許可領域とを有するステンシルデータと比較することにより、前記許可領域に少なくともその一部が重畳するプリミティブを前記2次元スクリーンに表示される第1のプリミティブとし、それ以外のプリミティブを前記2次元スクリーンに表示されない第2のプリミティブとして選別するテスタと、
    前記テスタにより選別された第2のプリミティブを除く前記第1のプリミティブに対してレンダリング処理を行って前記2次元スクリーンに表示させる2次元画像を生成するレンダリング処理手段とを構築する、
    半導体デバイス。
  22. 2次元スクリーンを有するディスプレイが接続されるコンピュータに搭載され、前記コンピュータが有する他の構成部品と協働で、該コンピュータに、
    3次元画像を形成する複数のプリミティブの各々の属性を表す属性データを当該プリミティブと対応付けて格納するプリミティブバッファと、
    前記プリミティブバッファに格納されている複数の属性データ同士を比較することにより、前記複数のプリミティブの各々を、前記2次元スクリーンに表示される第1のプリミティブと表示されない第2のプリミティブのいずれかに選別するとともに、第1のプリミティブか第2のプリミティブかを表すフラグを、レンダリング処理時に参照可能な所定の選別テーブルに各プリミティブの属性データと対応付けて記録するテスタと、
    前記選別テーブルに記録されている個々のプリミティブについての前記フラグを参照して、前記第2のプリミティブとして選別したプリミティブの属性データを前記プリミティブバッファから削除する編集手段と、
    前記テスタにより選別された第2のプリミティブを除く前記第1のプリミティブに対してレンダリング処理を行って前記2次元スクリーンに表示させる2次元画像を生成するレンダリング処理手段とを構築する、
    半導体デバイス。
  23. 画像形成に利用されるプリミティブを格納するプリミティブバッファと、2次元スクリーンを有するディスプレイとが接続されるコンピュータに、
    3次元画像を形成する複数のプリミティブの各々の属性を表す属性データを、当該プリミティブと対応付けて前記プリミティブバッファに格納する処理、
    前記プリミティブバッファに格納された属性データに基づいてピクセル補間を行うとともに、1ピクセルから分割された複数のサブピクセルの少なくとも1つがレンダリング処理されるときに、プリミティブの既知の属性データに基づいてサブピクセル補間を行う処理、
    前記プリミティブバッファに格納されている複数の属性データ、前記ピクセル補間により得られた新たな属性データ、及びサブピクセル補間により得られた新たな属性データを比較することにより、前記複数のプリミティブの各々を、前記2次元スクリーンに表示される第1のプリミティブと表示されない第2のプリミティブのいずれかにサブピクセル単位で選別する処理、及び、
    前記選別された第2のプリミティブを除く前記第1のプリミティブに対してレンダリング処理を行って前記2次元スクリーンに表示させる2次元画像を生成する処理、を実行させるためのコンピュータプログラム。
  24. 画像形成に利用されるプリミティブを格納するプリミティブバッファと、2次元スクリーンを有するディスプレイとが接続されるコンピュータに、
    3次元画像を形成する複数のプリミティブの各々の属性を表す属性データを、当該プリミティブと対応付けて前記プリミティブバッファに格納する処理、
    前記プリミティブバッファに格納された属性データに基づいてピクセル補間を行う処理、
    1ピクセルに複数のプリミティブが描画されているときの境界部分のピクセルを除いて、前記プリミティブバッファに格納されている複数の属性データ及び前記ピクセル補間により得られた新たな属性データをピクセル単位で比較することにより、前記複数のプリミティブの各々を、前記2次元スクリーンに表示される第1のプリミティブと表示されない第2のプリミティブのいずれかに選別する処理、及び、
    前記選別された第2のプリミティブを除く前記第1のプリミティブに対してレンダリング処理を行って前記2次元スクリーンに表示させる2次元画像を生成する処理、を実行させるためのコンピュータプログラム。
  25. 画像形成に利用されるプリミティブを格納するプリミティブバッファと、2次元スクリーンを有するディスプレイとが接続されるコンピュータに、
    3次元画像を形成する複数のプリミティブの各々の属性を表す属性データを、当該プリミティブと対応付けて前記プリミティブバッファに格納する処理、
    前記プリミティブバッファに格納されている複数の属性データを、前記2次元スクリーンへの表示を許可する許可領域と許可しない非許可領域とを有するステンシルデータと比較することにより、前記許可領域に少なくともその一部が重畳するプリミティブを前記2次元スクリーンに表示される第1のプリミティブとし、それ以外のプリミティブを前記2次元スクリーンに表示されない第2のプリミティブとして選別する処理、及び、
    前記選別された第2のプリミティブを除く前記第1のプリミティブに対してレンダリング処理を行って前記2次元スクリーンに表示させる2次元画像を生成する処理、を実行させるためのコンピュータプログラム。
  26. 画像形成に利用されるプリミティブを格納するプリミティブバッファと、2次元スクリーンを有するディスプレイとが接続されるコンピュータに、
    3次元画像を形成する複数のプリミティブの各々の属性を表す属性データを、当該プリミティブと対応付けて前記プリミティブバッファに格納する処理、
    前記プリミティブバッファに格納されている複数の属性データ同士を比較することにより、前記複数のプリミティブの各々を、前記2次元スクリーンに表示される第1のプリミティブと表示されない第2のプリミティブのいずれかに選別する処理、
    第1のプリミティブか第2のプリミティブかを表すフラグを、レンダリング処理時に参照可能な所定の選別テーブルに各プリミティブの属性データと対応付けて記録する処理、
    前記選別テーブルに記録されている個々のプリミティブについての前記フラグを参照し、前記第2のプリミティブとして選別したプリミティブの属性データを前記プリミティブバッファから削除する処理、及び、
    前記選別された第2のプリミティブを除く前記第1のプリミティブに対してレンダリング処理を行って前記2次元スクリーンに表示させる2次元画像を生成する処理、を実行させるためのコンピュータプログラム。
  27. 請求項23〜26のいずれかに記載されたコンピュータプログラムを記録してなる、コンピュータ読み取り可能な記録媒体。
JP2002337966A 2001-11-27 2002-11-21 画像処理装置及びその構成部品、レンダリング処理方法 Expired - Lifetime JP3761085B2 (ja)

Priority Applications (7)

Application Number Priority Date Filing Date Title
JP2002337966A JP3761085B2 (ja) 2001-11-27 2002-11-21 画像処理装置及びその構成部品、レンダリング処理方法
EP02783603A EP1450308A4 (en) 2001-11-27 2002-11-22 IMAGE PROCESSING DEVICE AND CONSTITUENT PARTS THEREOF, PLAYING PROCESS
CNB028091124A CN1288603C (zh) 2001-11-27 2002-11-22 图像处理器及其组件、和渲染方法
PCT/JP2002/012214 WO2003046836A1 (fr) 2001-11-27 2002-11-22 Appareil de traitement d'images et ses parties constitutives, et procede de rendu
KR1020037013515A KR100907154B1 (ko) 2001-11-27 2002-11-22 영상 처리 장치와 그의 구성요소, 렌더링 방법
US10/304,183 US6961065B2 (en) 2001-11-27 2002-11-25 Image processor, components thereof, and rendering method
TW091134490A TWI245235B (en) 2001-11-27 2002-11-27 Image processor, components thereof, and rendering method

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2001-361351 2001-11-27
JP2001361351 2001-11-27
JP2002337966A JP3761085B2 (ja) 2001-11-27 2002-11-21 画像処理装置及びその構成部品、レンダリング処理方法

Publications (2)

Publication Number Publication Date
JP2003228733A JP2003228733A (ja) 2003-08-15
JP3761085B2 true JP3761085B2 (ja) 2006-03-29

Family

ID=26624715

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002337966A Expired - Lifetime JP3761085B2 (ja) 2001-11-27 2002-11-21 画像処理装置及びその構成部品、レンダリング処理方法

Country Status (7)

Country Link
US (1) US6961065B2 (ja)
EP (1) EP1450308A4 (ja)
JP (1) JP3761085B2 (ja)
KR (1) KR100907154B1 (ja)
CN (1) CN1288603C (ja)
TW (1) TWI245235B (ja)
WO (1) WO2003046836A1 (ja)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8872833B2 (en) 2003-09-15 2014-10-28 Nvidia Corporation Integrated circuit configuration system and method
US8732644B1 (en) 2003-09-15 2014-05-20 Nvidia Corporation Micro electro mechanical switch system and method for testing and configuring semiconductor functional circuits
US8775997B2 (en) 2003-09-15 2014-07-08 Nvidia Corporation System and method for testing and configuring semiconductor functional circuits
US8711161B1 (en) 2003-12-18 2014-04-29 Nvidia Corporation Functional component compensation reconfiguration system and method
US8723231B1 (en) 2004-09-15 2014-05-13 Nvidia Corporation Semiconductor die micro electro-mechanical switch management system and method
US8711156B1 (en) 2004-09-30 2014-04-29 Nvidia Corporation Method and system for remapping processing elements in a pipeline of a graphics processing unit
GB0425204D0 (en) * 2004-11-15 2004-12-15 Falanx Microsystems As Processing of 3-dimensional graphics
US8072451B2 (en) * 2004-12-29 2011-12-06 Intel Corporation Efficient Z testing
JP4218840B2 (ja) * 2005-05-27 2009-02-04 株式会社ソニー・コンピュータエンタテインメント 描画処理装置および描画処理方法
TWI319166B (en) * 2006-03-06 2010-01-01 Via Tech Inc Method and related apparatus for graphic processing
US8933933B2 (en) * 2006-05-08 2015-01-13 Nvidia Corporation Optimizing a graphics rendering pipeline using early Z-mode
FR2901049B1 (fr) * 2006-05-12 2008-11-21 Techviz Soc Par Actions Simpli Procede de codage et systeme d'affichage sur un ecran d'une maquette numerique d'un objet sous forme d'une image de synthese
US8633927B2 (en) * 2006-07-25 2014-01-21 Nvidia Corporation Re-render acceleration of frame with lighting change
US8232991B1 (en) * 2006-11-03 2012-07-31 Nvidia Corporation Z-test result reconciliation with multiple partitions
KR101239965B1 (ko) 2006-11-08 2013-03-06 연세대학교 산학협력단 렌더링 장치 및 방법
JP5112318B2 (ja) * 2006-12-28 2013-01-09 Agcセイミケミカル株式会社 リチウム含有複合酸化物及びその製造方法
CN100527162C (zh) * 2007-05-10 2009-08-12 威盛电子股份有限公司 简化绘图系统的脚本文件的方法及其系统
CN102063732B (zh) * 2009-11-18 2015-05-27 新奥特(北京)视频技术有限公司 一种背景图像的呈现方法和装置
CN101923724B (zh) * 2009-12-31 2012-10-10 北京书生国际信息技术有限公司 一种页面裁剪方法
US9331869B2 (en) 2010-03-04 2016-05-03 Nvidia Corporation Input/output request packet handling techniques by a device specific kernel mode driver
US8659611B2 (en) * 2010-03-17 2014-02-25 Qualcomm Mems Technologies, Inc. System and method for frame buffer storage and retrieval in alternating orientations
CN102034221B (zh) * 2010-11-22 2012-05-23 长沙景嘉微电子有限公司 图形芯片设计中图形像素生成算法的硬件实现
JP2012221092A (ja) * 2011-04-06 2012-11-12 Sony Corp 画像処理装置、画像処理方法およびプログラム
CN102737410B (zh) * 2011-05-06 2017-09-12 新奥特(北京)视频技术有限公司 一种三维图元在二维图文编播系统中的显示方法和装置
US9361715B2 (en) 2011-06-02 2016-06-07 Microsoft Technology Licensing, Llc Global composition system
US9858709B2 (en) 2012-11-29 2018-01-02 Samsung Electronics Co., Ltd. Apparatus and method for processing primitive in three-dimensional (3D) graphics rendering system
JP5661134B2 (ja) * 2013-03-12 2015-01-28 株式会社Takumi 画像処理装置及び画像処理方法
US9542906B2 (en) 2013-05-10 2017-01-10 Microsoft Technology Licensing, Llc Shared compositional resources
GB2520288B (en) 2013-11-14 2020-07-29 Advanced Risc Mach Ltd Forward Pixel Killing
CN103810745A (zh) * 2013-11-21 2014-05-21 广州菲动软件科技有限公司 3d引擎中的对象渲染方法和系统
US10521877B2 (en) 2017-05-23 2019-12-31 Samsung Electronics Co., Ltd Apparatus and method for speculative buffer reservations with cancellation mechanism
US10672182B2 (en) * 2018-04-19 2020-06-02 Microsoft Technology Licensing, Llc Compact visibility state for GPUs compatible with hardware instancing
CN111797153B (zh) * 2020-07-01 2024-11-26 广联达科技股份有限公司 Bim模型预览方法、装置、计算机设备和可读存储介质
CN111783007B (zh) * 2020-07-31 2022-05-24 迈普通信技术股份有限公司 一种显示渲染方法、装置、电子设备及存储介质

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5798762A (en) * 1995-05-10 1998-08-25 Cagent Technologies, Inc. Controlling a real-time rendering engine using a list-based control mechanism
US5790130A (en) * 1995-06-08 1998-08-04 Hewlett-Packard Company Texel cache interrupt daemon for virtual memory management of texture maps
US5852443A (en) * 1995-08-04 1998-12-22 Microsoft Corporation Method and system for memory decomposition in a graphics rendering system
JP4035649B2 (ja) * 1998-03-24 2008-01-23 株式会社セガ 画像処理装置及び画像処理方法
US6320580B1 (en) * 1997-11-07 2001-11-20 Sega Enterprises, Ltd. Image processing apparatus
US6771264B1 (en) * 1998-08-20 2004-08-03 Apple Computer, Inc. Method and apparatus for performing tangent space lighting and bump mapping in a deferred shading graphics processor
US6259461B1 (en) * 1998-10-14 2001-07-10 Hewlett Packard Company System and method for accelerating the rendering of graphics in a multi-pass rendering environment
JP3350473B2 (ja) * 1999-03-17 2002-11-25 富士通株式会社 オクルージョンカリングを行う3次元グラフィックス描画装置および方法
JP2002039848A (ja) * 2000-07-19 2002-02-06 Ishida Co Ltd 計量器の振り分け機構
JP2001266166A (ja) * 2001-02-19 2001-09-28 Namco Ltd 画像生成システム及び情報記憶媒体

Also Published As

Publication number Publication date
EP1450308A1 (en) 2004-08-25
US20030117589A1 (en) 2003-06-26
US6961065B2 (en) 2005-11-01
WO2003046836A1 (fr) 2003-06-05
KR100907154B1 (ko) 2009-07-09
CN1527990A (zh) 2004-09-08
TWI245235B (en) 2005-12-11
JP2003228733A (ja) 2003-08-15
CN1288603C (zh) 2006-12-06
KR20040052499A (ko) 2004-06-23
EP1450308A4 (en) 2010-06-09
TW200304626A (en) 2003-10-01

Similar Documents

Publication Publication Date Title
JP3761085B2 (ja) 画像処理装置及びその構成部品、レンダリング処理方法
JP3635051B2 (ja) 画像生成方法及び装置、画像処理プログラムを記録した記録媒体、画像処理プログラム
US6529207B1 (en) Identifying silhouette edges of objects to apply anti-aliasing
US6774910B2 (en) Method and system for providing implicit edge antialiasing
JP4713591B2 (ja) 画素サンプリングによるアンチエイリアシングのための方法及びシステム
JPH11259678A (ja) 画像表示装置及びそれによる画像表示方法
JPH11259671A (ja) 画像表示方法及びそれを実行する画像表示装置
EP1312047B1 (en) Apparatus and method for rendering antialiased image
JP2004005452A (ja) 画像処理装置、画像処理方法、半導体デバイス、コンピュータプログラム、記録媒体
JP3792149B2 (ja) 画像処理装置および画像処理プログラム
JPH09179999A (ja) 画像生成方法およびその装置
JP2002133438A (ja) 3次元グラフィックス描画装置、3次元グラフィックス描画方法および3次元ポリゴンデータを記録したコンピュータで読取可能な記録媒体
JP4311877B2 (ja) 副標本化テクスチャ端縁部のアンチエイリアシング
US8648874B2 (en) Method and system for providing edge antialiasing
JP2004317878A (ja) グラフィックスプロセッサ、グラフィックスカード及びグラフィックス処理システム
JP4081304B2 (ja) 描画処理プログラム,描画処理プログラムを記憶させた記憶媒体,描画処理装置、及び描画処理方法
KR100544803B1 (ko) 영상 프리미티브의 고속 처리
JP4487400B2 (ja) 画像変形装置及びその画像変形方法
JP2003317111A (ja) 画像処理装置およびその方法
US6624820B2 (en) Graphic processing method for determining representative texture data for a plurality of pixels and apparatus for same
JPH10509265A (ja) 加工ピクセルキャッシュを使用した画像組織マッピング
JP4433525B2 (ja) 画像処理装置
JPH11203486A (ja) 半透明オブジェクトの表示方法及び、これを用いる画像表示装置
JPH08235380A (ja) 多面体表示方法および多面体表示装置
JPH10214352A (ja) 画像生成装置及び画像生成方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050315

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050509

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20050712

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050722

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

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20050830

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20051011

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051013

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060105

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 3761085

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20090120

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20100120

Year of fee payment: 4

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

Year of fee payment: 5

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

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120120

Year of fee payment: 6

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

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20130120

Year of fee payment: 7

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

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20140120

Year of fee payment: 8

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

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