JPH09120278A - コンピュータグラフィックスシステムにおけるラインスキャンコンバージョン装置とその方法 - Google Patents

コンピュータグラフィックスシステムにおけるラインスキャンコンバージョン装置とその方法

Info

Publication number
JPH09120278A
JPH09120278A JP8146246A JP14624696A JPH09120278A JP H09120278 A JPH09120278 A JP H09120278A JP 8146246 A JP8146246 A JP 8146246A JP 14624696 A JP14624696 A JP 14624696A JP H09120278 A JPH09120278 A JP H09120278A
Authority
JP
Japan
Prior art keywords
line segment
vertex
data
line
rendering
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP8146246A
Other languages
English (en)
Inventor
L Ashbangh John
ジョン・エル・アシュバーン
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.)
HP Inc
Original Assignee
Hewlett Packard Co
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 Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of JPH09120278A publication Critical patent/JPH09120278A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles
    • G06T11/203Drawing of straight lines or curves
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/20Function-generator circuits, e.g. circle generators line or curve smoothing circuits

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Image Generation (AREA)

Abstract

(57)【要約】 【課題】 破線等のラインセグメントに対応した適正な
図形を生成できるようにする。 【解決手段】 コンピュータグラフィックスシステムに
おけるラインセグメントの第1および第2の頂点の頂点
データ(V1、V2)を画素データに変換するラインスキャ
ンコンバージョン装置(107 )におけるラインスキャン
プリプロセッサ(130 )に、ラインセグメントタイプを
示す入力に応じて前記の頂点データ(V1、V2)が所定の
レンダリング方向に対応するかどうかを判定する第1の
回路(193)と、頂点データが所定のレンダリング方向
に対応しないという判定に応じてレンダリングパラメー
タの計算順序をスワップして所定のレンダリング方向を
得る第2の回路(180 )とを設けた。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は広義には表示図形の
生成に関し、より詳細にはラインスキャンコンバージョ
ンステッパへの入力のためのラインセグメントに関係す
るデータの前処理に関する。
【0002】
【従来の技術】ビデオ表示画面上にオブジェクトを表示
するためには、線、三角形、四角形等の図形プリミティ
ブが通常画素表現に変換される。これは表示画面は個々
に起動されてオブジェクトを表現する画素(ピクセル)
の行列で構成されているためである。2つの頂点の間の
対角ラインセグメント等のような多くの場合、たとえ
ば、表示されるラインセグメントは画素の中心位置と正
確に交差しない場合がある。ベクトルとしても知られる
この種のラインセグメントを表示するためには、さまざ
まな技術を用いて起動すべき画素が決定される。起動す
べき画素の選択は一般的にはラスタ化と呼ばれる。この
ような処理の1つにDDA (デジタル微分解析器)スキャ
ンコンバージョンと呼ばれるものがある。DDA の変更態
様である他の技術にBresenham のラインアルゴリズムと
呼ばれるものがある。これらの技術はいずれも一般的に
はラインスキャンコンバージョン処理と呼ばれ、ライン
スキャンコンバータと呼ばれる装置によって実施するこ
とができる。ラインスキャンコンバータは図形線のプリ
ミティブ(原線)を表わす形状データをそのプリミティ
ブを表わす画素データに変換する。
【0003】
【発明が解決しようとする課題】いずれの技術において
も、起動すべく選択される画素は、ラインセグメントを
“レンダリングする”(ステッパがその特定の方向にス
テッピングを行なうようステッパに頂点データを与える
こと。)のに用いられる方向によって決まる。ここで
は、ラインセグメントが“レンダリングされる”方向と
は実際にはそのラインセグメントの画素データが計算さ
れる方向を指す。たとえば、頂点V1から頂点V2に向かっ
てレンダリングされるラインセグメントについて選択さ
れる画素は頂点V2から頂点V1に向かってレンダリングさ
れるラインセグメントについて選択される画素と異なる
場合がある。いくつかの連結されたラインセグメントが
多角形の辺を構成する場合、たとえば、三角形あるいは
四角形の辺をレンダリングするためには、これらのライ
ンセグメントが異なる方向にレンダリングされることが
ある。したがって、2つの隣接する多角形がこれら2つ
の多角形のそれぞれについて異なる方向にレンダリング
される辺を共有する場合、これらの隣接する辺は正確に
一致しない場合がある。
【0004】ラインセグメントには暗黙の向きを有する
ことが多い。一例を挙げると、交互の長点とスペースか
らなる破線がある。破線はある方向にレンダリングされ
る場合1つの頂点にある長点から始まるが、他の方向に
レンダリングされる場合、その頂点にあるスペースから
始まる場合もある。通常、ポリラインを構成する連結さ
れた一連のラインセグメントのうちのそれぞれのライン
セグメントは暗黙の向きを有する。そうでなければ、か
かるラインセグメントのうちの2つがつながる点の画素
は二度レンダリングされる可能性がある。周知のライン
スキャンコンバータの問題点は、同じ暗黙の向きを有す
るラインセグメントを異なる方向にレンダリングする可
能性があることである。
【0005】ラインスキャンコンバージョンをポリライ
ンを構成する一連の連結されたラインセグメントに適用
するとき、ラインスキャンコンバータに同じ頂点データ
を2回提供しなければならない場合がある。たとえば、
ポリラインの第1のラインセグメントは端点として頂点
V1およびV2を有し、このポリラインの第2のラインセグ
メントは端点として頂点V2およびV3を有する。従来のグ
ラフィックスシステムでは、頂点V2のデータはこのライ
ンスキャンコンバータに2回与えられる。しかし、頂点
データを2回与える処理を行なうには追加の処理とメモ
リが必要になり、望ましくない。
【0006】
【課題を解決するための手段】本発明では、コンピュー
タグラフィックスシステムにおいて頂点データのライン
スキャンコンバージョンを行なうための装置が提供され
る。頂点データはラインセグメントを表わす。この装置
はラインスキャンプリプロセッサとラインスキャンステ
ッパからなる。ラインスキャンプリプロセッサは頂点デ
ータに対して所定のレンダリング方向のレンダリングパ
ラメータを生成する。ラインスキャンステッパは、ライ
ンセグメントのタイプを示す入力に応答して第1および
第2の頂点の頂点データがこの所定のレンダリング方向
に対応するかどうかを判定する第1の回路と、この頂点
データがこの所定のレンダリング方向に対応しないとい
う判定に応答してレンダリングパラメータの計算順序を
交換して前記の所定のレンダリング方向を得る第2の回
路を含む。このラインスキャンコンバータはレンダリン
グパラメータをこのラインセグメントの表示を生成する
ための画素データに変換する。好適には、第1の回路
は、ラインセグメントのタイプがこのラインセグメント
がポリラインの偶数セグメントであることを示している
場合、頂点データが所定のレンダリング方向に対応しな
いという判定を与える手段を含む。ラインスキャンプリ
プロセッサはさらに、ラインセグメントが所定の符号の
主ステップ方向を有するかどうかを判定するための第3
の回路を含み、また第1の回路には、ラインセグメント
のタイプがこのラインセグメントが多角形の辺であるこ
とを示しており、第3の回路がこのラインセグメントが
所定の符号の主ステップ方向を有すると判定した場合
に、頂点データが所定のレンダリング方向に対応しない
という判定を与える手段を設けることができる。さら
に、このラインスキャンプリプロセッサは、第1および
第2の位置にある第1および第2の頂点の頂点データを
格納するためのメモリと、この頂点データにアクセスし
て前記のレンダリングパラメータを生成するための第1
および第2の記憶場所の第1および第2のアドレスを提
供するための制御回路を有し、また第1の回路は頂点デ
ータが所定のレンダリング方向に対応しないという判定
に応じて第1および第2のアドレスを交換するためのマ
ルチプレクサを有する場合がある。
【0007】本発明の他の特徴は、ラインセグメントの
第1および第2の頂点の頂点データを前処理してレンダ
リングパラメータを生成する方法を提供することであ
り、この方法は、ラインセグメントタイプの表示に応じ
て第1および第2の頂点の頂点データが所定のレンダリ
ング方向に対応するかどうかを判定するステップ、頂点
データが所定のレンダリング方向に対応しないときレン
ダリングパラメータの計算の順序を交換して所定のレン
ダリング方向を得るステップ、および所定のレンダリン
グ方向におけるこのラインセグメントのレンダリングパ
ラメータを計算するステップからなる。一実施例におい
て、この方法は第1および第2の頂点の頂点データをメ
モリの第1および第2の記憶場所にそれぞれ格納するス
テップ、頂点データにアクセスしてレンダリングパラメ
ータを生成するための第1および第2の記憶場所の第1
および第2のアドレスを提供するステップ、および頂点
データが所定のレンダリング方向に対応しないという判
定に応じて第1および第2のアドレスを交換するための
マルチプレクサを提供するステップを含む。また、この
方法は第2のラインセグメント(第1のラインセグメン
トと第2のラインセグメントはポリラインの隣接するセ
グメント)を表わす第3の頂点の頂点データを受け取る
ステップ、および第2の頂点のデータと第3の頂点のデ
ータに基づいて、ラインスキャンステッパが第2のライ
ンセグメントを第2の頂点から第3の頂点に向かう方向
にレンダリングするようにラインスキャンステッパのレ
ンダリングパラメータを生成するステップを含む。
【0008】本発明の他の特徴は、ラインセグメントの
第1および第2の頂点の頂点データを前処理してレンダ
リングパラメータを生成する装置を提供することであ
り、この装置は、ラインセグメントタイプの表示に応じ
て第1および第2の頂点の頂点データが所定のレンダリ
ング方向に対応するかどうかを判定する手段、頂点デー
タが所定のレンダリング方向に対応しないときレンダリ
ングパラメータの計算の順序を交換して所定のレンダリ
ング方向を得る手段、および所定のレンダリング方向に
おけるこのラインセグメントのレンダリングパラメータ
を計算する手段からなる。一実施例において、この装置
は第1および第2の頂点の頂点データをメモリの第1お
よび第2の記憶場所にそれぞれ格納する手段、頂点デー
タにアクセスしてレンダリングパラメータを生成するた
めの第1および第2の記憶場所の第1および第2のアド
レスを提供する手段、および頂点データが所定のレンダ
リング方向に対応しないという判定に応じて第1および
第2のアドレスを交換するためのマルチプレクサを含
む。また、この装置は第2の線ラインセグメント(第1
のラインセグメントと第2のラインセグメントはポリラ
インの隣接するセグメント)を表わす第3の頂点の頂点
データを受け取る手段、および第2の頂点のデータと第
3の頂点のデータに基づいて、ラインスキャンステッパ
が第2のラインセグメントを第2の頂点から第3の頂点
に向かう方向にレンダリングするようにラインスキャン
ステッパのレンダリングパラメータを生成する手段を含
む。
【0009】
【発明の実施の形態】図1は本発明によるラインスキャ
ンコンバージョン処理に適したグラフィックスシステム
の一実施例のブロック図である。ここに図示する実施態
様における基板やチップの数、その区分方法、バスの
幅、およびデータ転送速度は例として示すものにすぎな
い。他にさまざまな実施態様を用いることができる。こ
こに図示および説明する回路は例として掲げるものにす
ぎない。この回路は好適にはたとえばSynopsysの販売す
る論理合成ソフトウエアを用いた大規模専用集積回路で
構成される。この論理合成ソフトウエアはVeralog 等の
高水準言語で書かれた回路記述を最適化し論理ゲートに
変換する。この回路は5ボルトで動作する1ミクロンTF
T を作成するCMOS処理、3.3 ボルトで動作する0.6 ミク
ロン引き出しゲート長素子を作成するCMOS処理、あるい
はデジタル回路を構成するための他の任意の適当な処理
を用いて構成することができる。この論理合成ソフトウ
エアへの入力は構造的なものではなく機能的なものであ
るため、この論理合成ソフトウエアによって生成される
回路はここに開示するものとは異なる場合がある。
【0010】図示するように、このシステムはフロント
エンドボード10、テクスチャマッピングボード12、およ
びフレームバッファボード14を有する。フロントエンド
ボードは52ビットバス16を介してホストコンピュータ15
と通信する。フロントエンドボードはバス16を介してホ
ストコンピュータからレンダリングすべきプリミティブ
を受け取る。プリミティブは、たとえばそれが三角形で
ある場合の頂点のようなそのプリミティブの各部のすべ
てについてのx 、y 、z 頂点座標データ、R 、G 、B 色
データ、およびテクスチャS 、T 座標によって指定され
る。三次元でプリミティブを表現するデータがフロント
エンドボード10から85ビットバス18を介してテクスチャ
マッピングボード12およびフレームバッファボード14に
与えられる。テクスチャマッピングボードは受け取った
プリミティブデータを補間してこのプリミティブを表現
する画面表示画素を計算し、対応するそれぞれのプリミ
ティブ画素のテクスチャデータを決定する。その結果得
られたテクスチャデータは図1に簡略化のため単一のバ
スとして示す55ビットバス28を介してフレームバッファ
ボードに与えられる。
【0011】また、フレームバッファボード14はフロン
トエンドボード10から受け取ったプリミティブデータを
補間してそれぞれのプリミティブを表現する表示画面上
の画素を計算し、またそれぞれの画素についてオブジェ
クト色度を決定する。次に、フレームバッファボードは
画素ごとにオブジェクト色度をテクスチャマッピングボ
ードから与えられるテクスチャデータと組み合わせてそ
れぞれの画素の画像R、G 、B 値を生成する。それぞれ
の画素のR 、G 、B 色制御信号がそれぞれR 、G 、B ラ
イン29を介して与えられ、表示画面(図示せず)の画素
が制御されてテクスチャマッピングされたプリミティブ
を表現する表示画面上の生成画像が表示される。
【0012】フロントエンドボード10、テクスチャマッ
ピングボード12およびフレームバッファボード14はそれ
ぞれパイプライン処理され、同時に複数のプリミティブ
を処理する。テクスチャマッピングボードとフレームバ
ッファボードが前にフロントエンドボードから与えられ
たプリミティブを処理しているとき、フロントエンドボ
ードはボード12および14のパイプラインがいっぱいにな
るまで新たなプリミティブを処理し提供し続ける。
【0013】フロントエンドボード10はディストリビュ
ータチップ30、3つの三次元(3D)形状アクセレレータ
チップ32A 、32B および32C 、二次元(2D)形状アクセ
レレータチップ34およびコンセントレータチップ36を含
む。ディストリビュータチップ30はホストコンピュータ
からバス16を介してx 、y 、z 座標と色プリミティブデ
ータを受け取り、3D形状アクセレレータチップ32A 、32
B および32C に3Dプリミティブデータを均等に分配す
る。その結果システムの帯域幅が増大する。これは3つ
のプリミティブ群が同時に処理されるためである。デー
タは40ビットバス38A を介して3D形状アクセレレータ32
A および32B に、また40ビットバス38B を介してチップ
32C に与えられる。バス38A および38B はいずれも60 M
Hzの速度でデータを転送し、2つの3D形状アクセレレー
タチップに対して充分な帯域幅を提供する。2Dプリミテ
ィブデータは44ビットバス40を介して40 MHzの速度で2D
形状アクセレレータチップ34に与えられる。
【0014】それぞれの3D形状アクセレレータチップは
受け取ったプリミティブを定義するx 、y 、z 座標を対
応する画面空間座標に変換し、この画面空間座標のオブ
ジェクトR 、G 、B 値とテクスチャS 、T 値を決定し、
プリミティブ四角形を三角形に分解し、三角平面方程式
を計算してそれぞれの三角形を定義し、光源計算を行な
ってR 、G 、B 値を決定する。また、それぞれの3D形状
アクセレレータチップはビュークリッピング動作を実行
して、画面内に複数のウィンドウが表示されるとき、あ
るいはプリミティブの一部が表示画面上に表現されるビ
ューの量を越えて伸張するとき、得られる画像が正確に
画面表示されるようにする。3D形状アクセレレータチッ
プ32A 、32B および32C からの出力データはそれぞれ44
ビットバス42A および42B を介して60 MHzの速度でコン
セントレータチップ36に与えられる。また、二次元形状
アクセレレータチップ34は46ビットバス44を介して45 M
Hzの速度でコンセントレータチップ36に出力データを与
える。コンセントレータチップ36は3D形状アクセレレー
タチップ32A-32C から受け取った3Dプリミティブ出力デ
ータを組み合わせ、ディストリビュータ30による分配の
前にプリミティブをもとの順序に順序付けし直し、組み
合わせられたプリミティブ出力データをバス18を介して
テクスチャマッピングボードとフレームバッファボード
に与える。
【0015】テクスチャマッピングボード12はテクスチ
ャマッピングチップ46と局部メモリ48を含み、局部メモ
リ48は好適にはキャッシュメモリとして構成される。次
により詳細に説明するように、キャッシュメモリ48はフ
レームバッファボードにレンダリングされるプリミティ
ブに対応するテクスチャMIP マップデータを格納する。
テクスチャMIP マップデータはホストコンピュータ15の
メインメモリ17からバス40を介して、また24ビットバス
24を介して2D形状アクセレレータチップ34を経てダウン
ロードされる。
【0016】テクスチャマッピングチップ46はバス18を
介して表示画面上にレンダリングすべきプリミティブを
表現するプリミティブデータを連続的に受け取る。上述
したように、3D形状アクセレレータチップ32A-32C から
与えられるプリミティブは点、線および三角形を含む。
テクスチャマッピングボードは点あるいは線のテクスチ
ャマッピングは行なわず、三角形プリミティブのみを処
理する。三角形プリミティブを表わすデータは少なくと
も1つの頂点のx 、y 、z オブジェクト画素座標、この
少なくとも1つの頂点のオブジェクトカラーR 、G 、B
値、この少なくとも1つの頂点に対応するテクスチャマ
ップの部分のS 、T 座標、およびこの三角形の平面方程
式を含む。テクスチャマッピングチップ46はオブジェク
ト画素のz 座標とオブジェクトカラーR 、G 、B 値を無
視する。チップ46はx 、y 座標を補間し、このプリミテ
ィブを表現する各x 、y 画面表示画素に対応するS およ
びT 座標を補間する。それぞれの画素について、テクス
チャマッピングチップは、キャッシュメモリ内のテクス
チャMIP マップのそれに対応する部分にアクセスし、そ
の画素に対するリザルタント(合成)テクスチャデータ
を計算する。このデータは複数のテクセルの重み付き平
均を含む場合がある。
【0017】一実施例では、このキャッシュは256 ×25
6 のテクセルの64のブロックを格納する。従来のテクス
チャマッピングハードウエアに用いられる局部メモリと
異なり、本発明のキャッシュメモリには、たとえば大き
なテクスチャの場合にはレンダリングされるプリミティ
ブを写像するテクスチャの一連のMIP マップのすべてが
格納されるわけではない。むしろ、このキャッシュメモ
リにはある任意の時点ではそのときプリミティブのレン
ダリングに実際に用いられている一連のMIP マップの特
定の部分だけが格納される。したがって、ほとんどのア
プリケーションでは、ある任意の時点ではレンダリング
される画像のテクスチャデータ全体のうちの一部だけが
キャッシュメモリに格納される。
【0018】それぞれのテクスチャの完全なMIP マップ
群が構成され、ホストコンピュータ15のメインメモリ17
に格納される。レンダリングされるプリミティブのそれ
ぞれの画素について、テクスチャマッピングチップ46は
キャッシュメモリ48のディレクトリにアクセスしてこの
テクスチャマッMIP マップ群の対応するテクセルが現在
キャッシュにあるかどうかが判定される。アクセス時に
キャッシュメモリにこの対応するテクセルが格納されて
いる場合、キャッシュヒットが発生し、このテクセルが
キャッシュから読み出され、テクスチャマッピングチッ
プ46によって処理されてリザルタントテクスチャデータ
が計算され、このデータがフレームバッファボードに送
られる。
【0019】しかし、テクスチャマッピングチップ46が
アクセスしたときプリミティブ画素の対応するテクセル
がキャッシュメモリに格納されていない場合、キャッシ
ュミスが発生する。キャッシュミスが発生すると、MIP
マップデータのうちそのプリミティブのレンダリングに
必要な部分がホストコンピュータ15のメインメモリ17か
らキャッシュメモリ48にすでに格納されていたデータの
一部と置き換える等の方法でダウンロードされる。しか
し、レンダリングされるプリミティブのMIP マップ群全
体をダウンロードする従来のテクスチャマッピングシス
テムと異なり、本発明ではMIP マップ群のうち現在レン
ダリングされているプリミティブあるいはそのプリミテ
ィブの現在レンダリングされている部分に実際に必要な
部分だけがダウンロードされる。後に詳述するように、
キャッシュミスが発生すると、テクスチャマッピングチ
ップ46によって中断制御信号が生成され、ホストコンピ
ュータ15内のテクスチャ中断管理プログラムが起動され
る。この中断制御信号はライン94を介してディストリビ
ュータチップ30に送られ、ディストリビュータチップ30
はライン95を介してホストコンピュータに中断信号を送
る。
【0020】要求されたテクスチャデータはホストコン
ピュータによってそもメインメモリから検索され、フロ
ントエンドボードおよびテクスチャマッピングチップの
3Dプリミティブレンダリングパイプラインをバイパスし
てバス24を介してテクスチャマッピングボード48にダウ
ンロードされる。したがって、キャッシュミス中断が発
生したとき、フロントエンドボードは3Dプリミティブの
処理を継続し、バス18を介してテクスチャマッピングチ
ップとフレームバッファボードに出力プリミティブデー
タを与えることができ、一方キャッシュミスを発生させ
たプリミティブに対応するテクスチャデータがメインメ
モリ17からダウンロードされる。従来のテクスチャマッ
ピングシステムと異なり、このテクスチャマッピングハ
ードウエアへのテクスチャデータのダウンロードには3D
プリミティブパイプラインのフラッシングを必要とせ
ず、したがってシステムの帯域幅と性能が向上する。そ
れぞれの画素のリザルタントテクスチャデータはテクス
チャマッピングチップ46から5つのバス28を介してフレ
ームバッファボードに与えられる。この5つのバス28は
それぞれフレームバッファボード14に設けられたフレー
ムバッファコンピュータチップ50A 、50B 、50C 、50D
および50E に接続されており、リザルタントテクスチャ
データをフレームバッファコンピュータチップに同時に
提供する。フレームバッファコントローラチップ50A-50
E はそれぞれ対応するVRAM(ビデオRAM)チップ51A-51E
に接続されている。フレームバッファボードはさらに
4つのビデオフォーマットチップ52A 、52B 、52C およ
び52D とRAMDAC(RAM デジタル/アナログ変換器)54を
含む。フレームバッファコントローラチップは表示画面
の異なる重複しない各部分を制御する。それぞれのフレ
ームバッファコントローラチップはフロントエンドボー
ドからバス18を介してプリミティブデータを、またテク
スチャマッピングボードからバス28を介してリザルタン
トテクスチャマッピングデータを受け取る。フレームバ
ッファコントローラチップはプリミティブデータを補間
してこのプリミティブを表わす対応する部分の画面表示
画素座標とそれぞれの画素座標の対応するオブジェクト
R 、G 、B 色度を計算する。テクスチャマッピングボー
ドからリザルタントテクスチャデータが与えられるプリ
ミティブ(すなわち三角形)について、フレームバッフ
ァコントローラチップが画素ごとにオブジェクト色度と
リザルタントテクスチャデータを組み合わせて表示画面
上に表示すべきそれぞれの画素の最終的なR 、G 、B 値
を生成する。
【0021】オブジェクト色度とテクスチャ色度の組み
合わせの態様はさまざまな方法で制御することができ
る。たとえば、置換モードでは、オブジェクト色度を単
にテクスチャ色度に置き換え、テクスチャ色度を用いて
画素を表現することができる。また、変調モードでは、
オブジェクト色度とテクスチャ色度を乗算してその画素
の最終R 、G 、B 色度を生成することができる。さら
に、それぞれのテクセルについて、対応するテクスチャ
色度とオブジェクト色度の組み合わせの態様を定義する
比率を指定する色制御ワードを記憶することができる。
それぞれの画素に対応するリザルタントテクセルデータ
についてリザルタント色制御ワードを決定し、バス28を
介してフレームバッファコントローラチップに与えて、
コントローラチップが対応するリザルタント制御ワード
によって指定された比率を用いてそれぞれの画素の最終
R 、G 、B 値を決定するようにすることができる。
【0022】フレームバッファコントローラチップ50A-
50E によって生成される、それぞれの画素のR 、G 、B
値を含む最終画像ビデオデータが対応するVRAMチップ群
51A-51E に格納される。それぞれのVRAMチップ群51A-51
E は8つのVRAMチップを含み、したがってフレームバッ
ファボード上には40のVRAMチップが設けられている。ビ
デオフォーマットチップ52A-52D のそれぞれが、10のVR
AMチップからなる異なるチップ群に接続され、データを
受け取る。このビデオデータはこれらのVRAMチップから
逐次シフトされ、それぞれ64ビットバス58A 、58B 、58
C および58D を介して33 MHzの速度で4つのビデオフォ
ーマットチップ52A 、52B 、52C および52D に与えられ
る。これらのビデオフォーマットチップはこのビデオデ
ータをRAMDACが処理できるようにフォーマットし、フォ
ーマットされたデータを32ビットバス60A 、60B 、60C
および60D を介して33 MHzの速度でRAMDAC 54 に与え
る。RAMDAC 54 はこのデジタル色データをアナログR 、
G 、B 色制御信号に変換し、それぞれの画素のR 、G 、
B 制御信号をR 、G 、B 制御ライン29を介してスクリー
ン表示装置(図示せず)に与える。
【0023】一実施例では、テクスチャマッピングボー
ド12およびフレームバッファボード14上のハードウエア
を複数設けて、ある種のプリミティブレンダリングタス
クを複数のプリミティブに対して平行して実行するよう
にして、システムの帯域幅を増大させることができる。
かかる代替実施例の一例を図2に示す。図2は一部のハ
ードウエアを複数設けた本発明によるコンピュータグラ
フィックスシステムのブロック図である。図2のシステ
ムは4つの3D形状アクセレレータチップ32A 、32B 、32
C および32D 、キャッシュメモリ48A および48B にそれ
ぞれ対応した2つのテクスチャマッピングチップ46A お
よび46B 、およびそれぞれが対応するVRAMチップ群を有
する10のフレームバッファチップ50A-50J を含む。図2
のシステムの動作は上述した図1に示すシステムの動作
と同様である。図2に示す実施例のハードウエアを複数
設けることによって、ある種のプリミティブレンダリン
グ動作を複数のプリミティブについて平行して実行する
ことができるためシステムの帯域幅を増大させることが
できる。
【0024】図3には、図1に描かれている形状アクセ
レレータチップ32A 、32B および32C の概略ブロック図
が示されている。ホストコンピュータ15からのプリミテ
ィブデータは入力FIFO 70 を介して頂点RAM (バッファ
0)71と頂点RAM (バッファ1)72からなる二重バッフ
ァ頂点RAM に供給される。この形状アクセレレータはパ
イプライン構成の2つの異なるプロセッサを有する。左
スタック78はクリップコード論理82、レジスタファイル
73、マルチプレクサ74、浮動小数点ALU 75、および浮動
小数点マルチプレクサ76を有する。左スタック78の動作
は、アドレス復号論理、変換エンジン、および圧縮解除
エンジンを有する左スタック制御ユニット77によって制
御される。左スタック78からの処理結果はプリミティブ
RAM (バッファ0)80とプリミティブRAM (バッファ
1)81からなる二重バッファプリミティブRAM を介して
右スタック79に供給される。右スタックは色クランパ/
コンパレータ85、レジスタファイル180 、マルチプレク
サ182 、浮動小数点ALU 184、浮動小数点マルチプレク
サ186 、および浮動小数点除算/平方根ユニット188か
らなる。右スタック79の処理結果は出力FIFO 91 を介し
てテクスチャマッピングボード12およびフレームバッフ
ァボード14(図1)に供給される。右スタック79の動作
は右スタック制御ユニット83によって制御される。右ス
タックはライティング、クリッピング、および平面方程
式の計算を実行する。クリッピングおよびライティング
のパラメータはホストコンピュータ15からクリッピング
/ライティングRAM 84に供給される。
【0025】形状アクセレレータは変換、四角形の分
解、三角形とベクトルの部分勾配計算、ライティング
(シェーディング)、クリッピング、および任意の向き
に定義された四角形、三角形およびベクトルの平面(勾
配)方程式の計算を実行する。その出力はフレームバッ
ファボード14内のスキャンコンバータに供給されて画素
データにレンダリングされ、またテクスチャマッピング
ボード12に供給されて画素あたりのテクスチャ色度が生
成される。
【0026】図3に示す例では、サイズとコストを低減
するために右スタック79にのみ除算器が設けられる。右
スタックは除算器を有し、左スタックにはこれがないた
め、形状アクセレレータの機能の区分は、左スタックが
変換、部分勾配の計算、クリップのチェック、分解およ
びライティングのための予備計算の一部を行なうように
なされている。右スタックはライティング、クリッピン
グ、および平面方程式の計算を行なう。基本的動作フロ
ーをホストコンピュータから入力FIFO 70 に入力される
プリミティブデータについて示す。このプリミティブデ
ータは頂点RAM71および72の1つに入力される。左スタ
ック78が変換、分解、および部分勾配計算を実行し、そ
の結果をプリミティブRAM バッファ80および81の1つに
入れる。左スタックはあるプリミティブに対する動作を
完了すると、右スタック78にこのプリミティブの処理の
開始を通知する。次に、左スタックは次のプリミティブ
の処理を開始することができる。同時に、右スタックは
プリミティブRAM バッファにあるプリミティブにライテ
ィング、クリッピング(必要な場合)、および平面方程
式計算を実行する。
【0027】一代替実施例においては左右のスタックが
いずれも除算器を含む同じハードウエアを有する。この
構成では、機能はそれぞれのスタックが異なるプリミテ
ィブに同じ動作を実行するように区分することができ
る。
【0028】図4において、本発明の一実施例のライン
スキャンコンバータ107 はラインスキャンコンバージョ
ンプリプロセッサ130 とラインスキャンコンバージョン
ステッパ134 を有する。図1に示すシステムでは、一実
施例において、ラインスキャンコンバージョンプリプロ
セッサ130 は3D形状アクセレレータ32A-32C のそれぞれ
に設けられる。ラインスキャンコンバージョンステッパ
134 はフレームバッファコンピュータチップ50A-50E の
それぞれに設けられる。ラインスキャンコンバージョン
プリプロセッサ130 は頂点V1、V2の頂点データ、および
次に説明する一方向の信号とポリラインスワップ信号を
受け取る。通常、これらの入力はたとえばオブジェクト
のプリミティブタイプの指定およびそのオブジェクトに
関連する他のデータの形態で図1のホストコンピュータ
15から直接的あるいは間接的に受け取られる。このデー
タはホストコンピュータ15から直接受け取られてもよ
く、あるいはホストコンピュータ15から受け取った頂点
データに変換や部分勾配計算等の機能を実行する形状ア
クセレレータ内の上流にある回路によって処理すること
もできる。
【0029】一方向信号は頂点V1およびV2が多角形の辺
であるラインセグメントの頂点を表わすことを示す。多
角形のセグメントについていうと、本明細書は多角形の
辺のレンダリングに関する。充填技術として知られる他
の技術を用いて多角形の辺内にある領域をレンダリング
することができる。ポリラインスワップ信号はたとえば
ポリラインを構成するラインセグメント群の一つおきの
線ラインセグメントのようにその頂点をスワップすべき
ラインセグメントを示す。一方向ラインセグメントと頂
点のスワップという概念については次により詳細に説明
する。ラインスキャンコンバージョンプリプロセッサ13
0 はラインスキャンコンバージョンステッパ134 にステ
ッパ入力を与え、ラインスキャンコンバージョンステッ
パ134 は表示装置136 のための適当な画素情報を生成す
る。
【0030】ラインスキャンコンバージョンプリプロセ
ッサ130 では、長軸、長軸ステップ方向、長軸開始、長
軸停止、勾配、短軸開始を含むステッパ134 へのステッ
パ入力が生成される。ステッパ134 へのこれらの入力を
次に説明する。
【0031】さらに、レンダリングすべきラインセグメ
ントが三次元であるか色属性を有する場合これらの追加
パラメータのための入力が適宜生成される。これらの追
加パラメータには、赤、緑および青開始値、赤、緑およ
び青勾配値、Z 軸スタート、およびZ 軸勾配が含まれ
る。ステッパ134 へのこれらの入力については次に説明
する。
【0032】図5において、ラインセグメント101 は第
1の頂点V1と第2の頂点V2を有する。通常、これらの頂
点はたとえばV1=(X1,Y1)およびV2(X2,Y2) のようにX 座
標およびY 座標を有する。このラインセグメントは三次
元の線を表わす場合があり、この場合、第1および第2
の頂点のデータにはZ1およびZ2として表わされるZ 軸座
標を含む。このZ 軸座標は二次元(x 、y )表示装置に
三次元画像をシミュレートするための計算に用いられ
る。さらに、このラインセグメントはV1からV2に向かっ
て変化する色を有する場合がある。したがって、第1お
よび第2の頂点のデータにはそれぞれR1、G1、B1および
R2、G2、B2で表わされる赤、緑、青の値が含まれる。こ
のラインセグメントは破線等のような暗黙の向きを有す
る線である場合がある。また、このラインセグメントは
曲線のレンダリングに用いることのできるポリラインの
一部である場合もある。たとえば、一連の4つのX 、Y
頂点は3つのラインセグメントを有するポリラインを定
義する。また、このラインセグメントは多角形の辺であ
る場合もある。
【0033】図5および図6に示すように、ラインセグ
メント101 は水平方向のグリッドライン111 と垂直方向
のグリッドライン113 の交差点に位置する画素のそれぞ
れに常に正確に一致するとは限らない。本明細書では、
x 軸上の値は左から右に大きくなり、y 軸上の値上から
下に大きくなるが、本発明はこれに限定されない。ライ
ンスキャンコンバータ107 はこのラインセグメントに隣
接する位置にある一連の画素109 を点灯させる。このラ
インスキャンコンバータはDDA 技術あるいはBrensenham
技術を用いて表示すべき画素を選択することができる。
これにはステッパ134 が加算だけを行なえばよく、比較
的簡単なハードウエアで構成することができるという利
点があり、一方、プリプロセッサ130 は乗算を実行し、
ハードウエア、ソフトウエアあるいはハードウエアとソ
フトウエアの組み合わせで構成される。
【0034】図4および図7に示すように、ステッパ13
4 への入力にはこのラインセグメントの頂点V1およびV2
との差が大きくなるX あるいはY の方向を示す長軸信号
を含む。長軸ステップ方向信号はこの長軸がこのライン
セグメントの第1の頂点から第2の頂点に向かって大き
くなっているのか小さくなっているのかを示す。長軸開
始信号はこのラインセグメントの第1の頂点から調整さ
れた長軸サブ画素の座標値(たとえば図8の位置“A ”
におけるX 座標)を表わし、長軸停止値はこの線ライン
セグメントの第2の頂点から調整された長軸サブ画素の
座標値を表わす。短軸開始信号は第1の頂点から調整さ
れた短軸サブ画素の値を表わし、勾配はこのラインセグ
メントの長軸の座標変化量に対する短軸の座標変化量を
表わす。また、図7には第3のパラメータすなわちZ 座
標を含む例を示す。
【0035】一般に、ラインスキャンコンバータ107 の
ステッパ134 は短軸の値をもよりの整数に丸めることに
よって最も適当なすなわち“最も近い”画素を求める。
ステッパ134 はX 長軸ラインセグメントあるいはY 長軸
ラインセグメントのいずれかを処理し、長軸インクリメ
ントあるいは長軸デクリメントと呼ばれるいずれかの方
向での長軸に沿ったステッピングを可能にするように一
般化される。これによって、長軸値をハードウエアのア
ップダウンカウンタによって生成することができ、また
短軸値を常に正の勾配を加算することによって生成する
ことができる。短軸値に0.5 を加算し、適当な勾配が加
えられた後その結果に切り捨てを行なうことによって複
雑な丸めを避けることができる。したがって、ステッパ
134 内には複雑なハードウエアを設ける必要がない。ス
テッパ134 が長軸に沿ってステッピングを行なう方向は
プリプロセッサ130 からステッパ134 に頂点が与えられ
る態様によって決まる。本明細書では、特定の方向の
“レンダリング”という用語はステッパ134 がその特定
の方向にステッピングを行なうようステッパ134 に頂点
データを与えることを指す。
【0036】図7を参照してラインスキャンコンバージ
ョンステッパ134 の詳細な動作を説明する。動作は通常
ステッパ134 内においてのみ用いられる変数I を長軸開
始信号に等しくなるように初期設定することから始まる
(ステップ106 )。これもステッパ134 内で用いられる
変数J が短軸始点+0.5に等しくなるように初期設定され
(ステップ108 )、変数Z がZ 始点に等しくなるように
初期設定される(ステップ110 )。ステップ112 でX が
長軸であるかどうかが判定される。X が長軸である場
合、座標X=1 、Y=J (切り捨て)、およびZ=Z を有する
画素位置に画素が生成される(ステップ116 )。X が長
軸でない場合、Y が長軸である。したがって、座標X=J
(切り捨て)、Y=I 、およびZ=Z を有する画素位置に画
素が生成される(ステップ114 )。
【0037】次に、ステッパ134 がI が長軸停止点に等
しいかどうか、すなわちラインセグメント101 の第2の
頂点に達しているかどうかを判定する(ステップ118
)。到達している場合、この処理は終了する。到達し
ていなければ、ステッパ134 は長軸ステップ方向を調べ
て長軸がインクリメントされているかどうかを判定す
る。インクリメントされていれば、I が1だけインクリ
メントされる(ステップ124)。長軸がインクリメント
されていない場合、I が1だけデクリメントされる(ス
テップ122 )。次に、J が勾配に等しい量だけインクリ
メントされる(ステップ126 )。表示装置136 が三次元
オブジェクトを表現する場合、Z はZ 勾配だけインクリ
メントされる(ステップ128 )ことに注意しなければな
らない。次に、この処理はX が長軸であるかどうかを判
定する次のステップ(ステップ112 )に戻り、長軸停止
点に達する(ステップ118 )まで長軸に応じて追加の画
素を生成する(ステップ114 あるいは116 )。長軸はあ
る特定のラインセグメントに対しては一定であり、した
がってステップ112 は通常一度だけ実行され、その後こ
の処理では適当な画素の生成が実行される(ステップ11
4 あるいはステップ116 )。
【0038】ラインセグメント101 は画素データが計算
される方向によって異なる画素が点灯する場合がある。
たとえば、ラインセグメント101 について起動すべき画
素が図6に示すようにラインセグメント101 を頂点V1か
ら頂点V2に向かってではなく頂点V2から頂点V1に向かっ
てレンダリングすることによって決定される場合、画素
103 がその下の画素104 に代わって点灯される場合があ
る。これは、このラインセグメントの短軸値が2つの短
軸整数値から等距離にある場合、一方向にレンダリング
されるとき短軸値が(画素103 に)切り上げられ、他の
方向にレンダリングされるときは(画素104 に)切り下
げられることによる。さらに、精度上の制約に起因する
累積誤差もレンダリングされる画素に影響を与える。た
とえば、ラインスキャンステッパがX 座標値の小数部の
12ビット(整数部もまた多数のビットを有する)に限定
される場合、この精度上の制約に起因する誤差はステッ
パのステッピングの進行にともなって累積し、実際の線
の値が2つの整数値の中間点に正確に位置しない場合に
もレンダリングされる画素に影響を与える。上述したよ
うに、その結果1つのラインセグメントを異なる2つの
方向にレンダリングするとき異なる画素が起動する場合
がある。これは、個々のラインセグメントおよびポリラ
インラインセグメント、また多角形ラインセグメント等
の暗黙の向きを有するラインセグメントの場合特に問題
になる。
【0039】次に、このラインスキャンコンバージョン
プリプロセッサの動作を説明する。図8は図5および図
6の部分105 の拡大図である。図6および図8に示すよ
うに、X1からX2までの距離はY1からY2までの距離より大
きいため、ラインセグメント1はX 長軸と考えられる。
すなわちX が長軸であると考えられる。さらに、X は頂
点V1から頂点V2に向かって増大するため、長軸が増大す
る。
【0040】頂点V1およびV2はX およびY の整数値では
ないため、このラインセグメントが長軸の整数グリッド
ラインと最初に交差する位置を発見するための調整が実
行される。図8により詳細に示すように、X 長軸セグメ
ント101 は点A に示すX 値で最初に垂直グリッドライン
113 と交差する。この点ではX 値は整数であり、Y 値は
小数部を含むことに注意しなければならない。それぞれ
の長軸ステップにおいて、短軸に沿ったこの小数部を用
いて点灯すべき画素を選択することができる。
【0041】図4に示すように、プリプロセッサ130 は
このラインセグメントのX およびY座標を受け取る(ス
テップ152 )。次に、X1とX2の距離をY1とY2の距離と比
較することによって長軸が判定される(ステップ154
)。Y が長軸である場合、M1とM2(2つの頂点の長軸
座標を表わす変数)がそれぞれY1とY2に設定され、N1と
N2(2つの頂点の短軸座標を表わす変数)がそれぞれX1
とX2に設定される(ステップ156 )。X が長軸である場
合、M1とM2がそれぞれX1とX2に設定され、N1とN2がそれ
ぞれY1とY2に設定される(ステップ158 )。次のステッ
プは、M1とM2を比較することによって長軸がインクリメ
ントされているかどうかを判定するステップである(ス
テップ160 )。M2がM1より大きければ長軸はインクリメ
ントされており、M2がM1より大きくなければ長軸はイン
クリメントされていない。
【0042】ステップ162Aおよび162Bで、たとえばライ
ンセグメントがポリラインの一部であるために頂点がス
ワップされる場合のようにスワップが必要であるかどう
かが判定される。ラインセグメントデータが逆方向に計
算される(したがって異なる方向にレンダリングされ
る)かかるスワップを起動する機能を以下に詳細に説明
する。ステップ162Aおよび162Bでステッパ134 への残り
の入力に計算を実行する必要があるかどうかが判定され
る。ステップ164A、164B、164Cおよび164Dにおいて長軸
始点および長軸停止点が判定される。画素を整数値で同
定する表示装置についていえばこれらの値はいずれも整
数であることに注意しなければならない。ステップ166
A、166B、166Cおよび166Dにおいて勾配が判定される。
ステップ168A、168B、168Cおよび168Dにおいて、長軸調
整値が頂点の1つと長軸始点の間の差として決定され
る。ステップ170Aおよび170Bで短軸調整値が決定され、
ステップ172Aおよび172Bで短軸始点が決定される。長軸
調整値と短軸調整値は短軸始点を決定するための中間結
果であり、通常ステッパ134 には与えられない。
【0043】図9には二次元ラインセグメントに対する
処理を示す。しかし、Z 座標値や色度等の追加のパラメ
ータもこのラインセグメント上で変化する可能性があ
る。たとえば、図5および図6に示すラインセグメント
101 には頂点V1およびV2における色情報あるいはZ 座標
情報が含まれる場合がある。この例では、他のパラメー
タのそれぞれの勾配を色の変化あるいはZ 座標の変化が
ラインセグメント1の選択された向きにおいて一定にな
るように決定することができる。
【0044】図10にはZ 座標、赤、緑および青の色度等
の追加パラメータに関する入力の判定のフローチャート
を示す。図10に示すステップは図9に示すステップの後
に実行することができ、また後に明らかになるように図
10のステップの一部は図9に示すステップに先だってあ
るいはそれと平行して実行することもできる。ステップ
173 において、第3のパラメータの入力が受け取られ
る。ステップ174 に示すように、この入力にはZ 座標入
力および赤、緑および青の色度が含まれる場合がある。
しかし、Z 座標入力のみが必要である場合や、かかるパ
ラメータの任意の組み合わせが必要である場合がある。
ステップ162Cはステップ162Aおよび162B(図9)と同様
であり、スワップが必要であるかどうかが判定される。
スワップが必要でない場合、処理はステップ174Aに進
み、第3のパラメータのそれぞれの勾配が決定される。
同様に、ステップ174Bではスワップが必要である場合に
この例における勾配が決定される。ステップ176Aはステ
ップ174Aに続いてスワップが必要でない場合の第3のパ
ラメータのそれぞれの始点を決定する。ステップ176Bは
ステップ174Bに続いてスワップが必要である場合の第3
のパラメータのそれぞれの始点を決定する。
【0045】図11は、図3の右スタック内の構成要素と
しても示されるプリプロセッサ130の一実施例のより詳
細なブロック図である。本実施例において、状態機械19
0 は図3の右スタック制御ユニット83の一部である。状
態機械190 はALU 184 、乗算器186 、除算器188 を制御
してステッパ134 への入力を決定する機能を実行する。
レジスタファイル180 およびマルチプレクサ/データフ
ォーマッタ182 はデータの格納と経路指定を行なう。本
実施例では、プリプロセッサ130 への入力は形状アクセ
レレータの他の部分で生成される。入力はLS 左バス18
3 およびLS 右バス189 上で受け取られる。これらのバ
スはレジスタあるいはRAM に接続することができる。プ
リプロセッサ130 の出力はLS OUT バス187 上に与えら
れ、このバスは好適にはFIFOに接続され、ステッパ134
はこのFIFOからステッピングに必要な情報を受け取るこ
とができる。
【0046】動作時には、レジスタファイル180 にはい
くつかのパラメータの浮動小数点値が格納される。一般
に、処理すべきパラメータは中間結果および最終結果と
ともにレジスタファイル180 に格納される。レジスタフ
ァイル180 とマルチプレクサ/データフォーマッタ182
は一般にデータフロー回路181 と呼ばれる。マルチプレ
クサ/データフォーマッタ182 は多重化機能を提供す
る。ALU 184 は加算と減算を実行する。乗算器186 は乗
算を実行し、除算器/平方根計算器188 は除算を実行す
る。ALU 184 、乗算器186 、および除算器/平方根計算
器188 の組み合わせを演算処理装置185 と呼ぶこともで
きる。状態機械190 は図11の他の構成要素間でのデータ
のフローを制御して図9および図10に示す動作を実行す
る。また、状態機械190 は浮動小数点セルを制御して図
12を参照して次に説明するような頂点のスワップを可能
にする。
【0047】図11に示すように、これらの処理はハード
ウエアで実行することができる。しかし、以上の図から
当業者には明らかなように、汎用コンピュータをプログ
ラムしてステッパ134 への入力を決定し与えることもで
きる。かかるコンピュータには一般にCPU 、ハードドラ
イブあるいはEPROM 等のプログラムメモリ、ランダムア
クセスメモリ等のデータメモリ、およびこれらの要素間
のインターフェースのための処理バスからなる。また、
ステッパ134 へのインターフェースに通信素子を用いる
こともできる。
【0048】図12は図9および図10のステップ162A-162
C に示すようなスワップ機能を実行する論理回路192 の
実施例を示すブロック図である。このスワップは好適に
は次に説明するような仮想スワップであるが、これは状
態機械190 によって制御することができる。また、図12
には勾配計算(たとえばステップ166A、166B、166Cおよ
び166D)に用いられる制御と入力を示す。図12は簡略化
した図であり、たとえば入力信号を生成する回路やレジ
スタファイル180 からALU 184 へのデータのフローは示
していない。しかし、当業者には以下の論理の説明から
かかる回路を作成することは容易であろう。V1短軸マル
チプレクサ182AとV2短軸マルチプレクサ182Bはマルチプ
レクサ/データフォーマッタ182 に含めることができ、
また別個の要素とすることもできる。レジスタファイル
180 およびALU 184 は図11に示す通りである。
【0049】図11のハードウエアは頂点データの仮想ス
ワップを適宜実行することを可能にする。頂点のスワッ
プを行なうかどうかは、ラインセグメントが一方向であ
るか、長軸がインクリメントされているか、またライン
セグメントがレンダリングすべき多角形のラインセグメ
ントの1つであるかによって判定される。一方向のライ
ンセグメントは多角形の辺の1つである。多角形の各辺
は、2つの隣接する多角形(たとえば、三角形ストリッ
プ内の2つの隣接する三角形)が同一の辺を共有できる
ように一定の方向にレンダリングすることが望ましい。
このため、それぞれの一方向のラインセグメントは好適
には長軸のインクリメントする方向にレンダリングされ
る。
【0050】あるラインセグメントがポリラインの一部
である場合、この多角形の1つおきのラインセグメント
の頂点を仮想スワップすることが望ましい。したがっ
て、たとえば、ラインセグメント1- 8を有するポリラ
インでは偶数のラインセグメント(ラインセグメント
2、4、6および8)ごとにその頂点が仮想スワップさ
れ、奇数のラインセグメント(1、3、5および7)の
頂点はスワップされない。スワッピングは本実施例では
ラインスキャンコンバータ107 内で実行されるため、ポ
リラインの隣接するラインセグメントに共通の頂点のデ
ータを二度与える必要はない。
【0051】たとえば、あるポリラインが頂点V1および
V2を有する第1のラインセグメントと頂点V2およびV3を
有する第2のラインセグメントを含む場合、ラインスキ
ャンコンバータ107 に頂点V2のデータを二度与える必要
はない。その代わり、ラインスキャンコンバータ107 内
のプリプロセッサ130 が第1のラインセグメントについ
てステッパ134 に頂点V1およびV2のデータを与え、プリ
プロセッサ130 はこれを用いてステッパ134 への入力を
生成し、その後プリプロセッサはプリプロセッサ130 の
内部で頂点の仮想スワップを実行する。“仮想”と言う
用語は異なる記憶位置の間で実際にデータの移動を行な
う必要はなく、データへのアドレスを指定し直す(たと
えば、次により詳細に説明するようにライン202 上のN1
信号およびライン204 上のN2信号)だけでよいことを意
味する。これに替えて“論理的に”という用語を用いる
こともできる。次に、プリプロセッサは単にスワップさ
れる頂点V1に替わる頂点V3を受け取ってV2からV3への第
2のラインセグメントのためのステッパ134 への入力を
生成することができる。頂点V3およびV4を有する第3の
ラインセグメントについてはスワップは不要である。頂
点V2が頂点V4に置き換えられて第3のラインセグメント
がレンダリングされる。このようにすることで処理時間
の短縮と処理資源の節約を達成することができる。
【0052】動作時には、マルチプレクサ182AがV1短軸
アドレス信号202 (たとえば、図7の変数N1)を受け取
り、マルチプレクサ182BがV2短軸アドレス信号204 (た
とえば、図9の変数N1)を受け取る。同様なマルチプレ
クサを設けて長軸頂点について同様なスワップを実行す
ることができる。スワップベクトル信号208 によってAL
U A アドレス195 とALU B アドレス197 のどちらの信号
をレジスタファイル180 内の2つの位置のそれぞれに与
えるかが選択される。たとえば、スワップベクトル信号
208 が不活動状態であるとき、ALU は信号線220 上でN1
(頂点V1の短軸座標)を読み、信号線222 上でN2(頂点
V2の短軸座標)を読む。したがって、ALU はN2からN1を
減算することができる。しかし、スワップベクトル信号
208 が活動状態であるとき、ALU184は信号線220 上でN2
を読み、信号線222 上でN1を読み、したがって、N1から
N2を減算する。図12に示す実施例では、信号195 、197
、202 および204 はこれらの変数の値を表わすアドレ
スとして実施される。あるいは、これらの信号は実際の
値として与えることもでき、この場合それに対応する代
替のスワップ回路が設けられる。マルチプレクサ182Aお
よび182Bおよびスワップベクトル信号108 は図9および
図10に示す機能を簡略化し、その結果一度スワップが行
なわれると、頂点がスワップされたかどうかにかかわり
なく、適当な演算結果を用いて同じ計算を実行すること
ができる。信号220 および信号222 はレジスタファイル
180 からALU 184 に入力され処理される。その結果すな
わちALUの演算結果224 はレジスタファイル184 内の記
憶場所に書き込まれ、以後の処理のためにアクセスする
ことができる。ALU OPCODE信号206 はALU が実行すべ
き演算を示す。
【0053】論理回路192 はスワップベクトル信号208
が活動状態であるかどうかを判定する回路である。論理
回路192 に入力されるmajor dec 信号は、長軸がイン
クリメントされているかどうかが判定される図9のステ
ップ160 の結果を表わす。したがって、major-dec 信号
210 が活動状態であるとき、この信号は長軸が減少して
いることを示す。一方向信号212 が活動状態であると
き、この信号はたとえば多角形の辺であるラインセグメ
ントの場合のように、そのラインセグメントを一方向に
レンダリングしなければならないことを示す。この信号
は図1のホストコンピュータ15から受け取られたデータ
を表わし、図4のラインスキャンコンバージョンプリプ
ロセッサ130 への入力として示されている。本実施例で
選択された一定の方向はラインセグメントが長軸が増大
する方向にレンダリングされるような方向である。
【0054】また、図4に示すポリラインスワップ信号
214 はたとえばラインセグメントがポリラインの偶数ラ
インセグメントの1つであり、したがってその頂点を逆
にしなければならない(スワップしなければならない)
ことを示す。
【0055】ポリラインスワップ論理回路193 はポリラ
インスワップ信号214 の生成に関する論理を表わし、ラ
インスキャンコンバージョンプリプロセッサ130 の内部
あるいは外部のいずれであってもよい。ポリライン信号
216 および偶数セグメント信号218 の2つの信号を用い
てポリライン信号が生成される。ポリライン信号216は
そのラインセグメントがポリラインの一部であることを
表わし、偶数セグメント信号218 はそのラインセグメン
トがポリラインの偶数セグメントの1つであることを表
わす。これらの表示はまずホストコンピュータ15から受
け取られる。このラインセグメントがポリラインの一部
でありまたそのポリラインの偶数セグメントである場
合、プリプロセッサ130 は新たな頂点データを1セット
しか必要とせずにこのラインセグメントの頂点をスワッ
プする。これは、前のラインセグメントの第2の頂点が
現在のラインセグメントの第1の頂点であるためであ
る。したがって、ポリラインスワップ信号214 は偶数セ
グメント信号218 とポリライン信号216 の論理積であ
る。次に、論理回路192 によって適当なスワップを起動
することができる。ALU OPCODE信号206 はALU が実行
すべき演算を示す。次の真理値表はベクトルスワップ信
号208 の条件を示す。
【0056】
【表1】
【0057】この真理値表の(a )の場合、ラインセグ
メントは増大する(major dec=0)長軸を結う/、多
角形の辺でもなく(一方向=0)、またポリラインの偶
数セグメントでもない(ポリラインスワップ=0)。し
たがって、これは暗黙の向きを有する単一のラインセグ
メントであるか、あるいはポリラインの奇数セグメント
であり、このラインセグメントの頂点はスワップされな
い。その結果、このラインセグメントは暗黙の向きと同
じ方向にレンダリングされる。
【0058】(e )の場合は(a )と同様であるが、長
軸が減少するラインセグメントを表わす。このラインセ
グメントを暗黙の方向にレンダリングするためにはその
頂点はやはりスワップされない。
【0059】(b )と(f )の場合には、ラインセグメ
ントはポリラインの偶数セグメントであり、したがって
いずれの場合にも長軸が増大しているか減少しているか
にかかわりなく頂点がスワップされる。
【0060】(c )の場合には、ラインセグメントは長
軸の増大する多角形の辺であり、この場合頂点はスワッ
プされない。しかし、(g )の場合は長軸の減少する多
角形の辺であり、この場合頂点がスワップされ、多角形
のすべての辺が長軸の増大する方向にレンダリングされ
る。前述したように、これによって2つの隣接する多角
形に共有される辺を隣接する多角形の両方に対して同一
にレンダリングすることができる。
【0061】アステリスク(* )を付した(d )および
(h )の場合は発生しえないケースを示す。これはライ
ンセグメントが一方向であり(多角形の辺であり)、同
時にポリラインスワップ条件を有するこをはありえない
ためである。これは、ポリラインスワップ条件はライン
セグメントがポリラインの一部であることを示すためで
ある。したがって、これらの場合、ベクトルスワップ信
号は意味を持たない。
【0062】以上、本発明の少なくとも1つの実施例を
中心に説明した。これらをまとめると、以下のようにま
とめることができる。
【0063】(1)コンピュータグラフィックスシステ
ムにおいて、ラインセグメントの第1および第2の頂点
の頂点データ(V1、V2)を画素データに変換する装置
(107)であって、前記の頂点データ(V1、V2)に応じ
て所定のレンダリング方向にレンダリングパラメータを
生成するラインスキャンプリプロセッサ(130 )であっ
て、ラインセグメントタイプを示す入力に応じて前記の
第1および第2の頂点の前記の頂点データ(V1、V2)が
前記の所定のレンダリング方向に対応するかどうかを判
定する第1の回路(193 )と、前記の頂点データ(V1、
V2)が前記の所定のレンダリング方向に対応しないとい
う判定に応じて前記のレンダリングパラメータの計算順
序をスワップして前記の所定のレンダリング方向を得る
第2の回路(180 、182A、182B、184 )を有するライン
スキャンプリプロセッサ(130 )、および前記のレンダ
リングパラメータを前記のラインセグメントの表示を生
成するための画素データに変換するラインスキャンステ
ッパ(134 )からなる装置(107)。
【0064】(2).上記(1)に記載の装置であっ
て、前記の第1の回路(193 )は、前記のラインセグメ
ントタイプが前記のラインセグメントがポリラインの偶
数セグメントであることを示すとき、前記の頂点データ
(V1、V2)が前記の所定のレンダリング方向に対応しな
いという前記の判定を行なう手段を含む装置。
【0065】(3).上記(1)に記載の装置であっ
て、前記のラインスキャンプリプロセッサ(130 )はさ
らに前記のラインセグメントが所定の符号の長軸ステッ
プ方向を有するかどうかを判定するための第3の回路を
有し、前記の第1の回路(193)は、前記のラインセグ
メントタイプが前記のラインセグメントが多角形の辺で
あることを示し、前記の第3の回路が前記のラインセグ
メントが前記の所定の符号の前記の長軸ステップ方向を
有すると判定するとき、前記の頂点データ(V1、V2)が
前記の所定のレンダリング方向に対応しないという前記
の判定を行なう手段を含む装置。
【0066】(4).上記(1)に記載の装置であっ
て、前記のラインスキャンプリプロセッサ(130 )はさ
らに、少なくとも第1および第2の記憶位置に前記の第
1および第2の頂点の前記の頂点データ(V1、V2)を格
納するメモリ(180 )と前記のレンダリングパラメータ
を生成するために頂点データ(V1、V2)にアクセスする
ための前記の第1および第2の記憶位置の第1および第
2のアドレスを提供する制御回路を有し、前記の第1の
回路(193 )は前記の頂点データ(V1、V2)が前記の所
定のレンダリング方向に対応しないという判定に応じて
前記の第1および第2のアドレスをスワップするための
マルチプレクサ(182A、182B)を含む装置。
【0067】(5)レンダリングパラメータを表示装置
(136 )のための画素データに変換するラインスキャン
ステッパ(134 )を有するコンピュータグラフィックス
システムにおいて、ラインセグメント(101 )の第1の
頂点(V1)と第2の頂点(V2)の頂点データを前処理し
て前記のレンダリングパラメータを生成する方法であっ
て、ラインセグメントタイプの表示に応じて前記の第1
および第2の頂点(V1、V2)の前記の頂点データが所定
のレンダリング方向に対応するかどうかを判定するステ
ップ(154 )、前記の頂点データ(V1、V2)が前記の所
定のレンダリング方向に対応しないとき、前記のレンダ
リングパラメータの計算順序をスワップして前記の所定
のレンダリング方向を得るステップ(162 )、および前
記のラインセグメントの前記のレンダリングパラメータ
を前記の所定のレンダリング方向に計算するステップ
(164 、166 、168 、170 、172 )からなる方法。
【0068】(6).上記(5)に記載の方法であっ
て、前記の表示装置(136 )は垂直方向の軸と水平方向
の軸を有し、前記のレンダリングパラメータを計算する
ステップは、ラインセグメント(101 )の大きさが表示
装置の垂直方向の軸と水平方向の軸の1つに沿ってより
大きいことを判定することによって長軸を判定し、短軸
を表示装置(136 )の垂直方向の軸と水平方向の軸のう
ちの他方の軸とするステップ、第2の頂点(V2)の長軸
値が第1の頂点(V1)の長軸値より大きいかどうかを判
定することによって長軸ステップ方向を決定するステッ
プ、長軸始点をラインスキャンステッパ(134 )によっ
てレンダリングすべき第1の画素の長軸座標値として決
定するステップ、長軸停止点をラインスキャンステッパ
(134 )によってレンダリングすべき最後の画素の長軸
座標値として決定するステップ、勾配を、第1の頂点
(V1)の長軸値と第2の頂点(V2)の長軸値の間の第1
の差の、第1の頂点(V1)の短軸値と第2の頂点(V2)
の短軸値の間の第2の差に対する比率として決定するス
テップ、および短軸始点をラインスキャンステッパ(13
4 )によってレンダリングすべき第1の画素の短軸座標
値として決定するステップを含む方法。
【0069】(7).上記(5)に記載の方法であっ
て、さらに前記の第1および第2の頂点の頂点データ
(V1、V2)をそれぞれメモリ(180)内の第1および第
2の記憶場所に格納するステップ、前記のレンダリング
パラメータを生成するために頂点データ(V1、V2)にア
クセスするための前記の第1および第2の記憶場所の第
1および第2のアドレスを提供するステップ、前記の頂
点データ(V1、V2)が前記の所定のレンダリング方向に
対応しないという判定に応じて前記の第1および第2の
アドレスをスワップするマルチプレクサ(182A、182B)
を設けるステップ、第2のラインセグメントを表わす第
3の頂点データを受け取るステップであって、第1のラ
インセグメントと第2のラインセグメントがポリライン
の隣接するセグメントであるステップ、および第2の頂
点のデータと第3の頂点のデータに基づいて、ラインス
キャンステッパ(134 )が第2の頂点(V2)から第3の
頂点に向かう方向に第2のラインセグメントをレンダリ
ングするように、ラインスキャンステッパ(134 )のレ
ンダリングパラメータを生成するステップを含む方法。
【0070】(8)レンダリングパラメータを表示装置
(136 )のための画素データに変換するラインスキャン
ステッパ(134 )を有するコンピュータグラフィックス
システムにおいて、ラインセグメント(101 )の第1の
頂点(V1)と第2の頂点(V2)の頂点データを前処理し
て前記のレンダリングパラメータを生成する装置であっ
て、ラインセグメントタイプの表示に応じて前記の第1
および第2の頂点(V1、V2)の前記の頂点データが所定
のレンダリング方向に対応するかどうかを判定する手
段、前記の頂点データ(V1、V2)が前記の所定のレンダ
リング方向に対応しないとき、前記のレンダリングパラ
メータの計算順序をスワップして前記の所定のレンダリ
ング方向を得る手段、および前記のラインセグメント
(101 )の前記のレンダリングパラメータを前記の所定
のレンダリング方向に計算する手段からなる装置。
【0071】(9).上記(8)に記載の装置であっ
て、表示装置(136 )は垂直方向の軸と水平方向の軸を
有し、前記のレンダリングパラメータを計算する手段
は、 ラインセグメント(101 )の大きさが表示装置の
垂直方向の軸と水平方向の軸の1つに沿ってより大きい
ことを判定することによって長軸を判定し、短軸を表示
装置(136 )の垂直方向の軸と水平方向の軸のうちの他
方の軸とする手段、 第2の頂点(V2)の長軸値が第
1の頂点(V1)の長軸値より大きいかどうかを判定する
ことによって長軸ステップ方向を決定する手段、長軸始
点をラインスキャンステッパ(134 )によってレンダリ
ングすべき第1の画素の長軸座標値として決定する手
段、長軸停止点をラインスキャンステッパ(134 )によ
ってレンダリングすべき最後の画素の長軸座標値として
決定する手段、勾配を、第1の頂点(V1)の長軸値と第
2の頂点(V2)の長軸値の間の第1の差の、第1の頂点
(V1)の短軸値と第2の頂点(V2)の短軸値の間の第2
の差に対する比率として決定する手段、および短軸始点
をラインスキャンステッパ(134 )によってレンダリン
グすべき第1の画素の短軸座標値として決定する手段を
含む装置。
【0072】(10) 上記(8)に記載の装置であって、
さらに前記の第1および第2の頂点の頂点データ(V1、
V2)をそれぞれメモリ(180)内の第1および第2の記
憶場所に格納する手段、前記のレンダリングパラメータ
を生成するために頂点データ(V1、V2)にアクセスする
ための前記の第1および第2の記憶場所の第1および第
2のアドレスを提供する手段、前記の頂点データ(V1、
V2)が前記の所定のレンダリング方向に対応しないとい
う判定に応じて前記の第1および第2のアドレスをスワ
ップするマルチプレクサ(182A、182B)、第2のライン
セグメントを表わす第3の頂点データを受け取る手段で
あって、第1のラインセグメントと第2のラインセグメ
ントがポリラインの隣接するセグメントである手段、お
よび第2の頂点のデータ(V2)と第3の頂点のデータに
基づいて、ラインスキャンステッパ(134 )が第2の頂
点(V2)から第3の頂点に向かう方向に第2のラインセ
グメントをレンダリングするように、ラインスキャンス
テッパ(134 )のレンダリングパラメータを生成する手
段を含む装置。
【0073】以上、本発明の少なくとも1つの実施例を
説明したが、当業者にはそれに対するさまざまな変更、
修正および改良を考案することは容易であろう。たとえ
ば、一方向のラインセグメントは長軸の増大する方向で
はなく減少する方向にレンダリングすることもできる。
したがって、上記の説明は例示に過ぎず、本発明を限定
するものではない。本発明は特許請求の範囲とその同等
物によってのみ限定される。
【0074】
【発明の効果】図11に示すハードウエアと同様に、図12
のハードウエアの機能もまた汎用コンピュータ内のソフ
トウエアで実行することができる。
【0075】本明細書で説明した実施例によれば、ライ
ンセグメントを所定の方向にレンダリングすることがで
きる。特に、個々のラインセグメントおよびポリライン
の一部であるラインセグメントがこれらのラインセグメ
ントのそれぞれの暗黙の向きと同じ向きにレンダリング
される。これによって、これらのラインセグメント(破
線等)に対応した適正な図形が生成される。
【0076】さらに、ポリラインの1つおきのラインセ
グメントの頂点の両方のデータをラインスキャンコンバ
ータに与える必要がないため、グラフィックスシステム
の処理資源を低減することができる。
【0077】さらに、2つの隣接する多角形に共有され
る辺が同じ画素によって表わされる。これは、かかる辺
は仮に2つの多角形のそれぞれについて一度ずつすなわ
ち二度レンダリングされたとしても同じ方向(長軸の増
大する方向)にレンダリングされるためである。
【図面の簡単な説明】
【図1】本発明を用いたコンピュータグラフィックスシ
ステムの一実施例のブロック図である。
【図2】本発明を用いたコンピュータグラフィックスシ
ステムの第2の実施例のブロック図である。
【図3】本発明の一実施例を用いた形状アクセレレータ
のブロック図である。
【図4】本発明の一実施例のラインスキャンコンバータ
を示す。
【図5】グリッドラインの各交点が画素位置をx および
y の整数値として表わすグリッド上のラインセグメント
を示す図である。
【図6】図5のラインセグメントについて図4のシステ
ムによって点灯された画素、およびこのラインセグメン
トが反対方向にレンダリングされた場合に点灯される画
素の1つを示す図である。
【図7】図4のラインスキャンコンバータのステッパの
動作を示すフローチャートである。
【図8】拡大されたグリッド上で図5および図6のライ
ンセグメントの一部を示す図であり、図4のラインスキ
ャンコンバータのステッパの入力の一部を示す。
【図9】図4のプリプロセッサの動作を示すフローチャ
ートである。
【図10】本発明による他の表示システムの動作を示すフ
ローチャートであり、このシステムはZ 座標あるいは色
等の第3のパラメータを処理することができる。
【図11】図4のプリプロセッサのシステムレベルのブロ
ック図である。
【図12】図4のプリプロセッサの一部のハードウエアに
よる実施例を示すブロック図である。
【符号の説明】
1- 8:ラインセグメント 10:フロントエンドボード 12:テクスチャマッピングボード 14:フレームバッファボード 16:52ビットバス 15:ホストコンピュータ 17:メインメモリ 18:85ビットバス 24:24ビットバス 28:55ビットバス 29:R 、G 、B ライン 30:ディストリビュータチップ 32A-32C :三次元(3D)形状アクセレレータチップ 34:二次元(2D)形状アクセレレータチップ 36:コンセントレータチップ 38A 、38B :40ビットバス 40:44ビットバス 42A 、42B :44ビットバス 44:46ビットバス 46:テクスチャマッピングチップ 48:局部メモリ 50A-50E :フレームバッファコンピュータチップ 51A-51E :VRAM(ビデオRAM )チップ 52A-52D :ビデオフォーマットチップ 54:RAMDAC(RAM デジタル/アナログ変換器) 58A-58D :64ビットバス 60A-60D :32ビットバス 70:入力FIFO 71:頂点RAM (バッファ0) 72:頂点RAM (バッファ1) 73:レジスタファイル 74:マルチプレクサ 75:浮動小数点ALU 76:浮動小数点マルチプレクサ 77:左スタック制御ユニット 78:左スタック 79:右スタック 80:プリミティブRAM (バッファ0) 81:プリミティブRAM (バッファ1) 82:クリップコード論理 83:右スタック制御ユニット 84:クリッピング/ライティングRAM 85:色クランパ/コンパレータ 91:出力FIFO 101 :ラインセグメント 103 、104 :画素 105 :セグメント 107 :ラインスキャンコンバータ 109 :画素 111 :水平方向のグリッドライン 113 :垂直方向のグリッドライン 130 :ラインスキャンコンバージョンプリプロセッサ 134 :ラインスキャンコンバージョンステッパ 136 :表示装置 106 、108 、110 、112 、114 、116 、118 、120 、12
2 、124 、126 、128 :ラインスキャンコンバージョン
ステッパ134 の動作ステップ 152 、154 、156 、158 、160 、162A、162B、164A、16
4B、164C、164D、166A、166B、166C、166D、168A、168
B、168C、168D、170A、170B、172A、172B、173 、174
、174A、174B、176A、176Bラインスキャンコンバージ
ョンプリプロセッサの動作ステップ 180 :レジスタファイル 181 :データフロー回路 182 :マルチプレクサ/データフォーマッタ 182A:V1短軸マルチプレクサ 182B:V2短軸マルチプレクサ 183 :LS 左バス 184 :浮動小数点ALU 185 :演算処理装置 186 :浮動小数点マルチプレクサ 187 :LS OUT バス 188 :浮動小数点除算/平方根ユニット 189 :LS 右バス 190 :状態機械 192 :論理回路 193 :ポリラインスワップ論理回路 195 :ALU A アドレス 197 :ALU B アドレス 202 :V1短軸アドレス信号 204 :V2短軸アドレス信号 206 :ALU OPCODE信号 208 :スワップベクトル信号 210 :major-dec 信号 212 :一方向信号 214 :ポリラインスワップ信号 216 :ポリライン信号 218 :偶数セグメント信号 220 、222 :信号線

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 コンピュータグラフィックスシステムに
    おけるラインセグメントの第1および第2の頂点の頂点
    データ(V1、V2)を画素データに変換するラインスキャ
    ンコンバージョン装置(107 )であって、以下のライン
    スキャンプリプロセッサ(130 )とラインスキャンステ
    ッパ(134 )とを有することを特徴とする当該ラインス
    キャンコンバージョン装置。すなわち、 前記ラインスキャンプリプロセッサ(130 )は、 前記の頂点データ(V1、V2)に応じて所定のレンダリン
    グ方向にレンダリングパラメータを生成するものであっ
    て、かつ、 ラインセグメントタイプを示す入力に応じて前記の第1
    および第2の頂点の前記の頂点データ(V1、V2)が前記
    の所定のレンダリング方向に対応するかどうかを判定す
    る第1の回路(193 )と、 前記の頂点データ(V1、V2)が前記の所定のレンダリン
    グ方向に対応しないという判定に応じて前記のレンダリ
    ングパラメータの計算順序をスワップして前記の所定の
    レンダリング方向を得る第2の回路(180 、182A、182
    B、184 )と、を含むものであること、 前記ラインスキャンステッパ(134 )は、前記のレンダ
    リングパラメータを前記のラインセグメントの表示を生
    成するための画素データに変換するためのものであるこ
    と。
JP8146246A 1995-06-08 1996-06-07 コンピュータグラフィックスシステムにおけるラインスキャンコンバージョン装置とその方法 Pending JPH09120278A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/488,473 US5657436A (en) 1995-06-08 1995-06-08 Preprocessing apparatus and method for line scan conversion in a computer graphics system
US488-473 1995-06-08

Publications (1)

Publication Number Publication Date
JPH09120278A true JPH09120278A (ja) 1997-05-06

Family

ID=23939804

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8146246A Pending JPH09120278A (ja) 1995-06-08 1996-06-07 コンピュータグラフィックスシステムにおけるラインスキャンコンバージョン装置とその方法

Country Status (2)

Country Link
US (1) US5657436A (ja)
JP (1) JPH09120278A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016100016A (ja) * 2014-11-18 2016-05-30 ダッソー システムズDassault Systemes 画像分割

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9518695D0 (en) * 1995-09-13 1995-11-15 Philips Electronics Nv Graphic image rendering
JP3547250B2 (ja) * 1996-03-22 2004-07-28 株式会社ソニー・コンピュータエンタテインメント 描画方法
US5883641A (en) * 1997-04-29 1999-03-16 Hewlett-Packard Company System and method for speculative execution in a geometry accelerator
US6317133B1 (en) * 1998-09-18 2001-11-13 Ati Technologies, Inc. Graphics processor with variable performance characteristics
US6734870B1 (en) * 1999-06-29 2004-05-11 Cardio Logic, Inc. Line scan-conversion method
US20150084952A1 (en) * 2013-09-23 2015-03-26 Nvidia Corporation System, method, and computer program product for rendering a screen-aligned rectangle primitive
CN109657328B (zh) * 2018-12-12 2023-03-14 中国航空工业集团公司西安航空计算技术研究所 一种面向gpu硬件线光栅化边界算法的tlm微结构

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2690110B2 (ja) * 1988-08-15 1997-12-10 沖電気工業株式会社 走査変換方法
US5142617A (en) * 1988-10-27 1992-08-25 Tektronix, Inc. Method of shading a graphics image
US5117485A (en) * 1988-12-20 1992-05-26 Sun Microsystems, Inc. Method and apparatus for sorting line segments for display and manipulation by a computer system
JP2712912B2 (ja) * 1991-08-23 1998-02-16 日本電気株式会社 エッジリスト作成装置
US5371843A (en) * 1992-10-16 1994-12-06 International Business Machines Corporation Method and system for filling non-complex polygons using vertical spans
US5471568A (en) * 1993-06-30 1995-11-28 Taligent, Inc. Object-oriented apparatus and method for scan line conversion of graphic edges
US5528737A (en) * 1993-12-14 1996-06-18 Silicon Graphics, Inc. Processor-based method for rasterizing polygons at an arbitrary precision

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016100016A (ja) * 2014-11-18 2016-05-30 ダッソー システムズDassault Systemes 画像分割
CN105844609A (zh) * 2014-11-18 2016-08-10 达索系统公司 对图像进行划分
CN105844609B (zh) * 2014-11-18 2020-10-16 达索系统公司 对图像进行划分

Also Published As

Publication number Publication date
US5657436A (en) 1997-08-12

Similar Documents

Publication Publication Date Title
JP3860859B2 (ja) 高性能プリミティブ・クリッピング・プリプロセシングを有するコンピュータ・グラフィックス・システム
US5594854A (en) Graphics subsystem with coarse subpixel correction
US6348919B1 (en) Graphics system with optimized use of unified local and frame buffers
US5440682A (en) Draw processor for a high performance three dimensional graphic accelerator
US5973705A (en) Geometry pipeline implemented on a SIMD machine
US5268995A (en) Method for executing graphics Z-compare and pixel merge instructions in a data processor
US5896136A (en) Computer graphics system with improved blending
US6115047A (en) Method and apparatus for implementing efficient floating point Z-buffering
US5877773A (en) Multi-pass clipping in a geometry accelerator
US5982384A (en) System and method for triangle rasterization with frame buffers interleaved in two dimensions
US5719600A (en) Gradient calculation system and method
US7554546B1 (en) Stippled lines using direct distance evaluation
JPH11272880A (ja) 固定小数点ライティング・ユニットを用いたロ―カル・アイ・ベクトルの高速計算方法
EP0631252B1 (en) Draw processor for a high performance three dimensional graphics accelerator
US5760792A (en) Fifo logical addresses for control and error recovery
JP3839871B2 (ja) 三角形を表わす画素データを生成する装置
Kugler The Setup for Triangle Rasterization.
US5696944A (en) Computer graphics system having double buffered vertex ram with granularity
US6859209B2 (en) Graphics data accumulation for improved multi-layer texture performance
US5784075A (en) Memory mapping techniques for enhancing performance of computer graphics system
US5657436A (en) Preprocessing apparatus and method for line scan conversion in a computer graphics system
US5732248A (en) Multistep vector generation for multiple frame buffer controllers
US20030160799A1 (en) Reconfigurable hardware filter for texture mapping and image processing
US6867778B2 (en) End point value correction when traversing an edge using a quantized slope value
JP3839870B2 (ja) 四辺形を表わす画素データを生成する装置および方法