(57)【要約】この開示は、３次元グラフィック環境のために三角形を描画するために直接推定技術を適用する無線通信装置のような装置を記載する。この装置は、レンダリングエンジンを含む。レンダリングエンジンは、描画される領域の境界を示す、境界箱と呼ばれる、ピクセルの矩形領域を定義する。レンダリングエンジンは、矩形領域のピクセルに関連する座標を評価し、三角形の領域内にあるこれらのピクセルを選択的に描画する。直接推定三角形描画アルゴリズムは、他のシステムにより採用される、よりコンピューター的な集中補間処理より複雑でない演算を必要とするかもしれない。この結果、装置は、利用可能な電力をできるだけ維持しながら３次元グラフィック環境を提示することができる。
2006520963.tif 000002
【特許請求の範囲】
【請求項１】
ピクセルの三角形領域の矩形領域を定義し、矩形領域のピクセルに関連する座標を評価し、前記三角形領域内に入る前記ピクセルを選択的に描画するレンダリングエンジンを具備する装置。
【請求項２】
前記レンダリングエンジンは、前記三角形領域のエッジを記載する一次方程式のセットに従って前記ピクセルの座標を評価する、請求項１の装置。
【請求項３】
前記レンダリングエンジンは、前記一次方程式のセットのための線形係数を計算するための係数行列ＭCを計算し、前記係数行列ＭCを前記三角形領域内の前記ピクセルの各々に適用し、前記ピクセルの各々が前記三角形領域内に入るかどうか決定する、請求項２の装置。
【請求項４】
前記レンダリングエンジンは、前記係数行列ＭCを前記三角形領域内のピクセル（ＸC,ＹC)の現在のピクセルに適用し、
【数１】
2006520963.tif 000014
かどうか決定する、但し、前記係数行列ＭCは、
【数２】
2006520963.tif 000015
に等しく、そして頂点Ｖ0（ｘ0,ｙ0),V１(ｘ1,ｙ1),およびＶ2（ｘ2,ｙ2)は前記三角形領域の頂点である、請求項３の装置。
【請求項５】
前記レンダリングエンジンは、前記三角形領域に関連する１つ以上の属性を記載する一次方程式のセットに従ってこれらのピクセルのための更新されたピクセルデータを計算することにより前記三角形領域内に入る前記ピクセルを選択的に描画する、請求項１の装置。
【請求項６】
前記属性値は、色値とテクスチャ値の少なくとも１つを具備する、請求項５の装置。
【請求項７】
前記レンダリングエンジンは、一次方程式のセットの線形係数Ａ、Ｂ、Ｃを計算するための係数行列Ｍ-1を計算し、前記係数Ａ、Ｂ、Ｃを前記三角形領域内に入る各ピクセルに適用し、それぞれのピクセルのための属性値を計算する、請求項５の装置。
【請求項８】
前記レンダリングエンジンは、前記係数行列Ｍ-1を適用し、
【数３】
2006520963.tif 000016
として前記三角形の頂点Ｖ0(X0,ｙ0)、Ｖ1（ｘ1,ｙ1)、およびＶ2（ｘ2,ｙ2)に関連する属性のための線形係数Ａ、Ｂ、Ｃを計算する、但し、前記係数行列Ｍ-1は、
【数４】
2006520963.tif 000017
に等しく、各ピクセル（Ｘc,Ｙc)のための属性値は、
【数５】
2006520963.tif 000018
として計算される、請求項７の装置。
【請求項９】
前記ピクセルに関連するｚ値のセットを記憶するためのｚバッファをさらに具備し、前記レンダリングエンジンは、前記現在のピクセルのｚ値、ｚcをｚバッファの対応するｚ値、ｚbと比較し、前記矩形領域内の各ピクセルが見えるかどうか決定し、見える前記矩形領域の各ピクセルおよび前記三角形領域内に入る各ピクセルを選択的に描画する、請求項１の装置。
【請求項１０】
前記三角形領域の頂点を指定する前記レンダリングエンジンにコマンドを発行する制御ユニットをさらに具備する、請求項１の装置。
【請求項１１】
前記レンダリングエンジンは、
描画する前記三角形領域の前記頂点をバッファリングするための頂点バッファと、
前記頂点を処理し、前記矩形領域の前記寸法を定義する境界箱を計算する境界箱発生器と、
前記境界データを処理し、前記矩形領域の前記ピクセル値に関連する座標を評価し、前記矩形領域内に入る前記ピクセルを選択的に描画するラスタライザ、
とを具備する、請求項１の装置。
【請求項１２】
前記頂点バッファによりバッファリングされた前記頂点を受信し、前記頂点を処理して前記三角形領域のエッジを記載する一次方程式のセットのための線形係数を計算するエッジ係数発生器と、
前記頂点を処理し、前記三角形領域に関連する１つ以上の属性を記載する一次方程式のセットのための線形係数を計算する属性係数発生器とをさらに具備し、前記ラスタライザは、前記一次方程式のセットに従って前記境界データと前記係数を処理し、前記三角形領域内に入る前記ピクセルを描画する、請求項１１の装置。
【請求項１３】
前記装置は、無線通信装置を具備する、請求項１の装置。
【請求項１４】
前記装置は、集積回路を具備する、請求項１の装置。
【請求項１５】
前記ピクセルの少なくとも一部を記憶するためのキャッシュメモリをさらに具備し、前記キャッシュメモリは、ブロックサイズを有し、前記レンダリングエンジンは前記キャッシュの前記ブロックサイズの関数として前記矩形領域を定義する、請求項１の装置。
【請求項１６】
下記を具備する移動通信装置：
ディスプレイ；
グラフィック環境として前記ディスプレイによる提示のためにビデオ出力データを発生するためのプロセッサー；および
直接推定アルゴリズムを適用し、前記グラフィック環境のために三角形を描画するレンダリングエンジン、前記直接推定アルゴリズムは、一次方程式を適用し、前記三角形のエッジ間の補間無しに前記三角形を描画する。
【請求項１７】
前記プロセッサーは前記三角形のための頂点を定義するコマンドを前記レンダリングエンジンに発行する請求項１６の移動通信装置。
【請求項１８】
下記を具備する方法：
ピクセルの三角形の領域の境界を示すピクセルの矩形領域を定義するデータを計算する；
どのピクセルが前記三角形領域以内にあるか決定するために前記矩形領域のピクセルの座標を評価する；および
前記三角形の領域を描画するために前記三角形の領域内にある前記ピクセルのためのピクセルデータを更新する。
【請求項１９】
座標を評価することは、前記三角形領域のエッジを計算するための一次方程式のセットに従って前記ピクセルの前記座標を評価することを具備する、請求項１８の方法。
【請求項２０】
前記ピクセルの座標を評価することは、下記を具備する請求項１９の方法：
前記一次方程式のセットのための線形係数の計算のために係数行列ＭCを計算する；および
前記係数行列ＭCを前記矩形領域内のピクセルの各々に適用し、前記ピクセルの各々が前記三角形の領域内にあるかどうか決定する。
【請求項２１】
前記係数行列ＭCを適用することは、係数行列ＭCを前記矩形領域内のピクセル（Ｘｃ，Ｙｃ)の現在のピクセルに適用し、
【数６】
2006520963.tif 000019
かどうか決定し、但し係数行列ＭCは、
【数７】
2006520963.tif 000020
に等しく、頂点ｖ0（ｘ0,ｙ0)、ｖ1（ｘ1,ｙ1)およびｖ2（ｘ2,ｙ2)は前記三角形領域の頂点である、請求項２０の方法。
【請求項２２】
ピクセルデータを更新することは、前記三角形領域に関連する１つ以上の属性を記載する一次方程式のセットに従って前記三角形領域内にある前記矩形領域のピクセルのためのピクセルデータを計算することを具備する、請求項１８の方法。
【請求項２３】
前記属性値は色値とテクスチャ値の少なくとも１つを具備する、請求項２２の方法。
【請求項２４】
ピクセルデータを更新することは、下記を具備する、請求項２２の方法：
前記一次方程式のセットの線形係数を計算するための係数行列Ｍ-1を計算する；および
前記線形係数を前記三角形領域内にある前記ピクセルの各々に適用し、前記ピクセルの各々の前記属性値を計算する。
【請求項２５】
【数８】
2006520963.tif 000021
として、前記三角形の頂点ｖ0（ｘ0,ｙ0)、ｖ1（ｘ1,ｙ1)およびｖ2（ｘ2,ｙ2)に関連する属性のための前記線形係数Ａ、ＢおよびＣを計算するために、前記係数行列Ｍ-1を適用することを具備し、但し、前記係数行列Ｍ-1は
【数９】
2006520963.tif 000022
に等しく、および各ピクセル（Ｘc,Ｙc)のための属性値は、
【数１０】
2006520963.tif 000023
として計算される、請求項２４の方法。
【請求項２６】
さらに下記を具備する請求項１８の方法：
前記矩形領域内の前記ピクセルの各々が目に見えるかどうか決定する；および
前記決定に基づいて前記ピクセルの各々を選択的に描画する。
【請求項２７】
前記ピクセルの各々が目に見えるかどうかを決定することは、前記現在のピクセルのｚ値、ｚcをｚバッファの対応するｚ値、ｚbと比較し、ｚc＜ｚbかどうか決定する、請求項２６の方法。
【請求項２８】
データを計算することは、三角形領域の向かい合った角を表す第１の座標および第２の座標を計算することを具備する、請求項１８の方法。
【請求項２９】
ピクセルデータを更新することは、ブロックサイズを有するキャッシュメモリ内のピクセルデータを処理することを具備し、矩形領域を定義するためにデータを計算することは、前記キャッシュの前記ブロックサイズの関数として前記三角形領域を定義するために前記データを計算することを具備する、請求項１８の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
このアプリケーションは、２００３年３月１８日に出願された米国仮出願シリアル番号６０／４５５，９２３からの優先権を主張する。上記仮出願の全体の内容は、参照することによりここに組み込まれる。
【０００２】
この発明は、モバイルコンピューティングデバイスに関し、特に、モバイルコンピューティングデバイスにより表示するために図形を描画するための技術に関する。
【背景技術】
【０００３】
携帯情報端末（ＰＤＡ）、無線通信装置、全地球測位装置のようなモバイルコンピューティングデバイスは、高度な２次元(２Ｄ）および３次元(３Ｄ）のグラフィックアプリケーションをますます要求している。例えば、モバイルコンピューティングデバイスは、ゲーム、キャラクタアニメーション、グラフィカルメニューシステムおよび高度なグラフィックレンダリング(graphics rendering)を必要とする他のアプリケーションをますます提供する。この高度なグラフィックスレンダリングは、特に３Ｄグラフィックスの場合に、相当量のデータ量処理を含む。更に、これらの処理要件は、モバイルコンピューティングデバイスが増加した解像度および色の深さを提供するディスプレイパネルを採用するときにのみ増加する。
【０００４】
３Ｄグラフィックスアプリケーションの１つの基本的な演算は、三角形のレンダリングである。特に、３Ｄグラフィックオブジェクトは典型的に３Ｄ空間内の三角形のセットによって定義される。各三角形は、３Ｄ空間内の３つの頂点、および、カラー属性、テクスチャ(texture)座標、または両方を含む、各頂点の関連する属性により定義される。各三角形は、３つの頂点で定義された位置および属性情報に基づいて三角形の内部を塗りつぶす補間処理を用いてグラフィックに描画される。より具体的には、各開始座標と終了座標は、補間処理を用いて三角形内の各ピクセルのラインに対して計算される。各ラインに沿ったピクセルはシーケンシャルに塗りつぶされ全体の三角形が描画される。
【０００５】
しかしながら、モバイルコンピューティングデバイスの１つの課題は利用可能な電力の典型的な制限である。デスクトップコンピュータ環境と異なり、モバイルコンピューティングデバイスは典型的に、バッテリー電力が制限される。その結果、三角形のレンダリングのために必要な計算的に集中的な補間処理は、モバイルコンピューティングデバイスの利用可能な電力にかなりの負担を強いる可能性がある。
【発明の概要】
【０００６】
この開示は、ディスプレイ装置に表示するためのピクセルの三角形領域を描画するための技術に向けられている。この技術は、制限されたバッテリー容量を示すモバイルコンピューティング環境に特に役立つことができる。
【０００７】
一実施形態において、方法は、ピクセルの三角形の領域の境界を示すピクセルの矩形領域を定義するデータを計算することと、矩形領域のピクセルの座標を評価しどのピクセルが三角形領域内にあるかを決定することを含む。この方法は、さらに三角形領域内にあるピクセルのピクセルデータを更新して三角形を描画することをさらに含む。
【０００８】
他の実施形態において、装置は、ピクセルの三角形領域の境界を示すピクセルの矩形領域を定義するレンダリングエンジンを含む。レンダリングエンジンは、矩形領域のピクセルに関連する座標を評価し、三角形領域内にあるピクセルを選択的に描画する。
【０００９】
他の実施形態において、モバイル通信装置は、ディスプレイ、プロセッサー、およびレンダリングエンジンを含む。プロセッサーは、グラフィック環境としてディスプレイによる提示用のビデオ出力データを生成する。レンダリングエンジンは、グラフィック環境に対して三角形を描画するために直接推定アルゴリズムを適用する。この場合、直接推定アルゴリズムは一次方程式を適用して三角形のエッジ間を補間することなく三角形を描画する。
【００１０】
この発明の１つ以上の実施形態の詳細は、添付図面と以下の記載の中で述べられる。この発明の他の特徴、目的、および利点は、記述および図面、およびクレームから明白になるであろう。
【発明を実施するための最良の形態】
【００１１】
図１は、ディスプレイ４に三次元の（３Ｄ）グラフィック環境を提示する例示モバイルコンピューティングデバイス２を図解するブロック図である。モバイルコンピューティングデバイス２は、例えば、携帯情報端末（ＰＤＡ）、携帯電話または衛星電話のような無線通信装置、全地球測位装置、ポータブルデジタルテレビ、デジタルビデオカメラ、無線ビデオ装置、上述した装置のいずれかを集積する装置、等であってもよい。モバイルコンピューティングデバイス２によって提示された３Ｄのグラフィック環境の例は、ゲーム、キャラクタアニメーション、グラフィカルメニューシステムおよび高度なグラフィックスレンダリングを必要とする他のアプリケーションを含む。
【００１２】
プロセッサー６は、モバイルコンピューティングデバイス２のコンポーネントに対する主要なコントロールを提供する。例えば、プロセッサー６は、キーパッドのような入力装置８によってユーザーからの入力を捕らえて、デジタルシグナルプロセッサー(ＤＳＰ）１０に、ディスプレイ４に３Ｄのグラフィック環境を提示するためにビデオ出力データを発生するように命令する。ディスプレイ４は、任意の出力装置、例えばカムコーダーまたは携帯電話スクリーンのために液晶ディスプレイ(ＬＣＤ）を含んでいてもよい。特に、ＤＳＰ１０は、レンダリングエンジン１２にコマンドを発行して、レンダリングエンジンにグラフィックオブジェクト、例えば、３Ｄ空間内に三角形を描画するように命令する。コマンドに基づいて、レンダリングエンジン１２は、ディスプレイ４を駆動するためにビデオメモリ１４およびキャッシュ１５内に記憶されたビデオデータを処理する。
【００１３】
プロセッサー６は埋め込まれたマイクロプロセッサー、専門のハードウェア、ソフトウェア、例えば制御ソフトウェアモジュールまたはそれらの組み合わせの形態を取ってもよい。さらに、ＤＳＰ１０、プロセッサー６、並びにモバイルコンピューティングデバイス２の他のコンポーネントは、マルチプルディスクリートコンポーネントまたはそれらの組み合わせとして、１つ以上の特定用途向け集積回路（ＡＳＩＣｓ）において実施してもよい。
【００１４】
メモリ１６および１８は、それぞれプロセッサー６およびＤＳＰ１０による使用のために命令とデータを記憶する。別箇に図解されたけれども、メモリ１６および１８は、１つまたはそれ以上のメモリ装置を含んでいてもよい。さらに、メモリ１６および１８はリードオンリーメモリ(ＲＯＭ）、同期ダイナミックランダムアクセスメモリ(ＳＤＲＡＭ）、不揮発性スタティックランダムアクセスメモリ(ＳＲＡＭ）、フラッシュメモリ、電気的に消去可能なリードオンリーメモリ（ＥＥＰＲＯＭ）、等を含んでいてもよい。
【００１５】
ここに記述されるように、ＤＳＰ１０およびレンダリングエンジン１２は３Ｄグラフィック環境に対して三角形を描画するために直接推定技術を適用するために相互作用する。より具体的には、ＤＳＰ１０は、レンダリングエンジン１２にコマンドを発行し、レンダリングエンジンに３Ｄ空間内に三角形を描画するように命令する。これに応答して、レンダリングエンジン１２は、従来システムにより採用されるより計算的に集中的な補間処理よりも少ない除算演算を必要とする直接推定三角形レンダリングアルゴリズムを適用する。その結果、モバイルコンピューティングデバイス２は、モバイルコンピューティングデバイスに利用可能な電力をできるだけ保存しながら３Ｄグラフィック環境を提示することができる。
【００１６】
レンダリングエンジン１２を行使するために、ＤＳＰ１０は、描画される三角形の３つの頂点を指定するコマンドを発行する。例えば、図２によって描画された例示三角形に図解されるように、ＤＳＰ１０は第１の頂点（Ｘ0、Ｙ0）、第２の頂点（Ｘ1、Ｙ1）および第３の頂点（ｘ2、Ｙ2）を備えた三角形２０を定義するコマンドを発行する。この場合、頂点の各々は、３Ｄ環境の２Ｄスライス(slice)内の座標を表す。従って、頂点は、エッジ２４Ａ、２４Ｂおよび２４Ｃを有する三角形を定義する。
【００１７】
コマンドに応答して、レンダリングエンジン１２「境界箱」２２を計算する。境界箱は三角形のｘ，ｙ座標の最小および最大の境界を示すために定義された矩形領域を指す。境界箱２２は、例えば、左上座標（Ｘmin,Ｙmin)および右下座標（Ｘmax,Ｙmax)により定義される。図２の例で図解されるように、境界箱２２は、三角形２０を包含するために２Ｄスライス内の最小領域をカバーするように定義してもよい。他の実施形態において、境界箱２２の最小次元は、キャッシュ１５により記憶されるビデオブロックのブロックサイズの関数として計算してもよい。特に、ＤＳＰ１０とレンダリングエンジン１２は、ビデオメモリ１４の出力ビデオデータを、「タイル状」の方法、すなわち行および列に沿ったブロックの方法で処理してもよい。さらに、ブロックサイズはキャッシュ１５の容量に基づいて設定してもよい。例えば、ブロックサイズは、キャッシュの容量と等しくしてもよい。このように、境界箱２２の寸法は、描画される三角形が単一のビデオブロック内に完全に位置する場合にビデオブロックの寸法以下であるように定義してもよい。２以上のビデオブロックにまたがる三角形の場合、境界箱２２Ａにより図解されるように、三角形とビデオブロックの境界箱の間の重複を包含するように計算された寸法を有する境界箱を使用してもよい。これは、有利に、三角形に関連したピクセルデータを検索し描画するのに必要なメモリアクセスの数を減らすことができる。それは結果として省電力になる。
【００１８】
境界箱、例えば、図２の境界箱２２を計算した後、レンダリングエンジン１２は、境界箱により包含される各ピクセルラインを処理し、三角形２０内にあるこれらのピクセルを選択的にイネーブルにする。具体的には、レンダリングエンジン１２はピクセルラインを、例えば、左方向かつ下方にスキャンし、一次方程式を適用して各ピクセルが三角形２０内に入るかどうか決定する。エッジ２４Ａ、２４Ｂおよび２４Ｃの内のこれらのピクセルの場合、レンダリングエンジン１２は、例えば、三角形２０に関連する、ｚ値、色情報、テクスチャ情報等に基づいて、ピクセルのための現在の属性を更新する。
【００１９】
図３は、三角形を描画するための直接推定アルゴリズムの適用において、レンダリングエンジン１２の例示動作を図解するフローチャートである。最初に、レンダリングエンジン１２は、描画される三角形の３つの頂点、すなわち、第１の頂点（Ｘ0,Ｙ0)、第２の頂点（Ｘ1,Ｙ1)および第３の頂点（Ｘ2,Ｙ2)を指定するコマンドをＤＳＰ１０から受信する（図３のステップ３０)。
【００２０】
このコマンドに応答して、レンダリングエンジン１２は、データ、例えば頂点により定義される三角形を包含する境界箱を定義する、左上の座標および高さおよび幅を計算する。
【００２１】
さらに、レンダリングエンジン１２は、三角形内の各ピクセルの属性を記載する一次方程式の線形係数を計算するための係数行列Ｍ-1と、三角形の３つのエッジを記載する一次方程式の線形係数を計算するための係数行列Ｍcを計算する（ステップ３４)。具体的には、三角形の内部に位置するピクセルの属性値ｖは、以下のようにスクリーン空間内のｘ，ｙロケーションの一次関数として表すことができる。
【数１１】
2006520963.tif 000003
【００２２】
従って、式(１)のための線形係数Ａ、Ｂ、およびＣは、３つの頂点に関連する３つの式から得ることができる。
【数１２】
2006520963.tif 000004
【００２３】
但し、ｖi(i=0,1,2)  は、頂点iにおいて定義される属性値であり、（ｘi,ｙi)（i=0,1,2)は、頂点iのスクリーン座標である。行列表記法を用いて、頂点は、以下のように表すことができる。
【数１３】
2006520963.tif 000005
【００２４】
したがって、属性補間用の係数は次のように表現することができる：
【数１４】
2006520963.tif 000006
【００２５】
但し、
【数１５】
2006520963.tif 000007
【００２６】
属性補間用の係数を計算するための係数行列Ｍ-1は以下のようにラプラス展開を用いて計算することができる。
【数１６】
2006520963.tif 000008
【００２７】
但し、
【数１７】
2006520963.tif 000009
【００２８】
Ｍのコンパニオン(companion)行列は、以下のように計算することができる。
【数１８】
2006520963.tif 000010
【００２９】
係数行列Ｍ-1およびＭCを計算すると、レンダリングエンジン１２はピクセルに関連するすべての属性のための係数Ａ、Ｂ、Ｃを計算する（ステップ３６)。頂点（ｖ0,ｖ1,ｖ2)における値は異なる属性に対して異なるけれども、特に、係数行列Ｍ-1は、異なる属性の係数を計算するために使用することができる。
【００３０】
次に、レンダリングエンジン１２は、境界箱の開始ピクセル、例えば図２の（Ｘmin,Ｙmin)におけるすべての属性値をイニシャライズする（ステップ３８)。さらに、レンダリングエンジン１２は、現在のピクセルインデックス値（ＸC,ＹC)を、境界箱の第１のスキャンラインの第１のピクセル、すなわちＸMINおよびＹMINにイニシャライズする（ステップ３９)。
【００３１】
直接推定ラスタライゼーション(rasterization)プロセスの期間に、レンダリングエンジン１２は、現在のピクセル（ＸC,ＹC)をテストして、ピクセルが三角形内に入るかどうか決定する（ステップ３９)。具体的には、レンダリングエンジン１２は、三角形を描写するエッジ方程式のセットに基づいて以前に計算された行列ＭCを適用し、現在のピクセルの位置が三角形内にあるかどうか決定する。これらの方程式は、３つの頂点の座標によって固有に定義される。特に、例えば２Ｄ平面上の所定の開始頂点（ｘi,ｙi)および終点（ｘj,ｙj)に対して、エッジ方程式は以下の通りである。
【数１９】
2006520963.tif 000011
【００３２】
または
【数２０】
2006520963.tif 000012
【００３３】
開始頂点インデックス、i=１，２，０および終了頂点インデックス、j=２，０，１を有する３つのエッジの場合、行列フォーマットにおける３つのエッジ方程式は、以下のように表すことができる。
【数２１】
2006520963.tif 000013
【００３４】
従って、レンダリングエンジン１２は現在のピクセル（Ｘｃ、Ｙｃ）に行列ＭCを適用し、e1、ｅ2、ｅ3のすべてがゼロ未満であるときピクセルが三角形内にあると決定する。
【００３５】
ピクセルが三角形（３９のブランチはない）内にない場合、レンダリングエンジン１２は、境界箱のスキャンラインに沿って次のピクセルに進む、すなわち、ＸCをインクリメントし（ステップ４６)、スキャンラインの終わりは到達していなかったと仮定し（ステップ４８)、式(１１)に従ってそのピクセルをテストし、ピクセルが三角形内にあるかどうか決定する(ステップ３９)。
【００３６】
現在のピクセルが三角形内にあることを方程式（１１）のアプリケーションが示す場合、レンダリングエンジン１２は現在のピクセルが目に見えるかどうか決定する（ステップ４０）。特に、レンダリングエンジン１２は、ｚ軸に沿った現在のピクセルの位置を決定し、ピクセルが見えるかどうか決定する。または、レンダリングエンジン１２は、３Ｄグラフィック環境の他のスライスからのピクセルが、ユーザーにピクセルが見えることを防止する、すなわち現在のピクセルの上にあるかどうか決定する。一実施形態において、レンダリングエンジン１２は現在のピクセルのｚ値、Ｚcをｚバッファの対応するｚ値、ｚbと比較し、ピクセルが見えるかどうか、すなわちｚc＜ｚbかどうか決定する。
【００３７】
ピクセルが目に見えない場合（ステップ４０の分岐はない）、レンダリングエンジン１２は次のピクセルに移る（ステップ４６)。しかしながら、ピクセルが目に見える場合、レンダリングエンジン１２は属性値、例えば、式(１)に基づいてピクセルのためのテクスチャ値および色値を計算する。属性値を計算すると、レンダリングエンジン１２は、計算された属性に基づいてビデオメモリ１４内の現在のピクセルの値を更新する（ステップ４４)。
【００３８】
ビデオメモリ１４内の現在のピクセルの値を更新した後に、レンダリングエンジン１２は次のピクセルに移る（ステップ４６)。このプロセスは、現在のスキャンラインの終わりに到達するまで反復される。すなわち、ＸC＞ＸMAXになるまで反復される。または現在のピクセルが三角形を抜け出て（ステップ４８)、レンダリングエンジン１２を次のスキャンラインの始めに進めさせる、すなわちＸC=ＸMINを設定しＹCをインクリメントする（ステップ５０)まで反復される。レンダリングエンジン１２はこのようにして各ピクセルをテストする境界箱の各スキャンラインを横断し、最後のスキャンラインが完了したとき、すなわち、ＹC＞ＹMAXのときレンダリングプロセスを終了する（ステップ５２)。
【００３９】
図４は、レンダリングエンジン１２の例示実施形態を図解するブロック図である。図解された実施形態において、レンダリングエンジンは、直接推定技術に従って描画される三角形の頂点をバッファリングするための頂点バッファを含む。特に、レンダリングエンジン１２は、３つの頂点の形式で三角形を指定するＤＳＰ１０からコマンドを受信する。各頂点は、少なくともｘおよびｙ座標により定義され、ｚ値、色値、テクスチャ値等のような１つ以上の属性値を含んでいてもよい。
【００４０】
レンダリングエンジン１２は、処理エンジン６１により処理するために頂点バッファ６０に頂点情報をキューイングする。処理エンジン６１は、境界箱発生器６２、エッジ係数発生器６４、および属性係数発生器６６を含む。境界箱発生器６２は、描画される三角形に関連する境界箱の寸法を定義するデータ値を計算し出力する。例えば、境界箱発生器６２は、境界箱のための左上座標（Ｘmin,Ｙmin)および右下座標（Ｘmax,Ｙmax)を出力してもよい。
【００４１】
上に記載するように、エッジ係数発生器６４は、頂点座標情報を処理し、線形エッジ係数行列ＭCを発生する。同様に、上に記載するように、属性係数発生器６６は、頂点座標情報を処理し、線形属性係数Ａ、Ｂ、Ｃを発生する。
【００４２】
レンダリングエンジン１２は、さらにラスタライザ７４を含む。ラスタライザ７４は、処理エンジン６１により生成されたパラメーターを処理し、直接推定技術を適用し、ピクセルデータを生成し、ビデオメモリ１４およびディスプレイ４を駆動する。出力バッファ６３は、境界箱バッファ６８、エッジ係数バッファ７０、および属性係数バッファ７２を含み、ラスタライザ７４により描画される各三角形に関連する境界箱、線形エッジ係数、および線形属性係数を定義するパラメーターをキューイングする。
【００４３】
この発明の種々の実施形態が記載された。
【００４４】
これらの実施形態および他の実施形態は、以下のクレームの範囲内にある。
【図面の簡単な説明】
【００４５】
【図１】図１は、モバイルコンピューティングデバイスの例示実施形態を図解するブロック図である。
【図２】図２は、直接推定三角形レンダリング技術のアプリケーションを図解するグラフである。
【図３】図３は、直接推定技術のアプリケーションにおいて、レンダリングエンジンの例示動作を図解するフローチャートである。
【図４】図４は、図３のレンダリングエンジンの例示実施形態を図解するブロック図である。
【図１】
2006520963.tif 000024
【図２】
2006520963.tif 000025
【図３】
2006520963.tif 000026
【図４】
2006520963.tif 000027
【国際調査報告】
2006520963.tif 000028
2006520963.tif 000029
2006520963.tif 000030