JP2523889B2 - 隠れ面処理装置 - Google Patents
隠れ面処理装置Info
- Publication number
- JP2523889B2 JP2523889B2 JP1218797A JP21879789A JP2523889B2 JP 2523889 B2 JP2523889 B2 JP 2523889B2 JP 1218797 A JP1218797 A JP 1218797A JP 21879789 A JP21879789 A JP 21879789A JP 2523889 B2 JP2523889 B2 JP 2523889B2
- Authority
- JP
- Japan
- Prior art keywords
- pixel
- data
- error
- register
- boundary
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/50—Lighting effects
- G06T15/503—Blending, e.g. for anti-aliasing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/40—Hidden part removal
- G06T15/405—Hidden part removal using Z-buffer
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Geometry (AREA)
- Image Generation (AREA)
Description
【発明の詳細な説明】 産業上の利用分野 本発明はコンピュータグラフィックス分野におけるグ
ラフィックス処理装置と処理方法に関するものである。
ラフィックス処理装置と処理方法に関するものである。
従来の技術 3次元物体を2次元スクリーン上に投影して表示する
場合、手前に存在する物体がそれより奥にある物体の一
部または全てを隠す現象を何んらかの方法で処理しなけ
ればならない。一般的には汎用プロセッサを用いて、逐
次的に処理するスキャンライン法やハードウェア化に適
したZバッファ法が知られている。スキャンライン法と
は、CRT等のようにラスタスキャンごとに各画素の輝度
データを表示する場合、隣合う画素やすぐ次のスキャン
ラインの画素は現画素と非常に強い相関関係を持つこと
に注目した方法で、逐次処理系に適するが多くの計算を
必要とし制御論理も複雑になるという欠点を持つ。一方
Zバッファ法とは、各画素に表示すべき面の色・輝度
(以下単に輝度という)とその面の奥行きを画素単位に
記憶しておき、新しい面が入力される度に記憶している
奥行き距離と新しい面の奥行き距離を比較して、新しい
面の奥行き距離の方が小さいときのみ奥行き距離を更新
すると同時に新しい面の輝度データを登録するものであ
る。そのため全ての画素に奥行きレジスタ(一般にZバ
ッファと呼ぶ)を設ける必要があり、非常に大きなメモ
リ回路が必要になるという欠点を持つが、制御論理が比
較的簡単であるという特徴を持つ。
場合、手前に存在する物体がそれより奥にある物体の一
部または全てを隠す現象を何んらかの方法で処理しなけ
ればならない。一般的には汎用プロセッサを用いて、逐
次的に処理するスキャンライン法やハードウェア化に適
したZバッファ法が知られている。スキャンライン法と
は、CRT等のようにラスタスキャンごとに各画素の輝度
データを表示する場合、隣合う画素やすぐ次のスキャン
ラインの画素は現画素と非常に強い相関関係を持つこと
に注目した方法で、逐次処理系に適するが多くの計算を
必要とし制御論理も複雑になるという欠点を持つ。一方
Zバッファ法とは、各画素に表示すべき面の色・輝度
(以下単に輝度という)とその面の奥行きを画素単位に
記憶しておき、新しい面が入力される度に記憶している
奥行き距離と新しい面の奥行き距離を比較して、新しい
面の奥行き距離の方が小さいときのみ奥行き距離を更新
すると同時に新しい面の輝度データを登録するものであ
る。そのため全ての画素に奥行きレジスタ(一般にZバ
ッファと呼ぶ)を設ける必要があり、非常に大きなメモ
リ回路が必要になるという欠点を持つが、制御論理が比
較的簡単であるという特徴を持つ。
これらの中間的な隠れ面処理として、スキャンライン
間は相関関係を利用し、1スキャンライン内はZバッフ
ァ法を用いる方法が、例えば エヌ・ガラコーロー他 “スーパー バッファ ア シストリック ブイ・エル
・エス・アイ グラッフィク エンジン フォー リア
ル タイム ラスター イメージ ジェネレーショ
ン”、1985 チャネル ヒル コンフェランス オン
ベリー ラージ スケール インテグレーション、PP.2
85−305 (N.Gharachorloo and C.Pottle,“Super buffer:A sys
tolic VLSI graphics engine for real time raster im
age generation",1985 Chapel Hill Conference on Ver
y Large Scale Integration,pp.285−305) に示されているが、ハードウェアが大きすぎてアレイ全
体をLSI化するのが困難であった。そこで我々は少ない
ハードウェア量でLSI化に適した装置として、特開昭62
−100878号公報に示されるような隠れ面処理装置を提案
した。
間は相関関係を利用し、1スキャンライン内はZバッフ
ァ法を用いる方法が、例えば エヌ・ガラコーロー他 “スーパー バッファ ア シストリック ブイ・エル
・エス・アイ グラッフィク エンジン フォー リア
ル タイム ラスター イメージ ジェネレーショ
ン”、1985 チャネル ヒル コンフェランス オン
ベリー ラージ スケール インテグレーション、PP.2
85−305 (N.Gharachorloo and C.Pottle,“Super buffer:A sys
tolic VLSI graphics engine for real time raster im
age generation",1985 Chapel Hill Conference on Ver
y Large Scale Integration,pp.285−305) に示されているが、ハードウェアが大きすぎてアレイ全
体をLSI化するのが困難であった。そこで我々は少ない
ハードウェア量でLSI化に適した装置として、特開昭62
−100878号公報に示されるような隠れ面処理装置を提案
した。
第8図はこの提案をした隠れ面処理装置のシステムブ
ロック図、第9図はその構成要素である画素演算器の詳
細図である。第8図、第9図において1はN画素からな
る1スキャンライン上の各画素に対応して存在する画素
演算器、10はこの画素位置で一番手前にある平面の奥行
き座標を登録する奥行きレジスタ、11はその平面の輝度
情報を登録する輝度レジスタ、12は平面セグメントの範
囲の内外判定、奥行き距離の変位加算、奥行きデータの
比較、輝度データの変位加算を時分割的に行う1つの加
算器である。
ロック図、第9図はその構成要素である画素演算器の詳
細図である。第8図、第9図において1はN画素からな
る1スキャンライン上の各画素に対応して存在する画素
演算器、10はこの画素位置で一番手前にある平面の奥行
き座標を登録する奥行きレジスタ、11はその平面の輝度
情報を登録する輝度レジスタ、12は平面セグメントの範
囲の内外判定、奥行き距離の変位加算、奥行きデータの
比較、輝度データの変位加算を時分割的に行う1つの加
算器である。
以上のように構成された隠れ面処理装置の動作につい
て第10図に示した概念図と共に説明する。
て第10図に示した概念図と共に説明する。
第10図のようにM×Nの2次元スクリーンに対応する
XY座標系に、奥行き座標系をすなわちZ座標系を加えた
3次元空間(一般に正規デバイス座標系と呼ばれる)内
に定義された平面200をXY平面に投影してスクリーン上
に表示する。ラスタスキャン型のCRT等ではこの処理を
一水平スキャンラインごとに行うため、現スキャンライ
ンを通りXZ平面に平行な平面(一般にスキャンライン平
面と呼ばれる)で切断した断面上で処理する。平面200
を現スキャンライン平面で切断した切口201を平面セグ
メントという。個々の平面セグメントは左端点座標(X
L,ZL)、継続画素数dX、単位画素当りのZ座標変位
Z′、左端点での輝度情報I、単位画素当りの輝度変位
I′を持つ。これらの情報を持つトークンが第8図のよ
うなアレイ構造の構成要素となる画素演算器1の左側か
らA入力ポートAi、B入力ポートBiに分けて入力され
る。制御情報CTRLiにはその平面セグメントの存在する
範囲内に対応する画素演算器が入っていることを示すIN
フラグ情報がある。時分割的に各入力ポートに与えられ
る情報は第11図のようにまとめられる。
XY座標系に、奥行き座標系をすなわちZ座標系を加えた
3次元空間(一般に正規デバイス座標系と呼ばれる)内
に定義された平面200をXY平面に投影してスクリーン上
に表示する。ラスタスキャン型のCRT等ではこの処理を
一水平スキャンラインごとに行うため、現スキャンライ
ンを通りXZ平面に平行な平面(一般にスキャンライン平
面と呼ばれる)で切断した断面上で処理する。平面200
を現スキャンライン平面で切断した切口201を平面セグ
メントという。個々の平面セグメントは左端点座標(X
L,ZL)、継続画素数dX、単位画素当りのZ座標変位
Z′、左端点での輝度情報I、単位画素当りの輝度変位
I′を持つ。これらの情報を持つトークンが第8図のよ
うなアレイ構造の構成要素となる画素演算器1の左側か
らA入力ポートAi、B入力ポートBiに分けて入力され
る。制御情報CTRLiにはその平面セグメントの存在する
範囲内に対応する画素演算器が入っていることを示すIN
フラグ情報がある。時分割的に各入力ポートに与えられ
る情報は第11図のようにまとめられる。
各画素演算器の動作は、第1のタイミングT1ではA入
力ポートAiのデータと全1パターンを加算器12に与え、
A入力データを1減算した結果を得る。もしINフラグ=
0で減算結果が負の時は、この画素演算器が平面セグメ
ントの存在範囲に入ったことになり、セレクタ14でBiの
データdXをAポート側に移しラッチ17に入れて、INフラ
グを1に反転してラッチ16に入れる。もしINフラグ=1
で減算結果が負の時は、この画素演算器が平面セグメン
トの存在範囲の外に出たことになるため、INフラグを0
に反転し、A出力ポートには負になった値(符号なし整
数では最大値)をそのまま出力する。それ以外の場合は
CTRLiをそのままCTRLoに出力し、Aoへは加算結果を出力
する。
力ポートAiのデータと全1パターンを加算器12に与え、
A入力データを1減算した結果を得る。もしINフラグ=
0で減算結果が負の時は、この画素演算器が平面セグメ
ントの存在範囲に入ったことになり、セレクタ14でBiの
データdXをAポート側に移しラッチ17に入れて、INフラ
グを1に反転してラッチ16に入れる。もしINフラグ=1
で減算結果が負の時は、この画素演算器が平面セグメン
トの存在範囲の外に出たことになるため、INフラグを0
に反転し、A出力ポートには負になった値(符号なし整
数では最大値)をそのまま出力する。それ以外の場合は
CTRLiをそのままCTRLoに出力し、Aoへは加算結果を出力
する。
第2のタイミングT2では、INフラグ=1ならばA入力
ポートAi上のZとB入力ポートBi上のZ′を加算してA
出力ポートAoに出力し、そうでなければAiにデータを更
新しないでAoに出力する。
ポートAi上のZとB入力ポートBi上のZ′を加算してA
出力ポートAoに出力し、そうでなければAiにデータを更
新しないでAoに出力する。
第3のタイミングT3では、A出力ポートAoをT2時とは
更新せずに保持する。そしてINフラグ=1で、A入力ポ
ートAi上のZデータと奥行きレジスタ10内のデータZbを
加算器12で比較した結果がZ<Zbの時、奥行きレジスタ
10にA入力ポート上のZを格納する。
更新せずに保持する。そしてINフラグ=1で、A入力ポ
ートAi上のZデータと奥行きレジスタ10内のデータZbを
加算器12で比較した結果がZ<Zbの時、奥行きレジスタ
10にA入力ポート上のZを格納する。
第4のタイミングT4では、INフラグ=1でかつ上記の
比較結果がZ<Zbの時、輝度レジスタ11にB入力ポート
上のIを格納すると共にA入力ポートAi上のIとB入力
ポートBi上のI′を加算してA出力ポートAoに出力し、
そうでない場合はAiのデータを更新しないAoに出力す
る。
比較結果がZ<Zbの時、輝度レジスタ11にB入力ポート
上のIを格納すると共にA入力ポートAi上のIとB入力
ポートBi上のI′を加算してA出力ポートAoに出力し、
そうでない場合はAiのデータを更新しないAoに出力す
る。
以上4つのタイミングでB出力ポートBoへは全てB入
力ポートBiの内容をラッチ18を通してそのまま出力す
る。
力ポートBiの内容をラッチ18を通してそのまま出力す
る。
第12図(a)は上記のトークンが各画素演算器で処理
を受けながらアレイ上を流れていく様子を示している。
このようにして1スキャンライン上に存在する全てのト
ークンに対しての処理が終了すると、各画素演算器内の
輝度レジスタには対応する画素位置で一番手前に存在す
るセグメントの輝度データが格納されている。
を受けながらアレイ上を流れていく様子を示している。
このようにして1スキャンライン上に存在する全てのト
ークンに対しての処理が終了すると、各画素演算器内の
輝度レジスタには対応する画素位置で一番手前に存在す
るセグメントの輝度データが格納されている。
次に各画素演算器の輝度レジスタの内容を読みだし、
奥行きレジスタと輝度レジスタの内容を初期化するスイ
ープトークンに対する各画素演算器の動作を説明する。
上記の説明で分かるようにCTRL信号のバスで未使用のT2
あるいはT3のタイミングスロットに、トークンが平面セ
グメントかスイープトークンかを区別する識別子を入れ
ることが可能である。第1のタイミングT1では、1スキ
ャンラインの表示画素数DPRをXの換わりに受け取り、
1減算して残りの表示画素数をカウントする。減算結果
が負になると、表示範囲外に出たことになり、INフラグ
を0に反転する。第2のタイミングT2ではINフラグ=1
で表示範囲内にあるときは、画素演算器1は輝度レジス
タ11内のデータを輝度データバスに出力する。第3のタ
イミングT3ではINフラグ=で表示範囲内にあるときは、
奥行きレジスタ10に初期値ZBACKが格納される。第4の
タイミングT4ではINフラグ=1で表示範囲内にあるとき
は、輝度レジスタ10に初期値IBACKが格納される。
奥行きレジスタと輝度レジスタの内容を初期化するスイ
ープトークンに対する各画素演算器の動作を説明する。
上記の説明で分かるようにCTRL信号のバスで未使用のT2
あるいはT3のタイミングスロットに、トークンが平面セ
グメントかスイープトークンかを区別する識別子を入れ
ることが可能である。第1のタイミングT1では、1スキ
ャンラインの表示画素数DPRをXの換わりに受け取り、
1減算して残りの表示画素数をカウントする。減算結果
が負になると、表示範囲外に出たことになり、INフラグ
を0に反転する。第2のタイミングT2ではINフラグ=1
で表示範囲内にあるときは、画素演算器1は輝度レジス
タ11内のデータを輝度データバスに出力する。第3のタ
イミングT3ではINフラグ=で表示範囲内にあるときは、
奥行きレジスタ10に初期値ZBACKが格納される。第4の
タイミングT4ではINフラグ=1で表示範囲内にあるとき
は、輝度レジスタ10に初期値IBACKが格納される。
第12図(b)は上記のスイープトークンが各画素演算
器で処理を受けながらアレイ上を流れていく様子を示し
ている。このようにして1スキャンライン上の各画素に
対して一番手前に存在するセグメントの輝度データが各
画素演算器から順次読み出される。
器で処理を受けながらアレイ上を流れていく様子を示し
ている。このようにして1スキャンライン上の各画素に
対して一番手前に存在するセグメントの輝度データが各
画素演算器から順次読み出される。
一方、従来のスキャンラインに沿ったアンチエリアシ
ング方法としては、例えば 中前 宗八郎 著 電子情報通信学会編 “コンピュータグラフィックス”、1987 PP.183−186 に示されている。
ング方法としては、例えば 中前 宗八郎 著 電子情報通信学会編 “コンピュータグラフィックス”、1987 PP.183−186 に示されている。
以下その方法について述べる。第13図(a)のように
Xの最小値XMINと最大値XMAXが同一画素内にある場合は
斜線の部分は台形となるので、斜線部の輝度をIR、左側
の輝度をILとすると、画素中心線のX軸の幅X0を用い
て、X0*IL+(1−X0)*IRで補正した輝度を決める。
また第13図(b)のように幾つかの画素にまたがる場合
は、両端を除く全ての画素が台形となるので、Y0、Y1、
Y2を求めてYn*IL(1−Yn)*IRで各画素の補正した輝
度を決める。但し、n=0,1,2である。最初と最後の画
素は、三角形および五角形(ケースによっては三角形ま
たは四角形)として求めるか、誤差の容認をして、各々
ILとIRとする。
Xの最小値XMINと最大値XMAXが同一画素内にある場合は
斜線の部分は台形となるので、斜線部の輝度をIR、左側
の輝度をILとすると、画素中心線のX軸の幅X0を用い
て、X0*IL+(1−X0)*IRで補正した輝度を決める。
また第13図(b)のように幾つかの画素にまたがる場合
は、両端を除く全ての画素が台形となるので、Y0、Y1、
Y2を求めてYn*IL(1−Yn)*IRで各画素の補正した輝
度を決める。但し、n=0,1,2である。最初と最後の画
素は、三角形および五角形(ケースによっては三角形ま
たは四角形)として求めるか、誤差の容認をして、各々
ILとIRとする。
発明が解決しようとする課題 しかしながら上記のような構成の隠れ面処理装置で
は、アンチエリアシング等のように誤差データを必要と
する処理を行いたい場合、前記隠れ面処理装置から直接
得られるデータだけで行うことができないという問題点
を有していた。
は、アンチエリアシング等のように誤差データを必要と
する処理を行いたい場合、前記隠れ面処理装置から直接
得られるデータだけで行うことができないという問題点
を有していた。
また、上記のアンチエリアシング方法では、まず
XMIN、XMAXの判定が必要であり、第13図(b)のように
幾つかの画素にまたがる場合には、Y0、Y1、Y2を求めな
ければならず、この算出には時間を有し、リアルタイム
処理が困難である。また、1スキャンライン分のデータ
が連続的に出力される場合、一旦どこかに蓄えておかな
いとアンチエリアシング処理を行うことは難しい。さ更
に、小数点以下を切り捨てて表示するグラフィックス表
示装置の場合には、第14図に示すようなことが起こる
が、このような場合、境界1に対しては画素Aまでが塗
られ、境界2に対しては画素Bまでが塗られることにな
る。上記のアンチエリアシング方法でエリアシングの除
去を行うと、画素Aに対しては補正が行えるが、画素B,
Cに対しては境界線2が引かれる前の画素Bの色(輝度
値)を保持していなければ補正することはできないとい
う問題点を有していた。
XMIN、XMAXの判定が必要であり、第13図(b)のように
幾つかの画素にまたがる場合には、Y0、Y1、Y2を求めな
ければならず、この算出には時間を有し、リアルタイム
処理が困難である。また、1スキャンライン分のデータ
が連続的に出力される場合、一旦どこかに蓄えておかな
いとアンチエリアシング処理を行うことは難しい。さ更
に、小数点以下を切り捨てて表示するグラフィックス表
示装置の場合には、第14図に示すようなことが起こる
が、このような場合、境界1に対しては画素Aまでが塗
られ、境界2に対しては画素Bまでが塗られることにな
る。上記のアンチエリアシング方法でエリアシングの除
去を行うと、画素Aに対しては補正が行えるが、画素B,
Cに対しては境界線2が引かれる前の画素Bの色(輝度
値)を保持していなければ補正することはできないとい
う問題点を有していた。
本発明はかかる点に鑑みてなされたもので、隠れ面処
理装置から直接輝度データおよび誤差データを出力で
き、アンチエリアシング等のように誤差データを必要と
する処理を行いたい場合にも使用できる隠れ面処理装置
と1スキャンライン分の輝度データと表示する平面の境
界における誤差データが連続的に得られる場合にそれら
のデータを使って連続的にアンチエリアシング処理を行
え、従ってリアルタイム処理に適し、また小数点以下を
切り捨てて表示するグラフィックス表示装置の場合に、
第14図に示すようなことが起きても補正を行なうことが
できるアンチエリアシング方法と隠れ面処理、スムーズ
シェーティング、アンチエリアシング処理をリアルタイ
ムで行なえる3次元グラフィックス処理装置を提供する
ことを目的とする。
理装置から直接輝度データおよび誤差データを出力で
き、アンチエリアシング等のように誤差データを必要と
する処理を行いたい場合にも使用できる隠れ面処理装置
と1スキャンライン分の輝度データと表示する平面の境
界における誤差データが連続的に得られる場合にそれら
のデータを使って連続的にアンチエリアシング処理を行
え、従ってリアルタイム処理に適し、また小数点以下を
切り捨てて表示するグラフィックス表示装置の場合に、
第14図に示すようなことが起きても補正を行なうことが
できるアンチエリアシング方法と隠れ面処理、スムーズ
シェーティング、アンチエリアシング処理をリアルタイ
ムで行なえる3次元グラフィックス処理装置を提供する
ことを目的とする。
課題を解決するための手段 本発明はスクリーンの1スキャンライン上に存在する
平面セグメント情報を入力とし、各画素の一番手前に存
在する平面セグメントの奥行き距離を保持する奥行きレ
ジスタと、輝度データを保持する輝度レジスタと、その
平面セグメントの境界における誤差と誤差情報を保持す
る誤差レジスタと、平面セグメントの範囲の内外判定、
奥行き距離の変位加算、輝度データの変位加算、奥行き
距離の比較を行う1つの加算器と、入力された平面セグ
メントトークンに関する情報を更新しながら一段のパイ
プラインレジスタを通して出力する入出力手段と、輝度
レジスタの内容を外部に出力する輝度データバスと誤差
レジスタの内容を外部に出力する誤差データバスを備え
た隠れ面処理装置である。
平面セグメント情報を入力とし、各画素の一番手前に存
在する平面セグメントの奥行き距離を保持する奥行きレ
ジスタと、輝度データを保持する輝度レジスタと、その
平面セグメントの境界における誤差と誤差情報を保持す
る誤差レジスタと、平面セグメントの範囲の内外判定、
奥行き距離の変位加算、輝度データの変位加算、奥行き
距離の比較を行う1つの加算器と、入力された平面セグ
メントトークンに関する情報を更新しながら一段のパイ
プラインレジスタを通して出力する入出力手段と、輝度
レジスタの内容を外部に出力する輝度データバスと誤差
レジスタの内容を外部に出力する誤差データバスを備え
た隠れ面処理装置である。
また、1スキャンライン上の連続した2画素に対応す
る輝度データをIn、In+1(nは非負整数)とし、各々の
画素に対応する座標値の誤差をEn、En+1とし、またその
誤差が左境界のものか、右境界のものか、境界以外のも
のであるかを判別する情報を各々誤差情報Fn、Fn+1とし
たときに、誤差En、En+1と誤差情報Fn、Fn+1を入力と
し、誤差情報Fn、Fn+1の組合せの判別を行い、その組合
せが右境界と境界以外のものもしくは右境界と右境界の
ときにはEnを、境界以外のものと左境界もしくは左境界
と左境界のときにはEn+1を、右境界と左境界のときには
En、En+1の小さくない方を選ぶ誤差判別手段と、誤差判
別手段によって選ばれた誤差EnまたはEn+1と輝度データ
をIn、In+1を入力とし、I={(In+In+1)+Ex(In−
In+1)}/2(但し、x=nまたはn+1)の計算を行う
補正計算手段と、判別手段の判定結果と補正計算手段の
計算結果Iと輝度データIn、In+1を入力とし、判別手段
の判定結果である誤差情報Fn、Fn+1の組合せが右境界と
境界以外のものもしくは右境界と右境界のときには輝度
データInを補正計算手段の計算結果Iに置換し、境界以
外のものと左境界もしくは左境界と左境界のときには輝
度データIn+1を補正計算手段の計算結果Iに置換し、右
境界と左境界のときには輝度データInとIn+1の両方を補
正計算手段の計算結果Iに置換し、それ以外の組合せの
時には置換せずに出力する置換出力手段とで構成される
アンチエリアシング方法である。
る輝度データをIn、In+1(nは非負整数)とし、各々の
画素に対応する座標値の誤差をEn、En+1とし、またその
誤差が左境界のものか、右境界のものか、境界以外のも
のであるかを判別する情報を各々誤差情報Fn、Fn+1とし
たときに、誤差En、En+1と誤差情報Fn、Fn+1を入力と
し、誤差情報Fn、Fn+1の組合せの判別を行い、その組合
せが右境界と境界以外のものもしくは右境界と右境界の
ときにはEnを、境界以外のものと左境界もしくは左境界
と左境界のときにはEn+1を、右境界と左境界のときには
En、En+1の小さくない方を選ぶ誤差判別手段と、誤差判
別手段によって選ばれた誤差EnまたはEn+1と輝度データ
をIn、In+1を入力とし、I={(In+In+1)+Ex(In−
In+1)}/2(但し、x=nまたはn+1)の計算を行う
補正計算手段と、判別手段の判定結果と補正計算手段の
計算結果Iと輝度データIn、In+1を入力とし、判別手段
の判定結果である誤差情報Fn、Fn+1の組合せが右境界と
境界以外のものもしくは右境界と右境界のときには輝度
データInを補正計算手段の計算結果Iに置換し、境界以
外のものと左境界もしくは左境界と左境界のときには輝
度データIn+1を補正計算手段の計算結果Iに置換し、右
境界と左境界のときには輝度データInとIn+1の両方を補
正計算手段の計算結果Iに置換し、それ以外の組合せの
時には置換せずに出力する置換出力手段とで構成される
アンチエリアシング方法である。
さらに、前記の隠れ面処理装置とこの隠れ面処理装置
から出力される1スキャンライン分の輝度データと誤差
データおよびその誤差が左境界のものか、右境界のもの
か、境界以外のものであるかを判別する誤差情報のうち
の連続した2画素に対応する輝度データをIn、In+1(n
は非負整数)とし、各々の画素に対応する座標値の誤差
をEn、En+1とし、また各々の誤差情報Fn、Fn+1としたと
きに、誤差En、En+1と誤差情報Fn、Fn+1を入力とし、誤
差情報Fn、Fn+1の組合せの判別を行い、その組合せが右
境界と境界以外のものもしくは右境界と右境界のときに
はEnを、境界以外のものと左境界もしくは左境界と左境
界のときにはEn+1を、右境界と左境界のときにはEn、E
n+1の大きい方を選ぶ誤差判別装置と、誤差判別装置に
よって選ばれた誤差EnまたはEn+1と輝度データをIn、I
n+1を入力とし、I={(In+In+1)+Ex(In−
In+1)}/2(但し、x=nまたはn+1)の計算を行う
補正計算装置と、誤差判別装置の判定結果と補正計算装
置の計算結果Iと輝度データIn、In+1を入力と、誤差判
別装置の判定結果である誤差情報Fn、Fn+1の組合せが右
境界と境界以外のものもしくは右境界と右境界のときに
は輝度データInを補正計算装置の計算結果Iに置換し、
境界以外のものと左境界もしくは左境界と左境界のとき
には輝度データIn+1を補正計算装置の計算結果Iに置換
し、右境界と左境界のときには輝度データInとIn+1の両
方を補正計算装置の計算結果Iに置換し、それ以外の組
合せの時には置換せずに出力する置換出力装置とで構成
されるアンチエリアシング装置とで構成される3次元グ
ラフィックス処理装置である。
から出力される1スキャンライン分の輝度データと誤差
データおよびその誤差が左境界のものか、右境界のもの
か、境界以外のものであるかを判別する誤差情報のうち
の連続した2画素に対応する輝度データをIn、In+1(n
は非負整数)とし、各々の画素に対応する座標値の誤差
をEn、En+1とし、また各々の誤差情報Fn、Fn+1としたと
きに、誤差En、En+1と誤差情報Fn、Fn+1を入力とし、誤
差情報Fn、Fn+1の組合せの判別を行い、その組合せが右
境界と境界以外のものもしくは右境界と右境界のときに
はEnを、境界以外のものと左境界もしくは左境界と左境
界のときにはEn+1を、右境界と左境界のときにはEn、E
n+1の大きい方を選ぶ誤差判別装置と、誤差判別装置に
よって選ばれた誤差EnまたはEn+1と輝度データをIn、I
n+1を入力とし、I={(In+In+1)+Ex(In−
In+1)}/2(但し、x=nまたはn+1)の計算を行う
補正計算装置と、誤差判別装置の判定結果と補正計算装
置の計算結果Iと輝度データIn、In+1を入力と、誤差判
別装置の判定結果である誤差情報Fn、Fn+1の組合せが右
境界と境界以外のものもしくは右境界と右境界のときに
は輝度データInを補正計算装置の計算結果Iに置換し、
境界以外のものと左境界もしくは左境界と左境界のとき
には輝度データIn+1を補正計算装置の計算結果Iに置換
し、右境界と左境界のときには輝度データInとIn+1の両
方を補正計算装置の計算結果Iに置換し、それ以外の組
合せの時には置換せずに出力する置換出力装置とで構成
されるアンチエリアシング装置とで構成される3次元グ
ラフィックス処理装置である。
作 用 本発明は上述の隠れ面処理装置の構成により、誤差レ
ジスタを備えているため、1スキャンライン上に存在す
る一番手前の平面セグメントの境界における誤差値とそ
の誤差が左境界のものであるか右境界のものであるかの
誤差情報を保持することが可能であり、誤差データバス
を備えることにより、その保持内容を輝度データと同時
に読み出すことが可能である。
ジスタを備えているため、1スキャンライン上に存在す
る一番手前の平面セグメントの境界における誤差値とそ
の誤差が左境界のものであるか右境界のものであるかの
誤差情報を保持することが可能であり、誤差データバス
を備えることにより、その保持内容を輝度データと同時
に読み出すことが可能である。
また上述のアンチエリアシング方法により、1スキャ
ンライン上の連続した2画素を使って、画素上の境界に
対し補正を行うため、境界が1つの画素内にあるのか、
幾つかのまたがっているかの判定は必要なく、幾つかに
またがっている場合の補正計算の算出も煩雑さもない。
小数点以下を切り捨てて表示するグラフィックス装置の
場合における第14図のような時でも補正を行うことがで
きる。更に、1スキャンライン分のデータが連続して出
てくる場合でも、その処理を連続して行うことが可能で
ある。
ンライン上の連続した2画素を使って、画素上の境界に
対し補正を行うため、境界が1つの画素内にあるのか、
幾つかのまたがっているかの判定は必要なく、幾つかに
またがっている場合の補正計算の算出も煩雑さもない。
小数点以下を切り捨てて表示するグラフィックス装置の
場合における第14図のような時でも補正を行うことがで
きる。更に、1スキャンライン分のデータが連続して出
てくる場合でも、その処理を連続して行うことが可能で
ある。
上述の3次元グラフィックス処理装置の構成により、
1スキャンライン上に存在する平面セグメント情報が入
力されると、隠れ面処理装置により処理されて輝度デー
タと誤差データがリアルタイムで得られ、連続して出力
されるこれらのデータを用いてアンチエリアシング処理
を連続に行うことができるので、隠れ面処理とスムーズ
シェーディング処理とアンチエリアシング処理をリアル
タイムで行うことが可能である。
1スキャンライン上に存在する平面セグメント情報が入
力されると、隠れ面処理装置により処理されて輝度デー
タと誤差データがリアルタイムで得られ、連続して出力
されるこれらのデータを用いてアンチエリアシング処理
を連続に行うことができるので、隠れ面処理とスムーズ
シェーディング処理とアンチエリアシング処理をリアル
タイムで行うことが可能である。
実施例 第2図は本発明の第1の実施例における隠れ面処理装
置のシステムブロック図、第1図はその構成要素の詳細
図を示すものである。第2図において、1はN画素から
なる1スキャンラインの各画素に対応して存在する画素
演算器である。第1図ににおいて、10はこの画素位置で
一番手前に存在する平面の奥行き座標を保持する奥行き
レジスタ、11はその平面の輝度情報を保持する輝度レジ
スタ、12は平面セグメントの内外判定、奥行き距離の変
位加算、奥行きデータの比較、輝度データの変位加算を
時分割的に行う1つの加算器、15はその平面の境界にお
ける誤差とその誤差が左右どちらの境界のものであるか
を識別するための誤差情報を保持する誤差レジスタであ
る。
置のシステムブロック図、第1図はその構成要素の詳細
図を示すものである。第2図において、1はN画素から
なる1スキャンラインの各画素に対応して存在する画素
演算器である。第1図ににおいて、10はこの画素位置で
一番手前に存在する平面の奥行き座標を保持する奥行き
レジスタ、11はその平面の輝度情報を保持する輝度レジ
スタ、12は平面セグメントの内外判定、奥行き距離の変
位加算、奥行きデータの比較、輝度データの変位加算を
時分割的に行う1つの加算器、15はその平面の境界にお
ける誤差とその誤差が左右どちらの境界のものであるか
を識別するための誤差情報を保持する誤差レジスタであ
る。
以上のように構成された本実施例における隠れ面処理
装置について以下その動作を説明する。
装置について以下その動作を説明する。
まず平面セグメントの情報として、左端点座標(XL,Z
L)、継続画素数dX、単位画素あたりの奥行き座標の変
位Z′、左端点での輝度情報I、単位画素あたりの輝度
変位I′、左端点(左境界)での誤差EL、右端点(右境
界)での誤差ERを持つトークンが第2図のようなアレイ
構造の構成要素となる画素演算器1の左側からA入力ポ
ートAi、B入力ポートBiに分けて入力される。但し、左
端点での誤差EL、右端点での誤差ERの上位2ビットには
誤差情報を格納する。その誤差情報は第3図の(a)の
ようにまとめられる。
L)、継続画素数dX、単位画素あたりの奥行き座標の変
位Z′、左端点での輝度情報I、単位画素あたりの輝度
変位I′、左端点(左境界)での誤差EL、右端点(右境
界)での誤差ERを持つトークンが第2図のようなアレイ
構造の構成要素となる画素演算器1の左側からA入力ポ
ートAi、B入力ポートBiに分けて入力される。但し、左
端点での誤差EL、右端点での誤差ERの上位2ビットには
誤差情報を格納する。その誤差情報は第3図の(a)の
ようにまとめられる。
制御情報CTRLiにはその平面セグメントの存在する範
囲の画素演算器1が入っていることを示すINフラグ情報
がある。時分割的に各入力ポートに与えられる情報は第
3図の(b)のようにまとめられる。
囲の画素演算器1が入っていることを示すINフラグ情報
がある。時分割的に各入力ポートに与えられる情報は第
3図の(b)のようにまとめられる。
次に第1図を用いて画素演算器の動作を説明する。第
1のタイミングT1ではA入力ポートAiのデータと全1パ
ターンを加算器12に与え、A入力データを1減算した結
果を得る。もしINフラグ=0で減算の結果が負の時は、
この平面セグメントの存在範囲はこの画素位置から始ま
ることになるので、セレクタ14でBiのデータdXをAポー
ト側に移しラッチ17に入れ、INフラグを1に反転してラ
ッチ16に入れる。もしINフラグ=1で減算結果が負の時
は、平面セグメントの存在範囲の外に出たことになるの
でINフラグを0に反転してA出力ポートには負になった
値(符号なし整数では最大値)をそのまま出力する。そ
れ以外の場合はCTRLiをそのままCTRLoに出力し、Aoへは
加算器出力を出力する。
1のタイミングT1ではA入力ポートAiのデータと全1パ
ターンを加算器12に与え、A入力データを1減算した結
果を得る。もしINフラグ=0で減算の結果が負の時は、
この平面セグメントの存在範囲はこの画素位置から始ま
ることになるので、セレクタ14でBiのデータdXをAポー
ト側に移しラッチ17に入れ、INフラグを1に反転してラ
ッチ16に入れる。もしINフラグ=1で減算結果が負の時
は、平面セグメントの存在範囲の外に出たことになるの
でINフラグを0に反転してA出力ポートには負になった
値(符号なし整数では最大値)をそのまま出力する。そ
れ以外の場合はCTRLiをそのままCTRLoに出力し、Aoへは
加算器出力を出力する。
第2にタイミングTでは、INフラグ=1ならばA出力
ポートAi上のZとB入力ポートBi上のZ′を加算してA
出力ポートAoに出力し、そうでなければAiのデータを更
新しないでAoに出力する。
ポートAi上のZとB入力ポートBi上のZ′を加算してA
出力ポートAoに出力し、そうでなければAiのデータを更
新しないでAoに出力する。
第3のタイミングT3では、A出力ポートAoをT2の時と
は変更せずに保持する。INフラグ=1でかつA入力ポー
トAi上のZデータと奥行きレジスタ10のデータZbを加算
器12で比較した結果がZ<Zbの時、奥行きレジスタ10に
A入力ポート上のZを格納する。
は変更せずに保持する。INフラグ=1でかつA入力ポー
トAi上のZデータと奥行きレジスタ10のデータZbを加算
器12で比較した結果がZ<Zbの時、奥行きレジスタ10に
A入力ポート上のZを格納する。
第4のタイミングT4では、INフラグ=1でかつ上記の
比較結果がZ<Zbの時は、輝度レジスタ11にB入力ポー
ト上のIを格納する。またINフラグ=1ならばA入力ポ
ートAi上のIとB入力ポートBi上のI′を加算してA出
力ポートAoに出力し、そうでなければAiのデータを更新
しないでAoに出力する。
比較結果がZ<Zbの時は、輝度レジスタ11にB入力ポー
ト上のIを格納する。またINフラグ=1ならばA入力ポ
ートAi上のIとB入力ポートBi上のI′を加算してA出
力ポートAoに出力し、そうでなければAiのデータを更新
しないでAoに出力する。
最後に第5のタイミングT5では、INフラグが0から1
に反転するとき、つまり第1のタイミングT1においてIN
フラグ=0でXの減算結果が負になったときに、かつ第
3のタイミングでの比較結果がZ<Zbならば誤差レジス
タな内容を更新するためにA入力ポートAi上のELを誤差
レジスタ15に格納し、INフラグが1から0に反転すると
き、つまり第1のタイミングT1においてINフラグ=1で
dXの減算結果が負になったときで、かつ第3のタイミン
グでの比較結果がZ<Zbならば誤差レジスタ内容を更新
するためにB入力ポートBi上のERを誤差レジスタ15に格
納する。それ以外の場合は何もせずそのままA出力ポー
トAo、B出力ポートBoに出力する。
に反転するとき、つまり第1のタイミングT1においてIN
フラグ=0でXの減算結果が負になったときに、かつ第
3のタイミングでの比較結果がZ<Zbならば誤差レジス
タな内容を更新するためにA入力ポートAi上のELを誤差
レジスタ15に格納し、INフラグが1から0に反転すると
き、つまり第1のタイミングT1においてINフラグ=1で
dXの減算結果が負になったときで、かつ第3のタイミン
グでの比較結果がZ<Zbならば誤差レジスタ内容を更新
するためにB入力ポートBi上のERを誤差レジスタ15に格
納する。それ以外の場合は何もせずそのままA出力ポー
トAo、B出力ポートBoに出力する。
第4図(a)は、平面セグメント情報を持つトークン
が各画素演算器で処理を受けながらアレイ上を流れてい
く様子を表わしている。
が各画素演算器で処理を受けながらアレイ上を流れてい
く様子を表わしている。
以上の説明からCTRL信号のパスで未使用のT2またはT3
のタイミングスロットに、トークンが平面セグメントの
ものかスイープトークンのものかの識別子を入れること
が可能であることが分かる。各画素演算器がスイープト
ークンを受け取ったときの動作を第1図と第4図(b)
を用いて説明する。
のタイミングスロットに、トークンが平面セグメントの
ものかスイープトークンのものかの識別子を入れること
が可能であることが分かる。各画素演算器がスイープト
ークンを受け取ったときの動作を第1図と第4図(b)
を用いて説明する。
第1のタイミングT1では、1スキャンラインの表示画
素数をXの換わりに受け取り、加算器12で1減算して残
りの表示画素数をカウントする。減算結果が負になる
と、表示範囲外に出たことになるのでINフラグを0に反
転する。
素数をXの換わりに受け取り、加算器12で1減算して残
りの表示画素数をカウントする。減算結果が負になる
と、表示範囲外に出たことになるのでINフラグを0に反
転する。
第2のタイミングT2では、INフラグ=1で表示範囲内
にあるときは、輝度レジスタ11の内容を輝度データバス
IBUSに、誤差レジスタ15の内容を誤差データバスEBUSに
各々出力する。
にあるときは、輝度レジスタ11の内容を輝度データバス
IBUSに、誤差レジスタ15の内容を誤差データバスEBUSに
各々出力する。
第3のタイミングT3では、INフラグ=1で表示範囲内
にあるときは、奥行きレジスタ10に初期値ZBACKを格納
する。
にあるときは、奥行きレジスタ10に初期値ZBACKを格納
する。
第4のタイミングT4では、INフラグ=1で表示範囲内
にあるときは、輝度レジスタ11に初期値IBACKを格納す
る。
にあるときは、輝度レジスタ11に初期値IBACKを格納す
る。
第5のタイミングT5では、INフラグ=1で表示範囲内
にあるときは、誤差レジスタ15の全ビットを0に初期化
する。
にあるときは、誤差レジスタ15の全ビットを0に初期化
する。
以上のようにスイープトークンは各サイクル毎に隣の
画素演算器に伝播するので、輝度データバス、誤差デー
タバスを観測していると各画素の表示すべき輝度と境界
における誤差が順次出力されてくる。従って、上記の過
程を1画面分のスキャンラインに対して行い、更に続け
て繰り返すことにより、輝度データと表示すべき平面の
境界における誤差を同時に得ることができ、アンチエリ
アシング等の誤差を必要とする処理を非常に高速に行う
ことができる。
画素演算器に伝播するので、輝度データバス、誤差デー
タバスを観測していると各画素の表示すべき輝度と境界
における誤差が順次出力されてくる。従って、上記の過
程を1画面分のスキャンラインに対して行い、更に続け
て繰り返すことにより、輝度データと表示すべき平面の
境界における誤差を同時に得ることができ、アンチエリ
アシング等の誤差を必要とする処理を非常に高速に行う
ことができる。
次に本発明における第2の実施例であるアンチエリア
シング方法について述べる。第5図は本アンチエリアシ
ング方法の構成概略図、第6図は本アンチエリアシング
方法で使われる補正計算の説明図である。以下、第5図
を用いて本アンチエリアシング方法について説明する。
シング方法について述べる。第5図は本アンチエリアシ
ング方法の構成概略図、第6図は本アンチエリアシング
方法で使われる補正計算の説明図である。以下、第5図
を用いて本アンチエリアシング方法について説明する。
1スキャンライン上の連続した2画素に対応する輝度
データをIn、In+1(nは非負整数)とし、各々の画素に
対応する座標値の誤差をEn、En+1とする。ここで、座標
値の誤差とは境界として表示されている画素の画素中心
から境界までのスキャンライン中心線に沿った距離をい
う(第6図参照)。但し、小数点以下を四捨五入して表
示する場合には符号付きで考える。つまり、境界線が画
素中心の右にあるときは符号を正とし、左にあるときは
符号を負とする。小数点以下を切り捨てて表示する場合
には、正符号のみでよい。誤差が左境界のものか、右境
界のものか、境界以外かの情報を誤差情報と呼び、前記
の2画素に対応する誤差情報を各々Fn、Fn+1とする。こ
のとき誤差情報Fn、Fn+1の組合せを次のように分類す
る。
データをIn、In+1(nは非負整数)とし、各々の画素に
対応する座標値の誤差をEn、En+1とする。ここで、座標
値の誤差とは境界として表示されている画素の画素中心
から境界までのスキャンライン中心線に沿った距離をい
う(第6図参照)。但し、小数点以下を四捨五入して表
示する場合には符号付きで考える。つまり、境界線が画
素中心の右にあるときは符号を正とし、左にあるときは
符号を負とする。小数点以下を切り捨てて表示する場合
には、正符号のみでよい。誤差が左境界のものか、右境
界のものか、境界以外かの情報を誤差情報と呼び、前記
の2画素に対応する誤差情報を各々Fn、Fn+1とする。こ
のとき誤差情報Fn、Fn+1の組合せを次のように分類す
る。
(1) Fn:境界以外、Fn+1:左境界 (2) Fn:左境界、Fn+1:左境界 (3) Fn:右境界、Fn+1:境界以外 (4) Fn:右境界、Fn+1:右境界 (5) Fn:右境界、Fn+1:左境界 (6) 上記以外の組合せ 誤差判別手段20は誤差En、En+1と誤差情報Fn、Fn+1を
入力とし、上記の分類に従って判別を行い、その判別結
果が(1)または(2)のときはEn+1を選び、(3)ま
たは(4)のときはEnを選び、(5)のときはEn、En+1
のどちらか小さくない方を選び、(6)のときはどちら
でもよい方を選び、補正計算手段21に出力する。補正計
算手段21では誤差判別手段20で出力された誤差Ex(x=
nまたはn+1)と前記の輝度データIn、In+1を入力と
して、次の(*)の計算を行う。
入力とし、上記の分類に従って判別を行い、その判別結
果が(1)または(2)のときはEn+1を選び、(3)ま
たは(4)のときはEnを選び、(5)のときはEn、En+1
のどちらか小さくない方を選び、(6)のときはどちら
でもよい方を選び、補正計算手段21に出力する。補正計
算手段21では誤差判別手段20で出力された誤差Ex(x=
nまたはn+1)と前記の輝度データIn、In+1を入力と
して、次の(*)の計算を行う。
I={In+In+1+Ex*(In−In+1)}/2 ………………
(*) 但し、x=nまたはn+1 第6図を用いて(*)について説明する。第6図
(a)は分類(3)に属する場合の図で、このときn番
目の画素とn+1番目の画素を左に画素幅の1/2だけ平
行移動し(図の点線で示されている矩形)、この平行移
動した2画素を用いて面積比で輝度を決めると式(*)
になる。また第6図(b)は分類(1)に属する場合
で、このときn番目の画素とn+1番目の画素を右に画
素幅の1/2だけ平行移動し(図の点線で示されている矩
形)、この平行移動した2画素を用いて面積比で輝度を
決めると式(*)になる。分類(2)、(4)の場合も
上記と同様に決まる。分類(5)の場合は上記の折衷型
で誤差の大きい方でその色の割合を決める。但し、境界
線の傾きによっては、上記の式は近似的なものとなる。
(*) 但し、x=nまたはn+1 第6図を用いて(*)について説明する。第6図
(a)は分類(3)に属する場合の図で、このときn番
目の画素とn+1番目の画素を左に画素幅の1/2だけ平
行移動し(図の点線で示されている矩形)、この平行移
動した2画素を用いて面積比で輝度を決めると式(*)
になる。また第6図(b)は分類(1)に属する場合
で、このときn番目の画素とn+1番目の画素を右に画
素幅の1/2だけ平行移動し(図の点線で示されている矩
形)、この平行移動した2画素を用いて面積比で輝度を
決めると式(*)になる。分類(2)、(4)の場合も
上記と同様に決まる。分類(5)の場合は上記の折衷型
で誤差の大きい方でその色の割合を決める。但し、境界
線の傾きによっては、上記の式は近似的なものとなる。
補正計算手段21で計算された式(*)の結果Iは置換
出力手段22に出力される。置換出力手段22は前記の補正
計算手段21で計算された式(*)の結果IとIn、In+1を
入力とし、誤差判別手段20で判別された分類が(1)ま
たは(2)のときはIn+1をIに置換して出力し、分類が
(3)または(4)のときはInをIに置換して出力し、
分類が(5)のときはInとIn+1の両方をIに置換して出
力し、分類が(6)のときは置換せずにIn、In+1をその
まま出力する。
出力手段22に出力される。置換出力手段22は前記の補正
計算手段21で計算された式(*)の結果IとIn、In+1を
入力とし、誤差判別手段20で判別された分類が(1)ま
たは(2)のときはIn+1をIに置換して出力し、分類が
(3)または(4)のときはInをIに置換して出力し、
分類が(5)のときはInとIn+1の両方をIに置換して出
力し、分類が(6)のときは置換せずにIn、In+1をその
まま出力する。
以上のように連続した2画素を用いてアンチエリアシ
ングのために補正計算を行い、出力の所で補正計算結果
と元のデータを置換することによりアンチエリアシング
後のデータを得るので、連続的にデータが入力される場
合でも連続的に処理を行え、第14図の場合でもアンチエ
リアシングが行える。
ングのために補正計算を行い、出力の所で補正計算結果
と元のデータを置換することによりアンチエリアシング
後のデータを得るので、連続的にデータが入力される場
合でも連続的に処理を行え、第14図の場合でもアンチエ
リアシングが行える。
最後に本発明における第3の実施例である3次元グラ
フィックス処理装置について述べる。第7図はこの3次
元グラフィックス処理装置のシステムブロック図であ
る。第7図において、30は本発明における第1の実施例
で述べた隠れ面処理装置である。以下第7図を用いて本
3次元のグラフィックス処理装置についてその動作を説
明する。
フィックス処理装置について述べる。第7図はこの3次
元グラフィックス処理装置のシステムブロック図であ
る。第7図において、30は本発明における第1の実施例
で述べた隠れ面処理装置である。以下第7図を用いて本
3次元のグラフィックス処理装置についてその動作を説
明する。
まず1スキャンライン分の平面セグメント情報が第1
の実施例に従って隠れ面処理装置30の左側のAポート、
Bポートに分けて入力される。平面セグメントの情報は
前述のように、左端点座標(XL、ZL)、継続画素数dX、
単位画素あたりの奥行き座標の変位Z′、左端点での輝
度情報I、単位画素あたりの輝度変位I′、左端点(左
境界)での誤差EL、右端点(右境界)での誤差ERを持つ
トークンである。但し、左端点での誤差EL、右端点での
誤差ERの上位2ビットには誤差情報を格納する。その誤
差情報は前述のように、第3図(a)のようにまとめら
れる。
の実施例に従って隠れ面処理装置30の左側のAポート、
Bポートに分けて入力される。平面セグメントの情報は
前述のように、左端点座標(XL、ZL)、継続画素数dX、
単位画素あたりの奥行き座標の変位Z′、左端点での輝
度情報I、単位画素あたりの輝度変位I′、左端点(左
境界)での誤差EL、右端点(右境界)での誤差ERを持つ
トークンである。但し、左端点での誤差EL、右端点での
誤差ERの上位2ビットには誤差情報を格納する。その誤
差情報は前述のように、第3図(a)のようにまとめら
れる。
これら平面セグメントトークンの後にスイープトーク
ンが入力されると、隠れ面処理装置30の輝度データバス
(IBUS)、誤差データバス(EBUS)からは1スキャンラ
イン分の輝度データと境界における誤差データが順次出
力される。輝度データバスから順次出てくる輝度データ
をI0,I1,I2,……、誤差データバスから順次出力される
誤差データをE0,E1,E2,……、誤差情報をF0,F1,F2,……
とする。輝度データバスから出力される連続した2画素
分の輝度データIn、In+1は、各々IレジスタB42、Iレ
ジスタA41に格納される。その間、誤差データバスから
出力されるEn、En+1、Fn、Fn+1は各々EレジスタB32、
EレジスタA31、FレジスタB34、FレジスタA33に格納
される。誤差情報の格納されたFレジスタB34、Fレジ
スタA33の内容は誤差情報判定装置35により次のように
判定される。
ンが入力されると、隠れ面処理装置30の輝度データバス
(IBUS)、誤差データバス(EBUS)からは1スキャンラ
イン分の輝度データと境界における誤差データが順次出
力される。輝度データバスから順次出てくる輝度データ
をI0,I1,I2,……、誤差データバスから順次出力される
誤差データをE0,E1,E2,……、誤差情報をF0,F1,F2,……
とする。輝度データバスから出力される連続した2画素
分の輝度データIn、In+1は、各々IレジスタB42、Iレ
ジスタA41に格納される。その間、誤差データバスから
出力されるEn、En+1、Fn、Fn+1は各々EレジスタB32、
EレジスタA31、FレジスタB34、FレジスタA33に格納
される。誤差情報の格納されたFレジスタB34、Fレジ
スタA33の内容は誤差情報判定装置35により次のように
判定される。
(1) Fn=00、Fn+1=10の時 (2) Fn=10、Fn+1=10の時 (3) Fn=01、Fn+1=00の時 (4) Fn=01、Fn+1=01の時 (5) Fn=01、Fn+1=10の時 (6) それ以外の時 誤差情報判定装置35はその判定結果をセレクタA36に
知らせ、セレクタA36はその判定結果に基づきEレジス
タA31またはEレジスタB32の内容を選択する。(1)ま
たは(2)のときはEレジスタA31の内容であるEn+1を
選び、(3)または(4)のときはEレジスタB32の内
容であるEnを選び、(5)の場合はEn、En+1の大きい方
を選び、EレジスタC37に出力する。(6)の時はどち
らでも構わない。一方この判定結果はKレジスタA38に
も出力される。この処理の間、IレジスタB42の内容と
IレジスタA41の両方の内容が減算器43と加算器A44に送
られ、IレジスタE47にも順次送られる。減算器43ではI
n−In+1の計算が行われ、その結果をIレジスタC45に出
力する。加算器A44ではIn+In+1の計算が行われ、その
結果をIレジスタD46に出力する。IレジスタC45の内容
とEレジスタC37の内容であるセレクタA36で選出された
ET(但し、T=nまたはn+1)は乗算器48で乗算さ
れ、(In+In+1)*ET(但し、T=nまたはn+1)の
結果がIレジスタF49に出力される。その間に、Kレジ
スタA38の内容はKレジスタB39に、IレジスタD46の内
容はIレジスタG50に、IレジスタE47の内容はIレジス
タH51に送られる。IレジスタF49の内容とIレジスタG5
0の内容は1ビット右シフタ付き加算器B52に送られ、前
述の計算を含めた形でかくと{(In+In+1)+(In−I
n+1)*ET}/2=I(但し、T=nまたはn+1)の計
算が行われたことになり、その結果がIレジスタI53に
送られる。この加算処理の間に、KレジスタB39の内容
はKレジスタC40に、IレジスタH51の内容はIレジスタ
J54に送られる。次に、KレジスタC40の内容である誤差
情報判定装置35の判定結果はセレクタB56に送られる。
セレクタB56には2回分の判定結果が蓄えられ、先に蓄
えられた判定の方が優先順位が高く、それに従い次のよ
うに選択をする。KレジスタC40から送られてきた判定
結果が(1)または(2)の場合はIレジスタJ54の内
容Inを選択して表示装置に出力し、次のタイミングでI
n+1の換わりに、この間にIレジスタI53からIレジスタ
K55に送られているIを選択し、表示装置に出力する。
(3)または(4)の場合はIレジスタJ54の内容であ
るInの換わりにIレジスタI53の内容であるIを選択
し、表示装置に出力する。(5)の場合はIレジスタJ5
4の内容であるInの換わりにIレジスタI53の内容である
Iを選択し表示装置に出力し、次のタイミングでもIn+1
の換わりに、この間にIレジスタI53からIレジスタK55
に送られているIを選択し、表示装置に出力する。
(6)の場合はIレジスタJ54の内容を順次選択し表示
装置に出力する。つまり、判定結果が(1)または
(2)のときはIn+1の換わりにIを出力し、(3)また
は(4)の時はInの換わりにIを出力し、(5)のとき
はIn、In+1の両方の換わりにIを出力し、(6)の時は
置換せずにIn、In+1をそのまま出力する。
知らせ、セレクタA36はその判定結果に基づきEレジス
タA31またはEレジスタB32の内容を選択する。(1)ま
たは(2)のときはEレジスタA31の内容であるEn+1を
選び、(3)または(4)のときはEレジスタB32の内
容であるEnを選び、(5)の場合はEn、En+1の大きい方
を選び、EレジスタC37に出力する。(6)の時はどち
らでも構わない。一方この判定結果はKレジスタA38に
も出力される。この処理の間、IレジスタB42の内容と
IレジスタA41の両方の内容が減算器43と加算器A44に送
られ、IレジスタE47にも順次送られる。減算器43ではI
n−In+1の計算が行われ、その結果をIレジスタC45に出
力する。加算器A44ではIn+In+1の計算が行われ、その
結果をIレジスタD46に出力する。IレジスタC45の内容
とEレジスタC37の内容であるセレクタA36で選出された
ET(但し、T=nまたはn+1)は乗算器48で乗算さ
れ、(In+In+1)*ET(但し、T=nまたはn+1)の
結果がIレジスタF49に出力される。その間に、Kレジ
スタA38の内容はKレジスタB39に、IレジスタD46の内
容はIレジスタG50に、IレジスタE47の内容はIレジス
タH51に送られる。IレジスタF49の内容とIレジスタG5
0の内容は1ビット右シフタ付き加算器B52に送られ、前
述の計算を含めた形でかくと{(In+In+1)+(In−I
n+1)*ET}/2=I(但し、T=nまたはn+1)の計
算が行われたことになり、その結果がIレジスタI53に
送られる。この加算処理の間に、KレジスタB39の内容
はKレジスタC40に、IレジスタH51の内容はIレジスタ
J54に送られる。次に、KレジスタC40の内容である誤差
情報判定装置35の判定結果はセレクタB56に送られる。
セレクタB56には2回分の判定結果が蓄えられ、先に蓄
えられた判定の方が優先順位が高く、それに従い次のよ
うに選択をする。KレジスタC40から送られてきた判定
結果が(1)または(2)の場合はIレジスタJ54の内
容Inを選択して表示装置に出力し、次のタイミングでI
n+1の換わりに、この間にIレジスタI53からIレジスタ
K55に送られているIを選択し、表示装置に出力する。
(3)または(4)の場合はIレジスタJ54の内容であ
るInの換わりにIレジスタI53の内容であるIを選択
し、表示装置に出力する。(5)の場合はIレジスタJ5
4の内容であるInの換わりにIレジスタI53の内容である
Iを選択し表示装置に出力し、次のタイミングでもIn+1
の換わりに、この間にIレジスタI53からIレジスタK55
に送られているIを選択し、表示装置に出力する。
(6)の場合はIレジスタJ54の内容を順次選択し表示
装置に出力する。つまり、判定結果が(1)または
(2)のときはIn+1の換わりにIを出力し、(3)また
は(4)の時はInの換わりにIを出力し、(5)のとき
はIn、In+1の両方の換わりにIを出力し、(6)の時は
置換せずにIn、In+1をそのまま出力する。
上記の過程を一画面分のスキャンラインに対して行
い、更に続けて繰返せば、3次元多面体物体を2次元の
表示装置画面上に、隠れ面処理、スムーズシェーディン
グ処理、そしてアンチエリアシング処理を行って、リア
ルタイムで表示できる。
い、更に続けて繰返せば、3次元多面体物体を2次元の
表示装置画面上に、隠れ面処理、スムーズシェーディン
グ処理、そしてアンチエリアシング処理を行って、リア
ルタイムで表示できる。
発明の効果 以上説明したように、本発明の隠れ処理装置によれ
ば、高速に表示すべき平面の輝度とその平面の境界にお
ける誤差を得ることができ、アンチエリアシング処理な
どに役立てることができる。また本発明のアンチエリア
シング方法によれば、1スキャンライン分の輝度データ
と誤差データが出力される場合でも、一旦どこかに蓄え
るという操作をすることなしにアンチエリアシング処理
を連続的に行うことができ、従って、リアルタイムでの
処理を行うことができる。そして本発明の3次元グラフ
ィックス処理装置によれば3次元多面体物体を2次元の
表示装置画面上に、隠れ面処理、スムーズシェーディン
グ処理、そしてアンチエリアシング処理を行って、リア
ルタイムで表示できる。従って、これらの発明の実用的
効果は非常に大きい。
ば、高速に表示すべき平面の輝度とその平面の境界にお
ける誤差を得ることができ、アンチエリアシング処理な
どに役立てることができる。また本発明のアンチエリア
シング方法によれば、1スキャンライン分の輝度データ
と誤差データが出力される場合でも、一旦どこかに蓄え
るという操作をすることなしにアンチエリアシング処理
を連続的に行うことができ、従って、リアルタイムでの
処理を行うことができる。そして本発明の3次元グラフ
ィックス処理装置によれば3次元多面体物体を2次元の
表示装置画面上に、隠れ面処理、スムーズシェーディン
グ処理、そしてアンチエリアシング処理を行って、リア
ルタイムで表示できる。従って、これらの発明の実用的
効果は非常に大きい。
第1図は本発明の第1の実施例の隠れ面処理装置におけ
る画素演算器のブロック図、第2図は同実施例の隠れ面
処理装置のブロック図、第3図は同実施例の誤差情報の
分類及び入力トークンの説明図、第4図は同実施例の画
素演算器をトークンが流れていく様子を示す説明図、第
5図は本発明における第2の実施例の構成概略図、第6
図は同実施例における補正計算の説明図、第7図は本発
明における第3の実施例の3次元グラフィックス処理装
置のシステムブロック図、第8図は従来の隠れ面処理装
置のブロック図、第9図は従来の隠れ面処理装置の画素
演算器のブロック図、第10図は本発明及び従来の隠れ面
処理装置に共通している概念の説明図、第11図は従来の
隠れ面処理装置の入力トークン説明図、第12図は従来の
隠れ面処理装置の画素演算器をトークンが流れていく様
子を示す説明図、第13図は従来のアンチエリアシング方
法の説明図、第14図は従来のアンチエリアシング方法で
は処理が行えない例を示す説明図である。 1……画素演算器、10……奥行きレジスタ、11……輝度
レジスタ、12……加算器、15……誤差レジスタ、20……
誤差判別手段、21……補正計算手段、22……置換出力手
段、30……隠れ面処理装置、35……誤差情報判定装置、
43……減算器、44……加算器A、48……乗算器、52……
加算器B、56……セレクタB
る画素演算器のブロック図、第2図は同実施例の隠れ面
処理装置のブロック図、第3図は同実施例の誤差情報の
分類及び入力トークンの説明図、第4図は同実施例の画
素演算器をトークンが流れていく様子を示す説明図、第
5図は本発明における第2の実施例の構成概略図、第6
図は同実施例における補正計算の説明図、第7図は本発
明における第3の実施例の3次元グラフィックス処理装
置のシステムブロック図、第8図は従来の隠れ面処理装
置のブロック図、第9図は従来の隠れ面処理装置の画素
演算器のブロック図、第10図は本発明及び従来の隠れ面
処理装置に共通している概念の説明図、第11図は従来の
隠れ面処理装置の入力トークン説明図、第12図は従来の
隠れ面処理装置の画素演算器をトークンが流れていく様
子を示す説明図、第13図は従来のアンチエリアシング方
法の説明図、第14図は従来のアンチエリアシング方法で
は処理が行えない例を示す説明図である。 1……画素演算器、10……奥行きレジスタ、11……輝度
レジスタ、12……加算器、15……誤差レジスタ、20……
誤差判別手段、21……補正計算手段、22……置換出力手
段、30……隠れ面処理装置、35……誤差情報判定装置、
43……減算器、44……加算器A、48……乗算器、52……
加算器B、56……セレクタB
Claims (4)
- 【請求項1】連続数もしくは高精度な離散値によって構
成された3次元空間上の多面体物体を前記精度に比べ低
精度な離散値によって構成された2次元スクリーン空間
へ表示する際に、隠れ面処理と、前記3次元空間から前
記2次元スクリーン空間への変換によって多面体の境界
で生じる精度差による誤差を用いたアンチエリアシング
処理を行なうグラフィックス表示装置において、スクリ
ーンの1スキャンライン上の各画素に対応して存在する
各画素演算器が、一番手前にある平面の奥行き距離(Z
b)を保持する奥行きレジスタと、その平面の輝度デー
タ(Ib)を保持する輝度レジスタと、その平面の境界の
場合には、前記3次元空間から前記2次元スクリーン空
間へ変換する際に精度差によって生じる誤差、それ以外
の場合には値0と左右境界かそれ以外かを識別する符号
を保持する誤差レジスタと、加算器と、隣接前段画素に
対応する画素演算器から多角形をスキャンライン平面で
切断した平面セグメント情報{先頭画素位置(X)、継
続画素数(dX)、先頭画素に対応する奥行き距離
(Z)、単位画素あたりの奥行き距離変位(dZ/dX)、
先頭画素に対応する輝度データ(I)、先頭画素に対応
する誤差データ(EL)、終端画素に対応する誤差データ
(ER)}をもつトークンを入力する手段と、隣接次段画
素に対応する画素演算器へ更新された前記平面セグメン
ト情報を持つトークンを1段のパイプラインレジスタ通
して出力する手段と、前記輝度レジスタ内のデータ(I
b)を外部に読み出す手段と前記誤差レジスタ内の誤差
データを外部に読み出す手段を具備し、平面セグメント
情報を前記画素演算器に入力した場合は、前記入力手段
により現スキャンライン上で新平面セグメントが存在す
る範囲に当画素演算器が含まれているか否かを前記加算
器に先頭画素位置(X)または継続画素数(dX)を入力
して判断し、もしこの範囲にあれば奥行き距離データ
(Z)に変位データ(dZ/dX)を前記加算器で加算して
次段画素演算器に出力し、更に奥行き距離データ(Z)
と前記奥行きレジスタ内の現奥行き距離データ(Zb)を
前記加算器により比較して、Z<Zb(もしくはZ≦Zb)
か否かを判定し、前記判定結果が肯定の時にのみ前記奥
行きレジスタと前記輝度レジスタの内容を新平面セグメ
ントの奥行き距離データ(Z)と輝度データ(I)でそ
れぞれ置き換え、当画素演算器が新平面セグメントが存
在するスキャンライン上の範囲の先頭かまたは終端かを
前記加算器に先頭画素位置(X)または(dX)を入力し
た結果に基づき判定し、前記判定結果が肯定でかつZ<
Zb(もしくはZ≦Zb)の時のみ前記誤差レジスタの内容
を当画素演算器が新平面セグメントが存在するスキャン
ライン上の範囲の先頭かまたは終端かに応じて、新セグ
メントの先頭画素に対応する誤差データ(EL)と先頭で
あることを示す符号または終端画素に対応する誤差デー
タ(ER)と終端であることを示す符号に置き換え、一方
セグメント情報を持つトークンに替わってスキャンライ
ンの終了を表わすスイープトークンを前段画素演算器に
入力した場合は、前記輝度レジスタ内のデータ(Ib)と
前記誤差レジスタ内のデータ(EL)または(ER)を外部
に出力した後、前記奥行きレジスタの内容を最大値に、
前記輝度レジスタの内容を背景色に、前記誤差レジスタ
の内容を初期化し、更に前記スイープトークンを次段画
素演算器に出力する事を特徴とする隠れ面処理装置。 - 【請求項2】連続数もしくは高精度な離散値によって構
成された3次元空間上の多面体物体を前記精度に比べ低
精度な離散値によって構成された2次元スクリーン空間
へ表示する際に、隠れ面処理と、前記3次元空間から前
記2次元スクリーン空間への変換によって多面体の境界
で生じる精度差による誤差を用いたアンチエリアシング
処理を行なうグラフィックス表示装置において、スクリ
ーンの1スキャンライン上の各画素に対応して存在する
各画素演算器が、一番手前にある平面の奥行き距離(Z
b)を保持する奥行きレジスタと、その平面の輝度デー
タ(Ib)を保持する輝度レジスタと、その平面の境界の
場合には、前記3次元空間から前記2次元スクリーン空
間へ変換する際に精度差によって生じる誤差、それ以外
の場合には値0と左右境界かそれ以外かを識別する符号
を保持する誤差レジスタと、加算器と、隣接前段画素に
対応する画素演算器から多角形をスキャンライン平面で
切断した平面セグメント情報{先頭画素位置(X)、継
続画素数(dX)、先頭画素に対応する奥行き距離
(Z)、単位画素あたりの奥行き距離変位(dZ/dX)、
先頭画素に対応する輝度データ(I)、単位画素あたり
の輝度変位(dI/dX)、先頭画素に対応する誤差データ
(EL)、終端画素に対応する誤差データ(EL)、終端画
素に対応する誤差データ(ER)}をもつトークンを入力
する手段と、隣接次段画素に対応する画素演算器へ更新
された前記平面セグメント情報を持つトークンを1段の
パイプラインレジスタを通して出力する手段と、前記輝
度レジスタ内のデータ(Ib)を外部に読み出す手段と前
記誤差レジスタ内の誤差データを外部に読み出す手段を
具備し、平面セグメント情報を前記画素演算器に入力し
た場合は、前記入力手段により現スキャンライン上で新
平面セグメントが存在する範囲に当画素演算器が含まれ
ているか否かを前記加算器に先頭画素位置(X)または
継続画素数(dX)を入力して判断し、もしこの範囲にあ
れば奥行き距離データ(Z)に変位データ(dZ/dX)を
前記加算器で加算して次段画素演算器に出力し、更に奥
行き距離データ(Z)と前記奥行きレジスタ内の現奥行
き距離データ(Zb)を前記加算器により比較して、Z<
Zb(もしくはZ≦Zb)か否かを判定し、輝度データ
(I)に変位データ(dI/dX)を前記加算器により加算
して次段画素演算器に出力し、前記判定結果が肯定の時
にのみ前記奥行きレジスタと前記輝度レジスタの内容を
新平面セグメントの奥行き距離データ(Z)と輝度デー
タ(I)でそれぞれ置き換え、当画素演算器が新平面セ
グメントが存在するスキャンライン上の範囲先頭かまた
は終端かを前記加算器に先頭画素位置(X)または(d
X)を入力した結果に基づき判定し、前記判定結果が肯
定でかつZ<Zb(もしくはZ≦Zb)の時のみ前記誤差レ
ジスタの内容を当画素演算器が新平面セグメントが存在
するスキャンライン上の範囲の先頭かまたは終端かに応
じて、新セグメントの先頭画素に対応する誤差データ
(EL)と先頭であることを示す符号または終端画素に対
応する誤差データ(ER)と終端であることを示す符号に
置き換え、一方セグメント情報を持つトークンに替わっ
てスキャンラインの終了を表わすスイープトークンを前
段画素演算器に入力した場合は、前記輝度レジスタ内の
データ(Ib)と前記誤差レジスタ内のデータ(EL)また
は(ER)を外部に出力した後、前記奥行きレジスタの内
容を最大値に、前記輝度レジスタの内容を背景色に、前
記誤差レジスタの内容を初期化し、更に前記スイープト
ークンを次段画素演算器に出力する事を特徴とする隠れ
面処理装置。 - 【請求項3】連続数もしくは高精度な離散値によって構
成された3次元空間上の多面体物体を前記精度に比べ低
精度な離散値によって構成された2次元スクリーン空間
へ表示する際に、隠れ面処理と、前記3次元空間から前
記2次元スクリーン空間への変換によって多面体の境界
で生じる精度差による誤差を用いたアンチエリアシング
処理を行なうグラフィックス表示装置において、スクリ
ーンの1スキャンライン上の各画素に対応して存在する
各画素演算器が、一番手前にある平面の奥行き距離(Z
b)を保持する奥行きレジスタと、その平面の輝度デー
タ(Ib)を保持する輝度レジスタと、その平面の境界の
場合には、前記3次元空間から前記2次元スクリーン空
間へ変換する際に精度差によって生じる誤差、それ以外
の場合には値0と左右境界かそれ以外かを識別する符号
を保持する誤差レジスタと、加算器と、隣接前段画素に
対応する画素演算器から多角形をスキャンライン平面で
切断した平面セグメント情報{先頭画素位置(X)、継
続画素数(dX)、先頭画素に対応する奥行き距離
(Z)、単位画素あたりの奥行き距離変位(dZ/dX)、
先頭画素に対応する輝度データ(I)、単位画素あたり
の輝度変位(dI/dX)、先頭画素に対応する誤差データ
(EL)、終端画素に対応する誤差データ(ER)}をもつ
トークンを入力する手段と、隣接次段画素に対応する画
素演算器へ更新された前記平面セグメント情報を持つト
ークンを1段のパイプラインレジスタを通して出力する
手段と、前記輝度レジスタ内のデータ(Ib)を外部に読
み出す手段と前記誤差レジスタ内の誤差データを外部に
読み出す手段を具備し、平面セグメント情報を前記画素
演算器に入力した場合は、第1のタイミングで前記入力
手段により現スキャンライン上で新平面セグメントが存
在する範囲に当画素演算器が含まれているか否かを前記
加算器に先頭画素位置(X)または継続画素数(dX)を
入力して判断し、もしこの範囲にあれば第2のタイミン
グで奥行き距離データ(Z)に変位データ(dZ/dX)を
前記加算器で加算して次段画素演算器に出力し、更に第
3のタイミングで奥行き距離データ(Z)と前記奥行き
レジスタ内の現奥行き距離データ(Zb)を前記加算器に
より比較して、Z<Zb(もしくはZ≦Zb)か否かを判定
し、第4のタイミングで輝度データ(I)に変位データ
(dI/dX)を前記加算器により加算して次段画素演算器
に出力し、前記判定結果が肯定の時にのみ前記奥行きレ
ジスタと前記輝度レジスタの内容を新平面セグメントの
奥行き距離データ(Z)と輝度データ(I)でそれぞれ
置き換え、第5のタイミングで当画素演算器が新平面セ
グメントが存在するスキャンライン上の範囲の先頭かま
たは終端かを前記加算器に先頭画素位置(X)または
(dX)を入力した結果に基づき判定し、前記判定結果が
肯定でかつZ<Zb(もしくはZ≦Zb)の時のみ前記誤差
レジスタの内容を当画素演算器が新平面セグメントが存
在するスキャンライン上の範囲の先頭かまたは終端かに
応じて、新セグメントの先頭画素に対応する誤差データ
(EL)と先頭であることを示す符号または終端画素に対
応する誤差データ(ER)と終端であることを示す符号に
置き換え、一方セグメント情報を持つトークンに替わっ
てスキャンラインの終了を表わすスイープトークンを前
段画素演算器に入力した場合は、前記輝度レジスタ内の
データ(Ib)と前記誤差レジスタ内のデータ(EL)また
は(ER)を外部に出力した後、前記奥行きレジスタの内
容を最大値に、前記輝度レジスタの内容を背景色に、前
記誤差レジスタの内容を初期化し、更に前記スイープト
ークンを次段画素演算器に出力する事を特徴とする隠れ
面処理装置。 - 【請求項4】連続数もしくは高精度な離散値によって構
成された3次元空間上の多面体物体を前記精度に比べ低
精度な離散値によって構成された2次元スクリーン空間
へ変換し、スキャンライン分解を行なったときの平面セ
グメント情報をスキャンライン単位で入力し、隠れ面処
理とシェーディングを行って1スキャンライン分の輝度
データと前記1スキャンライン上の端点の場合には、前
記3次元空間から前記2次元スクリーン空間へ変換する
際に精度差によって生じる誤差、それ以外の場合には値
0を出力する特許請求の範囲第1項記載の隠れ面処理装
置と、前記隠れ面処理装置から出力された連続した2画
素に対応する輝度データをIn、In+1(nは非負整数)と
し、前記1スキャンライン上の端点の場合には、前記3
次元空間から前記2次元スクリーン空間へ変換する際に
精度差によって生じる誤差、それ以外の場合には値0を
En、En+1とし、また各々の誤差情報をFn、Fn+1としたと
きに、前記誤差En、En+1と前記誤差情報Fn、Fn+1を入力
とし、前記誤差情報Fn、Fn+1の組合せの判別を行い、そ
の組合せが右境界と境界以外のものもしくは右境界と右
境界のときにはEnを、境界以外のものと左境界もしくは
左境界と左境界のときはEn+1を、右境界と左境界のとき
にはEn、En+1の小さくない方を選ぶ誤差判別手段と、前
記誤差判別手段によって選ばれた前記誤差EnまたはEn+1
と前記輝度データIn、In+1を入力とし、I={(In+I
n+1)+Ex(In−In+1)}/2(但し、x=nまたはn+
1)の計算を行う補正計算装置と、前記判別手段の判定
結果と前記補正計算装置の計算結果Iと前記輝度データ
In、In+1を入力とし、前記誤差判別装置の判定結果であ
る前記誤差情報Fn、Fn+1の組合せが右境界と境界以外の
ものもしくは右境界と右境界のときには前記輝度データ
Inを前記補正計算装置の計算結果Iに置換し、境界以外
のものと左境界もしくは左境界と左境界のときには前記
輝度データIn+1を前記補正計算装置の計算結果Iに置換
し、右境界と左境界のときには前記輝度データInとIn+1
の両方を前記補正計算装置の計算結果Iに置換し、それ
以外の組合せの時には置換せずに出力する置換出力手段
とで構成されることを特徴とする3次元グラフィックス
処理装置。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1218797A JP2523889B2 (ja) | 1989-08-25 | 1989-08-25 | 隠れ面処理装置 |
US07/569,443 US5253335A (en) | 1989-08-25 | 1990-08-20 | Hidden-surface processing device, anti-aliasing method and three-dimensional graphics processing apparatus |
EP90116294A EP0415292B1 (en) | 1989-08-25 | 1990-08-24 | Hidden-surface processing device, anti-aliasing method and three-dimensional graphics processing apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1218797A JP2523889B2 (ja) | 1989-08-25 | 1989-08-25 | 隠れ面処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0381886A JPH0381886A (ja) | 1991-04-08 |
JP2523889B2 true JP2523889B2 (ja) | 1996-08-14 |
Family
ID=16725517
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP1218797A Expired - Lifetime JP2523889B2 (ja) | 1989-08-25 | 1989-08-25 | 隠れ面処理装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US5253335A (ja) |
EP (1) | EP0415292B1 (ja) |
JP (1) | JP2523889B2 (ja) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0591325B1 (en) * | 1991-06-28 | 2007-12-05 | LIM, Hong Lip | Improvements in visibility calculations for 3d computer graphics |
US5706415A (en) * | 1991-12-20 | 1998-01-06 | Apple Computer, Inc. | Method and apparatus for distributed interpolation of pixel shading parameter values |
US5606650A (en) * | 1993-04-22 | 1997-02-25 | Apple Computer, Inc. | Method and apparatus for storage and retrieval of a texture map in a graphics display system |
US5402533A (en) * | 1993-04-22 | 1995-03-28 | Apple Computer, Inc. | Method and apparatus for approximating a signed value between two endpoint values in a three-dimensional image rendering device |
US5583974A (en) * | 1993-05-10 | 1996-12-10 | Apple Computer, Inc. | Computer graphics system having high performance multiple layer Z-buffer |
JP3557208B2 (ja) * | 1993-05-10 | 2004-08-25 | アプル・コンピュータ・インコーポレーテッド | 高性能複数層zバッファを有するコンピュータ・グラフィックス・システム |
US5526471A (en) * | 1993-12-15 | 1996-06-11 | International Business Machines Corporation | Rendering of non-opaque media using the p-buffer to account for polarization parameters |
US5808627A (en) * | 1994-04-22 | 1998-09-15 | Apple Computer, Inc. | Method and apparatus for increasing the speed of rendering of objects in a display system |
FR2723797B1 (fr) * | 1994-08-19 | 1996-09-20 | Sextant Avionique | Procede de codage de memoire image |
US6556311B1 (en) | 1997-05-28 | 2003-04-29 | Hewlett-Packard Development Co., L.P. | Luminance-based color resolution enhancement |
US5892890A (en) * | 1997-06-17 | 1999-04-06 | Hewlett-Packard Company | Computer system with parallel processor for pixel arithmetic |
US7142224B2 (en) * | 1997-07-10 | 2006-11-28 | Yamaha Corporation | Polygon drawing apparatus and method, and storage medium for implementing the same method |
US6329977B1 (en) * | 1998-03-10 | 2001-12-11 | Compaq Computer Corporation | Pre-filtered antialiased lines using distance functions |
DE19845579A1 (de) * | 1998-10-02 | 2000-04-13 | Mannesmann Vdo Ag | Anzeigevorrichtung |
US6285348B1 (en) * | 1999-04-22 | 2001-09-04 | Broadcom Corporation | Method and system for providing implicit edge antialiasing |
JP2001084405A (ja) * | 1999-09-16 | 2001-03-30 | Sega Corp | ポリゴン画像形成方法及び、これを用いた画像処理装置 |
JP2002140722A (ja) | 2000-08-23 | 2002-05-17 | Sony Computer Entertainment Inc | エイリアシングを除去した画像を描画する装置及び方法 |
US20040174379A1 (en) * | 2003-03-03 | 2004-09-09 | Collodi David J. | Method and system for real-time anti-aliasing |
US7307628B1 (en) * | 2004-08-06 | 2007-12-11 | Nvidia Corporation | Diamond culling of small primitives |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4371872A (en) * | 1979-07-23 | 1983-02-01 | The Singer Company | Fractional clock edge smoother for a real-time simulation of a polygon face object system |
US4594673A (en) * | 1983-06-28 | 1986-06-10 | Gti Corporation | Hidden surface processor |
US4658247A (en) * | 1984-07-30 | 1987-04-14 | Cornell Research Foundation, Inc. | Pipelined, line buffered real-time color graphics display system |
JPH0695341B2 (ja) * | 1985-10-28 | 1994-11-24 | 松下電器産業株式会社 | 隠れ面処理装置 |
US4930091A (en) * | 1987-11-04 | 1990-05-29 | Schlumberger Systems, Inc. | Triangle classification setup method and apparatus for 3-D graphics display system |
US4945500A (en) * | 1987-11-04 | 1990-07-31 | Schlumberger Technologies, Inc. | Triangle processor for 3-D graphics display system |
US4901064A (en) * | 1987-11-04 | 1990-02-13 | Schlumberger Technologies, Inc. | Normal vector shading for 3-D graphics display system |
JPH0727581B2 (ja) * | 1988-09-09 | 1995-03-29 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 図形処理装置 |
-
1989
- 1989-08-25 JP JP1218797A patent/JP2523889B2/ja not_active Expired - Lifetime
-
1990
- 1990-08-20 US US07/569,443 patent/US5253335A/en not_active Expired - Lifetime
- 1990-08-24 EP EP90116294A patent/EP0415292B1/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
EP0415292B1 (en) | 1997-02-26 |
EP0415292A2 (en) | 1991-03-06 |
JPH0381886A (ja) | 1991-04-08 |
EP0415292A3 (en) | 1991-07-24 |
US5253335A (en) | 1993-10-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2523889B2 (ja) | 隠れ面処理装置 | |
US6628290B1 (en) | Graphics pipeline selectively providing multiple pixels or multiple textures | |
US5268995A (en) | Method for executing graphics Z-compare and pixel merge instructions in a data processor | |
US6333744B1 (en) | Graphics pipeline including combiner stages | |
JP3289110B2 (ja) | 走査線巾の画素に対するシェーディング値を発生する方法、シェーディング方法、レンダーリング装置及び画素値を内挿する方法 | |
US5081698A (en) | Method and apparatus for graphics display data manipulation | |
US5345541A (en) | Method and apparatus for approximating a value between two endpoint values in a three-dimensional image rendering device | |
US8217934B2 (en) | System and methods for rendering transparent surfaces in high depth complexity scenes using hybrid and coherent layer peeling | |
US5157388A (en) | Method and apparatus for graphics data interpolation | |
US5144291A (en) | Means for eliminating hidden surface | |
US6377265B1 (en) | Digital differential analyzer | |
JPH0273479A (ja) | 図形処理装置 | |
JPH01191985A (ja) | 画像処理方法 | |
JPH0683970A (ja) | 三角形描画装置及び方法 | |
US7400325B1 (en) | Culling before setup in viewport and culling unit | |
JPH06236176A (ja) | ラスタ画像に透明性を与える方法及び装置 | |
US6147690A (en) | Pixel shading system | |
JPS62219182A (ja) | グラフイツクス表示システム用の表示プロセツサ | |
US5892516A (en) | Perspective texture mapping circuit having pixel color interpolation mode and method thereof | |
US20040111452A1 (en) | Clipping device | |
US5418901A (en) | Shading method and shading apparatus for computer graphics | |
JPH0714029A (ja) | 線描画装置及び方法 | |
US5926183A (en) | Efficient rendering utilizing user defined rooms and windows | |
US6556993B2 (en) | Method and system for providing a hardware sort in a graphics system | |
WO1987000660A1 (en) | Graphics system for display of shaded polygons |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090531 Year of fee payment: 13 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100531 Year of fee payment: 14 |
|
EXPY | Cancellation because of completion of term | ||
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100531 Year of fee payment: 14 |