JP3102031B2 - 模擬光源による3dカラー画像生成システムおよび方法 - Google Patents

模擬光源による3dカラー画像生成システムおよび方法

Info

Publication number
JP3102031B2
JP3102031B2 JP05517294A JP51729493A JP3102031B2 JP 3102031 B2 JP3102031 B2 JP 3102031B2 JP 05517294 A JP05517294 A JP 05517294A JP 51729493 A JP51729493 A JP 51729493A JP 3102031 B2 JP3102031 B2 JP 3102031B2
Authority
JP
Japan
Prior art keywords
dot product
result
vector
direction vector
block
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 - Fee Related
Application number
JP05517294A
Other languages
English (en)
Other versions
JPH07505967A (ja
Inventor
シーロング ヤン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson 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 Seiko Epson Corp filed Critical Seiko Epson Corp
Publication of JPH07505967A publication Critical patent/JPH07505967A/ja
Application granted granted Critical
Publication of JP3102031B2 publication Critical patent/JP3102031B2/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
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/506Illumination models

Landscapes

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

Description

【発明の詳細な説明】 これは1992年3月31日出願の出願番号07/861,417「模
擬光源による3Dカラー画像生成システムおよび方法」と
題する特許出願の部分継続出願である。
発明の背景 1. 産業上の利用分野 本発明は一般的にコンピュータ・グラフィックス・シ
ステムに関し、より具体的には、模擬された光源により
生成される照明用のカラーの生成に関する。
2. 関連技術 大概のグラフィックス・システムの目的は情報を理解
しやすい形で提供することにある。この目的を達成する
為には、自然に見える三次元(3D)カラー画像のリアル
タイムでの生成が必要である。
グラフィックス・システムでは、対象物の局所的な照
明の生成は一番時間を要する仕事のひとつである。一個
の局所光源の照明の基本方程式は、 C_i=Ca_i+Cd_i[Lc_i(L1.N1)]+Cs_i[Lc_i(H1.N1)Oe] (式1) である。
コンピュータ・グラフィックス・システムにおいて、
物体の色は赤、緑、および青(RGB)の三原色として表
わせる。照明された物体の色は一個以上の光源により生
成される。光源の一種は「局部光源」または「局光」と
呼ばれる。すなわち、局光とは物体上の特定の点に於け
る色彩光の特性をいう。
図1では、被照明体および局光は三次元座標系空間に
位置し、この座標系にx,y,zの3軸がある。これらの軸
を用いて、三次元空間に於ける点PおよびベクトルVは
それぞれ3D座標(Px,Py,Pz)および(Vz,Vy,Vz)で表わ
せる。また、C_i,Ca_i,Cd_i,Cs_i,およびLc_iはRGBの成
分である。すなわち、“i"は光の赤、緑、または青の成
分を表わすものである。C_iは画面上で生成されるべき
物体の最終の色である。L1,H1,N1は3D空間の単位ベクト
ルである(単位ベクトルはベクトルの文字の後の数字
「1」によって表わされる)。図1に於いて、Lは光線
方向ベクトル(light direction vector)、Vはビュー
方向ベクトル(view direction vector)、Hは(Lお
よびVベクトルの間の)半角度ベクトル(half angle v
ector)をそれぞれ表わす。
単位ベクトルL1は物体から光線に向けて指すベクトル
である。N1は物体の表面の単位法線ベクトルである。H1
は単位法線Hベクトルで、H=(L1+V1)である(Lと
Vの間の半角度ベクトル)。V1は物体から視者を指す単
位ベクトルである。
Ca_i,Cd_i,Cs_iおよびOeは物体表面の材料特性パラメ
タである。これらのパラメタはすべて単純な、予め定め
られた係数である。Ca_iは周囲光線、Cdは拡散係数、Cs
は鏡面反射係数、Oeはべき指数を、それぞれ表わすもの
である。Lc_iは光源色成分(すなわちR,G,B)である。
L1.NiはL1とN1のベクトルドット積である。他のドッ
ト積も同じ方法で表わされるものとする。言うまでもな
く、各ベクトルは大きさと方向からなる。カラーの光線
の生成に関する詳細なフォリー(Foley)その他著、Com
puter Graphics:Principles and Practice、721−734
頁(1990年、Addison−Wesley Publishing Co.発行)で
説明されている。
大概のグラフィックス・システムでは、(式1)のL
1.N1およびH1.N1の決定がネックである。従来のシステ
ムでは、従来、物体から光線へのベクトルL、および物
体から視者へのベクトルVが最初に生成される。L1.N1
およびH1.N1を生成するため、標準グラフィックス・シ
ステムでは次に、L及びVを正規化してL1とV1を生成
し、次いで、H=(L1+V1)、更にHHを生成するように
指令をプロセッサに与える。プロセッサがパイプライン
化している場合、ハードウェアでオペレーションが発行
された後、結果が生成されるまで幾つかのサイクルが必
要である(実行遅延時間)。次のオペレーションがこの
結果を入力として使用する必要がある場合、先のオペレ
ーションの結果が出るまで待たなければならない。その
途中のサイクルで実行できるような他のオペレーション
が全く存在しない場合、いくつもの無駄なオペレーショ
ン・サイクルが繰り返えされることになる。その結果、
実行速度が遅くなる。換言すれば、グラフィックス・シ
ステムが受け取るRGBカラーは3Dカラー画像のリアルタ
イム表示に必要な速度に劣るものである。更に、プロセ
ッサの、他の機能を平行して実行する能力も著しく損な
われる。
したがって、模擬光源を使用して3Dカラー画像を現在
よりもより速く、より効率的に生成できるグラフィック
ス・システムが必要である。
発明の要約 本発明は模擬光源による三次元(3D)カラー画像を生
成するシステムと方法である。3D画像生成のオペレーシ
ョンは、3D画像を得るためにプロセッサに、命令を発行
するための時間のかかる複雑な方法を包含する。本発明
は従来の技術よりもより速く、より効率的にこれらの命
令を実行するシステムおよび方法を利用するものであ
る。
本発明は、この発明を組み込んだシステムのパイプラ
イン構成と平行性に対応してプロセッサの制御を調整す
る。この発明を、紙と鉛筆を用いて延々と計算を行なう
方法に本発明を適用することは当業者にとって非論理的
に見えるであろう。しかしながら、システム・ハードウ
ェアに関連して実施された場合は、この非オーソドック
スな発明は従来の方法に比べてより優れたスループット
特性をもたらす。これは、パイプライン化された、デー
タに従属した命令と計算とによって生ずる対立の量を減
少することによって達成される。従って、本システムは
従来のハードウェア・システムよりも忙しく作動し、従
来より速くRGB三原色を表示することを可能とするフレ
ーム・バッファーを供給することができる。
3Dカラー画像の生成はパイプライン・グラフィックス
・システムによって実行される。パイプライン・グラフ
ィックス・システムの一段階では専用のハードウェア・
プロセッサが信号の流れを管理するコントローラに従っ
てドット積生成の計算を実行する。
システムの制御は一般的に次のように行われる。すな
わち、光線の方向、見る目の方向(ビュー方向)、およ
び単位法線ベクトルを表わす信号特性は入力キューに入
る。データ(信号を表わす)はレジスター・ファイルの
指定された場合に書き込まれる(ある場合においては、
データはレジスター・ファイルを迂回して直接浮動小数
乗算累算器(FMAC)に入ることもできる)。レジスター
・ファイルに書き込まれた後、光線信号はコントローラ
の命令に従って計算されるためにFMACに送られる。FMAC
が所定の計算を実行した後、その結果はレジスター・フ
ァイルの所定の場所に再び書き込まれるか、あるいは次
のサイクルで直ちに再使用される。コントローラが如何
にてドット積プロセッサ(レジスター・ファイル、ラッ
チ、マルチプレクサー、およびFMAC)をどのような方法
で制御するかを説明する。
第一処理段階に於いて、5個のドット積プロセスがコ
ントローラによって送られる。各プロセスでは命令の発
行が行なわれ、また命令に対する結果が次のデータ・サ
イクルで後の使用に供されるために特定の記憶場所に記
憶される。FMACによって行われる最初の5組の命令は次
のものを含む。(1)光線方向ベクトルの単位法線ベク
トルとのドット積、(2)光線方向ベクトルとそれ自身
のドット積、(3)光線方向ベクトルとビュー方向ベク
トルとのドット積、(4)ビュー方向ベクトルとそれ自
身のドット積、(5)ビュー方向ベクトルと単位法線ベ
クトルとのドット積。これらの命令の実行の順序は自由
である。
第二の処理段階に於いて、第一処理段階の結果に基づ
いてコントローラは3組の一般的な命令を発行する。こ
れらの命令は(1)光線方向ベクトルの大きさ、(2)
ビュー方向ベクトルの大きさ、および(3)半角度ドッ
ト積の最初の部分的結果、を決定し保存する命令を含む
ものである。これらの命令の実行の順序は自由である。
第三の決定段階に於いて、第一および第二処理段階の
結果に基づいてコントローラは2組の命令を発行する。
これらの命令は(1)光線方向ベクトルの大きさの逆
数、および(2)ビュー方向ベクトルの大きさの逆数を
決定し保存する命令を含むものである。
第四の処理段階に於いて、前記の三つの処理段階の結
果に基づいてコントローラは3組の命令を発行する。こ
れらの命令は(1)半角度ベクトルドット積の第二部分
結果、(2)光線方向ベクトルと法線単位ベクトルとの
ドット積の最終結果、および(3)ビュー方向ベクトル
と法線単位ベクトルとのドット積、を決定し保存する命
令を含むものである。
第五の処理段階に於いて、前記の四つのデータ段階の
結果に基づいてコントローラは2組の命令を発行する。
これらの命令は(1)半角度ベクトルドット積の最終結
果、および(2)半角度ベクトルと法線単位ベクトルと
のドット積の結果(分光光源反射係数)、を決定し保存
する命令を含むものである。
第六の処理段階に於いて、前記のデータ段階の結果に
基づいてコントローラは1個の命令を発行する。この命
令は半角度ベクトルの大きさを決定し保存する命令を含
むものである。最後の処理段階である第七の処理段階に
於いて、前記のパイプライン段階に基づいてコントロー
ラは半角度単位ベクトルと法線単位ベクトルとのドット
積を決定し保存する命令を発行する。
前記のプロセスの結果、カラー光線用の適切な信号を
生成するために必要な、重要なパラメタであるL1.N1お
よびH1.N1は過去の方法に比べより少数のクロック・サ
イクルで得られる。先行技術では、遅延時間に関する前
提とプロセッサ記憶および機能要素の理由で、L1.N1お
よびH1.N1は(コントローラによる)88サイクルより少
ないサイクル数では発行され得なく、また97サイクル
間、グラフィックス・システムで使用できないものであ
る。本発明では、同じ計算をするために同じ機能が実行
された場合、21%の実行時間の節約が実現される。その
理由は、約67サイクルで諸オペレーションが完全に発行
されるからである。
図面の簡単な説明 図1はこの発明に従って、光線の位置、物体、および
視者、に対応するL,L1,H,H1,V,V1,およびN1ベクトルの
方向を示す図である。
図2Aはグラフィックス・システム201のブロック図で
ある。
図2Bはデータ段階222のブロック図で、入力および出
力信号を示す。
図3は代表的プロセッサ300のブロック図で、このプ
ロセッサはドット積プロセッサ206のデータ・フローお
よびオペレーションを制御するために必要な計算を行な
うものである。
図4A,4B,および4Cは先行技術に於いて、L1.N1およびH
1.N1を生成するためのオペレーション・シーケンスを示
す。左欄はクロック・サイクルを示し、右欄は発行され
たオペレーションを示す。
図5はデータの流れで、先行技術でL1.N1およびH1.N1
生成の計算に必要なデータの流れ、オペレーション、お
よび命令を示す。
図6Aおよび6Bは本発明に基づいてL1.N1およびH1.N1の
生成のためのオペレーション・シーケンス・プロセスを
表わす。ここで、左欄はクロック・サイクルを示し、右
欄は発行されたオペレーションを示す。
図7はデータの流れで、本発明でL1.N1およびH1.N1生
成の計算に必要なデータの流れ、オペレーション、およ
び命令を示す。
本発明の詳細な説明 1.0グラフィックス・システム 図2Aはグラフィックス・システム201のブロック図で
ある。グラフィックス・システム201には中央処理装置
(CPU)202、プロセッサ・ステージ222、ラスター設定
部212、ラスター化部214、フレーム・バッファー216、
ビデオセリアライザ218、およびRAM/ディジタル−アナ
ログ変換器(RAM/DAC)220が含まれる。
CPU202はグラフィックス・システム201のホストであ
る。プロセッサ・ステージ222には変換プロセッサ204、
ドット積プロセッサ206、べき関数プロセッサ208、およ
び最終照明プロセッサ210が含まれる。プロセッサ・ス
テージ222は3Dカラー画像の表示に必要なRGB信号を供給
するものである。下記にプロセッサ・ステージ222の詳
細を説明する。ラスター設定部212はラスター化部214に
必要なパラメタを生成するものである。ラスター化部21
4はフレーム・バッファー216用のピクセル・アドレスお
よびカラーを生成するものである。フレーム・バッファ
ー216はデータの描画と表示用の専用メモリである。フ
レーム・バッファー216に格納されたデータの全て、あ
るいは一部、はモニタ(図示せず)で表示される。ビデ
オ・セリアライザ218はフレーム・バッファー形式(イ
ンターリーフ・ピクセル形式)からビデオ用のセリアル
形式に変換するものである。RAM/DAC220はビデオ信号を
それに対応するアナログ信号に変換するものである。当
業者にとって、構成要素202,212,214,218,220は明らか
なものであろう。
グラフィックス・システム201はパイプライン化され
ている。パイプラインの高速化に於いては、パイプライ
ンの最も遅いステージの高速化が必要である。ドット積
プロセッサ206はパイプライン中の最も遅いステージで
ある。従って、モニタ(図示されず)上のRGB三次元座
標の表示を高速化するためには、ドット積プロセッサ20
6の効率と速度を上げることが必要である。
図2Bはグラフィックス・システム201のステージの一
つ、222、を示す。換言すれば、図2Bは頂点の色を局所
光源から生成するためのデータの流れを示す。空間の物
体の一頂点に対応する位置信号240および法線信号242が
変換プロセッサ204に入力する。ビュー空間中の各ベク
トル244,246および248が変換プロセッサ204から出る。
信号L1.N1207(これはべき関数プロセッサ208を飛び越
すものである)およびH1.N1250がドット積正規化プロセ
ッサ206(時間限定プロセッサ)から出る。べき関数プ
ロセッサ208は(H1.N1)Oe252信号を供給する。次に、
信号207および252は最終照明プロセッサ210に入力し、
頂点用のRGB三次元座標信号254,256,258をそれぞれ生成
する。
各ベクトル244,246,および248以外に、変換プロセッ
サ204はモニタ画面上(図示せず)の頂点のアドレス信
号(図示せず)をも生成する。これらのアドレス信号は
各プロセッサ206,208,および210を経てラスター設定部2
12に送られる。最終照明プロセッサ210で生成されたカ
ラー信号と共にこれらのアドレス信号を通る時、アドレ
ス信号はラスター化214のラスター設定パラメタを生成
する為に使用される。
図3は各プロセッサ204,206,208,および210で使用さ
れる代表的プロセッサのブロック図である。汎用プロセ
ッサ300には次の要素が含まれる。入力キュー301、コン
トローラ302、レジスター・ファイル304、マルチプレク
サ230,233,234、浮動小数乗算累算器(FMAC)342(割り
算および平方根関数を含む)、および出力キュー346で
ある。入力キュー301および出力キュー346は2個のプロ
セッサとインタフェースする。従って、結合された2個
のプロセッサは一つのキューを共有することになる。こ
れらのプロセッサの位置によって、一つのプロセッサの
入力キュー301は他のプロセッサの出力キュー346とな
る。例えば、プロセッサ206の入力キュー301はプロセッ
サ204の出力キュー246である。好ましい実施例ではプロ
セッサ・ステージ222は単一のプロセッサ(後述)であ
るが、直列に接続されたパイプライン・プロセッサの如
何なる組合わせでも良い。
次の説明は変換プロセッサ204、ドット積プロセッサ2
06、およびべき関数プロセッサ208に関するもので、こ
れらのプロセッサは全てプロセッサ300を使用するもの
とする。
コントローラ302は実施例300の様々な機能ステージお
よびレジスターを制御するために使用されるもので、マ
イクロコード化されている。マイクロコード制御はJ.He
nnessyとD.Patterson著、Computer Architecture:AQuan
titative Approach(200−215頁、図5.1および5.3),M
organ KauffmannPublishers(1990)で説明されてお
り、当業者にとって、下記の説明を参考にすればマイク
ロコード制御の実現は容易なものであろう。コントロー
ラ302は制御パス306を経てレジスター・ファイル304に
行き先アドレス制御信号を供給する。行き先アドレスと
はレジスター・ファイル304に格納されるオペレーショ
ンの行き先アドレスをいう。例えば、このアドレスはFM
AC342から得られるデータ結果305をどのレジスターに格
納するかを指すものである。ここで、レジスター・ファ
イル304はその場所がアドレスで示される記憶装置の一
つの配置である。
コントローラ302はパス308を経てレジスター・ファイ
ル304にコマンドwportを提供するものである。ここで、
wportとはレジスター・ファイル304の出力ポートを表わ
し、入力キュー301から情報を受け取るものである。
コントローラ302はパス310を経て、且つマルチプレク
サ330,332,334を通じてFMAC342用の定数値(信号)を供
給するものである。下記のデータフローで示されるよう
に、通常これらの定数値は“1"または“2"である。コン
トローラ302はパス312を経てレジスター・ファイル304
にリード・ポートAコマンドを供給する。同様に、コン
トローラ302は信号314を経てレジスター・ファイル304
にリード・ポートBコマンドを供給する。例えば、Lx,N
1x,およびVxは入力キュー301から受け取られてレジスタ
ー・ファイル304に格納された信号である。コントロー
ラ302はデータ変数が格納されているレジスター・ファ
イル304内の特定のデータ変数の読み出し場所にコマン
ドを送り出す。値または信号はAポートとBポートの両
方から読み出され、レジスター・ファイル304に接続さ
れているマルチプレクサ332,334,330に入力される。
コントローラ302はまた信号324,326,328をポートA、
ポートB、あるいはバイパス・ラッチ348から選択する
ことを指示するマルチプレクサ330,332,334にそれぞれ
供給する。バイパス・ラッチ348はFMAC342で計算された
結果を高速化し、必要ならば直ちに再使用できるように
する。これによって、レジスター・ファイル305への格
納の必要性が回避される。
コントローラ302はまたどのオペレーションを開始す
るかを指示する制御信号343をFMAC342に送る。上記の制
御信号は全て1クロックサイクルで発生するものであ
る。
一般的に、すべてのオペランド(図面の4−7ページ
で方程式の右側にあるもの)はレジスター・ファイル30
4から読み出される。これらのオペランドは命令信号
で、最終的にはFMAC342に送られ、計算に使われるもの
である。FMAC342からの結果は方程式の左側の記号で示
されるレジスター・ファイル304中の特定の場所に格納
される。例えば、図6A(詳細は下記を参照)でクロック
1の期間中、LxとLxはレジスター・ファイル304のポー
トAおよびポートBの両方から読み出される。FMAC342
はLx*Lx信号の乗算を行なう。乗算の結果のL.LはFMAC3
42からデータパス305を経てレジスター・ファイル304に
送られ、L.Lという場所のレジスターに格納される。本
発明の詳細な説明を参考にすれば、実施例300のすべて
の要素は当業者にとって明らかであろう。下記の方程式
は関心のある人のための数学的形式での本発明のシステ
ムおよび方法をサポートする証明である。
H.H=(L1+V1).(L1+V1) (式2) =L1.L1+L1.V1+V1.L1+V1.V1 (式3) =2+2(L1.V1) (式4) (L1.L1=1,V1.V1=1,L1.V1=V1.L1、故に) (式5) =2+2(L.V)(1/|L|)(1/|V|) (式6) (|L|および|V|はそれぞれLとVの大きさを表わす)
(式7) H.N1=L1.N1+V1.N1 (式8) H1.N1=H.N1/|H| (式9) 好ましい実施例では単一のFMAC342回路が使用される
ことが仮定されているが、これは(A*B)+C,A/B,お
よび(A)の平方根、の三つのオペレーションを可能と
するものである。更に、FMAC346は1サイクルごとに1
オペレーションを開始できる、“(A*B)+C"オペレ
ーションは6サイクル分の遅延時間があり、“A/B"およ
び(A)の平方根のそれぞれのオペレーションは12サイ
クルの時間を要する、と仮定される。“A*B"オペレー
ションは“A*B+0"で行なうことができ、A+BはA
*1+Bで行なうことが可能である。これらの仮定は単
に例として設定されたもので、本発明で必要なものでは
ない。
図5では、各ブロックごとに、実行される命令が表示
されている。図面の4−7ページのオペレーション・シ
ーケンスの例を参照するならば、(Lx,Ly,Lz)記号はL
光線方向ベクトルの座標である。同じような表記法がV,
SH,L1,V1,H1,およびN1でも使用される。“+=”および
“*=”は累算オペレーションの記号である。すなわ
ち、L.L+=Ly*Lyでは新しいL.Lは元のL.LにLy*Lyを
加算したものであることを表わす。2個のベクトルのド
ット積はデータ依存性および実行遅延時間の故に13サイ
クル以下では発行できない。さらに、H=L1+V1はL1x
とV1xの完了後直ちに開始できる。下記の規約は図2Bに
示されているもので、各プロセッサ204,206,208,210の
入力と出力を表わす。既存の方法と本発明を比較するこ
とで、ドット積プロセッサ206の増大したスループット
特性が明らかになる(両方共詳細は下記に記す)。
本発明はまた2個以上の局光またはスポットライトが
存在するような場合でも適用性があるが、簡単にするた
めに下記の説明と用例ではただ1個の局光が使用されて
いるものとする。
2.0既存の手法 ここではL1.N1とH1.N1を決定する既存のドット積プロ
セスを説明する。下記に説明する遅延時間の仮定および
関数の故に、図3のプロセッサ300を使用した場合、既
存の手法に基づくオペレーションは85サイクル以下では
完全に発行できない。図4は既存の手法に基づくオペレ
ーション・シーケンスを表わす。ここで、左欄はクロッ
クサイクルを示し、右欄は発行された命令を示す。図5
は既存の手法のデータの流れで、各ブロックは計算(発
行された命令)を示す。
図3,4,および5に於いて、既存の手法のデータの流れ
は参照番号500で示される。図に示される如く、信号Vx,
Vy,およびVzはパス502で供給される。図3に於いて、こ
れらの信号は入力キュー301から入力され、レジスター
・ファイル304に格納される。図5に示す如く、最初の
データ・ステージではV.VおよびL.L信号はブロック504
と508で決定される。データ・ステージ内ではオペレー
ションはどの順序でも実行できる。従って、ブロック50
8中のオペレーションはブロック504の前に実行されるこ
ともあり、その逆もまたあり得る。ブロック504に示さ
れるように、クロックサイクル1に於いては、発行され
るオペレーションはV.V=Vx*Vxである。
信号Lx,Ly,およびLzはパス506によって供給される。
ブロック508ではL.L=Lx.Lxが計算され、オペレーショ
ンはクロックサイクル2で発行される。
クロックサイクル7に於いては、発行されるオペレー
ションはブロック504で示されるようにV.V+=Vy*Vyで
ある。前述のように、“+=”は累算オペレーションを
表わし、V.V+=Vy*Vyは元のV.VにVy*Vyを加算したも
のに等しい。これはV.V=Vy*Vy+V.Vとも表記できるこ
とに注意。
クロックサイクル8に於いては、発行されるオペレー
ションはブロック508で示されるようにL.L+=Ly*Lyで
ある。
クロックサイクル13に於いては、発行されるオペレー
ションはブロック504で示されるようにV.V+=Vz*Vzで
ある。V.Vの発行が可能な最も早いクロックサイクルは1
3であることに注意。
クロックサイクル14に於いては、発行されるオペレー
ションはブロック508で示されるようにL.L+=Lz*Lzで
ある。L.Lの発行が可能な最も早いクロックサイクルは1
4であることに注意。従って、ブロック508がブロック50
4の前に実行された場合、このクロック・シーケンスの
実行が可能な最も早いクロックサイクルは13である。図
3はサイクル13に於いて発行されるオペレーションを示
す。オペレーション例のシーケンスは、これがサイクル
14に於いて最初に発行されることを示す。
ブロック504から結果としてのV.Vはパス510によって
ブロック512に供給される。ブロック512では|V|の信号
が計算され、この信号はsqrt(V.V)に等しい。このオ
ペレーションはクロックサイクル19に於いて発行され
る。|V|信号はスカラ量で、ベクトルVの大きさを表わ
す。
ブロック508から計算で得られた信号L.Lはパス514に
よってブロック516に供給される。ブロック516では|L|
の信号が計算される。ブロック516で発行されるオペレ
ーションはL=sqrt(L.L)で、これはクロックサイク
ル22で発生する。ブロック512からの信号Vはパス518に
よってブロック520に供給される。ブロック520で発行さ
れるオペレーションはrv=1/Vで、これはクロックサイ
クル31で発生する。信号rvはレジスター・ファイル304
中の一時レジスターに格納される。レジスター・ファイ
ル304に含まれる一時レジスターの数には特に制約はな
い。
ブロック516から光線方向ベクトルL信号の大きさは
パス522によってブロック524に供給される。ブロック52
4で発行されるオペレーションはr1=1/Lで、これはクロ
ックサイクル34で発生する。信号r1はレジスター・ファ
イル304中の一時レジスターを表わす。x,y,z座標に於け
る単位ベクトルV1はブロック528で計算され、このブロ
ックはrvの信号をパス526を経てブロック520から取得す
る。サイクル43に於いて発行されるオペレーションはV1
x=Vx*rvである。また、クロックサイクル44に於いて
発行されるオペレーションはV1y=Vy*rvである。さら
に、クロックサイクル45に於いて発行されるオペレーシ
ョンはV1z=Vz*rvである。
ブロック532では、物体から局所光源の位置Lを指す
単位ベクトルL1はx,y,z座標に基づいて計算される。信
号r1はパス530を経てブロック524によってブロック532
に供給される。クロックサイクル46に於いて発行される
オペレーションはL1x=Lx*r1である。また、クロック
サイクル47に於いて発行されるオペレーションはL1y=L
y*r1である。さらに、クロックサイクル48に於いて発
行されるオペレーションはL1z=Lz*r1である。
前述の如く、ベクトルHはLとVの間の半角度ベクト
ルである。ベクトルHのx,y,z座標はブロック538で計算
される。信号V1x,y,およびzはパス534までブロック528
によってブロック538に供給される。同様に、信号L1x,
y,およびzはパス536を経てブロック532によってブロッ
ク538に供給される。
ブロック538に於いて、クロックサイクル52で発行さ
れるオペレーションはHx=L1x+V1xである。クロックサ
イクル53では、発行されるオペレーションはHy=L1y+V
1yである。クロックサイクル54では、発行されるオペレ
ーションはHz=L1z+V1zである。
ブロック544に於いて、L1.N1のための信号が発行され
る。信号L1x,y,およびzはパス540を経てブロック532に
よってブロック544に供給される。信号N1x,N1y,およびN
1zはパス542によってブロック544に供給される。ブロッ
ク544に於いて、クロックサイクル55に於いて発行され
るオペレーションはL1.N1=L1x*N1xである。クロック
サイクル61に於いて発行されるオペレーションはL1.N1
=L1y*N1yである。クロックサイクル67に於いて発行さ
れるオペレーションはL1.N1=L1z*N1zである。従っ
て、クロック67に於いてL1.N1の必要な信号は行546のブ
ロック544で発行されたことになる。
しかし、必要なH1.N1信号はまだ発行されず、下記の
ようにクロックサイクル88まで発行されない。
結果H.Hはブロック550で計算される。信号Hx,y,およ
びzはパス548までブロック538によってブロック550に
供給される。ブロック550に於いて、クロックサイクル5
8に於いて発行されるオペレーションはH.H=Hx*Hxであ
る。クロックサイクル64で発行されるオペレーションは
H.H=Hy*Hyである。クロックサイクル70で発行される
オペレーションはH.H=Hz*Hzである。
H.N1はブロック554で計算される。信号Hx,y,およびz
はパス552を経て、ブロック538によってブロック554に
供給される。さらに、信号N1x,N1y,およびN1zはパス556
によってブロック554に供給される。
ブロック554に於いて発行されるオペレーションはH.N
1=Hx*N1xである。クロックサイクル65で発行されるオ
ペレーションはH.N1=Hy*N1yである。クロックサイク
ル71で発行されるオペレーションはH.N1=Hz*N1zであ
る。
結果Hはブロック558で発行される。ブロック550は信
号H.Hをパス556によってブロック558に供給する。クロ
ックサイクル76に於いて、発行されるオペレーションは
H=sqrt(H.H)である。
信号H1.N1はブロック564で計算される。信号Hは行56
0を経てブロック558によってブロック564に供給され
る。信号H.N1はパス562によってブロック554によってブ
ロック564に供給される。クロックサイクル88に於い
て、発行されるオペレーションはH1.N1=H.N1Hである。
結果H1.N1はブロック564によって行566で供給され
る。この結果はサイクル97に於いて使用可能となる。
斯くの如く、既存の方法では、必要な信号L1.N1およ
びH1.N1はサイクル96まで使用可能とならない。下記に
説明されるが、本発明は目的とする結果を得るために必
要なクロックサイクルの数を大幅に減少せしめるもので
ある。
3.0単一局所光源の実施例 本発明の単一局所光源の実施例は、既存の方法の97サ
イクルに対し、カラー光線を79サイクルで生成するもの
である。この結果、時間的に22.7%の効率向上がもたさ
れる。
本発明によれば、式1の重要な光線信号L1.N1およびH
1.N1は半角度ベクトルH.Hを決定するための命令を幾つ
もの中間命令に処理することによって生成される。換言
すれば、半角度ベクトルのドット積を決定する命令はマ
シン・サイクル19で開始する可能性がある。これに比し
て、既存の手法では半角度ベクトルのドット積はマシン
・サイクル58まで開始されない。
本発明の構造およびオペレーションを図2,3,6A,6B,お
よび7を参照して説明する。図6Aおよび6Bはこの実施例
の実用例オペレーション・シーケンス・プロセスを表わ
す。ここで、左欄はクロック・サイクルを示し、右欄は
発行されたオペレーションを示す。図7はこの実施例の
データの流れを示す図である。図7は7個のサイクル・
ステージに分解されている。各サイクルは機能ブロック
で構成されている。下記の説明では各ステージは別々に
説明される。
図6および7を参照して述べるならば、一般的にこの
実施例のデータフローは参照番号700で示される。図6A
および6Bに示される式は必ずしも示される順序で実行さ
れなくても良く、図7に示される時期に実行されても良
いことに注意。例えば、図7のデータフローに就いて言
えば、ブロック704,708,712,713,および716(最初の処
理またはデータ・ステージ)内の全てのオペレーション
は自由に交換して実行できる。斯くして、図6に就いて
言えば、クロックサイクル1では、コントローラ302に
よって発行される命令L.L=Lx*Lxの代わりにV.V=Lx*
Lxを発行できる。換言すれば、当業者にとって明らかな
ように、オペレーション・シーケンスの実際の順序はそ
れと同等なオペレーションを使用して変更可能である。
光線方向ベクトルのドット積のx成分を生成する命令は
ビュー方向ベクトルのドット積のx成分を生成する命令
を発行することによって容易に交換することができるな
ど。
図7に従っての、ステージ中のブロックのグループ分
けは重要である。図6に於いて、各ボックス内での計算
の順序、または各ブロックが何時実行されるかに関する
順序は重要でない。各ステージがこの形式で実行される
限り、カラーはクロック67で発行されるのである。
本発明に基づく3Dカラー画像の生成はグラフィックス
・システム201によって行われる。特に、ドット積プロ
セッサ206は時間限定的な処理を行い、これによって、
既存の手法よりも高速なカラー画像の表示が可能にな
る。コントローラ302はプロセッサ206のためのデータの
流れを管理するものである。一般的に、プロセッサ206
の制御は次のようにして行われる。すなわち、光線方
向、ビュー方向、および単位法線ベクトルを表わす信号
は入力キュー301に入力する。図7に就いて言えば、こ
れらの信号は最初のデータ・ステージの上に702,706,70
9,710,および714として示されている。次に、これらの
信号は特定の位置でレジスター・ファイル304に出力さ
れる。レジスター・ファイル304に出力された後、信号7
02,706,709,710,および714はFMAC342に送られ、コント
ローラ302によって発行された命令に基づいて計算され
る。要求された計算がFMAC342によって実行された後、
データはレジスター・ファイル304に再出力される(あ
る行き先アドレス、すなわち図6および7で示されるL.
Lで)か、あるいは次のクロックサイクルでバイパス・
ラッチ348を通じて直ちに再使用される。
図6および7を参照して言えば、最初のデータ・ステ
ージでは、上記のシステム300に関連して5個のドット
積信号が計算される。ブロック713に於いては、光線方
向ベクトルは単位法線ベクトルとドット積され、その結
果生成される信号はレジスター・ファイル304に格納さ
れる。ブロック704に於いては、光線方向ベクトルのド
ット積が計算され、格納される。ブロック712に於いて
は、光線方向ベクトルはビュー方向ベクトルとドット積
され、その結果生成される信号が格納される。ブロック
708に於いては、ビュー方向ベクトルがドット積され、
格納される。ブロック16に於いては、ビュー方向ベクト
ルは単位法線ベクトルとドット積され、格納される。各
ブロックで行われるオペレーションをさらに詳しく説明
する。
ドット信号Lx,Ly,およびLzはパス702によってブロッ
ク704に供給され、このブロックはL.Lの結果を計算す
る。クロックサイクル1に於いて、発行されるオペレー
ションはL.L=Lx*Lxである。クロックサイクル7に於
いて、発行されるオペレーションはL.L=Ly*Lyであ
る。クロックサイクル13に於いて、発行されるオペレー
ションはL.L=Lz*Lzである。従って、L.Lの結果はクロ
ックサイクル13で使用可能となる。
V.Vの結果はブロック708で計算される。信号Vx,Vy,お
よびVzはパス706によってブロック708に供給される。ブ
ロック708のクロックサイクル2に於いて、発行される
オペレーションはV.V=Vx*Vxである。クロックサイク
ル8に於いて、発行されるオペレーションはV.V=Vy*V
yである。クロックサイクル14に於いて、発行されるオ
ペレーションはV.V=Vz*Vzである。
L.Vの結果はブロック712で計算される。信号Lx,Ly,L
z,Vx,Vy,およびVzはパス709によってブロック712に供給
される。ブロック712のクロックサイクル3に於いて、
発行されるオペレーションはL.V=Lx*Vxである。クロ
ックサイクル9に於いて、発行されるオペレーションは
L.V=Ly*Vyである。クロックサイクル15に於いて、発
行されるオペレーションはL.V=Lz*Vzである。
L.N1の結果はブロック713で計算される。信号Lx,Ly,L
z,N1x,N1y,およびN1zはパス710によってブロック712に
供給される。ブロック712のクロックサイクル4に於い
て、発行されるオペレーションはL.N1=Lx*N1xであ
る。クロックサイクル10に於いて、発行されるオペレー
ションはL.N1=Ly*N1yである。クロックサイクル16に
於いて、発行されるオペレーションはL.N1=Lz*N1zで
ある。
信号V1.N1はブロック716で計算される。信号Vx,Vy,V
z,N1x,N1y,およびN1zはパス714を経てブロック716に供
給される。クロックサイクル5に於いて、発行されるオ
ペレーションはV.N1=Vx*N1xである。クロックサイク
ル11に於いて、発行されるオペレーションはV.N1=Vy*
N1yである。クロックサイクル17に於いて、発行される
オペレーションはV1.N1=Vz*N1zである。
第二データ・ステージでは、光線の3成分の決定と格
納は第一データ・ステージで得られた信号に従って行わ
れる。ブロック720では光線方向ベクトルの大きさが計
算される。ブロック728ではビュー方向ベクトルの大き
さが計算される。ブロック724では半角度ドット積の最
初の部分的結果が計算される。これらの計算の順序は自
由である。次に第二データ・ステージの詳細を説明す
る。
信号Lはブロック720で計算される。その結果として
のL.Lはブロック704によってパス718を経てブロック720
に供給される。クロックサイクル19に於いて、発行され
るオペレーションはL=sqrt(L.L)である。信号Lは
ベクトルLの長さのスカラ信号で、物体から局所光源を
指すものである。
結果としてのH.Hはブロック724で計算される。その結
果としてのL.Vはブロック712によってパス722を経てブ
ロック712に供給される。ブロック724のクロックサイク
ル21に於いて、発行されるオペレーションはH.H=2*
Vである。
Vはブロック728で計算される。信号VはベクトルV
の長さのスカラ信号で、物体から視者を指すものであ
る。クロックサイクル25に於いて、発行されるオペレー
ションはV=sqrt(V.V)である。
第三データ・ステージでは、光線の2成分の決定と格
納は第一と第二パイプライン・ステージで得られた信号
に従って行われる。ブロック732では光線方向ベクトル
の大きさの逆数が計算され、格納される。ブロック736
ではビュー方向ベクトルの大きさの逆数が計算され、格
納される。このパイプライン内での信号の生成の順序は
自由である。次に、図5を参照しつつ命令信号生成の順
序の例の詳細を説明する。
信号r1はブロック732で生成される。信号Lはブロッ
ク720によってパス730までブロック732に供給される。
クロックサイクル31に於いて、発行されるオペレーショ
ンはr1/=1/Lである。前述の如く、r1はレジスター・フ
ァイル304に存在する一時レジスターを表わす。
目的とする信号rvはブロック736で生成される。その
結果としてのVはブロック728によってパス734までブロ
ック736に供給される。クロックサイクル37に於いて、
発行されるオペレーションはrv=1/Vである。
第四データ・ステージでは、光線の3成分の決定と格
納が上記の三つのデータ・ステージに基づいて行われ
る。ブロック742では半角度ベクトルドット積の第二部
分的結果が生成され、格納される。ブロック748では光
線方向ベクトルと単位ベクトルのドット積の最終結果が
決定され、格納される。ブロック760ではビュー方向ベ
クトルと単位ベクトルのドット積が生成され、格納され
る。次に第四データ・ステージの詳細を説明する。
目的とする結果H.Hはブロック742で生成される。信号
r1はブロック732によってパス738を経てブロック742に
供給される。信号H.Hはブロック724によってパス740を
経てブロック742に供給される。クロックサイクル43に
於いて発行されるオペレーションはH.H*=r1である。
L1.N1の結果はブロック748で生成される。L.N1の結果
はブロック712によってパス744を経てブロック748に供
給される。信号r1はブロック732によってパス746を経て
ブロック748に供給される。クロックサイクル44に於い
て、発行されるオペレーションはL1.N1=L.N1*r1であ
る。
信号V1.N1はブロック760で決定される。信号rvはブロ
ック736によってパス756を経てブロック760に供給され
る。信号V.N1はブロック716によってパス758を経てブロ
ック760に供給される。クロックサイクル50に於いて、
発行されるオペレーションはV1.N1=V.N1*rvである。
第五データ・サイクル・ステージでは、光線の2成分
の決定と格納が上記の四つのデータ・ステージに従っ
て、そして図2のシステムに基づいて行われる。ブロッ
ク754では半角度ベクトルドット積の最終結果が決定さ
れ、格納される。ブロック770では半角度ベクトルと単
位ベクトル(分光光源反射係数)のドット積が生成決定
され、格納される。次に第五データ・ステージの詳細を
説明する。
信号H.Hはブロック754で供給される。式の左側の信号
H.Hはブロック742によってパス750までブロック754に供
給される。信号rvはブロック736によってパス752までブ
ロック754に供給される。クロックサイクル49に於い
て、発行されるオペレーションはH.H=H.H*rv+2であ
る。
信号H.N1はブロック770で決定される。信号L1.N1はブ
ロック748によってパス766を経てブロック770に供給さ
れる。信号V1.N1はブロック760によってパス768を経て
ブロック770に供給される。クロックサイクル56に於い
て、発行されるオペレーションはH.N1=L1.N1+V1.N1で
ある。
第六データ・ステージでは、半角度の大きさが上記五
つのデータ・ステージに従って行われる。ブロック764
では信号Hが決定される。信号H.Hはブロック754によっ
てパス762を経てブロック764に供給される。クロックサ
イクル55に於いて、発行されるオペレーションはH=sq
rt(H.H)である。
最終データ・ステージである第七データ・ステージで
は、半角度単位ベクトルが単位法線ベクトルとドット積
される。信号H1.N1はブロック778で生成される。信号H
はブロック764によってパス774を経てブロック778に供
給される。信号H.N1はブロック770によってパス776を経
てブロック778に供給される。ブロック778ではクロック
サイクル67に於いて、発行されるオペレーションはH1.N
1=H.N1/Hである。
結果としてのH1.N1はサイクル79で使用可能となり、
パス780を経てブロック778によって供給される。
斯くして、目的とする結果であるL1.N1およびH1.N1は
サイクル79までに使用可能となり、これは既存の手法と
比較して22%以上のサイクル数の減少である。
従って、本発明のこの実施例では、目的とする結果で
あるL1.N1およびH1.N1の生成に当たり、非常に顕著な計
算時間の節約が達成されるのである。
上記は本発明の諸相と実施例に於ける説明である。こ
れまで明らかなように、本発明はその範囲と精神を損な
うことなく種々の形態で実施できるものである。従っ
て、本発明は下記の請求範囲以外、如何なるものによっ
ても制限されるものではない。
フロントページの続き (56)参考文献 特開 昭63−24289(JP,A) 特開 昭62−229381(JP,A) 特開 平4−315275(JP,A) 特開 昭63−86079(JP,A) 特開 昭62−229381(JP,A) Horng−Yee Chou et al”Fortified PC A T poised for shade d solids modelin g”,Electric Desig n,Hasbrouck Height s,Jun 1986,Vol.34,No. 14,p.95−100 鷺島敬之ほか「並列処理シリーズ14 並列図形処理」,コロナ社,1991年8月 15日,p.49−57 J.D.Foleyほか「コンピュー タ・サイエンス研究書シリーズ21 コン ピュータグラフィックス」,日本コンピ ュータ協会,昭和59年7月15日,p. 587−602 (58)調査した分野(Int.Cl.7,DB名) G06T 15/50 200 - 240 JICSTファイル(JOIS)

Claims (3)

    (57)【特許請求の範囲】
  1. 【請求項1】模擬光源による三次元(3D)カラー画像を
    生成するシステムに於いて、 光線方向ベクトルを表わす入力信号、ビュー方向ベクト
    ル、および法線ベクトルを受け取る手段と、 前記の入力信号をデータ形式で格納する為の、前記の受
    け取り手段に結合したレジスター手段と、 浮動小数乗算累算器(FMAC)と、 下記のものを生成する制御手段、すなわち、(a)下記
    のものを実行する第一セットの命令信号、すなわち、 (1) 前記の入力信号を上記のレジスター手段から前
    記のFMACに転送する命令、 (2) 前記の入力信号に対して、次の如く構成された
    5個のドット積オペレーションを実行するように前記の
    FMACに命令を与える、すなわち、 (i) 光線方向ベクトルと法線ベクトルとのドット積 (ii) 光線方向ベクトルとそれ自身とのドット積 (iii) 光線方向ベクトルとビュー方向ベクトルとの
    ドット積 (iv) ビュー方向ベクトルとそれ自身とのドット積 (v) ビュー方向ベクトルと法線ベクトルとのドット
    積、を決定し (3) 前記の5個のドット積の結果を上記のレジスタ
    ー手段に格納し、 (b)前記の5個のドット積オペレーションの格納され
    た結果を使用する第二セットの命令信号で、この第二セ
    ットの命令信号は下記のことを実行するための命令で構
    成されている、すなわち、 (1)光線方向ベクトルの大きさ (2)ビュー方向ベクトルの大きさ (3)光線方向ベクトルとビュー方向ベクトルのドット
    積の間の半角度ドット積の部分的結果、および前記の第
    ニセットの命令信号を前記のレジスター手段に格納する
    命令、 (c)前記の第一および第二セットの命令を使用しての
    オペレーションによって得られた結果を使用する第三セ
    ットの命令信号で、この第三セットの命令信号は次のこ
    とを行なうための命令で構成されている、すなわち
    (1)光線方向ベクトルの大きさの逆数、および(2)
    ビュー方向ベクトルの大きさの逆数を決定する第三オペ
    レーション、および前記第三オペレーションの結果を前
    記レジスター手段に格納する命令、 (d)前記の第一から第三セットまでの命令信号を使用
    してのオペレーションによって得られた結果を使用する
    第四セットの命令信号で、この第四セットの命令信号は
    次のことを行なうための命令で構成されている、すなわ
    ち(1)半角度ドット積の第二部分結果(2)光線方向
    ベクトルと法線ベクトルとのドット積の最終結果、
    (3)ビュー方向ベクトルと法線ベクトルとのドット
    積、および前記第四オペレーションの結果を前記レジス
    ター手段に格納する命令、 (e)前記の第一から第四セットまでの命令を使用して
    のオペレーションによって得られた結果を使用する第五
    セットの命令信号で、この第五セットの命令信号は次の
    ことを決定するための命令で構成されている、すなわち
    (1)半角度ドット積の最終結果(2)半角度ベクトル
    と法線ベクトルとのドット積の結果、および前記第五オ
    ペレーションの結果を前記レジスター手段に格納する命
    令、 (f)前記の第一から第五セットまでの命令信号を使用
    してのオペレーションによって得られた結果を使用する
    第六セットの命令信号で、この第六セットの命令信号は
    次のことを実行するための第六オペレーションの命令で
    構成されている、すなわち半角度の大きさを決定し、前
    記の第六オペレーションの結果を格納し、そして (g)前記の第一から第六セットまでの命令信号を使用
    してのオペレーションによって得られた結果を使用する
    第七セットの命令信号で、この第七セットの命令信号は
    次のことを実行するための第七オペレーションの命令で
    構成されている、すなわち半角度単位ベクトルと法線ベ
    クトルとのドット積を決定し、前記の第七オペレーショ
    ンの結果を前記のレジスター手段に格納する、手段で構
    成されていることを特徴とする、模擬光源による三次元
    (3D)カラー画像を生成するシステム。
  2. 【請求項2】請求項1のシステムで、前記第七オペレー
    ションの結果を示す第一信号を受け取り、光線方向ベク
    トルと法線ベクトルのドット積の前記最終結果を示す第
    二信号を受け取る、そして赤、緑、および青信号を生成
    する、前記レジスター手段に結合された、最終照明手段
    で更に構成されていることを特徴とするシステム。
  3. 【請求項3】模擬光源による三次元(3D)カラー画像を
    生成するシステムに於いて、 光線方向、ビュー方向、および法線ベクトルを表わすデ
    ータ信号をレジスタに入力し、 前記のデータを前記のレジスターから浮動小数乗算累積
    器(FMAC)に転送し、前記のデータに対して、次の5個
    のドット積オペレーションで構成されたオペレーション
    を実行するように前記のFMACに命令を与える、すなわち
    (1)光線方向ベクトルと法線ベクトルとのドット積、
    (2)光線方向ベクトルとそれ自身とのドット積、
    (3)光線方向ベクトルとビュー方向ベクトルとのドッ
    ト積、(4)ビュー方向ベクトルとそれ自身とのドット
    積、(5)ビュー方向ベクトルと法線ベクトルとのドッ
    ト積、そして前記の5個のドット積の結果を格納するた
    めの第一セットの命令信号を生成し、 前記5個のドット積の、格納された結果に基づき、
    (1)光線方向ベクトルの大きさ、(2)ビュー方向ベ
    クトルの大きさ、および(3)半角度ドット積の部分的
    結果、を決定し、前記第二オペレーションの結果を格納
    するための第ニセットの命令信号を生成し、 前記第一及び第二セットの命令のオペレーションで得ら
    れた結果に基づき、(1)光線方向ベクトルの大きさの
    逆数、および(2)ビュー方向ベクトルの大きさの逆
    数、を決定するため第三オペレーション、および前記第
    三オペレーションの結果を格納するための第三セットの
    命令信号を生成し、 前記第一から第三セットまでの命令のオペレーションで
    得られた結果に基づき、(1)半角度ドット積の第二部
    分結果、(2)光線方向ベクトルと法線ベクトルのドッ
    ト積の最終結果、および(3)ビュー方向ベクトルと法
    線ベクトルとのドット積、を決定する第四オペレーショ
    ンを実行するための、および前記第四オペレーションの
    結果を格納するための第四セットの命令信号を生成し、 前記第一から第四セットまでの命令のオペレーションで
    得られた結果に基づき、(1)半角度ドット積の最終結
    果、および(2)半角度ベクトルと法線ベクトルのドッ
    ト積の結果、を決定する第五オペレーションを実行する
    ための、および前記第五オペレーションの結果を格納す
    るための第五セットの命令信号を生成し、 前記第一から第五セットまでの命令のオペレーションで
    得られた結果に基づき、半角度の大きさを決定する第六
    オペレーションを実行するための、および前記第六オペ
    レーションの結果を格納するための第六セットの命令信
    号を生成し、 前記第一から第六セットまでの命令のオペレーションで
    得られた結果に基づき、半角度単位ベクトルと法線ベク
    トルとのドット積を決定する第七オペレーションを実行
    するための、および前記第七オペレーションの結果を格
    納するための第七セットの命令信号を生成することを特
    徴とする、模擬光源による三次元(3D)カラー画像を生
    成するシステム。
JP05517294A 1992-03-31 1993-03-26 模擬光源による3dカラー画像生成システムおよび方法 Expired - Fee Related JP3102031B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US861,417 1977-12-16
US86141792A 1992-03-31 1992-03-31
US2117593A 1993-02-23 1993-02-23
US021,175 1993-02-23
PCT/JP1993/000376 WO1993020529A1 (en) 1992-03-31 1993-03-26 System and method for generating 3d color images with simulated light sources

Publications (2)

Publication Number Publication Date
JPH07505967A JPH07505967A (ja) 1995-06-29
JP3102031B2 true JP3102031B2 (ja) 2000-10-23

Family

ID=26694361

Family Applications (1)

Application Number Title Priority Date Filing Date
JP05517294A Expired - Fee Related JP3102031B2 (ja) 1992-03-31 1993-03-26 模擬光源による3dカラー画像生成システムおよび方法

Country Status (3)

Country Link
US (1) US5896135A (ja)
JP (1) JP3102031B2 (ja)
WO (1) WO1993020529A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6424194B1 (en) 1999-06-28 2002-07-23 Broadcom Corporation Current-controlled CMOS logic family
US8884959B2 (en) * 2005-06-03 2014-11-11 Siemens Aktiengesellschaft Gradient free shading for volume rendering using shadow information
US9563980B2 (en) * 2005-11-18 2017-02-07 Autodesk, Inc. Grip manipulatable shadows in 3D models

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5226171A (en) * 1984-12-03 1993-07-06 Cray Research, Inc. Parallel vector processing system for individual and broadcast distribution of operands and control information
US5081573A (en) * 1984-12-03 1992-01-14 Floating Point Systems, Inc. Parallel processing system
JPH0814854B2 (ja) * 1985-10-11 1996-02-14 株式会社日立製作所 三次元図形表示装置
GB8613447D0 (en) * 1986-06-03 1986-07-09 Quantel Ltd Video image processing systems
US5063375A (en) * 1987-07-27 1991-11-05 Sun Microsystems, Inc. Method and apparatus for shading images
US4866637A (en) * 1987-10-30 1989-09-12 International Business Machines Corporation Pipelined lighting model processing system for a graphics workstation's shading function
US4901064A (en) * 1987-11-04 1990-02-13 Schlumberger Technologies, Inc. Normal vector shading for 3-D graphics display system
US5119324A (en) * 1990-02-20 1992-06-02 Stardent Computer Apparatus and method for performing arithmetic functions in a computer system
US5053631A (en) * 1990-04-02 1991-10-01 Advanced Micro Devices, Inc. Pipelined floating point processing unit

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Horng−Yee Chou et al"Fortified PC AT poised for shaded solids modeling",Electric Design,Hasbrouck Heights,Jun 1986,Vol.34,No.14,p.95−100
J.D.Foleyほか「コンピュータ・サイエンス研究書シリーズ21 コンピュータグラフィックス」,日本コンピュータ協会,昭和59年7月15日,p.587−602
鷺島敬之ほか「並列処理シリーズ14 並列図形処理」,コロナ社,1991年8月15日,p.49−57

Also Published As

Publication number Publication date
US5896135A (en) 1999-04-20
JPH07505967A (ja) 1995-06-29
WO1993020529A1 (en) 1993-10-14

Similar Documents

Publication Publication Date Title
US6417858B1 (en) Processor for geometry transformations and lighting calculations
US6141013A (en) Rapid computation of local eye vectors in a fixed point lighting unit
Apgar et al. A display system for the Stellar graphics supercomputer model GS1000
US5973705A (en) Geometry pipeline implemented on a SIMD machine
US5369737A (en) Normalization of vectors associated with a display pixels of computer generated images
US5274760A (en) Extendable multiple image-buffer for graphics systems
US6807620B1 (en) Game system with graphics processor
US6037947A (en) Graphics accelerator with shift count generation for handling potential fixed-point numeric overflows
US6724394B1 (en) Programmable pixel shading architecture
US5745125A (en) Floating point processor for a three-dimensional graphics accelerator which includes floating point, lighting and set-up cores for improved performance
US6115047A (en) Method and apparatus for implementing efficient floating point Z-buffering
US5949440A (en) Method and apparatus for processing graphics primitives in multiple modes using reconfigurable hardware
EP0486239A2 (en) Rasterization processor for a computer graphics system
JPH01191985A (ja) 画像処理方法
JPH0935075A (ja) 高性能プリミティブ・クリッピング・プリプロセシングを有するコンピュータ・グラフィックス・システム
US20050190183A1 (en) Geometric processing stage for a pipelined graphic engine, corresponding method and computer program product therefor
JP3839871B2 (ja) 三角形を表わす画素データを生成する装置
US7755636B1 (en) System, method and article of manufacture for a programmable processing model with instruction set
JP3102031B2 (ja) 模擬光源による3dカラー画像生成システムおよび方法
JP3839870B2 (ja) 四辺形を表わす画素データを生成する装置および方法
JP2007128180A (ja) 演算処理装置
US6847378B2 (en) System and method for performing scale and bias operations by preclamping input image data
US6885375B2 (en) Stalling pipelines in large designs
EP0410778A2 (en) Graphics processor having a floating point coprocessor
JP3618109B2 (ja) 中央演算処理装置

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20070825

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080825

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080825

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090825

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090825

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100825

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110825

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120825

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120825

Year of fee payment: 12

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120825

Year of fee payment: 12

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees