JP2000311240A - 取り込まれたグラフィクス・ハードウェア命令を使用したグラフィクス・レンダリングの方法およびシステム - Google Patents

取り込まれたグラフィクス・ハードウェア命令を使用したグラフィクス・レンダリングの方法およびシステム

Info

Publication number
JP2000311240A
JP2000311240A JP2000088445A JP2000088445A JP2000311240A JP 2000311240 A JP2000311240 A JP 2000311240A JP 2000088445 A JP2000088445 A JP 2000088445A JP 2000088445 A JP2000088445 A JP 2000088445A JP 2000311240 A JP2000311240 A JP 2000311240A
Authority
JP
Japan
Prior art keywords
hardware
instructions
graphics
rendering
instruction
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2000088445A
Other languages
English (en)
Other versions
JP3375074B2 (ja
Inventor
Robert J Devins
ロバート・ジェイ・デヴィンズ
M Sheenrii Paul
ポール・エム・シェーンリー
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2000311240A publication Critical patent/JP2000311240A/ja
Application granted granted Critical
Publication of JP3375074B2 publication Critical patent/JP3375074B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General 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)
  • Processing Or Creating Images (AREA)

Abstract

(57)【要約】 【課題】 ホスト・システム操作を最小限しか必要とせ
ずに、グラフィクス・サブシステム上で要求時にグラフ
ィクス・レンダリングを行う。 【解決手段】 レンダリングする所望の画像を定義する
基本レンダリング関数の呼出しのシーケンスをプログラ
ム開始識別子とプログラム終了識別子との間で区切るよ
うに、グラフィクスのレンダリングを必要とするアプリ
ケーション・プログラムをコード化する。このアプリケ
ーション・プログラムがホスト・オペレーティング・シ
ステム上で実行されると、プログラム開始識別子が、ホ
スト・システム内のグラフィクス・デバイス・ドライバ
中の関数を呼び出す。この関数は、アプリケーション・
プログラム内のレンダリング関数に対する呼出しを、グ
ラフィクス・サブシステムに対するハードウェア命令と
してメモリ内にキャプチャする。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、コンピュータ・グ
ラフィクス・システムに関し、詳細には、わずかなホス
ト・プロセッサ操作しか必要とせずにグラフィクス・レ
ンダリングを要求時に実行することができるレジスタ・
ベースのグラフィクス・サブシステム上に、ホスト・プ
ロセッサからのレンダリング命令をオフロード(offloa
d)することによって、グラフィクス・レンダリング速
度と効率を向上させる方法およびシステムに関する。
【0002】
【従来の技術】一般に、コンピュータ・グラフィクス画
像は、フレーム・バッファと呼ばれる記憶場所に記憶さ
れた画素定義(輝度と色)を表示画面に転送することに
よって生成される。現在、ほとんどの表示システムはラ
スタ方式、すなわち、表示画面の蛍光体被覆された内表
面をビームが適切な周波数で走査するときに、フレーム
・バッファに記憶された値によって所与の画素における
電子ビームの輝度と色が決まる方式である。
【0003】プログラム・コード中の画像定義のセット
を、CRT上に物理的に表示可能な画素値のセットに変
換し、その後でそれらの画素値をCRT上に走査するプ
ロセスを、しばしば「レンダリング」と呼ぶ。レンダリ
ングでは、プロセッサが、より複雑な画像のためのビル
ディング・ブロックであるグラフィカル・プリミティブ
の指定をアプリケーション・プログラムから取出し、そ
れらを画素定義に変換しなければならない。
【0004】グラフィクス操作の実行を必要とするアプ
リケーション・プログラムは、一般に、線、円、多角形
などのプリミティブをレンダリングする基本レンダリン
グ関数を呼び出す。これらの基本レンダリング関数は、
低水準コードで書かれ、グラフィクス・ライブラリ内に
置かれる。基本レンダリング関数のセットは、アプリケ
ーション・プログラマーズ・インタフェース(API)
と呼ばれ、これによって、プログラマは、グラフィクス
・アプリケーションをこれらの基本関数で表してCやF
ortranなどの高水準言語で書くことができ、低水
準コードを書く必要がない。標準化された市販のAPI
の中には、OpenGL、PHIGS(プログラマーズ
・ハイアラキカル・グラフィクス・スタンダード)、お
よびGKS(グラフィカル・カーネル・システム)を含
むものがある。
【0005】
【発明が解決しようとする課題】画像をレンダリングす
るためには、アプリケーション・プログラム内の高水準
API指定を実施し、ハードウェア・レベル・コードに
還元しなければならない。次に、このハードウェア・レ
ベル・コードを実行して、フレーム・バッファへの書込
みまたは修正を行うのに必要な実際の物理的入出力操作
を行わなければならない。
【0006】単純画像の場合でも、これらのタスクはプ
ロセッサ時間とシステム・メモリのかなりの部分を消費
することがある。しかし、グラフィクス・アプリケーシ
ョンはますます高度化しており、複雑で、リアルな画像
をカラーで、光や陰影などを付けてレンダリングするこ
とを必要とするようになっている。たとえばビデオ・ゲ
ームの場合に、特定の画像を繰り返し生成する必要があ
る場合、プロセッサ時間とシステム・メモリの必要量が
多いことによって画像レンダリングが遅くなり、ユーザ
を苛立たせることがある。
【0007】したがって、ホスト・プロセッサの反復的
タスクをオフロードし、必要な他のタスクを実行するこ
とができるように解放することができるレンダリング手
法が必要である。具体的には、グラフィクス・アプリケ
ーション・プログラム内の高水準API指定からハード
ウェア実行可能命令を生成するのに必要なホスト・プロ
セッサ操作を、反復してレンダリングする必要がある画
像について1回行うだけで済むようにし、それらのハー
ドウェア実行可能命令を後で要求時に実行して画像をレ
ンダリングすることができれば、ホスト・プロセッサ・
サイクルおよびメモリが節約され、レンダリング速度が
向上するであろう。このような手法が従来の技術に存在
するとは知られていない。
【0008】本発明は、レンダリング・タスクをホスト
・プロセッサから、レンダリング・タスクを要求時に実
行可能なグラフィクス・サブシステムにオフロードする
方法およびシステムを提供する。
【0009】
【課題を解決するための手段】本発明による方法および
システムでは、グラフィクス・アプリケーション・プロ
グラムによって呼び出された基本レンダリング関数によ
って生成された、グラフィクス・ハードウェアに対する
ハードウェア命令が、メモリに取り込まれる。ハードウ
ェア命令が取り込まれた後は、要求時に画像をレンダリ
ングするためにそれらの命令をグラフィクス・サブシス
テム上で実行することができ、わずかなホスト・プロセ
ッサ操作しか必要としない。
【0010】本発明によるソフトウェアは、ハードウェ
ア命令として取り込む基本レンダリング関数のシーケン
スを定義するグラフィクス・アプリケーション・プログ
ラム内の命令に応答する。アプリケーション・プログラ
ム内の命令は、典型的には、本発明が備える利点を利用
したいと考えるプログラマによってコーディングされ、
プログラム開始識別子とプログラム終了識別子とによっ
て境界が区切られた、特定の画像をレンダリングするた
めのAPI内の基本レンダリング関数に対する終了高水
準呼出しを含むことができる。
【0011】好ましい実施形態によると、アプリケーシ
ョン・プログラムが実行されると、プログラム開始識別
子が本発明のソフトウェアを呼び出す。このソフトウェ
アは、プログラム開始識別子とプログラム終了識別子と
で境界を区切られた基本レンダリング関数に対する高水
準呼出しに対応するハードウェア命令を生成する命令を
実行する。ハードウェア命令は、実行されずにメモリに
記憶される。次に、このソフトウェアは、プログラム終
了識別子に遭遇すると、蓄積された記憶ハードウェア命
令をホスト・システムに実行可能プログラムとして登録
する。
【0012】その後、アプリケーション・プログラム
は、この画像のレンダリングを必要とするときは常に、
登録されている実行可能プログラムに対する呼出しを発
行し、記憶されているハードウェア命令がグラフィクス
・サブシステム内で実行されて、画像をレンダリング
し、ホスト・プロセッサ操作はわずかしか必要としな
い。したがって、アプリケーション・プログラムによっ
て指定された基本レンダリング関数のシーケンスに対応
するハードウェア命令を1回生成するだけで済むため、
ホスト・プロセッサ・サイクルが節約され、他のタスク
のために使用することができ、システム・メモリ所要量
が低減される。
【0013】
【発明の実施の形態】図1に、従来技術のグラフィクス
・レンダリング・システムの概念概要図を示す。図1に
示すシステムでは、ホスト・オペレーティング・システ
ム5は、グラフィク・デバイス・ドライバ・ソフトウェ
ア7を有し、このグラフィクス・デバイス・ドライバ・
ソフトウェア7はグラフィクス・アプリケーション・プ
ログラム8内の高水準グラフィクス・レンダリング指定
に応答して、グラフィクス・サブシステム6内のグラフ
ィクス・アクセラレータ30に低水準命令を出す。アク
セラレータ30は、グラフィクス・デバイス・ドライバ
7の制御下で、フレーム・バッファ35に画像定義を書
込み、これらの画像定義が表示装置40上に走査されて
画像が物理的にレンダリングされる。
【0014】これと対照して、図2に本発明によるグラ
フィクス・レンダリングのための方法およびシステムに
おける基本ソフトウェア構成要素およびハードウェア構
成要素を示す。要素としては、ランダム・アクセス・メ
モリ20と、「ディスプレイ・リスト・プロセッサ(D
LP)」25と呼ばれるカスタム・グラフィクス・プロ
セッサと、アクセラレータ30と、フレーム・バッファ
35と、CRTなどの表示装置40を含むグラフィクス
・サブシステム10が含まれる。DLP25は、メモリ
20に記憶されているハードウェア命令をフェッチする
ことができ、それらの命令を発行してアクセラレータ3
0を制御することができる。アクセラレータ30は、D
LP25によって発行された命令に従って画素定義をフ
レーム・バッファ35に書き込むことができるようにす
る高速レジスタを含む。画素定義はその後フレーム・バ
ッファ35から表示装置40に走査され、画像が生成さ
れる。
【0015】次に図2と図3の両方を参照すると、本発
明の特徴を実現するコンピュータ実行可能命令がグラフ
ィクス・デバイス・ドライバ15内に実施されている。
デバイス・ドライバ15は、キャプチャ・ルーチン50
とAPIセット17、すなわち、プリミティブをレンダ
リングする基本レンダリング関数のセットを含む。AP
I内の各関数は、ハードウェア・レベルでのコンピュー
タ実行可能命令のシーケンスと、たとえば所与のプリミ
ティブの寸法および色とフレーム・バッファ内のその記
憶場所とを指定する一次レジスタ書込み命令とを含む。
【0016】API17内の関数は、固有ニーモニック
識別子、たとえば「Draw_Line」、「Draw_Circle」また
は「Fill_Circle」によって関数を指定し、それに線の
長さ、円の半径、塗りつぶす色などの適切なパラメータ
を渡すことにより、高水準プログラム内の命令によって
呼び出すことができる。
【0017】キャプチャ・ルーチン50は、ホスト・シ
ステム5上で実行されている高水準アプリケーション・
プログラム45内の命令に応答し、ランダム・アクセス
・メモリ20内にハードウェア命令として事前記憶する
API関数呼出し47のシーケンスを識別するコンピュ
ータ実行可能命令を含む。高水準プログラム内の命令
は、本発明が備える有利な機構を呼び出すために、一般
にはプログラマによって、グラフィクスのレンダリング
を必要とするアプリケーション・プログラムにコーディ
ングされる。
【0018】本発明の機構を呼び出す高水準アプリケー
ション・プログラム45内の命令は、「Begin_Progra
m」46と「End_Program」48の識別対を含み、これに
よって、デバイス・ドライバ15に備えられているAP
Iセット17内の特定のレンダリング関数に対するニー
モニック識別子による呼出しとして(必要なパラメータ
と共に)プログラマによってコーディングされたAPI
関数呼出し47のシーケンスを囲むかまたは境界を区切
る。プログラマは、所望の画像を生成するために、AP
Iシーケンスを任意にコーディングする。Begin_Progra
m/End_Program境界区切り対によって、メモリ20内に
ハードウェア命令として事前記憶するAPIシーケンス
が識別される。
【0019】アプリケーション・プログラム45内のBe
gin_Program命令46が実行されると、デバイス・ドラ
イバ・コード15内のキャプチャ・ルーチン50に対し
て関数呼出しが発行される。図3に、このキャプチャ・
ルーチンの基本的な流れを示す。図のシーケンスは、ア
プリケーション・プログラム45内のBegin_Program命
令46によって開始される。まず、ブロック55に示す
ように、キャプチャ・ルーチンは、デバイス・ドライバ
15に対して、API関数呼出し47によって生成され
たハードウェア命令をアクセラレータ30に発行するこ
とによって実行するのではなく、それらのハードウェア
命令をメモリ20に記憶するように指示するフラグを設
定する。したがって、ブロック60に示すように、プロ
グラマ指定パラメータをAPIライブラリ17内の適切
なAPIに渡し、APIをメモリ20に記憶することに
よって、Begin_Program命令46に続くAPI関数呼出
し47が評価され、対応するハードウェア命令が生成さ
れる。APIは、フレーム・バッファ35への書込みを
行い、プログラマによって呼出しパラメータに指定され
た特定のレンダリング命令関数を実行する完全機械実行
可能レジスタ命令を含む。キャプチャ・ルーチン50
は、ブロック60に示す操作を各API関数呼出し47
ごとに実行する。キャプチャ・ルーチンの間、デバイス
・ドライバは、メモリ20内に記憶された命令の開始ア
ドレスと範囲を計算し、記録する。次に、ブロック65
に示すように、アプリケーション・プログラム45がEn
d_Program命令48を発行すると、キャプチャ・ルーチ
ンは、Begin_Program命令46によって設定されたフラ
グをリセットし、記憶されたハードウェア実行可能命令
全体を実行可能プログラムとしてホスト・システム5に
登録する。これでこのプログラムは、固有ニーモニック
識別子である「id」を使用して呼び出せるようにな
る。このidは、デバイス・ドライバによって計算され
てアプリケーション・プログラム45に返される数値を
含む変数である。「id」変数には通常、プログラマに
よってBegin_Program命令46で意味のある名前が与え
られる。
【0020】デバイス・ドライバは、上述のプロセスを
アプリケーション・プログラム45内の各Begin_Progra
m/End_Program対について実行する。このような対は多
数ある場合があるが、境界を区切られたAPIシーケン
ス47がハードウェア命令に変換され、メモリ20に記
憶され、実行可能プログラムとしてホスト・システム5
に登録された後は、通常のホスト・プロセッサ、すなわ
ちデバイス・ドライバ操作の必要なしに、グラフィクス
・サブシステム10によって要求時に実行することがで
きる。図3に示すように、アプリケーション・プログラ
ム45は、Execute_Program命令49内で、割り当てら
れたニーモニック「id」を指定するだけで、表示画面
上に画像を何度でもレンダリングすることができる。Ex
ecute_Program命令49によって、DLP25が、メモ
リ20に記憶されている「id」に対応するハードウェ
ア命令を読み取り、それらの命令をアクセラレータ30
に対して発行する。アクセラレータは、レジスタ命令を
実行してフレーム・バッファ35に入れる。次に、フレ
ーム・バッファ35から画素定義が表示装置40上に走
査され、所望の画像が生成される。
【0021】必要なデバイス・ドライバ操作は、Locate
_Scene命令70で指定された画像をフレーム・バッファ
35内で探し出し、次に、Execute_Program命令49で
指定されている記憶ハードウェア命令を開始して画像を
物理的にレンダリングすることだけである。普通ならア
プリケーション・プログラムが必要とするたびにAPI
関数のシーケンスを実際に実行することによってシーケ
ンスを実行することが必要になるはずのデバイス・ドラ
イバ操作が不要になり、それらの操作に要するホスト・
プロセッサ・サイクルとメモリが他の用途のために解放
される。
【0022】プログラマがビデオ・ゲームのために自動
車の画像を生成する、本発明の一応用例を以下に示す。
この自動車の画像は、反復して生成する必要がある。
【0023】一般には、プログラマは、ホスト・プロセ
ッサと、メモリと、読取り/書込みディスク記憶装置
と、オペレーティング・システムおよびソフトウェア・
アプリケーションとのユーザ対話を可能にするキーボー
ドやマウスなどの入出力装置とを含むコンピュータ・シ
ステム上で作業をし、ソフトウェア・アプリケーション
には、ソフトウェアの作成と編集のためのテキスト・エ
ディタが含まれる。プログラマは、テキスト・エディタ
を使用して、本発明のデバイス・ドライバ・ソフトウェ
アによって認識可能な命令を含むソース・コードの作成
または編集を行う。本発明を実施するためには、コンピ
ュータ・システムは一般には、図2に示す構成要素を含
むグラフィクス・サブシステムをさらに必要とする。
【0024】このビデオ・ゲームのためのソース・コー
ドで、プログラマは一般には、自動車画像の構成要素を
レンダリングするAPI関数のシーケンスの境界を区切
るBegin_Program/End_Program対を定義するプログラム
命令を作成する。たとえば、自動車のタイヤ構成要素を
レンダリングするAPI関数のシーケンスを区切る疑似
コードは、以下のようになる。 htire = Begin_Program();//基本タイヤをレンダリングする記録プログラムを 定義する; Draw_Circle(100); //タイヤの輪郭を描く; Fill_Circle(Black); //円を黒で塗りつぶす; Draw_Circle(10); //タイヤの中央に直接より小さい円を描く; Fill_Circle(Silver); //この円にクロムの中心を付ける; End_Program(); //タイヤをレンダリングするこのハードウェア //命令を保管する;
【0025】この例では、最初の命令「htire = Begin_
Program()」によって、本発明の方法によりハードウェ
ア命令に変換してメモリに記憶するAPI関数のシーケ
ンスの開始がマークされる。ニーモニック「htire」
は、プログラマによって恣意的に割り当てられたもので
あり、デバイス・ドライバ15によって計算され、生成
する記憶プログラムの識別と追跡に使用される数値が入
る変数である。
【0026】後続の命令「Draw_Circle(100)」(「10
0」はここでは関数パラメータであり、参照番号ではな
いことに留意)、「Fill_Circle(Black)」、「Draw_Cir
cle(10)」、および「Fill_Circle(Silver)」は、プリミ
ティブをレンダリングするAPI17内の関数の呼出し
である。ここでは、API関数によって、中央に小さい
銀色の円を持つ黒い円がレンダリングされ、タイヤが表
現される。
【0027】最後の行「End_Program()」は、記憶する
APIシーケンスの終わりをマークする。
【0028】このビデオ・ゲームのソース・コードを同
様に編集して、自動車の車体、ウィンドウ、バンパなど
をレンダリングするAPIシーケンスの境界が区切られ
る。
【0029】一般に、本発明によって得られる利点を最
もよく実現するには、プログラマはアプリケーション・
プログラムの実行の準備段階または初期設定段階とし
て、上述のように、ハードウェア命令として事前記憶す
るすべてのAPIシーケンスを特定する。ハードウェア
命令が記憶された後でそれらを実行するソース・コード
が、この初期設定段階の後に続くことになる。この自動
車の例では、記憶ハードウェア命令を実行する疑似コー
ドはたとえば以下のようになる。 Locate_Scene(front); //前輪タイヤを描画する場所を指定する; Execute_Program(htire); //自動車の前部でタイヤ全体を //レンダリングする; Locate_Scene(rear); //後輪タイヤを描画する場所を指定する; Execute_Program(htire); //自動車の後部でタイヤ全体を //レンダリングする; Locate_Scene(top); //自動車の車体を描画する場所を指定する; Execute_Program(hbody); //自動車の車体を描画する(「hbody」は //「htire」と同様、事前記憶プログラムである)
【0030】上述のように事前記憶APIシーケンスを
識別し、実行するように編集された後で、このビデオ・
ゲーム・ソース・コードは、後で実行するために記憶装
置に保管される。
【0031】図4に、上述のプログラム例の実行を図示
する(自動車の車体のレンダリングは図示されていな
い)。このプログラムは、ホスト・システム5内でグラ
フィクス・アプリケーション・プログラム45として実
行される。命令「htire = Begin_Program」46の実行
の結果、キャプチャ・ルーチン50に対する関数呼出し
が行われ、図3に示す基本プロセスが開始される。上述
の特定の例のプロセスの流れを図4に示す。
【0032】まず、キャプチャ・ルーチン50が、AP
I関数呼出し47に対応するハードウェア命令を実行せ
ずにメモリ20に記憶することを示すフラグを設定す
る。したがって、ブロック60aに示すように、API
呼出し「Draw_Circle(100)」47aによって、キャプチ
ャ・ルーチン50は、対応するハードウェア命令の生成
と記憶を行う命令を実行する。そのために、キャプチャ
・ルーチンは、この所期の円の半径を定義するプログラ
マ指定パラメータ「100」を、レジスタ入出力命令を
含む基本レンダリング関数「Draw_Circle()」18に渡
し、このレジスタ命令をメモリ20に記憶する。
【0033】次に、ブロック60bに示すように、キャ
プチャ・ルーチンは、次の命令「Fill_Circle(Black)」
47bに応答し、基本レンダリング関数「Fill_Circl
e()」19に色パラメータ「Black」を渡すことによっ
て、円を黒で塗りつぶすハードウェア命令を生成し、こ
のレジスタ命令をメモリ20に記憶する。
【0034】ブロック60cおよび60dは、API指
定47cおよび47dと同様に応答する。
【0035】次に、アプリケーション・プログラムがEn
d_Program命令48を出し、キャプチャ・ルーチンはブ
ロック65に示すように応答する。Begin_Program命令
によって設定されたフラグがリセットされ、上記のプロ
セス中にメモリ20に記憶されたハードウェア命令全体
が実行可能プログラム「htire」としてホスト・システ
ム5に登録される。
【0036】アプリケーション・プログラム45は実行
を続ける。これで、タイヤの画像をレンダリングするの
に必要なすべてのハードウェア・レベルの命令が、実行
可能プログラム「htire」としてメモリ20に記憶され
ている。したがって、この後で、アプリケーション・プ
ログラムは、このタイヤを表示装置40上でレンダリン
グしたいときにいつでも「Execute_Program(htire)」命
令49を必要な回数だけ出せば、グラフィクス・サブシ
ステムがレンダリングする。その際、Locate_Scene命令
70aおよび70bでの指定に従って画像の位置を決
め、画像を物理的にレンダリングするExecute_Program
命令49で指定されている記憶ハードウェア命令を開始
する以外のデバイス・ドライバ操作は不要である。Exec
ute_Program命令49に応答して、DLP25がメモリ
20に記憶されている「htire」に対応するハードウェ
ア命令を読み取り、その命令をアクセラレータ30に対
して出す。アクセラレータは、フレーム・バッファ35
に書き込むレジスタ命令を実行する。次に、フレーム・
バッファ35から画素定義が表示装置40上に操作さ
れ、タイヤの画像が生成される。
【0037】上述の自動車レンダリングの例では、Loca
te_Scene(front)70aおよびLocate_Scene(rear)70
b疑似コード命令は、キャプチャしたハードウェア命令
を使用してタイヤのレンダリングのためのフレーム・バ
ッファ場所を指定する命令である。複雑なシーンである
自動車は、Locate_Scene命令で指定された場所に、タイ
ヤ、車体などの構成要素を組み立てることによって構成
される。
【0038】Execute_Program命令をネストすることに
よって自動車をレンダリングすることも可能である。た
とえば、「htire」、「hbody」などを呼び出すExecute_
Program命令を含む「hcar」というメイン・プログラム
を作成することができる。これらのExecute_Program命
令の前に、基本シーンを基準にして、基本シーン内のオ
ブジェクトをレンダリングする場所を指定するLocate_S
cene_Object命令を付ける。次に、「hcar」がキャプチ
ャされたら、単一のExecute_Program(hcar)命令を使用
して自動車全体をレンダリングすることができる。
【0039】自動車レンダリングの例で示したように、
本発明が備える利点は、上述の方法およびシステムによ
り、ハードウェア命令としてキャプチャされたより単純
で再配置可能なサブシーンを使用することによって、複
雑なシーンを効率的に作成することができることであ
る。フレーム・バッファ内の基本シーンの場所を指定
し、次に、キャプチャされたハードウェア命令を使用し
て基本シーン内にサブシーンを配置することによって複
雑なシーンを迅速にレンダリングすることができる。
【0040】Locate_Scene命令自体を、再配置可能サブ
シーンと共にハードウェア命令としてキャプチャするこ
とによって、さらに改良された機構を実現することがで
きる。一例を、以下の疑似コードに示す。//右下隅付近
に対角線を含む再配置可能サブシーンを作成する hprog = Begin_Program() //「hprog」という記憶プログラムを作成す る //キャプチャ・ルーチンを開始する; Locate_Scene_Object(20,20) //指定された基本シーン座標を基準にして //座標(20,20)にオブジェクトを配置する //ハードウェア命令を生成し、記憶する; Drawn_in_Object(0,0,10,10) //10画素の対角線をレンダリングする //ハードウェア命令を生成し、記憶する; End_Program(hprog) //キャプチャ・ルーチンを終了し、 //「hprog」を実行可能プログラムとして //ホスト・システムに登録する
【0041】アプリケーション・プログラム45で上記
の疑似コードをコーディングし、図2および図3に示す
ようにホスト・システム5上で実行すると、メモリ20
上のハードウェア命令から成る記憶プログラムが作成さ
れ、これがDLP25で実行されると、基本シーン内の
指定座標を基準にして、デカルト(x,y)座標(2
0,20)を有するフレーム・バッファ場所に10画素
の対角線がレンダリングされる。
【0042】キャプチャされたプログラム「hprog」を
使用して基本シーン内にサブシーンを効率的に再配置
し、レンダリングする例を、以下の疑似コードに示す。 Locate_Scene(primary_scene,0,0,) //基本シーン内の座標(0,0)に //サブシーンを配置する; Execute_Program(hprog) //キャプチャしたハードウェア命令 //を使用し、(0,0)を基準にして //(20,20)にサブシーン(10画素の //対角線)をレンダリングする; Locate_Scene(primary_scene,55,59) //基本シーン内の座標(55,59)に //サブシーンを配置する; Execute_Program(hprog) //キャプチャしたハードウェア命令 //を使用し、(55,59)を基準にして //(20,20)にサブシーン(10画素の //対角線)をレンダリングする
【0043】上記の疑似コード例を、アプリケーション
・プログラム45内で実行すると、DLP25は、キャ
プチャされたハードウェア命令「hprog」を使用して、
「primary_scene」によって指定された基本シーン内の
座標(20,20)および座標(75,79)に、10
画素の対角線から成るサブシーンをレンダリングする。
【0044】上述の本発明の概念は、広範囲の可能な応
用分野を持ち、これを使用して、アプリケーション・プ
ログラマによる指定の通りに、様々なタイプの高水準コ
ンピュータ・プログラム命令シーケンスから再使用可能
記憶ハードウェア・レベル命令を生成することができ
る。次に、この記憶ハードウェア命令を、サブシステム
上で実行することができ、ホスト・オペレーティング・
システムは最小限の操作しか必要とせず、ホスト・プロ
セッサ・サイクルおよびメモリの必要量が低減される。
【0045】前述のように、本発明は、グラフィクス・
サブシステムのグラフィクス・デバイス・ドライバ内の
コンピュータ実行可能命令として実施されるので有利で
ある。実施のために、デバイス・ドライバ・コードを適
切な場所の任意のコンピュータ使用可能媒体上、たとえ
ばコンピュータ・メモリ内に、ホスト・オペレーティン
グ・システムの完全リンク・サブルーチンとして常駐さ
せることができる。アクティブに実施しない場合には、
コードをテープ、フロッピィ・ディスク、ハード・ディ
スク、CD−ROMなどの携帯用コンピュータ使用可能
媒体上に入れることができる。
【0046】まとめとして、本発明の構成に関して以下
の事項を開示する。
【0047】(1)グラフィクス・レンダリングを行う
方法であって、グラフィクス・アプリケーション・プロ
グラムによって呼び出された基本レンダリング関数によ
って生成されたハードウェア命令を実行プログラムとし
てメモリ内にキャプチャするステップと、キャプチャさ
れた前記ハードウェア命令をグラフィクス・サブシステ
ム上で要求時に実行して画像をレンダリングするステッ
プとを含む方法。 (2)前記キャプチャ・ステップが、グラフィクス・ア
プリケーション・プログラム内の、基本レンダリング関
数のシーケンスの境界を区切る命令に応答して、前記レ
ンダリング関数に対応する前記ハードウェア命令を生成
するステップと、前記ハードウェア命令をメモリに記憶
するステップと、記憶された前記ハードウェア命令を実
行可能プログラムとしてホスト・オペレーティング・シ
ステムに定義するステップとを含む、上記(1)に記載
の方法。 (3)前記ハードウェア命令が、基本レンダリング関数
の集合から入手した基本レンダリング関数にユーザ指定
パラメータを渡すことによって生成される、上記(1)
に記載の方法。 (4)前記実行ステップが、グラフィクス・プロセッサ
を使用して、前記メモリ内のキャプチャされた前記ハー
ドウェア命令を発行するステップと、グラフィクス・ア
クセラレータを使用して、キャプチャされた前記命令を
受け取り、キャプチャされた前記命令から得られた画像
情報をフレーム・バッファに書込み、画像をレンダリン
グするステップとを含む、上記(1)に記載の方法。 (5)ホスト・オペレーティング・システムと、レンダ
リング操作を行うハードウェアを含むグラフィクス・サ
ブシステムとを含み、前記ホスト・オペレーティング・
システムが、グラフィクス・アプリケーション・プログ
ラムによって発行された命令に応答し、前記グラフィク
ス・アプリケーションによって呼び出された基本レンダ
リング関数によって生成された前記グラフィクス・サブ
システムに対するハードウェア命令を、実行可能プログ
ラムとしてメモリ内にキャプチャするコンピュータ実行
可能命令を含む、グラフィクス・レンダリングを行うコ
ンピュータ・システム。 (6)前記ソフトウェアが、前記グラフィクス・アプリ
ケーション・プログラム内の、基本レンダリング関数の
シーケンスの境界を区切る命令に応答して、前記レンダ
リング関数に対応する前記ハードウェア命令を生成し、
前記ハードウェア命令をメモリに記憶し、記憶された前
記ハードウェア命令を実行可能プログラムとしてホスト
・オペレーティング・システムに定義することによっ
て、前記ハードウェア命令をキャプチャする、上記
(5)に記載のコンピュータ・システム。 (7)前記ハードウェア命令が、基本レンダリング関数
の集合から入手した基本レンダリング関数にユーザ指定
パラメータを渡すことによって生成される、上記(5)
に記載のコンピュータ・システム。 (8)グラフィクス・レンダリングを行う前記ハードウ
ェアが、前記メモリからキャプチャされた前記ハードウ
ェア命令を発行するグラフィクス・プロセッサと、キャ
プチャされた前記命令を受け取り、キャプチャされた前
記命令から得られた画素情報をフレーム・バッファに書
き込み、画像をレンダリングするグラフィクス・アクセ
ラレータとを含む、上記(5)に記載のコンピュータ・
システム。 (9)グラフィクス・レンダリングを行う方法を実施す
るコンピュータ実行可能プログラム・コードを実施する
コンピュータ使用可能媒体であって、前記コードがグラ
フィクス・アプリケーション・プログラム内の命令に応
答し、前記グラフィクス・アプリケーション・プログラ
ムによって呼び出された基本レンダリング関数によって
生成されたハードウェア命令を実行可能プログラムとし
てメモリにキャプチャする、コンピュータ使用可能媒
体。 (10)前記コードが、グラフィクス・アプリケーショ
ン・プログラム内の、基本レンダリング関数のシーケン
スの境界を区切る命令に応答して、前記レンダリング関
数に対応する前記ハードウェア命令を生成し、前記ハー
ドウェア命令をメモリに記憶し、記憶された前記ハード
ウェア命令を実行可能プログラムとしてホスト・オペレ
ーティング・システムに定義することによって、前記ハ
ードウェア命令をキャプチャする命令を含む、上記
(9)に記載のコンピュータ使用可能媒体。 (11)前記ハードウェア命令が、基本レンダリング関
数の集合から入手した基本レンダリング関数にユーザ指
定パラメータを渡すことによって生成される、上記
(9)に記載のコンピュータ使用可能媒体。 (12)前記コードが、前記メモリからキャプチャされ
た前記ハードウェア命令をグラフィクス・アクセラレー
タに対して発行するようにグラフィクス・プロセッサを
制御する命令を含む、上記(9)に記載のコンピュータ
使用可能媒体。 (13)ホスト・オペレーティング・システムのサブシ
ステム上で要求時に実行可能な再使用可能ハードウェア
・レベル命令を使用して、高水準コンピュータ・プログ
ラム命令シーケンスを実行する方法であって、前記アプ
リケーション・プログラムによって発行された前記高水
準命令によって生成された前記サブシステムに対するハ
ードウェア命令を、実行可能プログラムとしてメモリ内
にキャプチャするステップと、キャプチャされた前記ハ
ードウェア命令を前記サブシステム上で要求時に実行す
るステップとを含む方法。 (14)前記キャプチャ・ステップが、グラフィクス・
アプリケーション・プログラム内の、高水準命令のシー
ケンスの境界を区切る命令に応答して、前記高水準命令
に対応する前記ハードウェア・レベルの命令を生成する
ステップと、前記ハードウェア命令をメモリに記憶する
ステップと、記憶された前記ハードウェア命令を実行可
能プログラムとしてホスト・オペレーティング・システ
ムに定義することによって、前記ハードウェア命令をキ
ャプチャするステップとを含む、上記(13)に記載の
方法。 (15)前記ハードウェア命令が、ハードウェア・レベ
ル関数の集合から入手したハードウェア・レベル関数に
ユーザ指定パラメータを渡すことによって生成される、
上記(13)に記載の方法。 (16)グラフィクス・レンダリングを行う方法であっ
て、メモリ内にハードウェア命令としてキャプチャする
シーケンスとして基本レンダリング関数のシーケンスを
グラフィクス・アプリケーション・プログラム内に定義
するステップと、定義された前記シーケンスを含む前記
グラフィクス・アプリケーション・プログラムを実行
し、キャプチャされた前記ハードウェア命令を生成する
ステップと、キャプチャされた前記ハードウェア命令を
実行して画像をレンダリングするステップとを含む方
法。 (17)前記定義ステップが、前記キャプチャ・プロセ
スを呼び出すために識別子間で基本レンダリング関数の
シーケンスの境界を区切るステップを含む、上記(1
6)に記載の方法。 (18)前記グラフィクス・アプリケーション・プログ
ラムを実行する前記ステップが、グラフィクス・サブシ
ステムを有するホスト・オペレーティング・システム上
で実行され、前記ホスト・オペレーティング・システム
が、基本レンダリング関数のシーケンスの境界を区切る
前記グラフィクス・アプリケーション・プログラム内の
前記識別子に応答して、前記レンダリング関数に対応す
る、グラフィクス・ハードウェアに対するハードウェア
命令を生成し、前記ハードウェア命令をメモリに記憶
し、記憶された前記ハードウェア命令を実行可能プログ
ラムとして前記ホスト・オペレーティング・システムに
定義する命令を含むソフトウェアを含む、上記(17)
に記載の方法。 (19)グラフィクス・レンダリングを行う方法であっ
て、グラフィクス・アプリケーション・プログラムによ
って呼び出された、サブシーンを定義する基本レンダリ
ング関数のシーケンスによって生成されたハードウェア
命令を実行可能プログラムとしてメモリ内にキャプチャ
するステップと、前記サブシーンをレンダリングする基
本シーン内の場所を指定し、キャプチャされた前記命令
を実行して前記サブシーンを前記指定場所でレンダリン
グする方法。 (20)グラフィクス・レンダリングを行う方法を実施
するコンピュータ実行可能プログラム・コードを実施す
るコンピュータ使用可能媒体であって、前記方法が、グ
ラフィクス・アプリケーション・プログラムによって呼
び出された、サブシーンを定義する基本レンダリング関
数のシーケンスによって生成されたハードウェア命令を
実行可能プログラムとしてメモリ内にキャプチャするス
テップを含み、前記サブシーンをレンダリングする基本
シーン内の場所を指定し、キャプチャされた前記命令を
実行して前記サブシーンを前記指定場所でレンダリング
する、コンピュータ使用可能媒体。
【図面の簡単な説明】
【図1】従来技術のグラフィクス・レンダリング・シス
テムの概要を示す図である。
【図2】本発明を実施するシステムの基本ソフトおよび
ハードウェア構成要素を示す図である。
【図3】本発明によるキャプチャ・ルーチンの流れを示
す図である。
【図4】本発明を使用するアプリケーション・プログラ
ムの一例を示す図である。
【符号の説明】
5 ホスト・システム 10 グラフィクス・サブシステム 15 グラフィクス・デバイス・ドライバ 17 APIライブラリ 18 基本レンダリング関数 19 基本レンダリング関数 20 ランダム・アクセス・メモリ 25 フレーム・バッファ 30 アクセラレータ 35 フレーム・バッファ 40 表示装置 45 高水準グラフィクス・アプリケーション・プログ
ラム 46 Begin_Program命令 47 API関数呼出し 48 End_Program命令 50 キャプチャ・ルーチン
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ロバート・ジェイ・デヴィンズ アメリカ合衆国05452 バーモント州エセ ックス・ジャンクション グリーク・ロー ド 10 (72)発明者 ポール・エム・シェーンリー アメリカ合衆国05452 バーモント州エセ ックス・ジャンクション ブラウンズ・リ バー・ロード 429

Claims (20)

    【特許請求の範囲】
  1. 【請求項1】グラフィクス・レンダリングを行う方法で
    あって、 グラフィクス・アプリケーション・プログラムによって
    呼び出された基本レンダリング関数によって生成された
    ハードウェア命令を実行プログラムとしてメモリ内にキ
    ャプチャするステップと、 キャプチャされた前記ハードウェア命令をグラフィクス
    ・サブシステム上で要求時に実行して画像をレンダリン
    グするステップとを含む方法。
  2. 【請求項2】前記キャプチャ・ステップが、 グラフィクス・アプリケーション・プログラム内の、基
    本レンダリング関数のシーケンスの境界を区切る命令に
    応答して、前記レンダリング関数に対応する前記ハード
    ウェア命令を生成するステップと、 前記ハードウェア命令をメモリに記憶するステップと、 記憶された前記ハードウェア命令を実行可能プログラム
    としてホスト・オペレーティング・システムに定義する
    ステップとを含む、請求項1に記載の方法。
  3. 【請求項3】前記ハードウェア命令が、基本レンダリン
    グ関数の集合から入手した基本レンダリング関数にユー
    ザ指定パラメータを渡すことによって生成される、請求
    項1に記載の方法。
  4. 【請求項4】前記実行ステップが、 グラフィクス・プロセッサを使用して、前記メモリ内の
    キャプチャされた前記ハードウェア命令を発行するステ
    ップと、 グラフィクス・アクセラレータを使用して、キャプチャ
    された前記命令を受け取り、キャプチャされた前記命令
    から得られた画像情報をフレーム・バッファに書込み、
    画像をレンダリングするステップとを含む、請求項1に
    記載の方法。
  5. 【請求項5】ホスト・オペレーティング・システムと、 レンダリング操作を行うハードウェアを含むグラフィク
    ス・サブシステムとを含み、 前記ホスト・オペレーティング・システムが、グラフィ
    クス・アプリケーション・プログラムによって発行され
    た命令に応答し、前記グラフィクス・アプリケーション
    によって呼び出された基本レンダリング関数によって生
    成された前記グラフィクス・サブシステムに対するハー
    ドウェア命令を、実行可能プログラムとしてメモリ内に
    キャプチャするコンピュータ実行可能命令を含む、グラ
    フィクス・レンダリングを行うコンピュータ・システ
    ム。
  6. 【請求項6】前記ソフトウェアが、 前記グラフィクス・アプリケーション・プログラム内
    の、基本レンダリング関数のシーケンスの境界を区切る
    命令に応答して、前記レンダリング関数に対応する前記
    ハードウェア命令を生成し、 前記ハードウェア命令をメモリに記憶し、 記憶された前記ハードウェア命令を実行可能プログラム
    としてホスト・オペレーティング・システムに定義する
    ことによって、前記ハードウェア命令をキャプチャす
    る、請求項5に記載のコンピュータ・システム。
  7. 【請求項7】前記ハードウェア命令が、基本レンダリン
    グ関数の集合から入手した基本レンダリング関数にユー
    ザ指定パラメータを渡すことによって生成される、請求
    項5に記載のコンピュータ・システム。
  8. 【請求項8】グラフィクス・レンダリングを行う前記ハ
    ードウェアが、 前記メモリからキャプチャされた前記ハードウェア命令
    を発行するグラフィクス・プロセッサと、 キャプチャされた前記命令を受け取り、キャプチャされ
    た前記命令から得られた画素情報をフレーム・バッファ
    に書き込み、画像をレンダリングするグラフィクス・ア
    クセラレータとを含む、請求項5に記載のコンピュータ
    ・システム。
  9. 【請求項9】グラフィクス・レンダリングを行う方法を
    実施するコンピュータ実行可能プログラム・コードを実
    施するコンピュータ使用可能媒体であって、前記コード
    がグラフィクス・アプリケーション・プログラム内の命
    令に応答し、前記グラフィクス・アプリケーション・プ
    ログラムによって呼び出された基本レンダリング関数に
    よって生成されたハードウェア命令を実行可能プログラ
    ムとしてメモリにキャプチャする、コンピュータ使用可
    能媒体。
  10. 【請求項10】前記コードが、 グラフィクス・アプリケーション・プログラム内の、基
    本レンダリング関数のシーケンスの境界を区切る命令に
    応答して、前記レンダリング関数に対応する前記ハード
    ウェア命令を生成し、 前記ハードウェア命令をメモリに記憶し、 記憶された前記ハードウェア命令を実行可能プログラム
    としてホスト・オペレーティング・システムに定義する
    ことによって、前記ハードウェア命令をキャプチャする
    命令を含む、請求項9に記載のコンピュータ使用可能媒
    体。
  11. 【請求項11】前記ハードウェア命令が、基本レンダリ
    ング関数の集合から入手した基本レンダリング関数にユ
    ーザ指定パラメータを渡すことによって生成される、請
    求項9に記載のコンピュータ使用可能媒体。
  12. 【請求項12】前記コードが、前記メモリからキャプチ
    ャされた前記ハードウェア命令をグラフィクス・アクセ
    ラレータに対して発行するようにグラフィクス・プロセ
    ッサを制御する命令を含む、請求項9に記載のコンピュ
    ータ使用可能媒体。
  13. 【請求項13】ホスト・オペレーティング・システムの
    サブシステム上で要求時に実行可能な再使用可能ハード
    ウェア・レベル命令を使用して、高水準コンピュータ・
    プログラム命令シーケンスを実行する方法であって、 前記アプリケーション・プログラムによって発行された
    前記高水準命令によって生成された前記サブシステムに
    対するハードウェア命令を、実行可能プログラムとして
    メモリ内にキャプチャするステップと、 キャプチャされた前記ハードウェア命令を前記サブシス
    テム上で要求時に実行するステップとを含む方法。
  14. 【請求項14】前記キャプチャ・ステップが、 グラフィクス・アプリケーション・プログラム内の、高
    水準命令のシーケンスの境界を区切る命令に応答して、
    前記高水準命令に対応する前記ハードウェア・レベルの
    命令を生成するステップと、 前記ハードウェア命令をメモリに記憶するステップと、 記憶された前記ハードウェア命令を実行可能プログラム
    としてホスト・オペレーティング・システムに定義する
    ことによって、前記ハードウェア命令をキャプチャする
    ステップとを含む、請求項13に記載の方法。
  15. 【請求項15】前記ハードウェア命令が、ハードウェア
    ・レベル関数の集合から入手したハードウェア・レベル
    関数にユーザ指定パラメータを渡すことによって生成さ
    れる、請求項13に記載の方法。
  16. 【請求項16】グラフィクス・レンダリングを行う方法
    であって、 メモリ内にハードウェア命令としてキャプチャするシー
    ケンスとして基本レンダリング関数のシーケンスをグラ
    フィクス・アプリケーション・プログラム内に定義する
    ステップと、 定義された前記シーケンスを含む前記グラフィクス・ア
    プリケーション・プログラムを実行し、キャプチャされ
    た前記ハードウェア命令を生成するステップと、 キャプチャされた前記ハードウェア命令を実行して画像
    をレンダリングするステップとを含む方法。
  17. 【請求項17】前記定義ステップが、前記キャプチャ・
    プロセスを呼び出すために識別子間で基本レンダリング
    関数のシーケンスの境界を区切るステップを含む、請求
    項16に記載の方法。
  18. 【請求項18】前記グラフィクス・アプリケーション・
    プログラムを実行する前記ステップが、グラフィクス・
    サブシステムを有するホスト・オペレーティング・シス
    テム上で実行され、前記ホスト・オペレーティング・シ
    ステムが、 基本レンダリング関数のシーケンスの境界を区切る前記
    グラフィクス・アプリケーション・プログラム内の前記
    識別子に応答して、前記レンダリング関数に対応する、
    グラフィクス・ハードウェアに対するハードウェア命令
    を生成し、 前記ハードウェア命令をメモリに記憶し、 記憶された前記ハードウェア命令を実行可能プログラム
    として前記ホスト・オペレーティング・システムに定義
    する命令を含むソフトウェアを含む、請求項17に記載
    の方法。
  19. 【請求項19】グラフィクス・レンダリングを行う方法
    であって、 グラフィクス・アプリケーション・プログラムによって
    呼び出された、サブシーンを定義する基本レンダリング
    関数のシーケンスによって生成されたハードウェア命令
    を実行可能プログラムとしてメモリ内にキャプチャする
    ステップと、 前記サブシーンをレンダリングする基本シーン内の場所
    を指定し、キャプチャされた前記命令を実行して前記サ
    ブシーンを前記指定場所でレンダリングする方法。
  20. 【請求項20】グラフィクス・レンダリングを行う方法
    を実施するコンピュータ実行可能プログラム・コードを
    実施するコンピュータ使用可能媒体であって、前記方法
    が、 グラフィクス・アプリケーション・プログラムによって
    呼び出された、サブシーンを定義する基本レンダリング
    関数のシーケンスによって生成されたハードウェア命令
    を実行可能プログラムとしてメモリ内にキャプチャする
    ステップを含み、 前記サブシーンをレンダリングする基本シーン内の場所
    を指定し、キャプチャされた前記命令を実行して前記サ
    ブシーンを前記指定場所でレンダリングする、コンピュ
    ータ使用可能媒体。
JP2000088445A 1999-03-31 2000-03-28 キャプチャされたグラフィクス・ハードウェア命令を使用したグラフィクス・レンダリングの方法およびシステム Expired - Fee Related JP3375074B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/283386 1999-03-31
US09/283,386 US6952215B1 (en) 1999-03-31 1999-03-31 Method and system for graphics rendering using captured graphics hardware instructions

Publications (2)

Publication Number Publication Date
JP2000311240A true JP2000311240A (ja) 2000-11-07
JP3375074B2 JP3375074B2 (ja) 2003-02-10

Family

ID=23085812

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000088445A Expired - Fee Related JP3375074B2 (ja) 1999-03-31 2000-03-28 キャプチャされたグラフィクス・ハードウェア命令を使用したグラフィクス・レンダリングの方法およびシステム

Country Status (5)

Country Link
US (1) US6952215B1 (ja)
JP (1) JP3375074B2 (ja)
KR (1) KR100357296B1 (ja)
CN (1) CN100342396C (ja)
TW (1) TW463104B (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004029744A (ja) * 2002-04-15 2004-01-29 Microsoft Corp プログレッシブ・ビデオ表示のためのインターレース・ビデオ画像の処理を容易にする方法および装置
US7308151B2 (en) 2003-08-01 2007-12-11 Microsoft Corporation Strategies for producing quantized image information
KR100803216B1 (ko) 2006-09-28 2008-02-14 삼성전자주식회사 3차원 그래픽 데이터를 저작하는 방법 및 장치
US7451457B2 (en) 2002-04-15 2008-11-11 Microsoft Corporation Facilitating interaction between video renderers and graphics device drivers
US7929754B2 (en) * 2003-08-01 2011-04-19 Microsoft Corporation Strategies for processing image information using a color information data structure

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7209140B1 (en) * 1999-12-06 2007-04-24 Nvidia Corporation System, method and article of manufacture for a programmable vertex processing model with instruction set
US20050091576A1 (en) * 2003-10-24 2005-04-28 Microsoft Corporation Programming interface for a computer platform
US6828975B2 (en) * 2001-03-01 2004-12-07 Microsoft Corporation Method and system for managing graphics objects in a graphics display system
US10033700B2 (en) 2001-12-12 2018-07-24 Intellectual Ventures I Llc Dynamic evaluation of access rights
US7380120B1 (en) 2001-12-12 2008-05-27 Guardian Data Storage, Llc Secured data format for access control
US8065713B1 (en) 2001-12-12 2011-11-22 Klimenty Vainstein System and method for providing multi-location access management to secured items
US10360545B2 (en) * 2001-12-12 2019-07-23 Guardian Data Storage, Llc Method and apparatus for accessing secured electronic data off-line
JP4718763B2 (ja) * 2002-04-15 2011-07-06 マイクロソフト コーポレーション ビデオ・レンダラーとグラフィックス・デバイス・ドライバの間の相互作用を促進すること
KR20080008137A (ko) 2006-07-19 2008-01-23 삼성전자주식회사 영상 복원 장치 및 방법
US7817154B1 (en) * 2006-12-12 2010-10-19 Nvidia Corporation Graphics system with state transition caching
US20090096792A1 (en) * 2007-10-15 2009-04-16 Ati Technologies Ulc Fill mode determination in vector graphics
US8587593B2 (en) 2008-07-25 2013-11-19 Qualcomm Incorporated Performance analysis during visual creation of graphics images
US9792718B2 (en) 2008-07-25 2017-10-17 Qualcomm Incorporated Mapping graphics instructions to associated graphics data during performance analysis
EP2321730B1 (en) * 2008-07-25 2018-04-11 Qualcomm Incorporated Performance analysis during visual creation of graphics images
WO2012045191A1 (en) * 2010-10-05 2012-04-12 Intel Corporation System and method for multiple native software applications user interface composition
CN102467737B (zh) * 2010-11-04 2015-05-13 扬智科技股份有限公司 用于向量图形的线段对照表产生方法与产生装置
EP2727006B1 (en) * 2011-06-30 2018-10-31 Google LLC Rendering a text image following a line
US10154265B2 (en) 2013-06-21 2018-12-11 Nvidia Corporation Graphics server and method for streaming rendered content via a remote graphics processing service
KR101847262B1 (ko) 2016-03-18 2018-05-28 연세대학교 산학협력단 하드웨어 가속기를 포함하는 메인 메모리 및 메인 메모리의 동작 방법
CN107797904B (zh) * 2017-09-12 2021-12-24 福建天晴数码有限公司 一种测量响应时间的方法及终端
CN108717354B (zh) * 2018-05-17 2021-12-17 广州多益网络股份有限公司 手机游戏渲染数据的采集方法、装置及存储设备
CN110942518B (zh) 2018-09-24 2024-03-29 苹果公司 上下文计算机生成现实(cgr)数字助理
US11087430B2 (en) * 2018-09-28 2021-08-10 Apple Inc. Customizable render pipelines using render graphs
CN114669047B (zh) * 2022-02-28 2023-06-02 荣耀终端有限公司 一种图像处理方法、电子设备及存储介质

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61150059A (ja) 1984-12-24 1986-07-08 Sony Corp デ−タ処理装置
JP2564805B2 (ja) * 1985-08-08 1996-12-18 日本電気株式会社 情報処理装置
JPS6362079A (ja) 1986-09-03 1988-03-18 Agency Of Ind Science & Technol グラフイツクデイスプレイ
US5509115A (en) 1990-08-08 1996-04-16 Peerless Systems Corporation Method and apparatus for displaying a page with graphics information on a continuous synchronous raster output device
US5276798A (en) * 1990-09-14 1994-01-04 Hughes Aircraft Company Multifunction high performance graphics rendering processor
JP2558991B2 (ja) 1992-04-06 1996-11-27 松下電器産業株式会社 視点・光源機能の属性追加交換直接操作システム
CN2181711Y (zh) * 1993-03-02 1994-11-02 郭玉霞 图形分层产生装置
AUPM701394A0 (en) * 1994-07-22 1994-08-18 Monash University A graphical display system
AUPM704394A0 (en) 1994-07-25 1994-08-18 Canon Information Systems Research Australia Pty Ltd Optimization method for the efficient production of images
US5764243A (en) * 1995-03-24 1998-06-09 3Dlabs Inc. Ltd. Rendering architecture with selectable processing of multi-pixel spans
JPH08272344A (ja) * 1995-03-29 1996-10-18 Hitachi Ltd 高速画面表示装置及び方法
US5798762A (en) * 1995-05-10 1998-08-25 Cagent Technologies, Inc. Controlling a real-time rendering engine using a list-based control mechanism
US5659407A (en) * 1995-06-06 1997-08-19 Apple Computer, Inc. Method and system for rendering achromatic image data for image output devices
JP3002406B2 (ja) 1995-07-12 2000-01-24 株式会社ハドソン グラフィックプロセッサ
JP3038139B2 (ja) 1995-08-30 2000-05-08 株式会社クボタ グラフィックプロセッサ
US6222542B1 (en) * 1995-10-10 2001-04-24 Anysoft, Ltd Apparatus for and method of acquiring, processing and routing data contained in a GUI window
US5657479A (en) * 1995-12-04 1997-08-12 Silicon Graphics, Inc. Hierarchical display list processing in graphics data retrieval system
US5675773A (en) * 1995-12-21 1997-10-07 Cirrus Logic, Inc. Graphics display system with a low level hardware dependent graphics library
US5793937A (en) 1996-03-29 1998-08-11 Peerless Systems Corporation Fallback processing for page generation using memory reduction techniques
US5821950A (en) * 1996-04-18 1998-10-13 Hewlett-Packard Company Computer graphics system utilizing parallel processing for enhanced performance
KR970071323A (ko) 1996-04-22 1997-11-07 포만 제프리 엘 그래픽 서브시스템
US5790125A (en) * 1996-04-22 1998-08-04 International Business Machines Corporation System and method for use in a computerized imaging system to efficiently transfer graphics information to a graphics subsystem employing masked span
JP2768352B2 (ja) 1996-05-24 1998-06-25 日本電気株式会社 図形描画処理システム
US5995113A (en) * 1996-08-02 1999-11-30 Hewlett-Packard Company Coloring events in event streams in order to provide information about operation of a software library
JPH1055166A (ja) * 1996-08-09 1998-02-24 Mitsubishi Electric Corp 多角形塗りつぶしアクセラレータ
US5812136A (en) * 1996-10-30 1998-09-22 Microsoft Corporation System and method for fast rendering of a three dimensional graphical object
US5889994A (en) 1997-03-27 1999-03-30 Hewlett-Packard, Co. Method for cataloging graphics primitives by rendering state
US5969728A (en) * 1997-07-14 1999-10-19 Cirrus Logic, Inc. System and method of synchronizing multiple buffers for display

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4625241B2 (ja) * 2002-04-15 2011-02-02 マイクロソフト コーポレーション プログレッシブ・ビデオ表示のためのインターレース・ビデオ画像の処理を容易にする方法および装置
EP1357745A3 (en) * 2002-04-15 2005-01-26 Microsoft Corporation Method and apparatus for processing of interlaced video images for progressive video displays
US7451457B2 (en) 2002-04-15 2008-11-11 Microsoft Corporation Facilitating interaction between video renderers and graphics device drivers
JP2010068544A (ja) * 2002-04-15 2010-03-25 Microsoft Corp プログレッシブ・ビデオ表示のためのインターレース・ビデオ画像の処理を容易にする方法および装置
US7876379B2 (en) 2002-04-15 2011-01-25 Microsoft Corporation Methods and apparatuses for facilitating processing of interlaced video images for progressive video displays
JP2004029744A (ja) * 2002-04-15 2004-01-29 Microsoft Corp プログレッシブ・ビデオ表示のためのインターレース・ビデオ画像の処理を容易にする方法および装置
US8176500B2 (en) 2002-04-15 2012-05-08 Microsoft Corporation Closing a video stream object
US7308151B2 (en) 2003-08-01 2007-12-11 Microsoft Corporation Strategies for producing quantized image information
US7317827B2 (en) 2003-08-01 2008-01-08 Microsoft Corporation Strategies for optimally generating pipeline processing code
US7400762B2 (en) 2003-08-01 2008-07-15 Microsoft Corporation Strategies for performing scaling operations on image information
US7929754B2 (en) * 2003-08-01 2011-04-19 Microsoft Corporation Strategies for processing image information using a color information data structure
US8428346B2 (en) 2003-08-01 2013-04-23 Microsoft Corporation Strategies for processing image information using a color information data structure
KR100803216B1 (ko) 2006-09-28 2008-02-14 삼성전자주식회사 3차원 그래픽 데이터를 저작하는 방법 및 장치

Also Published As

Publication number Publication date
TW463104B (en) 2001-11-11
KR20010006855A (ko) 2001-01-26
CN1270366A (zh) 2000-10-18
US6952215B1 (en) 2005-10-04
KR100357296B1 (ko) 2002-10-19
JP3375074B2 (ja) 2003-02-10
CN100342396C (zh) 2007-10-10

Similar Documents

Publication Publication Date Title
JP3375074B2 (ja) キャプチャされたグラフィクス・ハードウェア命令を使用したグラフィクス・レンダリングの方法およびシステム
JP3218029B2 (ja) グラフィックス・システム、グラフィックス・オペレーションを実行する方法及びコンピュータ読取り可能媒体
JP5113143B2 (ja) グラフィックオペレーションのための高レベルプログラムインターフェース
RU2324229C2 (ru) Визуальный и пространственный графические интерфейсы
JP3618838B2 (ja) 画像出力方法
RU2363984C2 (ru) Интерфейсы визуального объекта и графа сцены
US6046747A (en) Graphics application programming interface avoiding repetitive transfer of texture mapping data
JP3618839B2 (ja) 画像出力方法
KR100615784B1 (ko) 에빅션 억제 방법, 프리미티브를 포함하는 장면을 렌더링하는 장치 및 머신 판독가능 매체
JP2005525617A (ja) ゾーン・レンダリング用の自動メモリ管理
KR20080042835A (ko) 사용자 인터페이스의 액티브 콘텐트에서의 확장가능한시각적 이펙트
JP5616223B2 (ja) デジタル画像をキャプチャするためのシステム及び方法
JP3725368B2 (ja) 画像の表示択方法、コンピュータ・システムおよび記録媒体
US6952217B1 (en) Graphics processing unit self-programming
JP2005135415A (ja) 命令語基盤グラフィック出力加速機能の含まれたグラフィックデコーダ、そのグラフィック出力加速方法及び映像再生装置
JP3883078B2 (ja) グラフィックイメージ生成方法
JPH07282270A (ja) 画像生成方法および装置
JP2000331185A (ja) 画像処理方法、画像処理装置、及びプログラム提供媒体
JP2002049932A (ja) ポリゴンモデルの影を表示する方法
JP2747055B2 (ja) 図形表示装置
JP3225633B2 (ja) 画像データ管理装置
CN117726742A (zh) 一种基于wpf的目标图片打码方法、装置及相关介质
JPH08185531A (ja) 画像塗りつぶし装置
JPH05290136A (ja) 図形処理システムにおけるピック入力方式
JP2005148995A (ja) 画像表示装置ならびにその表示方法、表示プログラム

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees