JP2006520963A - 直接推定を用いた三角形レンダリング - Google Patents

直接推定を用いた三角形レンダリング Download PDF

Info

Publication number
JP2006520963A
JP2006520963A JP2006507314A JP2006507314A JP2006520963A JP 2006520963 A JP2006520963 A JP 2006520963A JP 2006507314 A JP2006507314 A JP 2006507314A JP 2006507314 A JP2006507314 A JP 2006507314A JP 2006520963 A JP2006520963 A JP 2006520963A
Authority
JP
Japan
Prior art keywords
pixels
pixel
region
rendering engine
triangular
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.)
Ceased
Application number
JP2006507314A
Other languages
English (en)
Other versions
JP2006520963A5 (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.)
Qualcomm Inc
Original Assignee
Qualcomm 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
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of JP2006520963A publication Critical patent/JP2006520963A/ja
Publication of JP2006520963A5 publication Critical patent/JP2006520963A5/ja
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/40Filling a planar surface by adding surface attributes, e.g. colour or texture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/12Bounding box

Abstract

この開示は、3次元グラフィック環境のために三角形を描画するために直接推定技術を適用する無線通信装置のような装置を記載する。この装置は、レンダリングエンジンを含む。レンダリングエンジンは、描画される領域の境界を示す、境界箱と呼ばれる、ピクセルの矩形領域を定義する。レンダリングエンジンは、矩形領域のピクセルに関連する座標を評価し、三角形の領域内にあるこれらのピクセルを選択的に描画する。直接推定三角形描画アルゴリズムは、他のシステムにより採用される、よりコンピューター的な集中補間処理より複雑でない演算を必要とするかもしれない。この結果、装置は、利用可能な電力をできるだけ維持しながら3次元グラフィック環境を提示することができる。

Description

このアプリケーションは、2003年3月18日に出願された米国仮出願シリアル番号60/455,923からの優先権を主張する。上記仮出願の全体の内容は、参照することによりここに組み込まれる。
この発明は、モバイルコンピューティングデバイスに関し、特に、モバイルコンピューティングデバイスにより表示するために図形を描画するための技術に関する。
携帯情報端末(PDA)、無線通信装置、全地球測位装置のようなモバイルコンピューティングデバイスは、高度な2次元(2D)および3次元(3D)のグラフィックアプリケーションをますます要求している。例えば、モバイルコンピューティングデバイスは、ゲーム、キャラクタアニメーション、グラフィカルメニューシステムおよび高度なグラフィックレンダリング(graphics rendering)を必要とする他のアプリケーションをますます提供する。この高度なグラフィックスレンダリングは、特に3Dグラフィックスの場合に、相当量のデータ量処理を含む。更に、これらの処理要件は、モバイルコンピューティングデバイスが増加した解像度および色の深さを提供するディスプレイパネルを採用するときにのみ増加する。
3Dグラフィックスアプリケーションの1つの基本的な演算は、三角形のレンダリングである。特に、3Dグラフィックオブジェクトは典型的に3D空間内の三角形のセットによって定義される。各三角形は、3D空間内の3つの頂点、および、カラー属性、テクスチャ(texture)座標、または両方を含む、各頂点の関連する属性により定義される。各三角形は、3つの頂点で定義された位置および属性情報に基づいて三角形の内部を塗りつぶす補間処理を用いてグラフィックに描画される。より具体的には、各開始座標と終了座標は、補間処理を用いて三角形内の各ピクセルのラインに対して計算される。各ラインに沿ったピクセルはシーケンシャルに塗りつぶされ全体の三角形が描画される。
しかしながら、モバイルコンピューティングデバイスの1つの課題は利用可能な電力の典型的な制限である。デスクトップコンピュータ環境と異なり、モバイルコンピューティングデバイスは典型的に、バッテリー電力が制限される。その結果、三角形のレンダリングのために必要な計算的に集中的な補間処理は、モバイルコンピューティングデバイスの利用可能な電力にかなりの負担を強いる可能性がある。
発明の概要
この開示は、ディスプレイ装置に表示するためのピクセルの三角形領域を描画するための技術に向けられている。この技術は、制限されたバッテリー容量を示すモバイルコンピューティング環境に特に役立つことができる。
一実施形態において、方法は、ピクセルの三角形の領域の境界を示すピクセルの矩形領域を定義するデータを計算することと、矩形領域のピクセルの座標を評価しどのピクセルが三角形領域内にあるかを決定することを含む。この方法は、さらに三角形領域内にあるピクセルのピクセルデータを更新して三角形を描画することをさらに含む。
他の実施形態において、装置は、ピクセルの三角形領域の境界を示すピクセルの矩形領域を定義するレンダリングエンジンを含む。レンダリングエンジンは、矩形領域のピクセルに関連する座標を評価し、三角形領域内にあるピクセルを選択的に描画する。
他の実施形態において、モバイル通信装置は、ディスプレイ、プロセッサー、およびレンダリングエンジンを含む。プロセッサーは、グラフィック環境としてディスプレイによる提示用のビデオ出力データを生成する。レンダリングエンジンは、グラフィック環境に対して三角形を描画するために直接推定アルゴリズムを適用する。この場合、直接推定アルゴリズムは一次方程式を適用して三角形のエッジ間を補間することなく三角形を描画する。
この発明の1つ以上の実施形態の詳細は、添付図面と以下の記載の中で述べられる。この発明の他の特徴、目的、および利点は、記述および図面、およびクレームから明白になるであろう。
図1は、ディスプレイ4に三次元の(3D)グラフィック環境を提示する例示モバイルコンピューティングデバイス2を図解するブロック図である。モバイルコンピューティングデバイス2は、例えば、携帯情報端末(PDA)、携帯電話または衛星電話のような無線通信装置、全地球測位装置、ポータブルデジタルテレビ、デジタルビデオカメラ、無線ビデオ装置、上述した装置のいずれかを集積する装置、等であってもよい。モバイルコンピューティングデバイス2によって提示された3Dのグラフィック環境の例は、ゲーム、キャラクタアニメーション、グラフィカルメニューシステムおよび高度なグラフィックスレンダリングを必要とする他のアプリケーションを含む。
プロセッサー6は、モバイルコンピューティングデバイス2のコンポーネントに対する主要なコントロールを提供する。例えば、プロセッサー6は、キーパッドのような入力装置8によってユーザーからの入力を捕らえて、デジタルシグナルプロセッサー(DSP)10に、ディスプレイ4に3Dのグラフィック環境を提示するためにビデオ出力データを発生するように命令する。ディスプレイ4は、任意の出力装置、例えばカムコーダーまたは携帯電話スクリーンのために液晶ディスプレイ(LCD)を含んでいてもよい。特に、DSP10は、レンダリングエンジン12にコマンドを発行して、レンダリングエンジンにグラフィックオブジェクト、例えば、3D空間内に三角形を描画するように命令する。コマンドに基づいて、レンダリングエンジン12は、ディスプレイ4を駆動するためにビデオメモリ14およびキャッシュ15内に記憶されたビデオデータを処理する。
プロセッサー6は埋め込まれたマイクロプロセッサー、専門のハードウェア、ソフトウェア、例えば制御ソフトウェアモジュールまたはそれらの組み合わせの形態を取ってもよい。さらに、DSP10、プロセッサー6、並びにモバイルコンピューティングデバイス2の他のコンポーネントは、マルチプルディスクリートコンポーネントまたはそれらの組み合わせとして、1つ以上の特定用途向け集積回路(ASICs)において実施してもよい。
メモリ16および18は、それぞれプロセッサー6およびDSP10による使用のために命令とデータを記憶する。別箇に図解されたけれども、メモリ16および18は、1つまたはそれ以上のメモリ装置を含んでいてもよい。さらに、メモリ16および18はリードオンリーメモリ(ROM)、同期ダイナミックランダムアクセスメモリ(SDRAM)、不揮発性スタティックランダムアクセスメモリ(SRAM)、フラッシュメモリ、電気的に消去可能なリードオンリーメモリ(EEPROM)、等を含んでいてもよい。
ここに記述されるように、DSP10およびレンダリングエンジン12は3Dグラフィック環境に対して三角形を描画するために直接推定技術を適用するために相互作用する。より具体的には、DSP10は、レンダリングエンジン12にコマンドを発行し、レンダリングエンジンに3D空間内に三角形を描画するように命令する。これに応答して、レンダリングエンジン12は、従来システムにより採用されるより計算的に集中的な補間処理よりも少ない除算演算を必要とする直接推定三角形レンダリングアルゴリズムを適用する。その結果、モバイルコンピューティングデバイス2は、モバイルコンピューティングデバイスに利用可能な電力をできるだけ保存しながら3Dグラフィック環境を提示することができる。
レンダリングエンジン12を行使するために、DSP10は、描画される三角形の3つの頂点を指定するコマンドを発行する。例えば、図2によって描画された例示三角形に図解されるように、DSP10は第1の頂点(X0、Y0)、第2の頂点(X1、Y1)および第3の頂点(x2、Y2)を備えた三角形20を定義するコマンドを発行する。この場合、頂点の各々は、3D環境の2Dスライス(slice)内の座標を表す。従って、頂点は、エッジ24A、24Bおよび24Cを有する三角形を定義する。
コマンドに応答して、レンダリングエンジン12「境界箱」22を計算する。境界箱は三角形のx,y座標の最小および最大の境界を示すために定義された矩形領域を指す。境界箱22は、例えば、左上座標(Xmin,Ymin)および右下座標(Xmax,Ymax)により定義される。図2の例で図解されるように、境界箱22は、三角形20を包含するために2Dスライス内の最小領域をカバーするように定義してもよい。他の実施形態において、境界箱22の最小次元は、キャッシュ15により記憶されるビデオブロックのブロックサイズの関数として計算してもよい。特に、DSP10とレンダリングエンジン12は、ビデオメモリ14の出力ビデオデータを、「タイル状」の方法、すなわち行および列に沿ったブロックの方法で処理してもよい。さらに、ブロックサイズはキャッシュ15の容量に基づいて設定してもよい。例えば、ブロックサイズは、キャッシュの容量と等しくしてもよい。このように、境界箱22の寸法は、描画される三角形が単一のビデオブロック内に完全に位置する場合にビデオブロックの寸法以下であるように定義してもよい。2以上のビデオブロックにまたがる三角形の場合、境界箱22Aにより図解されるように、三角形とビデオブロックの境界箱の間の重複を包含するように計算された寸法を有する境界箱を使用してもよい。これは、有利に、三角形に関連したピクセルデータを検索し描画するのに必要なメモリアクセスの数を減らすことができる。それは結果として省電力になる。
境界箱、例えば、図2の境界箱22を計算した後、レンダリングエンジン12は、境界箱により包含される各ピクセルラインを処理し、三角形20内にあるこれらのピクセルを選択的にイネーブルにする。具体的には、レンダリングエンジン12はピクセルラインを、例えば、左方向かつ下方にスキャンし、一次方程式を適用して各ピクセルが三角形20内に入るかどうか決定する。エッジ24A、24Bおよび24Cの内のこれらのピクセルの場合、レンダリングエンジン12は、例えば、三角形20に関連する、z値、色情報、テクスチャ情報等に基づいて、ピクセルのための現在の属性を更新する。
図3は、三角形を描画するための直接推定アルゴリズムの適用において、レンダリングエンジン12の例示動作を図解するフローチャートである。最初に、レンダリングエンジン12は、描画される三角形の3つの頂点、すなわち、第1の頂点(X0,Y0)、第2の頂点(X1,Y1)および第3の頂点(X2,Y2)を指定するコマンドをDSP10から受信する(図3のステップ30)。
このコマンドに応答して、レンダリングエンジン12は、データ、例えば頂点により定義される三角形を包含する境界箱を定義する、左上の座標および高さおよび幅を計算する。
さらに、レンダリングエンジン12は、三角形内の各ピクセルの属性を記載する一次方程式の線形係数を計算するための係数行列M-1と、三角形の3つのエッジを記載する一次方程式の線形係数を計算するための係数行列Mcを計算する(ステップ34)。具体的には、三角形の内部に位置するピクセルの属性値vは、以下のようにスクリーン空間内のx,yロケーションの一次関数として表すことができる。
Figure 2006520963
従って、式(1)のための線形係数A、B、およびCは、3つの頂点に関連する3つの式から得ることができる。
Figure 2006520963
但し、vi(i=0,1,2) は、頂点iにおいて定義される属性値であり、(xi,yi)(i=0,1,2)は、頂点iのスクリーン座標である。行列表記法を用いて、頂点は、以下のように表すことができる。
Figure 2006520963
したがって、属性補間用の係数は次のように表現することができる:
Figure 2006520963
但し、
Figure 2006520963
属性補間用の係数を計算するための係数行列M-1は以下のようにラプラス展開を用いて計算することができる。
Figure 2006520963
但し、
Figure 2006520963
Mのコンパニオン(companion)行列は、以下のように計算することができる。
Figure 2006520963
係数行列M-1およびMCを計算すると、レンダリングエンジン12はピクセルに関連するすべての属性のための係数A、B、Cを計算する(ステップ36)。頂点(v0,v1,v2)における値は異なる属性に対して異なるけれども、特に、係数行列M-1は、異なる属性の係数を計算するために使用することができる。
次に、レンダリングエンジン12は、境界箱の開始ピクセル、例えば図2の(Xmin,Ymin)におけるすべての属性値をイニシャライズする(ステップ38)。さらに、レンダリングエンジン12は、現在のピクセルインデックス値(XC,YC)を、境界箱の第1のスキャンラインの第1のピクセル、すなわちXMINおよびYMINにイニシャライズする(ステップ39)。
直接推定ラスタライゼーション(rasterization)プロセスの期間に、レンダリングエンジン12は、現在のピクセル(XC,YC)をテストして、ピクセルが三角形内に入るかどうか決定する(ステップ39)。具体的には、レンダリングエンジン12は、三角形を描写するエッジ方程式のセットに基づいて以前に計算された行列MCを適用し、現在のピクセルの位置が三角形内にあるかどうか決定する。これらの方程式は、3つの頂点の座標によって固有に定義される。特に、例えば2D平面上の所定の開始頂点(xi,yi)および終点(xj,yj)に対して、エッジ方程式は以下の通りである。
Figure 2006520963
または
Figure 2006520963
開始頂点インデックス、i=1,2,0および終了頂点インデックス、j=2,0,1を有する3つのエッジの場合、行列フォーマットにおける3つのエッジ方程式は、以下のように表すことができる。
Figure 2006520963
従って、レンダリングエンジン12は現在のピクセル(X、Y)に行列MCを適用し、e1、e2、e3のすべてがゼロ未満であるときピクセルが三角形内にあると決定する。
ピクセルが三角形(39のブランチはない)内にない場合、レンダリングエンジン12は、境界箱のスキャンラインに沿って次のピクセルに進む、すなわち、XCをインクリメントし(ステップ46)、スキャンラインの終わりは到達していなかったと仮定し(ステップ48)、式(11)に従ってそのピクセルをテストし、ピクセルが三角形内にあるかどうか決定する(ステップ39)。
現在のピクセルが三角形内にあることを方程式(11)のアプリケーションが示す場合、レンダリングエンジン12は現在のピクセルが目に見えるかどうか決定する(ステップ40)。特に、レンダリングエンジン12は、z軸に沿った現在のピクセルの位置を決定し、ピクセルが見えるかどうか決定する。または、レンダリングエンジン12は、3Dグラフィック環境の他のスライスからのピクセルが、ユーザーにピクセルが見えることを防止する、すなわち現在のピクセルの上にあるかどうか決定する。一実施形態において、レンダリングエンジン12は現在のピクセルのz値、Zcをzバッファの対応するz値、zbと比較し、ピクセルが見えるかどうか、すなわちzc<zbかどうか決定する。
ピクセルが目に見えない場合(ステップ40の分岐はない)、レンダリングエンジン12は次のピクセルに移る(ステップ46)。しかしながら、ピクセルが目に見える場合、レンダリングエンジン12は属性値、例えば、式(1)に基づいてピクセルのためのテクスチャ値および色値を計算する。属性値を計算すると、レンダリングエンジン12は、計算された属性に基づいてビデオメモリ14内の現在のピクセルの値を更新する(ステップ44)。
ビデオメモリ14内の現在のピクセルの値を更新した後に、レンダリングエンジン12は次のピクセルに移る(ステップ46)。このプロセスは、現在のスキャンラインの終わりに到達するまで反復される。すなわち、XC>XMAXになるまで反復される。または現在のピクセルが三角形を抜け出て(ステップ48)、レンダリングエンジン12を次のスキャンラインの始めに進めさせる、すなわちXC=XMINを設定しYCをインクリメントする(ステップ50)まで反復される。レンダリングエンジン12はこのようにして各ピクセルをテストする境界箱の各スキャンラインを横断し、最後のスキャンラインが完了したとき、すなわち、YC>YMAXのときレンダリングプロセスを終了する(ステップ52)。
図4は、レンダリングエンジン12の例示実施形態を図解するブロック図である。図解された実施形態において、レンダリングエンジンは、直接推定技術に従って描画される三角形の頂点をバッファリングするための頂点バッファを含む。特に、レンダリングエンジン12は、3つの頂点の形式で三角形を指定するDSP10からコマンドを受信する。各頂点は、少なくともxおよびy座標により定義され、z値、色値、テクスチャ値等のような1つ以上の属性値を含んでいてもよい。
レンダリングエンジン12は、処理エンジン61により処理するために頂点バッファ60に頂点情報をキューイングする。処理エンジン61は、境界箱発生器62、エッジ係数発生器64、および属性係数発生器66を含む。境界箱発生器62は、描画される三角形に関連する境界箱の寸法を定義するデータ値を計算し出力する。例えば、境界箱発生器62は、境界箱のための左上座標(Xmin,Ymin)および右下座標(Xmax,Ymax)を出力してもよい。
上に記載するように、エッジ係数発生器64は、頂点座標情報を処理し、線形エッジ係数行列MCを発生する。同様に、上に記載するように、属性係数発生器66は、頂点座標情報を処理し、線形属性係数A、B、Cを発生する。
レンダリングエンジン12は、さらにラスタライザ74を含む。ラスタライザ74は、処理エンジン61により生成されたパラメーターを処理し、直接推定技術を適用し、ピクセルデータを生成し、ビデオメモリ14およびディスプレイ4を駆動する。出力バッファ63は、境界箱バッファ68、エッジ係数バッファ70、および属性係数バッファ72を含み、ラスタライザ74により描画される各三角形に関連する境界箱、線形エッジ係数、および線形属性係数を定義するパラメーターをキューイングする。
この発明の種々の実施形態が記載された。
これらの実施形態および他の実施形態は、以下のクレームの範囲内にある。
図1は、モバイルコンピューティングデバイスの例示実施形態を図解するブロック図である。 図2は、直接推定三角形レンダリング技術のアプリケーションを図解するグラフである。 図3は、直接推定技術のアプリケーションにおいて、レンダリングエンジンの例示動作を図解するフローチャートである。 図4は、図3のレンダリングエンジンの例示実施形態を図解するブロック図である。

Claims (29)

  1. ピクセルの三角形領域の矩形領域を定義し、矩形領域のピクセルに関連する座標を評価し、前記三角形領域内に入る前記ピクセルを選択的に描画するレンダリングエンジンを具備する装置。
  2. 前記レンダリングエンジンは、前記三角形領域のエッジを記載する一次方程式のセットに従って前記ピクセルの座標を評価する、請求項1の装置。
  3. 前記レンダリングエンジンは、前記一次方程式のセットのための線形係数を計算するための係数行列MCを計算し、前記係数行列MCを前記三角形領域内の前記ピクセルの各々に適用し、前記ピクセルの各々が前記三角形領域内に入るかどうか決定する、請求項2の装置。
  4. 前記レンダリングエンジンは、前記係数行列MCを前記三角形領域内のピクセル(XC,YC)の現在のピクセルに適用し、
    Figure 2006520963
    かどうか決定する、但し、前記係数行列MCは、
    Figure 2006520963
    に等しく、そして頂点V0(x0,y0),V(x1,y1),およびV2(x2,y2)は前記三角形領域の頂点である、請求項3の装置。
  5. 前記レンダリングエンジンは、前記三角形領域に関連する1つ以上の属性を記載する一次方程式のセットに従ってこれらのピクセルのための更新されたピクセルデータを計算することにより前記三角形領域内に入る前記ピクセルを選択的に描画する、請求項1の装置。
  6. 前記属性値は、色値とテクスチャ値の少なくとも1つを具備する、請求項5の装置。
  7. 前記レンダリングエンジンは、一次方程式のセットの線形係数A、B、Cを計算するための係数行列M-1を計算し、前記係数A、B、Cを前記三角形領域内に入る各ピクセルに適用し、それぞれのピクセルのための属性値を計算する、請求項5の装置。
  8. 前記レンダリングエンジンは、前記係数行列M-1を適用し、
    Figure 2006520963
    として前記三角形の頂点V0(X0,y0)、V1(x1,y1)、およびV2(x2,y2)に関連する属性のための線形係数A、B、Cを計算する、但し、前記係数行列M-1は、
    Figure 2006520963
    に等しく、各ピクセル(Xc,Yc)のための属性値は、
    Figure 2006520963
    として計算される、請求項7の装置。
  9. 前記ピクセルに関連するz値のセットを記憶するためのzバッファをさらに具備し、前記レンダリングエンジンは、前記現在のピクセルのz値、zcをzバッファの対応するz値、zbと比較し、前記矩形領域内の各ピクセルが見えるかどうか決定し、見える前記矩形領域の各ピクセルおよび前記三角形領域内に入る各ピクセルを選択的に描画する、請求項1の装置。
  10. 前記三角形領域の頂点を指定する前記レンダリングエンジンにコマンドを発行する制御ユニットをさらに具備する、請求項1の装置。
  11. 前記レンダリングエンジンは、
    描画する前記三角形領域の前記頂点をバッファリングするための頂点バッファと、
    前記頂点を処理し、前記矩形領域の前記寸法を定義する境界箱を計算する境界箱発生器と、
    前記境界データを処理し、前記矩形領域の前記ピクセル値に関連する座標を評価し、前記矩形領域内に入る前記ピクセルを選択的に描画するラスタライザ、
    とを具備する、請求項1の装置。
  12. 前記頂点バッファによりバッファリングされた前記頂点を受信し、前記頂点を処理して前記三角形領域のエッジを記載する一次方程式のセットのための線形係数を計算するエッジ係数発生器と、
    前記頂点を処理し、前記三角形領域に関連する1つ以上の属性を記載する一次方程式のセットのための線形係数を計算する属性係数発生器とをさらに具備し、前記ラスタライザは、前記一次方程式のセットに従って前記境界データと前記係数を処理し、前記三角形領域内に入る前記ピクセルを描画する、請求項11の装置。
  13. 前記装置は、無線通信装置を具備する、請求項1の装置。
  14. 前記装置は、集積回路を具備する、請求項1の装置。
  15. 前記ピクセルの少なくとも一部を記憶するためのキャッシュメモリをさらに具備し、前記キャッシュメモリは、ブロックサイズを有し、前記レンダリングエンジンは前記キャッシュの前記ブロックサイズの関数として前記矩形領域を定義する、請求項1の装置。
  16. 下記を具備する移動通信装置:
    ディスプレイ;
    グラフィック環境として前記ディスプレイによる提示のためにビデオ出力データを発生するためのプロセッサー;および
    直接推定アルゴリズムを適用し、前記グラフィック環境のために三角形を描画するレンダリングエンジン、前記直接推定アルゴリズムは、一次方程式を適用し、前記三角形のエッジ間の補間無しに前記三角形を描画する。
  17. 前記プロセッサーは前記三角形のための頂点を定義するコマンドを前記レンダリングエンジンに発行する請求項16の移動通信装置。
  18. 下記を具備する方法:
    ピクセルの三角形の領域の境界を示すピクセルの矩形領域を定義するデータを計算する;
    どのピクセルが前記三角形領域以内にあるか決定するために前記矩形領域のピクセルの座標を評価する;および
    前記三角形の領域を描画するために前記三角形の領域内にある前記ピクセルのためのピクセルデータを更新する。
  19. 座標を評価することは、前記三角形領域のエッジを計算するための一次方程式のセットに従って前記ピクセルの前記座標を評価することを具備する、請求項18の方法。
  20. 前記ピクセルの座標を評価することは、下記を具備する請求項19の方法:
    前記一次方程式のセットのための線形係数の計算のために係数行列MCを計算する;および
    前記係数行列MCを前記矩形領域内のピクセルの各々に適用し、前記ピクセルの各々が前記三角形の領域内にあるかどうか決定する。
  21. 前記係数行列MCを適用することは、係数行列MCを前記矩形領域内のピクセル(X,Y)の現在のピクセルに適用し、
    Figure 2006520963
    かどうか決定し、但し係数行列MCは、
    Figure 2006520963
    に等しく、頂点v0(x0,y0)、v1(x1,y1)およびv2(x2,y2)は前記三角形領域の頂点である、請求項20の方法。
  22. ピクセルデータを更新することは、前記三角形領域に関連する1つ以上の属性を記載する一次方程式のセットに従って前記三角形領域内にある前記矩形領域のピクセルのためのピクセルデータを計算することを具備する、請求項18の方法。
  23. 前記属性値は色値とテクスチャ値の少なくとも1つを具備する、請求項22の方法。
  24. ピクセルデータを更新することは、下記を具備する、請求項22の方法:
    前記一次方程式のセットの線形係数を計算するための係数行列M-1を計算する;および
    前記線形係数を前記三角形領域内にある前記ピクセルの各々に適用し、前記ピクセルの各々の前記属性値を計算する。
  25. Figure 2006520963
    として、前記三角形の頂点v0(x0,y0)、v1(x1,y1)およびv2(x2,y2)に関連する属性のための前記線形係数A、BおよびCを計算するために、前記係数行列M-1を適用することを具備し、但し、前記係数行列M-1
    Figure 2006520963
    に等しく、および各ピクセル(Xc,Yc)のための属性値は、
    Figure 2006520963
    として計算される、請求項24の方法。
  26. さらに下記を具備する請求項18の方法:
    前記矩形領域内の前記ピクセルの各々が目に見えるかどうか決定する;および
    前記決定に基づいて前記ピクセルの各々を選択的に描画する。
  27. 前記ピクセルの各々が目に見えるかどうかを決定することは、前記現在のピクセルのz値、zcをzバッファの対応するz値、zbと比較し、zc<zbかどうか決定する、請求項26の方法。
  28. データを計算することは、三角形領域の向かい合った角を表す第1の座標および第2の座標を計算することを具備する、請求項18の方法。
  29. ピクセルデータを更新することは、ブロックサイズを有するキャッシュメモリ内のピクセルデータを処理することを具備し、矩形領域を定義するためにデータを計算することは、前記キャッシュの前記ブロックサイズの関数として前記三角形領域を定義するために前記データを計算することを具備する、請求項18の方法。
JP2006507314A 2003-03-18 2004-03-17 直接推定を用いた三角形レンダリング Ceased JP2006520963A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US45592303P 2003-03-18 2003-03-18
US10/617,455 US7800631B2 (en) 2003-03-18 2003-07-10 Triangle rendering using direct evaluation
PCT/US2004/008285 WO2004084143A1 (en) 2003-03-18 2004-03-17 Triangle rendering using direct evaluation

Publications (2)

Publication Number Publication Date
JP2006520963A true JP2006520963A (ja) 2006-09-14
JP2006520963A5 JP2006520963A5 (ja) 2010-02-25

Family

ID=32994672

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006507314A Ceased JP2006520963A (ja) 2003-03-18 2004-03-17 直接推定を用いた三角形レンダリング

Country Status (10)

Country Link
US (2) US7800631B2 (ja)
EP (1) EP1606774B1 (ja)
JP (1) JP2006520963A (ja)
AT (1) ATE381079T1 (ja)
CA (1) CA2519346A1 (ja)
DE (1) DE602004010628T2 (ja)
ES (1) ES2297449T3 (ja)
HK (1) HK1086922A1 (ja)
RU (1) RU2005132160A (ja)
WO (1) WO2004084143A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010055611A (ja) * 2008-08-29 2010-03-11 Fujitsu Ltd グラフィックラスタライゼーションにおける三角形トラバース方法及び装置

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4599135B2 (ja) * 2004-11-02 2010-12-15 キヤノン株式会社 情報処理装置及び情報処理方法
US7362325B2 (en) * 2004-12-21 2008-04-22 Qualcomm Incorporated 2D/3D line rendering using 3D rasterization algorithms
US7436412B2 (en) * 2005-08-24 2008-10-14 Qualcomm Incorporated Graphics engine with efficient interpolation
US7791605B2 (en) * 2007-05-01 2010-09-07 Qualcomm Incorporated Universal rasterization of graphic primitives
US8786628B2 (en) * 2007-09-14 2014-07-22 Microsoft Corporation Rendering electronic chart objects
US8643644B2 (en) * 2008-03-20 2014-02-04 Qualcomm Incorporated Multi-stage tessellation for graphics rendering
US8217962B2 (en) * 2009-01-29 2012-07-10 Microsoft Corporation Single-pass bounding box calculation
US8638343B2 (en) * 2009-04-30 2014-01-28 Microsoft Corporation Data visualization platform performance optimization
US9250926B2 (en) * 2009-04-30 2016-02-02 Microsoft Technology Licensing, Llc Platform extensibility framework
CN102082869B (zh) * 2010-12-28 2013-11-27 广州杰赛科技股份有限公司 实现2d横屏手机游戏的方法
US9633458B2 (en) * 2012-01-23 2017-04-25 Nvidia Corporation Method and system for reducing a polygon bounding box
US9984004B1 (en) * 2016-07-19 2018-05-29 Nutanix, Inc. Dynamic cache balancing
US20220383569A1 (en) * 2021-05-27 2022-12-01 Intel Corporation Small polygon rasterization
CN114821002A (zh) * 2022-04-12 2022-07-29 支付宝(杭州)信息技术有限公司 基于ar的互动方法、装置及电子设备

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH064679A (ja) * 1992-06-24 1994-01-14 Toshiba Corp イメージ処理装置
JPH07141519A (ja) * 1993-05-28 1995-06-02 Canon Inc 画像処理方法及び装置
JPH0822548A (ja) * 1994-07-06 1996-01-23 Hitachi Ltd 図形処理方法および装置
JPH08502845A (ja) * 1992-10-30 1996-03-26 セイコーエプソン株式会社 ポリゴンのラスタ化
WO2001080183A1 (en) * 2000-04-14 2001-10-25 Picsel (Research) Limited Shape processor
JP2002529808A (ja) * 1998-11-03 2002-09-10 テレフオンアクチーボラゲット エル エム エリクソン(パブル) 分散処理によって実行されるデータ処理要求を評価する方法及び装置
JP2002529868A (ja) * 1998-11-06 2002-09-10 イマジネイション テクノロジーズ リミテッド 3次元コンピュータ生成画像のシェーディング

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4646076A (en) * 1983-04-27 1987-02-24 Sperry Corporation Method and apparatus for high speed graphics fill
US4897805A (en) * 1988-05-17 1990-01-30 Prime Computer, Inc. Method and apparatus for performing polygon fills in graphical applications
US5598517A (en) * 1995-01-10 1997-01-28 Evans & Sutherland Computer Corp. Computer graphics pixel rendering system with multi-level scanning
US5649078A (en) 1995-03-22 1997-07-15 International Business Machines Corporation Efficient two-pass rasterization scheme utilizing visibility information
US5914722A (en) * 1997-04-14 1999-06-22 Ati Technologies Inc. Memory efficient method for triangle rasterization
US6717578B1 (en) * 1998-02-17 2004-04-06 Sun Microsystems, Inc. Graphics system with a variable-resolution sample buffer
US6624823B2 (en) * 1998-02-17 2003-09-23 Sun Microsystems, Inc. Graphics system configured to determine triangle orientation by octant identification and slope comparison
US6288724B1 (en) 1998-09-16 2001-09-11 Texas Instruments Incorporated Clipping and trapezoid decomposition of polygons for printing files in a page description language
US6549210B1 (en) * 1999-02-03 2003-04-15 Ati Technologies Inc. Method and apparatus for cache index hashing
US6407736B1 (en) 1999-06-18 2002-06-18 Interval Research Corporation Deferred scanline conversion architecture
GB9921777D0 (en) 1999-09-16 1999-11-17 Koninkl Philips Electronics Nv Method and apparatus for handling translucency in 3d graphics
US7126600B1 (en) * 2000-08-01 2006-10-24 Ati International Srl Method and apparatus for high speed block mode triangle rendering
US7061507B1 (en) * 2000-11-12 2006-06-13 Bitboys, Inc. Antialiasing method and apparatus for video applications
US6693637B2 (en) * 2001-12-31 2004-02-17 Intel Corporation Method and apparatus for determining bins to be updated for polygons, including lines
US6795080B2 (en) * 2002-01-30 2004-09-21 Sun Microsystems, Inc. Batch processing of primitives for use with a texture accumulation buffer
US7143098B2 (en) * 2002-05-10 2006-11-28 International Business Machines Corporation Systems, methods, and computer program products to reduce computer processing in grid cell size determination for indexing of multidimensional databases
JP3507057B2 (ja) * 2002-06-03 2004-03-15 三菱電機株式会社 三角形ポリゴン描画装置および三角形ポリゴン描画方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH064679A (ja) * 1992-06-24 1994-01-14 Toshiba Corp イメージ処理装置
JPH08502845A (ja) * 1992-10-30 1996-03-26 セイコーエプソン株式会社 ポリゴンのラスタ化
JPH07141519A (ja) * 1993-05-28 1995-06-02 Canon Inc 画像処理方法及び装置
JPH0822548A (ja) * 1994-07-06 1996-01-23 Hitachi Ltd 図形処理方法および装置
JP2002529808A (ja) * 1998-11-03 2002-09-10 テレフオンアクチーボラゲット エル エム エリクソン(パブル) 分散処理によって実行されるデータ処理要求を評価する方法及び装置
JP2002529868A (ja) * 1998-11-06 2002-09-10 イマジネイション テクノロジーズ リミテッド 3次元コンピュータ生成画像のシェーディング
WO2001080183A1 (en) * 2000-04-14 2001-10-25 Picsel (Research) Limited Shape processor

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010055611A (ja) * 2008-08-29 2010-03-11 Fujitsu Ltd グラフィックラスタライゼーションにおける三角形トラバース方法及び装置

Also Published As

Publication number Publication date
US7800632B2 (en) 2010-09-21
US20040183811A1 (en) 2004-09-23
EP1606774A1 (en) 2005-12-21
CA2519346A1 (en) 2004-09-30
EP1606774B1 (en) 2007-12-12
RU2005132160A (ru) 2006-03-20
US7800631B2 (en) 2010-09-21
DE602004010628D1 (de) 2008-01-24
HK1086922A1 (en) 2006-09-29
DE602004010628T2 (de) 2008-12-11
WO2004084143A1 (en) 2004-09-30
ES2297449T3 (es) 2008-05-01
ATE381079T1 (de) 2007-12-15
US20060250410A1 (en) 2006-11-09

Similar Documents

Publication Publication Date Title
US7800632B2 (en) Triangle rendering using direct evaluation
WO2022193941A1 (zh) 图像渲染方法、装置、设备、介质和计算机程序产品
JP4861403B2 (ja) タイル化されたプリフェッチ及びキャッシングされたデプスバッファ
JP4938850B2 (ja) 拡張型頂点キャッシュを備えたグラフィック処理装置
US7450132B2 (en) Method and/or apparatus for high speed visualization of depth image-based 3D graphic data
US8253722B2 (en) Method, medium, and system rendering 3D graphics data to minimize power consumption
KR102651126B1 (ko) 그래픽 프로세싱 장치 및 그래픽스 파이프라인에서 텍스처를 처리하는 방법
JP2006520963A5 (ja)
KR102499397B1 (ko) 그래픽스 파이프라인을 수행하는 방법 및 장치
KR20090079241A (ko) 공유된 산술 논리 유닛을 구비한 그래픽 처리 유닛
US20140071124A1 (en) Image processing apparatus
US20200026516A1 (en) Systems and Methods For Rendering Vector Data On Static And Dynamic-Surfaces Using Screen Space Decals And A Depth Texture
US7525551B1 (en) Anisotropic texture prefiltering
KR101227155B1 (ko) 저해상도 그래픽 영상을 고해상도 그래픽 영상으로 실시간 변환하는 그래픽 영상 처리 장치 및 방법
KR101345380B1 (ko) 3차원 그래픽스 데이터를 처리하는 장치에 공급하는전원의 전압을 제어하는 방법 및 이를 이용하는 3차원그래픽스 데이터 처리 장치
US9064347B2 (en) Method, medium, and system rendering 3 dimensional graphics data considering fog effect
US7145564B1 (en) Method and apparatus for tessellation lighting
US9823889B2 (en) Method and apparatus for estimating a fragment count for the display of at least one three-dimensional object
WO2023208385A1 (en) A soft shadow algorithm with contact hardening effect for mobile gpu
JP2006190135A (ja) 画像生成方法および画像生成装置
JPH11509661A (ja) 2次元画像へ表面をグラフィックスマッピングする方法および装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070313

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090929

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100104

A524 Written submission of copy of amendment under article 19 pct

Free format text: JAPANESE INTERMEDIATE CODE: A524

Effective date: 20100104

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100209

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100510

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100608

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20100908

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20100915

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101008

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20101102

A045 Written measure of dismissal of application [lapsed due to lack of payment]

Free format text: JAPANESE INTERMEDIATE CODE: A045

Effective date: 20110329