JPH01163884A - 画像情報処理装置と方法 - Google Patents

画像情報処理装置と方法

Info

Publication number
JPH01163884A
JPH01163884A JP63271091A JP27109188A JPH01163884A JP H01163884 A JPH01163884 A JP H01163884A JP 63271091 A JP63271091 A JP 63271091A JP 27109188 A JP27109188 A JP 27109188A JP H01163884 A JPH01163884 A JP H01163884A
Authority
JP
Japan
Prior art keywords
vertex
intensity
floating point
color
lighting model
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP63271091A
Other languages
English (en)
Other versions
JPH0731741B2 (ja
Inventor
Jorge Gonzalez-Lopez
ジヨージ・ゴンザレス−ロペス
Bruce C Hempel
ブルース・カールトン・ヘンペル
Bob C C Liang
ボブ・チャオ−チュ・リアング
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH01163884A publication Critical patent/JPH01163884A/ja
Publication of JPH0731741B2 publication Critical patent/JPH0731741B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/00Three-dimensional [3D] 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)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 以下の順序で本発明を説明する。
A、産業上の利用分野 B、従来技術 C0発明が解決しようとする問題点 り0問題点を解決するための手段 E、実施例 F0発明の効果 A、産業上の利用分野 本発明は一般的には、コンピュータ・グラフィックスの
分野に関する。コンピュータ・グラフィックス・ディス
プレイ・システム(例えばCAD/CAMグラフィック
ス・ワークステーション)は、科学、技術、1に造、及
び他のアプリケーションの対象の映像を作成し表示する
ために広く使用されている。
B、従来技術 上記のようなコンピュータ・グラフィック・システムに
おいては、対象物の面は通常ポリゴン(多角形)メツシ
ュであられされる。ポリゴン・メツシュは、頂点と1辺
と、多角形の集合である。
頂点は辺によって接続され、ポリゴンは、辺または頂点
の列であると考えることができる。デイスプレィの表示
スクリーン上に、ポリゴン・メツシュよりも外観が写実
的な対象物の視覚映像を表示するために、隠れ面を除去
し、可視面に陰影をっけ(Shading)テクスチャ
を与える手続が開発された。
本発明は、グラフィクス・ワークステーションに陰影を
つける機能の実施に関し、より詳しくは照明(liht
ing)モデルを使用した場合の陰影映像のコンピュー
タ処理及び表示に関するものである。そのような照明モ
デルで考慮され得る効果としては1周囲照明(ambi
ent lighting) 、拡散及び鏡面反射効果
、光源の数や位置や強度や色合い、並行及び斜視的投影
、視覚者から、モデリングしている対象物の異なる部分
の距離による光の減衰(テプス・キューイング)がある
第6図には、グラフィックス・ワークステーションのた
めの陰影づけ(シェーディング)ハードウェアの一般的
なシステム・アーキテクチャが示されている。この全体
的な陰影づけ機能システム1oは、照明モデル処理シス
テム12と、陰影処理システム14と、画素メモリ16
と、表示モニタ18を含んでいる。
照明モデル処理システム12は、特定の照明モデルの各
ポリゴン毎の頂点の色強度(例えば赤、緑及び青成分)
を計算する6陰影処理システム14は、可視ポリゴン内
の画素の色強度を計算するために照明モデル処理システ
ムからの情報を使用し、この情報を画素メモリ16に送
る。表示モニタ18は1画素メモリ16内に記憶された
陰影イメージを表示する。
従来のグラフィックス・ワークステーションにおいては
、照明による効果の計算は、あるタイプの汎用コンピュ
ータによって実行されていた。この手法は、広く入手可
能な「常備」製品を使用するという利点はあるけれども
、全体の処理が、単一の汎用処理要素によって実行され
るがゆえに、計算速度が低速であるという欠点があった
C0発明が解決しようとする問題点 本発明の主要な目的は、コンピュータ・グラフィックス
・ディスプレイ・システムにおける陰影機能の一部とし
て、従来のものよりも高い処理性能を示す照明モデル処
理を実行するための方法と装置を提供することにある。
本発明の他の目的は、高いイメージ品質と写美性と改善
された対話性を与える照明モデル処理システムを提供す
ることにある。
本発明のさらに他の目的は、容易にアセンブルされ、動
作が高速で効率的で汎用的である照明モデル処理システ
ムを提供することにある。
D0問題点を解決するための手段 本発明によれば、照明による影響の計算が、パイプライ
ン形式に接続されて動作する同一の複数の浮動小数点処
理要素によって実行される。使用されるパイプライン形
状は純粋に直列であってもよく、同一の処理要素の並列
配列を含むパイプラインのある段と直列でもよい。
計算の手間のかかる照明モデルの計算を実行するために
多重同一処理要素のパイプライン配列を使用することに
よって、処理速度の何倍もの向上が達成される。そして
システムが処理することができる毎秒のポリゴンの数が
劇的に増大することによって、所与の対象を表示するた
めにより微細 −なポリゴン・メツシュを使用すること
が可能となり、より微細なメツシュの使用によって、よ
り高い写実度の影陰イメージが得られる。こうして、本
発明の使用によって提供される性能の向上は、ワークス
テーションのユーザーによりすぐれた対話性とより高品
質のイメージ品質として反映される。
本発明の照明モデル処理システムは、直列に接続されパ
イプライン形式で動作する複数の浮動小数点処理段から
なる。そして各段は好適には1つまたはそれ以上の同一
の浮動小数点プロセッサ(処理要素とも呼ばれる)を有
する。
各段は、他の段とは同時に特定の機能を実行する個別の
処理ユニットと考えることができ、以て顕著な処理速度
の向上がはかられる。
第1図は、パイプライン配列の4つの浮動小数点処理段
20.22.24及び26からなる照明モデル計算シス
テム12の第1の実施例を示すものである。これにおい
て、第1の段20及び第2の段22は照明モデル計算の
ために使用される。
第3の段24は投影変換を実行し、視覚空間からスクリ
ーン空間へのマツピングを行うために採用され、第4の
段26は、デプス・キューイング(depth Cue
ing) 、色マツピング及び色クリッピングのために
使用される。これらの異なる段の機能については後でよ
り詳細に説明する。その段の数ならびに順序、および機
能の仕分けは、第1図に示すものと異なっていてもよい
第1図に示すように、照明モデル処理システム12への
入力は。
視覚空間におけるポリゴンの頂点の座標をあられすx、
y、zと・ ポリゴンの各頂点における法線のx、y、z成分をあら
れすa、b、c、 からなる。
これらのと入力は浮動小数点形式にあり、グラフィック
ス・デイスプレィ・システムの前段にあ 。
る幾何プロセッサ(図示しない)によって作成される。
照明モデル処理システム12の出力は、ポリゴンの頂点
のスクリーン座標をあられすXs、Ys、Zsと。
ポリゴンの各頂点に表示すべき色強度値をあられすC”
R,C”G、C” B (Rは赤成分、Gは緑成分、B
は青成分をあられす)からなる。
出力スクリーン頂点座標とRGB強度値は整数であり、
強度値はデイスプレィ・システムの能力の範囲内にある
第6図に示すように、陰影処理システム14には照明モ
デル処理システム12の出力が与えられ、このとき頂点
の強度値は実質的にポリゴンの可視面に亘って挿入され
、以て対象の現実的な陰影イメージが表示される。
入方皿蓋星 コンピュータ・グラフィックス・ディスプレイ・システ
ムは、モデルの対象の性質に応じて1側(1−5ide
d)表面及び2側(2−5ided )表面を処理しな
くてはならない0本発明の照明モデル処理システムの動
作を簡易化するために、照明モデル処理システムへのす
べての入力ポリゴンがl側ポリゴンで法線が視覚者の方
を向くように保証するべく上流の幾何プロセッサで前処
理段階が実施される。この前処理段階は、ソフトウェア
、ハードウェアまたはそれらの組合わせのどれかで実施
することができるものであって、次のようにして表面の
法線に基づき入来ポリゴンを処理する。
(1)1側表面 a、もしポリゴンの法線と、対象から視点へのベクトル
の点乗積(dOt product)が正なら、そのポ
リゴンは前向きであり、そのポリゴンのデータが入力と
して照明モデル処理システムに送られる。
b、もしポリゴンの法線と、対象から視点へのベクトル
の点乗積が負であるなら、ポリゴンは後向きであり、そ
のポリゴンは照明モデル処理システムに達する前に棄却
される。
(2)2側表面 a、もしポリゴン法線と、対象から視点へのベクトルの
点乗積と、対象から視点への点乗積が正であるなら、そ
のポリゴンは前向きであり、ポリゴンのデータは入力と
して照明モデル処理システムに送られる。
b、もしポリゴン法線と、対象から視点へのべクトルの
点乗積が負であるなら、ポリゴンは後向きであり、それ
ゆえ頂点の法線が反転され、ポリゴンのデータの残りが
入力として照明モデル処理システムに送られる。
従って、照明モデル処理システムへの入力は次の書式を
もつ: xi、yl、zl (頂点1座標) al、bl、cl (頂点1法線) x2.y2、z2(頂点2座標) a2、b2.c2 (頂点2法線) °など。
2  小 へプロセッサ 本発明のパイプライン化された照明モデル処理システム
の各段は、1つまたはそれ以上の同一の、浮動小数点プ
ロセッサからなる。同一のプロセッサからなる共通の段
は、照明モデル処理システムの製造1組立、動作、プロ
グラミング、及び保守の効率の向上をもたらす。
本発明の照明モデル処理システムのための適切なプロセ
ッサ30が第2図に示されている。プロセッサ30は、
最近の好適な形式では、32ビット浮動小数点能力をも
つvLSIチップを有するグラフィック浮動小数点処理
要素である。
プロセッサ30は次のものを有する。
(a)浮動小数点乗算器32(好適には、2段の内部パ
イプラインと、逆数と平方根を計算するためのハードウ
ェアをもつ)、 (b)浮動小数点加算器34(これは、乗算器32のた
めのアキュムレータとしても使用される)、(C)制御
プログラム、例えばマイクロコードのための記憶38(
例えばRAM)。
(d)制御論理4o、 (6)インターフェースのための入力FIF○42及び
出力FI FO44、 (f)データを格納するためのレジスタのバンク46(
64個の32ビツト・レジスタ)、(g)コマンド、レ
ジスタ48、 (h)複数のマルチプレクサ(mux)50.52.5
4.56及び58゜ プロセッサ30のこれらの素子は第2図に示すように接
続されている。シーケンサ36は、他の素子の動作を制
御する一方で、プログラムの流れ、すなわち分岐、サブ
ルーチン呼出しのためにマイクロコード制御の下にある
入出力データ・パスは33ビツト幅であり、32ビツト
・データ・フィールドと、データ・フィールドがコマン
ドまたは浮動小数点のどちらであるのかを示す1ビツト
・フラグとからなる。データストリーム中のコマンドは
、グラフィックス浮動小数点プロセッサに、あとに続く
浮動小数点データの使用方法を指令する。例えば、ポリ
ゴンに陰影づけさせるデータストリームは、「陰影ポリ
ゴン」コマンドに続く、陰影づけされるべきポリゴンを
決定する浮動小数点データ(頂点及び頂点での法線)か
らなる。
浮動小数点プロセッサの入力FIFOに入れられるデー
タは、あるタイプのフロント・エンド(front−e
nd)プロセッサ、あるいは他の浮動小数点プロセッサ
によって作成される。他の浮動小数点プロセッサによっ
てデータが作成された場合、そのプロセッサの出力FI
F○が直接このプロセッサの入力FIFOに接続される
そのような同一の浮動小数点プロセッサをパイプライン
または並列構成に相互接続するための特に好都合な技法
が本出願人に係る、1987年10月30日出願の米国
特許出顔第115150号に記載されている。
マイクロコードは、入力F I FO42からデータを
読み1次の機能を実行する。
(1)もしデータがコマンドであるなら、それは、正し
いマイクロコード・サブルーチンに分岐するために、デ
コーディングRAMへ渡される。この場合、そのデータ
はコマンド・レジスタ48にも格納され、もしマイクロ
コードがそのようにプログラムされているなら、出力F
I FO44に渡される。
(2)もし読取データが浮動小数点データであるなら、
それは (a)レジスタ・バンク46に格納されるかまたは。
(b)マルチプレクサの入力のうちの1つとしてマルチ
プレクサ32に渡されるかまたは、(C)加算器(アキ
ュムレータ)に対する入力のうちの1つとして加算器3
4に渡されるかまたは、(d)出力FIFO44に直接
波されるかまたは、(8)無視される(使用されない)
ブロセーサ・データ・フロー 次のベクトル積算の例は、プロセッサ30内のデータの
流れがどのようであるかを理解するのに有用である。
例として、ml傘x+m2*y+m3本2を計算するも
のとし、ml、m2、m3は内部レジスタ中にあり、ア
スタリスク11傘”は掛は算をあられし、入力データは
次の通りであったとする。
ベクトル積算(コマンド) X      (データ) y      (データ) 2      (データ) 処理は次のとおりである。
(1)入力F I FO42から32ビツト・ワードを
読む。
(2)「ベクトル積算」コマンドに出会ったとき(コマ
ンド・ビットがオンであり、32ビツト・データ・フィ
ールドが特定の値であることによってハードウェアに通
知される)、マイクロコードは、マイクロコード記憶中
の、ベクトル積算を実行するサブルーチンへと分岐する
。そのサブルーチンのアドレスは、分岐テーブルを介し
てハードウェアによって取得される。
(3)サブルーチンは次のワード(この場合X)を読み
取る。データ又は積算器の入力に渡され、積演算のため
にmlが積算器32の他方の入力に渡される。
(4)サブルーチンは次のワード(この場合y)を読み
取る。データyは積算器の入力に渡され、m2が、積演
算のため積算器の他方の入力に渡される。それと同時に
、積ml拳xが積算器の第2の内部段に渡される。
(5)サブルーチンは次のワード(この場合2)を読み
取る。データ2は積算器の入力に渡され、m3が積演算
のため積算器の他方の入力に渡される。
それと同時に、積ml傘xが加算器中に値0とともに累
算される。
(6)積m2傘yが加算器34に渡され、m1傘Xに加
算される。
(7)積m3傘2が加算器に渡され、ml傘x+m2傘
yに加えられる。
本発明の照明モデル処理システムにおいては、典型的な
データストリームは次のとおりである。
陰影ポリゴン開始    (コマンド)xi     
      (頂点データ)yl          
  (頂点データ)zl           (頂点
データ)al            (頂点法線デー
タ)bl            (頂点法線データ)
cl           (頂点法線データ)x2 
          (頂点データ)y2      
     (頂点データ)z2           
 (頂点データ)a2           (頂点法
線データ)b2           (頂点法線デー
タ)c2            (頂点法線データ)
xn            (頂点データ)yn  
          (頂点データ)zn      
      (頂点データ)an          
  (頂点法線データ)bn            
(頂点法線データ)an            (頂
点法線データ)陰影ポリゴン終了    (コマンド)
上述のデータストリームの処理は次のようにして実行さ
れる。
(1)マイクロコードがデータストリームの入力PIF
032ビット・ワードから必要に応じて読み取る。
(2)「陰影ポリゴン開始」コマンドに出会ったとき(
コマンド・ビットがオンであることと、32ビツト・デ
ータ・フィールドの特定の値によってハードウェアに通
知される)、マイクロコードはマイクロコード記憶中の
、陰影ポリゴン・データを処理するサブルーチンに分岐
する。このサブルーチンのアドレスは、ハードウェアに
よって分岐テーブルを介して取得される。
(3)そのマイクロコード・サブルーチンは、必要に応
じてFIFOからデータを読み取り、それをサブルーチ
ンの設計構造に従い処理する。出力が途発生されたとき
、それは出力FIFOに入れられる。
(4)「陰影ポリゴン」コマンドが処理されたとき、浮
動小数点プロセッサが、陰影ポリゴンに必要な処理を完
了させる別のマイクロコード・ルーチンにジャンプする
/・ヒ 本発明の好適な実施例においては、多段パイプライン構
成の各段を実施するために単一のプロセッサが使用され
る。
第3図を参照すると、照明モデル処理システム60は、
4つの個別且つ同一の浮動小数点プロセッサ62.64
.66及び68からなり、それらはパイプライン状に動
作するように配列されている。第1及び第2のプロセッ
サ62及び64は、照明モデル計算を実行する。第3の
プロセッサ66は投影変形を実行し視覚空間からスクリ
ーン空間へのマツピングを行う。第4のプロセッサ68
は、デプス・キューイング、色マツピング及び色クリッ
ピングを実行する。
性能を最適化するために、好適には関連する各々の浮動
小数点プロセッサ内のマイクロコードによって読み取ら
れる別のデータストリーム・コマンドによって、第1及
び第2のプロセッサ内の照明モデル計算の動的区画化を
行うための手段が設けられている。これは、その2つの
プロセッサ間の計算量のバランスを保つためのものであ
る。第1及び第2の浮動小数点プロセッサ間の照明モデ
ル計算の区画化は、モデル中の光源の数によって異なる
。例えば「陰影ポリゴン開始(単一光源)」データスト
リーム・コマンドによって示されるように単一の光源し
か存在しないなら、第1の浮動小数点プロセッサ62が
周囲光と分散光の効果による光強度を決定し、第2の浮
動小数点プロセッサ64が鏡面光効果による光強度を決
定する。他方、複数光源の場合(第5図参照)、例えば
「陰影ポリゴン開始(複数光源)」データストリーム・
コマンドで指示されると、第1の浮動小数点62′が奇
数番目の光源による光強度(周囲、分散及び鏡面)を決
定し、第2の浮動小数点プロセッサ64′が、偶数番目
の光源による光強度(周囲。
分散及び鏡面)決定する。このことは、これら2つの浮
動小数点プロセッサの間で、実行すべき作業を均等に分
割し、以てパイプラインにボトルネックが生じるのを防
止する。
より詳しく述べると、照明モデル中に単一の光源しかな
いとき(第3図参照)、 a、第1の浮動小数点プロセッサ62が各頂点毎に周囲
光と分散反射による光の強度を計算し、この値を第2の
浮動小数点プロセッサに渡す。
b、第2の浮動小数点プロセッサ64が各頂点毎に鏡面
反射による光強度を計算し、この結果を第1の浮動小数
点プロセッサにより渡された値に加える。第2の浮動小
数点プロセッサは次に、そのデータを次の浮動小数点プ
ロセッサに送る、C0第3の浮動小数点プロセッサ66
が投影変形を実行し、その座標データを視覚空間からデ
イスプレィ・システムのスクリーン空間にマツプする。
d、第4の浮動小数点プロセッサ68が、デプス−キュ
ーイング、色マツピング及び色クリッピングの計算を行
う。
照明モデルに複数の光源が存在するときは、(第5図参
照)、次のとおりである。
a、第1の浮動小数点プロセッサ62′が各頂点毎に、
奇数番目(#1、#3.#5、#7など)の光源の周囲
光、分散及び鏡面反射光による光強度を計算し、この値
を第2の浮動小数点プロセッサに渡す。
b、第2の浮動小数点プロセッサ64′が各頂点毎に、
偶数番目(#2、#4、#6、#8など)の光源の周囲
光1分散光及び鏡面反射光による光強度を計算し、この
結果を、第1の浮動小数点プロセッサによって渡された
値に加える。そうして、第2の浮動小数点プロセッサ6
4′はこの値を第3の浮動小数点プロセッサに渡す。
C0第3の浮動小数点プロセッサ66が投影変形を実行
し、この座標データを視覚空間からデイスプレィ・シス
テムのスクリーン空間にマツプする。そしてこの値は次
の浮動小数点プロセッサに渡される。
d、第4の浮動小数点プロセッサ68がデプス・キュー
イング、色クリッピング、及び色マツピングの計算を行
う。
俺夏失遼■ 第4図は1本発明の照明モデル処理システムの他のハー
ドウェア実施例61を示すものである。
この実施例においては、システムの第1及び第2段のめ
いめいが、並列に配列された3つの同一のプロセッサか
ら成っている。これらめいめいのプロセッサは、異なる
色成分について動作するように好都合に使用することが
できる。
例として、第4図には、単一光源モプリング・システム
が、示されており、ここで、第1段浮動小数点プロセッ
サ62Rが、赤成分に関する周囲および分散光効果を計
算し、その結果の赤成分強度値を第2の浮動小数点プロ
セッサ64Rに渡す。
第2の浮動小数点プロセッサ64Rは、赤成分の鏡面反
射効果を計算し、それを浮動小数点プロセッサ62Rか
ら受け取った値に加算する。同様にして、第1段浮動小
数点プロセッサ62Gおよび第2段浮動小数点プロセッ
サ64Gが緑成分の照明モデル計算を実行し、一方、第
1段浮動小数点62Bおよび第2段浮動小数点プロセッ
サ64Bが青成分の照明モデル計算を実行する。システ
ムの他の要素(すなわち第3段および第4段)は第3図
と同一である。
二股凰匪−e−F座 説明の便宜上、ここではRGB (赤、緑、青)の色モ
デルを使用する。しかし、本発明の原理は、CMY (
シアン、マジェンタ、黄)、YIQ、HSV(色合い、
鮮明度、明暗度)、HLS(色合い、輝度、鮮明度)な
どの他の色モデルにも適用可能である。
同様に、本発明は、無限遠と想定される光源のみならず
、有限の距離にある光源にも適用でき、スポット照明な
どの他の照明効果にも適用できる。
そこで、本発明の照明モデル処理システムのさまざまな
特定実施例を、個々のプロセッサをプログラムするため
に使用される擬似コードを参照して説明する。ここでは
斜視投影(有限距離の視点)の場合が詳細に説明される
。また平行投影というより簡単な場合も、視点が無限遠
にあるときに起こる相違に言及することによって簡単に
説明する。
しかし、先ず、光源の数や、表面特性や、表面の位置や
方向を考慮する一般化された照明モデルを明らかにして
おこう。
ここで採用されている視点座標系は、右手系である6わ
れわれがデイスプレィ・スクリーンを見ると考えるとき
、X軸は右を指し示し、y軸は上を指し、Z軸がわれわ
れの方を指し示す。それゆえ、Z軸が視点座標である。
次に示すのは単一光源の場合の照明モデルのパラメータ
である。
IaR/傘 周囲光の赤強度 傘/ IaG  /*  周囲光の緑強度 I/IaB  /
*  周囲光の青強度 傘/l5oulR/*  光源
の赤強度 /傘l5oulG  /・ 光源の緑強度 
/串l5oul[l  /廖  光源の青強度 /−K
aR/”  陰影材質赤周囲定数 /傘KaG  /傘
 陰影材質縁周囲定数 /−にaB  ハ 陰影材質前
周囲定数 /*KdR/中 陰影材質赤分散定数 /I
KdG  /傘 陰影材質様分散定数 /*KdB  
/傘  陰影材質前分散定数 ハKs   /−鏡面反
射の陰陰定数 /−Kn   /*  陰影定数−鏡面
反射の指数 拳/所与の頂点x、y、zと、頂点におけ
る表面に対する法線N= (a、b、c)に対して、L
を頂点から光源、すなわち点光源への方向の単位ベクト
ルとし、 Rを反射の方向とし、 ■を視点への方向とする。
次に、頂点での陰影色7強度を次の3つの項の和で与え
る(ここではR−成分しか示さないが、他の2つ、すな
わちG及びBも同様にあられされる)。
(1)周囲光 IaR拳KaR (2)分散光 l5oulR*にdR*(L、N) /* L、Nは内積である一/ (3)鏡面反射 l5oulR*Ks*((R,V)申拳Kn)照明モデ
ル中の光源は無限遠であると想定されている。それらの
位置は単位長さの方向ベクトルによって記述される。視
点は無限遠である。
複数光源の場合、第2及び第3項に複数の項目を有する
ことになる。
さて、5個の光源(1≦j≦M)があると仮定しよう、
ここでMはこの特定の実施例で許される光源の最大の数
である。
頂点での陰影色7強度は次の3つの項目の和によって与
えられる(ここではR−成分しか述べないけれども、他
の2つ、すなわちG及びBについても同様にあられすこ
とができる)。
(1)周囲光 Iar:にaR。
(2)分散反射 l5oulR拳にdR(Ll、N)+ ・・・÷l5o
ujR*にdR(Lj、N)/傘り、Nは内積をあられ
す*/ (3)鏡面反射 l5oulR拳Ks拳((R1,V)傘傘kn)+ ・
=+l5oujR+Ks: ((Rj 、V)m−Kn
) 一般的な照明モデルの導出についてのより詳しい説明は
、Addison−Wesley社1984年刊。
Foley & Van Dam著、9対話的コンピュ
ータ・グラフィックスの基礎(Fundamental
s ofInteractive Computer 
Graphics)?、 p p 、 575−578
にある。
次に本発明の照明モデル処理システムの特定の例につい
て説明する。先ず1次の場合について、第1及び第2の
プロセッサによって実行される照明モデルの計算を説明
する。
単一光源−視点が有限距離 単一光源−視点が無限距離 複数光源−視点が有限距離 複数光源−視点が無限距離 次に、第3のプロセッサによって実行されるマツピング
機能と、第4のプロセッサによって実行されるデプス・
キューイング、色マツピング、色クリッピング機能(こ
れらは前述のすべての場合について共通である)につい
て説明する。
以下の例において、ソフトウェアは擬似コードで書かれ
ており、単一のアスタリスク(傘)は掛は算であり、二
重(**)はべき乗をあられし。
(〈)というシンボルは値の取得をあられし、コメント
は(/傘)と(率/)の間しこ挾まれたものである。
−゛ −の  占 これは、対象物から有限距離にある単一光源の斜視投影
の場合(すなわち、視点が対象物から有限の距離にある
)に関するものである。頂点の強度を計算する機能は、
2つの浮動小数点プロセッサ間で分割される。第1の浮
動小数点プロセッサは周囲光と分散光の項の強度を計算
し、第2の浮動小数点は鏡面反射光の強度を計算する。
第1の浮動小数点プロセッサへの入力は、次の6個のデ
ータからなる。
頂点の座標x、y、zと、頂点の表面に対する法線の座
標、すなわちa、b、c。
第1の浮動小数点プロセッサの、第2の浮動小数点プロ
セッサに対する出力は、各頂点毎に次の9個のワードか
らなる。
頂点の座標x、y、zと、 反射方向の成分子x+ ry、rzとへR,G及びBに
対する部分強度値(周囲プラス分散効果)。
この場合、第1及び第2の浮動小数点のための擬似コー
ドは次のとおりである。
Procedure Intensity Singl
e 12(有限距離の視点)/11  第1の浮動小数
点プロセッサ −/入カニ LLZ /*  頂点の座標 */ a、b、cハ 単位法線の成分 傘/ 出カニ x、y、z /本漬点の座標 */ rx、ry、rz /**射方向の成分 */Inte
nsR/本強度の赤成分  */IntensG  /
本強度の緑成分  ネ/IntensB  /本強度の
青成分  京/定数: IaR/本周囲光の赤強度 */ IaG /*周囲光の緑強度 */ IaB /*周囲光の青強度 */ l5oulR/*光源の赤強度 */ l5oulG /*光源の緑強度 */l5oulB 
/*光源の青強度 */KaR/*陰影材質赤周囲定数
 */ にaG /*陰陰影材質層周囲定数*/KaB /*陰
影材質青周囲定数 */KdR/*陰影材質赤分散定数
 本/ KdG /*陰影材質緑分散定数 本7KdB /*陰
影材質青分散定数 */Ks  /**面反射の陰影定
数 */Kn  /車cosの陰影定数−指数 */u
xl、uyl、uzl /**源1*/vx、vy、v
z   I*視点 本/変数: xvYgz /*本漬点座標 */ a、b、c /本単位法線の成分 */υx、wy、t
iz /*本漬点ら光源へのベクトル */normT
d/* (wx、wy、wz)の長さ */rx、ry
、rz /*反射方向ネ/ norn+r  /ネ(rx、ry、rz)の長さ *
/lx、ty、tz /*本漬点ら視点へのベクトル 
*/IntensR/*強度の赤成分 本/Inten
sG  /*強度の緑成分 本/IntensB  /
*強度の青成分 */normt  /* (tx、t
y、tz)の長さ */1nnproc /*光源から
の頂点へのベクトル*//*単位法線の内積 */ 5hadcos /**面反射のcos項 */lig
ht /*−時変数 */ lamp  I*−時変数 零/ 1finiteH/* r陰影ポリゴン(単一光源)」
コマンドに遭遇したとき*/ 7本人力されるコードネ/ (1)データの読取 (2)もしそれがGESP (陰影ポリゴン終了)コマ
ンドなら、そのコマンドを出力して脱出;/*本漬点X
*ytZ*標を読みこんで、頂点から光源への*/ /*ベクトルを計算*/ (3)xの読取、および wx  <−−uxl  −x (4)xを第2の浮動小数点プロセッサに出力(5)y
の読取、および すy<−uyl−Y (6)yを第2の浮動小数点プロセッサに出力(7)z
の読取、および IIy  <−−uyl  −y (8)yを第2の浮動小数点プロセッサに出力wz  
<−−uzl  −z (9)aの読取        /*本漬点法線水/(
10)bの読取 (11)cの読取 (12)頂点から光源へのベクトルと単位法線との内積
1nnproc  <−−wx車a +  tgy*b
  +  wz*c/*鏡面反射の反射方向*/ (13)temp <−−2*innproc(14)
rx  <−−temple  −wx(15)rXを
第2の浮動小数点プロセッサに出力(16)ry <−
−tamp*b −wy(17)ryを第2の浮動小数
点プロセッサに出力(18)rz <−−temple
 −vz(19)rzを第2の浮動小数点プロセッサに
出力(20)光源と頂点の間の距離 a、normv  <−−wx傘GIX  +  vy
*vy  +  wz喰WZb、normw (−−s
qrt(normw)(21)周囲光R−G−B成分 a、IntensR(−−KaR*IaRb、Inte
nsG  <−−にaG豐IaGc、IntensB 
 <−−KaB*IaB(22)強度の計算に使用され
る定数 a、Lf 1nnproc <−−Othen lig
ht <−−0;b、else    light  
<−−1nnproc/normw(23)強度計K(
分散反射) IntensR<−−IntensR+ l5oulr
KdR*light(24)IntensRを第2の浮
動小数点プロセッサに出力 (25)強度計算(分散反射) IntensG  <−−IntensG  +  l
5oulG*KdG*light(26)Intens
Gを第2の浮動小数点プロセッサに出力 (27)強度計算(分散反射) IntensB  <−−IntensB  +  l
5oulB*kdR*light(28)Intens
Bを第2の浮動小数点プロセッサに出(29)lfin
itelへ Procedure Intensity Singl
e 22(有限距離の視点)/ネ第2の浮動小数点プロ
セッサ京/ 入カニ xsyyZ /本漬点の座*/本 IntensR/*周囲および分散光による強度の赤成
分*/ IntensG  l車周囲および分散光による強度の
緑成分本/ IntensB  /Ig周囲および分散光による強度
の青成分零/ rX 、 r3/伊rz /車反射方向の成分率/出カ
ニ ”tyyZ /*本漬点座標/車 IntensR/*周囲および分散光による強度の赤成
分水/ IntensG  /*周囲および分散光による強度の
緑成分本/ IntansB  1本周囲および分散光による強度の
青成分本/ 定数: l5oulR/*光源の赤強度*/ l5oulG  /車光源の緑強度*/l5oulB 
 /本光源の青強度ネ/KaR/*陰影材質赤周囲定数
*/ KaG  /*陰影材質緑周囲定数*/KaB  /本
陰影材質青周囲定数*/KdR/本陰影材質赤分散定数
車/ KdG  /*陰影材質緑分散定数*/KdB  /零
陰影材質青分散定数本ノks  /本鏡面反射の陰影定
数*/ kn  /*陰影定数−鏡面反射の指数uxl、uyl
、uzl /宰光源1*/vx、vy、vz     
/本 視点  寧/変数: ”*YpZ /*本漬点座標 ネ/ a、b、c /寧単位法線の成分 */”tVY+II
Z /本漬点から光源へのベクトル *1nori+w
  /* (wx、wy、wz)の長さ ネ/rx、r
y、rz /本反射方向 寧/normr  /* (
rx、ry、rz)の長さ */lx、ty、tz /
*本漬点ら視点へのベクトル 1g/IntensR/
京強度の赤成分 */IntensG  /本強度の緑
成分 */IntensB  /*強度の青成分 *l
normt  /* (tx、ty、tz)の長さ ネ
/1nnproc l亭光源からの頂点へのベクトル*
//*単位法線の内債 */ 5hadcos /* 鏡面反射のcos項 ネ/li
ght /ホー時変数 */ lea+p  /*−時変数 */ 1finite2 : /*  r陰影ポリゴン(単一
光源)」コマンドに遭遇したとき*/ /*大入力れるコード*/ (1)データの読取 (2)もしそれがGESP (陰影ポリゴン終了)コマ
ンドなら、そのコマンドを出力して脱出;/*頂点のX
yy*Z座標を読みこんで、頂点から光源への*/ /*ベクトルを計算ネ/ (3)xの読取、/*頂点座標 *1 (4)xを出力 (5)yの読取 (6)y出力 (7)zの読取 (8)zの出力 l*次の2つのステップは、頂点から視点型//*への
有限距離ベクトルにおける視点の*l/*鏡面反射計算
に使用される。*/ (9)視点から視点へのベクトル a、tx  <−−vx  −x b、ty  <−−vy  −y c、tz  (−−vz  −z (10)視点と頂点の間の距離 a、normt (−−tx*tx + ty*ty 
+ tz*tzb、normt <−−sqrt(no
rmt)/*反射方向の成分を読取*/ (11)rxの読取 (12)ryの読取 (13)rzの読取 (14)反射方向のノルム normr  <−−rx*rx  +  ry*ry
  +  rz*rznora+r <−−sqrt(
normr)(15)反射角度のcO3を計算 jan+p <−−tx*tx + ty傘ty + 
tz *tza、if  temp  <Q  the
n  5hadcos  <−−Ob、else 1)temp <−−tamp/(normr*nor
mt)2)shadcos <−−tamp**kn3
)shadcos  <−−ks*5hadcos(1
6)IntensRの読取 (17)鏡面反射の計算 IntensR<−−IntensR+  l5oul
R*5hadcos(18)IntensR出力 (19)IntensGの読取 (20)鏡面反射の計算 IntensG  <−−In5oulG本5hadc
os(21)IntensG出力 (22) IntensBの読取 (23)鏡面反射の計算 IntensB  <−−IntensB  +  l
5oulB*5hadcos(24)IntensB出
力 (25)lfinte2へ 単一 源 −無限遠視点 視点が無限遠にある(平行投影)より簡単な場合は、視
点が有限距離にある上記の場合とは、鏡面反射による光
の計算の間の反射ベクトルの扱いにおいて異なるに過ぎ
ない。視点が無限遠である場合、視点方向は平行投影の
場合の(0,0,1)によって与えられる。
複  ゛ −有限距離の視点 この例では、光源の最大個数は10であると想定されて
いる。各頂点ごとの強度を計算するという機能は、2つ
の浮動小数点プロセッサの間で分割される。第1の浮動
小数点プロセッサは光源#IJ3゜#5などによる色強
度を処理し、第2の浮動小数点プロセッサは、光源#2
.#4,86などによる色強度を処理する。
第1の浮動小数点プロセッサの擬似コードは、この場合
へのようになる。
Procedure Intensity Multi
ple 12 (有限距離の視点) /*第1の浮動小数点プロセッサ*/ 入カニ xtY*Z /Ig頂点の座標 */ a、byc /**位法線の成分 */出カニ x、y、z/*頂点の座標 本/ a、b、c /**位法線の成分 */IntensR
/*強度の赤成分*/ IntensG  /本強度の緑成分ネ/Intens
B  /*強度の青成分*/定数: IaR/**囲光の光強度 */ IaG   /**囲光の緑強度 */IaB   /
**囲光の管強度 */l5oulR/*光源#1の光
強度 */l5ou3R/*光源#3の光強度 */l
5ou5R/*光源#5の光強度 */l5ou7R/
*光源#7の光強度 */l5ou9R/*光源#9の
光強度 本/l5oulG /*光源#1の緑強度 *
/l5ou3G /*光源#3の緑強度 */l5ou
5G /*光源#5の緑強度 */l5ou7G /*
光源#7の緑強度 */l5ou9G /本光源#9の
緑強度 */l5oulB /*光源#1の管強度 *
/l5ou3B /*光源#3の管強度 */l5ou
5B /*光源#5の管強度 */l5ou7B /*
光源#7の管強度 */l5ou9B /*光源#9の
管強度 */KdR/*陰影材質赤分散定数 */ KdG /*陰影材質緑分散定数 */KdB /*陰
影材質青分散定数 */KaR/*陰影材質赤周囲定数
 */ KaG /*陰陰影材質側周囲定数*/KaB /*陰
影材質青周囲定数 */Ks  /**面反射の陰影定
数 */Kn  /**影定数−鏡面反射の指数uxl
、uyl、uzl /**源1*/ux3.uy3.u
z3 /*光源3*/wx5.uy5.wx57本光源
5*1ux7.uy7.uz7 /*光源7*/ux9
.uy9.uz9 /*光源9*/Vス、vy、vz 
    /*  視点  事/変数: Xt3/+Z /本頂点の座標 */ a、b、c /*単位法線の成分 */wx、wy、w
z /*頂点から光源へのベクトル */normリ 
/* (wx、wy+す2)の長さ */rx、ry、
rz /*反射方向 */normr  /* (rx
、ry、rz)の長さ */lx、tyttz /*頂
点から視点へのベクトル */IntensR/*強度
の赤成分 */IntensG  /*強度の緑成分 
*/IntensB  /*強度の青成分 */nor
mt  /* (tx、ty、tz)の長さ */1n
nproc /*光源からの頂点へのベクトル京//本
単位法線の内積 */ 5hadcos /*鏡面反射のcos項 */Lnu
m   /ネ光源の紋型/ J、ight /*−時変数 零/ lemp  /オー時変数 */ mf4nitel : /ネ 「陰影ポリゴン(複数光
源)J−1マントに遭遇したときネ/ /零入力されるコード*/ a、データの読取 り、もしそれがGESP (陰影ポリゴン終了)コマン
ドなら、そのコマンドを出力して脱出77零頂点のX+
5’tZ座標を読みこんで、頂点から光源への*/ 7本ベクトルを計算、これは有限距離の視*//零点の
鏡面反射計算に使用される*/c、xの読取、および tx <−−vxl −x d、xを第2の浮動小数点プロセッサに出力e、yの読
取、および ty  (−−vyl  −y f、yを第2の浮動小数点プロセラさに出力g、zの読
取、および tz  <−−vzl  −y h、zを第2の浮動小数点プロセッサに出力i、aの読
取        /*頂点の法線*/j、aを第2の
浮動小数点プロセッサに出力に、bの読取 1、bを第2の浮動小数点プロセッサに出力m、Cの読
取 n、cを第2の浮動小数点プロセッサに出力/*次のス
テップは、途有限距離の視点の鏡/*面反射の計算に使
用される*/ (1)視点と頂点の間の距離 (a)normt <−−tx*tx + ty*ty
 + tz*tz(b)normt  <−−sqrt
(normt)(2)周囲光R−G−B成分 (a)IntensR<−−KaR*IaR(b)In
tensG  <−−KaG*IaG(c)Inten
sB  <−−KaB*IaB(3)for j=1 
to Lnum(a)分散光 1)頂点から光源へのベクトル wx <−−uxj −x llIy  <−−uyj  −y す2〈−uzj −z 2)頂点から光源へのベクトルと単位法線との内積1n
nproe <−wx*a + wy*b * 1ll
z*c3)光源と頂点の間の距離 a)  normw  (−−wx*wx  +  w
y*wy  +  WZ*WZb)  normw  
<−−sqrむ(normw>4)強度の計算に使用さ
れる定数 a) if 1nnproc<−−Othen lig
ht <・・・Qzb)  else        
 light  <−−1nnproc/normt+
+5)強度計算(分散反射) IntensR(−−1ntensR+ l5oujR
*KdR*light6)強度計算(分散反射) IntensG<−−IntensG + l5ouj
G*KdG*1ight7)強度計算(分散反射) IntensB<−−IntensB  +  l5o
ujB*にdB*1ight(b)強度計算(鏡面反射
) 1)反射方向 temp  <−−2*1nnprocrx  <−−
temp*a  −wxry  <−−temp*b 
 −wyrz <−−temp*c −wz 2)反射方向のノルム norl!lr <−rx*tx + tytty +
 rz*rznormr <−−sqrt(normr
)3)反射角度のcos計算 tamp  <−−tx*tx  +  tytty 
 +  tz*tz(a)   if  ten+p 
 <Q  then  5hadcos  <−−0(
b)  else i、 temp <−−temp/(normr*no
rmt)ii、 5hadcos <−−temp**
kniii、 5hadcos <−−ks*5had
cos4)鏡面反射の計算 IntensR<−−IntensR+ l5oujR
*5hadcos5)鏡面反射の計算 IntensG  <−−IntensG  +  l
5oujG*5hadcos6)鏡面反射の計算 IntensB <−−IntensB + l5ou
jB*5hadcos(4)intensRを第2の浮
動小数点プロセッサに出力(5)IntensGを第2
の浮動小数点プロセッサに出力(6)IntensBを
第2の浮動小数点プロセッサに出力(7)mfinit
elへ この場合(複数光源−有限距離の視点)の第2の浮動小
数点プロセッサの擬似コードは、以下に示す相違点を除
いては上述の第1の浮動小数点プロセッサの擬イ以コー
ドと同一である。
(1)第1の浮動小数点プロセッサにより計算された反
射方向(視点への方向)が、入力として第2の浮動小数
点プロセッサに渡され、このため第2の浮動小数点プロ
セッサは、それを計算する必要がない。
(2)奇数番目の光源ではなく偶数番目の光源(#2、
#4.#6など)による光の寄与分が計算される。
(3)各頂点での全光強度を計算するために(第1の浮
動小数点プロセッサから第2の浮動小数点プロセッサへ
入力として渡された)奇数番目の光源の寄与に、偶数番
目の光源による寄与が加算される。
複数光源−無限遠の視点 回連すると、視点が無限遠である(平行投影)場合は、
視点が有限距離にある場合と、鏡面反射による光の計算
の間の反射ベクトルの扱いにおいて異なるにすぎない。
視点が無限遠である場合、視点方向が平行投影の場合の
(0,0,1)によって与えられるためZ成分のみが使
用される。
パイプラインのこの段は、次の2つのステップをここに
述べた順序で各ポリゴン頂点に対して実行するものであ
る。
(1)入力頂点が、3次元視覚空間から、次の特性をも
つ「投影」変形(変換)に従って、別の3次元空間に変
形される。
(a)この変形によって生成されたX及びy軸は、視覚
平面上への頂点の投影である。
(b)この変形は平面度を保持する。すなわち、3次元
視覚空間内で同一平面上にある頂点に対して変形を加え
てもそれらはやはり出力3次元空間内で同一平面上にあ
る。
(2)変形された頂点は次に、「マツピングJ変換によ
って視野平面へとマツプされる。
斜視投影(対象から有限の距離の視点)の場合、投影変
換は次の式によって行なわれる。
ここで、(Xproj、Yproj)は、3次元視覚空
間から(2次元)視覚空間上への(x、y、z)の投影
であり、dは視点から視覚平面への距離である。
2の投影関数は、3次元視覚空間内の平面の投影が依然
として平面であり、Zが増加するにつれてZprojも
増加することを保証するように選択される。
さて、デプス・キューイング基準平面Z=P f及びz
=pbが投影変換の出力空間中で決定される。
平行投影(視点が無限遠)の場合、視覚空間座標値自体
が投影値として使用される6すなわち、Xproj=X Yproj=Y Zproj=Z 平行であれ斜視的であれ、投影変換の後にはマツピング
変換が続き、そこでは次の式が使用される。
X5creen<−−XVmin+Rx*(X−XCm
in)Yscreen 〈−−YVmin+Ry* (
Y−YCmin)ここでXVminは、視野窓(イメー
ジを表示するために使用されるスクリーンの領域)の左
側の境界であり、XCm1nはクリッピング・ボリュー
ム(視野窓にマツプされることになる視覚空間の領域)
の左側の境界であり、YVminは視野窓の下方の境界
であり、 YCo+inはクリッピング・ボリュームの
下方の境界であり、 Rx及びttyは、視野窓のサイ
ズの、クリッピング・ボリュームのサイズに対するX及
びYの比率である。
投影およびマツピング手続きのための擬似コードは次の
とおりである。
Procedure Projection and 
Mapping入カニ x    /*頂点視覚X座標*/ y    /*頂点視党y座標*/ Z    /*頂点視覚Z座標零/ IntensR/*頂点の色 (赤)*/Intens
G  /*頂点の色 (緑)*/IntensR/*頂
点の色 (青)*/出カニ Xs    /*頂点スクリーンX座標*/Ys   
 /本頂点スクリーンy座標*/Zproj   /*
頂点投影Z座標*/IntensR/*頂点の色 (赤
);変更なし*/IntensG  /*頂点の色 (
緑);変更なし*/IntensR/*頂点の色 (青
);変更なし*/定数: Rx    /傘視野窓のXサイズの、クリッピン本/
/*グ窓に対する比*/ Ry    /*視野窓のyサイズの、クリッピン*/
/本グ窓に対する比*/ XVmin   /*視野窓の左端零/XCm1n  
 /*クリッピング窓の左端*/YVmin   /*
視野窓の下端*/YCmin   /*クリッピング窓
の下端*/変数: Aux    /*−時変数*/ Proj and map: (1)次のデータ読取 (2)もしそれがGESP(陰影ポリゴン終了)コマン
ドなら、そのコマンドを出力して脱出; (3)xを読取ってXprojに入れる/*平行の場合
のXprojを計算本/(4)yを読取ってYproj
に入れる*//*平行の場合のYprojを計算*/(
5)zを読取ってZprojに入れる/*平行の場合の
Zprojを計算*/(6)もし視点が無限遠にある(
平行投影モード)なら馬appingへ行く (7)Aux <−−Zproj/d /零斜視の場合のZprojを計算本/(8)Aux 
 <−−Aux  +  1(9)Zproj <−(
−1)/Aux(10)Xproj  <−−x本Zp
roj/*斜視の場合のXprojを計算*1(11)
Yproj  <−−y*Zproj/*斜視の場合の
Yprojを計算*/mapping : (12)Aux <−−Xproj −XC+n1nl
*スクリーンX値であるXsを計算*/(13)Aux
  <−−Aux*Rx(14)Xs (−−Aux 
+ XVmin(15)Xsを出力 (16)Aux <−−Yproj −YCmin/木
スクリーンy値であるYsを計算*1(17)Aux 
<−−Aux*Ry (1g)Ys <−−Aux + YVmin(19)
Ysを出力 (20)Zprojを出力 (21)IntensRを読取 (22) IntensRを出力 (23)IntensGを読取 (24)IntensGを出力 (25) Intenseを読取 (26)IntensBを出力 (27)proj and mapへ に 第4のプロセッサ中では次のようなステップが実施され
る。
(1)デプス・キューイング(視覚者からの点の距離の
関数として点の光強度を変更する)。
(2)色マツピング(照明及びデプス・キューイング処
理の結果として計算された光強度を、後述するデイスプ
レィ・システムの動的色機能にマツプする処理)。(3
)色クリッピング(デイスプレィ・システムの動的色機
能によってサポートされる最大強度を超える強度を最大
強度値に置き換える処理)。
デプス・キューイング この処理においては、頂点で照明モデルによって計算さ
れたRGB強度が、ワークステーションのユーザに、ス
クリーン上のイメージのどの部分が視点から最も遠いか
を示す視覚キュー(cue)として特定の色値と混合さ
れる。このことは、出力色強度を、頂点のZ座標の関数
として変更する混合関数により行なわれる。すなわち、
Ci=w本Intensi+(1−w)*Cdiここで
、Intensiは、頂点における入力色の成分であり
、 Cdiは、混合がなされる色強度の成分であり、Ciは
、頂点の出力色強度の成分である。
さて、CR,G及びBとし、 Pfを前方基準面の2値とし、 pbを後方基準面のZ値とし。
Sfを前方倍率とし、 sbを後方倍率とすると、 混合関数の変数Wは、投影及びマツピング段階で生成さ
れたZ値であるZprojの関数として次のように定義
される。
W=Sf;  Zproj>PfのときW=Sb;  
Zproj<Pbのとき五1」」L乙グ 照明及びデプス・キューイング処理によって計算された
色強度は、システムの表示ハードウェアによって表示す
ることのできる色強度のダイナミック・レンジとは無関
係である。照明モデル計算段を、グライックス・ワーク
ステーション中のそれに続く表示ハードウェアに結合す
るために、この段は1表示ハードウェア中で利用しうる
ダイナミック色レンジに適合させるべく各個別の色成分
に一次変換を施す。すなわち、新しい色の値C′1(C
R,G及びB)は次の式により得られる。
C’ 1=ai*Ci+bi (i=R,G、B)ここ
でaiとbiは1表示ハードウェアに適切な色マツピン
グ・パラメータである。
企3仁男スe>クー マツピング段階の後でさえも、照明段によって計算され
た強度が、表示ハードウェアによってサポートされてい
る最大強度を超えてしまうことがある。そこで色クリッ
ピング段階の目的は、色ハードウェアに渡された色強度
が最大許容値を超えないことを確かめることにある。こ
れにより、照明計算段の間に生じる大きい色値によって
ひき起こされる飽和の問題を回避することができる。
新しい色値C″’ 1(i=R,G及びB)は次の式に
より与えられる。
C#i=MIN(Bhi、 C’ i) (CR,G、
 B)ここでBhiは色成分iの最大許容値であり、C
′iは、色マツピング段階からの出力色成分である。
さらに、この段階は、表示色強度の浮動小数点表現を1
表示ハードウェアによって必要とされる整数表現に変換
する。
、W体立DU糺佐 デプス・キューイングと色マツピング段階はどちらも一
次関数であるから、このパイプライン段で実行しなくて
はならなんい計算の数を減少すべくそれらを1つの演算
に結合することができる。
このため、結合される式の次のパラメータが、前以って
、すなわちこれらの段階の制御パラメータが特定された
時点で計算される。式は次のとおりである。
Qfi=ai*5f Qbi=ai*5b Ai=ai*F Bi=ai本(Sb−F本Pb) hi=ai*cdi+bi ここでiはP、 G及びBであり、 これらのパラメータを前以って計算しておいて、次の一
連の計算を実行する。
(1)g iを、Zとデプス・キューイング・パラメー
タと、表示ハードウェアの関連として計算する。
すなわち、 gi=Ai*Zproj+Bi : Pf=Zproj
>=Pb(i=R,G、 B)のとき gi=Qfi ; Zproj>Pfのときgi=Qb
i ; Zproj<Pbのとき(2)マツプされたデ
プス・キュー色強度C′iを、人力Ciと前に計算した
giとhiの関数として計算する。すなわち、 C’ i=gi(Ci−Cdi)+hi(i=R,G、
8)。
(3)次に、マツプされたデプス・キュー色強度C′i
をクリップし、それを後の表示ハードウェアの使用のた
めに整数表現に変換する。
C’ CTRUNC(MIN(Bhi、 C’ 1))
(CR,G、 B)ここで関数TRUNCは、浮動小数
点値を整数表現に変換するものである。
デプス・キューイング、色マツピング及び色クリッピン
グ手続きを実施するために適当な擬似コードは次のとお
りである。
Procedure Depth Co1or入カニ Xs    /*頂点スクリーン座標*lYs    
/*頂点スクリーン座標*/Zproj   /*頂点
投影2座標*/IntensR/*頂点色(赤)*/ IntensG  /*頂点色(緑)*/Intens
B  /*頂点色(青)本/出カニ Xs    /*頂点スクリーン座標本/Ys    
/*頂点スクリーン座標*/Zproj   /本頂点
投影2座標寧/C’R/*頂点色(赤)*/ C’G   /*頂点色(緑)本/ C’B   /*頂点色(青)*/ 定数: QfR/*制御パラメータがロードさ *//*れたと
きに計算される定数 */ QfG    /*制御パラメータがロードさ *//
*れたときに計算される定数 */ QfB    /*制御パラメータがロードさ *//
*れたときに計算される定数 */ QbR/*制御パラメータがロードさ ネ//*れたと
きに計算される定数 */ QbG    /*制御パラメータがロードさ 本//
*れたときに計算される定数 本/ QbB    /水制御パラメータがロードさ *//
*れたときに計算される定数 */ AR/*制御パラメータがロードさ *l/ネれたとき
に計算される定数 */ AG    /*制御パラメータがロードさ *l/*
れたときに計算される定数 */ AB    /*制御パラメータがロードさ *//*
れたときに計算される定数 */ BR/*制御パラメータがロードさ *//*れたとき
に計算される定数 */ BG    /*制御パラメータがロードさ *//*
れたときに計算される定数 */ BB    /*制御パラメータがロードさ *//*
れたときに計算される定数 */ hR/*制御パラメータがロードさ *//*れたとき
に計算される定数 寧/ hG    /*制御パラメータがロードさ *//*
れたときに計算される定数 */ hB    /*制御パラメータがロードさ *//*
れたときに計算される定数 */ BhR/*最大許容赤強度 BhG    /*最大許容緑強度      */1
3hB    /*最大許容青強度      ネ/P
f    /*前方基準平面の2値    */Pb 
   /*後方基準平面の2値    */変数: Aux    /*−時変数         */(
1)各頂点ごとに DO (2)Xs読取 (3)Xs出力 (4)Ys読取 (5)Ys比出 力6)Zproj読取 (7)Zproj出力 For i=R,G、B DO (8)   Ci読取 (9)   Aux=qi/*Zprojの関数として
qiを計算*/(10)   Aux=Aux* (C
i−Cdi) +hi/*Ciの計算 */(11) 
   Aux=MIN(Bhi、Aux)(12)  
  Aux=TRIJNC(Aux)(13)   A
uxを出力 (14)  Hndd。
(15)Endd。
F0発明の効果 以上の説明から明らかなように、本発明によれば、パイ
プライン構成の浮動小数点プロセッサにより、コンピュ
ータ・グラフィックスにおける照明モデルのきねめて高
い処理速度を達成することができる。
【図面の簡単な説明】
第1図は、本発明の照明モデル処理システムの実施例の
ブロック図、 第2図は、本発明のプロセッサの好適な実施例のブロッ
ク図、 第3図は1本発明の照明モデル処理システムの単一光源
構成のブロック図、 第4図は、本発明の照明モデル処理システムの別の単一
光源構成のブロック図、 第5図は、本発明の照明モデル処理システムの複数光源
構成のブロック図、 第6図は、コンピュータ・グラフィックス・ワークステ
ーションの一般的な陰影(シェーディング)機能のハー
ドウェア構成のブロック図である。 C”R,C”G、C”B 第5図        笛6図

Claims (2)

    【特許請求の範囲】
  1. (1)コンピュータ・グラフィックス・ディスプレイ・
    システムのスクリーン上に対象の陰影を付けたイメージ
    を表示するために照明モデル情報を処理するための装置
    であって、該対象はポリゴンのメッシュによって視覚空
    間中に表され、該各ポリゴンは、該視覚空間中の位置が
    既知である一組の頂点で規定されてなるものにおいて、 (a)複数且つ同一の浮動小数点プロセッサからなるパ
    イプライン構成を有し、 (b)該パイプライン構成は、特定の照明モデルに基づ
    きポリゴンの頂点の視覚空間中の座標と、該頂点におけ
    る法線を表すデータを受け取り、それらから上記頂点の
    視覚スクリーン上の座標と、上記各々の頂点に関連する
    スクリーン色強度値を計算するものである、 画像情報処理装置。
  2. (2)スクリーン頂点光強度値を導出するために、コン
    ピュータ・グラフィックス・ディスプレイ・システムに
    おいて照明モデルの計算を実行するための方法において
    、 (a)上記照明モデルの計算を実行する能力を持つ複数
    の同一の浮動小数点プロセッサを用意し、(b)上記複
    数の同一の浮動小数点プロセッサをパイプライン構成と
    して接続して動作させ、 (c)上記複数の浮動小数点プロセッサの間で計算量を
    ほぼ平衡させるように上記複数の浮動小数点プロセッサ
    の間で照明モデルの計算を仕分る段階を有する、 画像情報処理方法。
JP63271091A 1987-10-30 1988-10-28 画像情報処理装置と方法 Expired - Lifetime JPH0731741B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/115,467 US4866637A (en) 1987-10-30 1987-10-30 Pipelined lighting model processing system for a graphics workstation's shading function
US115467 1993-09-01

Publications (2)

Publication Number Publication Date
JPH01163884A true JPH01163884A (ja) 1989-06-28
JPH0731741B2 JPH0731741B2 (ja) 1995-04-10

Family

ID=22361599

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63271091A Expired - Lifetime JPH0731741B2 (ja) 1987-10-30 1988-10-28 画像情報処理装置と方法

Country Status (5)

Country Link
US (1) US4866637A (ja)
EP (1) EP0314341B1 (ja)
JP (1) JPH0731741B2 (ja)
CA (1) CA1304824C (ja)
DE (1) DE3853336T2 (ja)

Families Citing this family (132)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0576749B1 (en) * 1992-06-30 1999-06-02 Discovision Associates Data pipeline system
GB9405914D0 (en) * 1994-03-24 1994-05-11 Discovision Ass Video decompression
US5222203A (en) * 1989-01-20 1993-06-22 Daikin Industries, Ltd. Method and apparatus for displaying translucent surface
JP2774627B2 (ja) * 1989-12-28 1998-07-09 株式会社日立製作所 画像表示方法及びその装置
SE464265B (sv) * 1990-01-10 1991-03-25 Stefan Blixt Grafikprocessor
DE69129995T2 (de) * 1990-01-23 1998-12-24 Hewlett-Packard Co., Palo Alto, Calif. Dezentrales Verarbeitungsgerät und Verfahren zur Anwendung in globaler Wiedergabe
JPH0476680A (ja) * 1990-05-14 1992-03-11 Mitsubishi Electric Corp 回転体のグラフィック表示方法
JPH04122544A (ja) * 1990-05-14 1992-04-23 Mitsubishi Electric Corp 施盤の切削シミュレーション方法
EP0459761A3 (en) * 1990-05-31 1993-07-14 Hewlett-Packard Company Three dimensional computer graphics employing ray tracking to compute form factors in radiosity
US5253339A (en) * 1990-07-26 1993-10-12 Sun Microsystems, Inc. Method and apparatus for adaptive Phong shading
GB9026232D0 (en) * 1990-12-03 1991-01-16 Ige Medical Systems Image processing system
US5268996A (en) * 1990-12-20 1993-12-07 General Electric Company Computer image generation method for determination of total pixel illumination due to plural light sources
TW225595B (ja) * 1991-09-03 1994-06-21 Gen Electric
US5706415A (en) * 1991-12-20 1998-01-06 Apple Computer, Inc. Method and apparatus for distributed interpolation of pixel shading parameter values
US5388841A (en) * 1992-01-30 1995-02-14 A/N Inc. External memory system having programmable graphics processor for use in a video game system or the like
WO1993020529A1 (en) * 1992-03-31 1993-10-14 Seiko Epson Corporation System and method for generating 3d color images with simulated light sources
US5768561A (en) * 1992-06-30 1998-06-16 Discovision Associates Tokens-based adaptive video processing arrangement
US6435737B1 (en) 1992-06-30 2002-08-20 Discovision Associates Data pipeline system and data encoding method
US6034674A (en) * 1992-06-30 2000-03-07 Discovision Associates Buffer manager
US6047112A (en) * 1992-06-30 2000-04-04 Discovision Associates Technique for initiating processing of a data stream of encoded video information
US5809270A (en) * 1992-06-30 1998-09-15 Discovision Associates Inverse quantizer
US6417859B1 (en) 1992-06-30 2002-07-09 Discovision Associates Method and apparatus for displaying video data
US7095783B1 (en) 1992-06-30 2006-08-22 Discovision Associates Multistandard video decoder and decompression system for processing encoded bit streams including start codes and methods relating thereto
US5784631A (en) 1992-06-30 1998-07-21 Discovision Associates Huffman decoder
US6112017A (en) * 1992-06-30 2000-08-29 Discovision Associates Pipeline processing machine having a plurality of reconfigurable processing stages interconnected by a two-wire interface bus
US6330665B1 (en) 1992-06-30 2001-12-11 Discovision Associates Video parser
US6067417A (en) * 1992-06-30 2000-05-23 Discovision Associates Picture start token
US6079009A (en) * 1992-06-30 2000-06-20 Discovision Associates Coding standard token in a system compromising a plurality of pipeline stages
EP0578950A3 (en) * 1992-07-15 1995-11-22 Ibm Method and apparatus for converting floating-point pixel values to byte pixel values by table lookup
US5357599A (en) * 1992-07-30 1994-10-18 International Business Machines Corporation Method and apparatus for rendering polygons
US5821940A (en) * 1992-08-03 1998-10-13 Ball Corporation Computer graphics vertex index cache system for polygons
US5315701A (en) * 1992-08-07 1994-05-24 International Business Machines Corporation Method and system for processing graphics data streams utilizing scalable processing nodes
GB2271257A (en) * 1992-10-02 1994-04-06 Canon Res Ct Europe Ltd Processing image data
TW241196B (ja) * 1993-01-15 1995-02-21 Du Pont
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
IL109462A0 (en) * 1993-04-30 1994-07-31 Scitex Corp Ltd Method for generating artificial shadow
US5583974A (en) * 1993-05-10 1996-12-10 Apple Computer, Inc. Computer graphics system having high performance multiple layer Z-buffer
WO1994027240A1 (en) * 1993-05-10 1994-11-24 Apple Computer, Inc. Computer graphics system having high performance multiple layer z-buffer
US5974189A (en) * 1993-05-24 1999-10-26 Eastman Kodak Company Method and apparatus for modifying electronic image data
DE69418646T2 (de) * 1993-06-04 2000-06-29 Sun Microsystems, Inc. Gleitkommaprozessor für einen hochleistungsfähigen dreidimensionalen Graphikbeschleuniger
US5805914A (en) * 1993-06-24 1998-09-08 Discovision Associates Data pipeline system and data encoding method
US5768629A (en) * 1993-06-24 1998-06-16 Discovision Associates Token-based adaptive video processing arrangement
JPH09501786A (ja) * 1993-08-24 1997-02-18 タリジェント インコーポレイテッド オブジェクト指向シェーディング
US5613052A (en) * 1993-09-02 1997-03-18 International Business Machines Corporation Method and apparatus for clipping and determining color factors for polygons
US5742292A (en) * 1993-10-29 1998-04-21 Kabushiki Kaisha Toshiba System and method for realistically displaying images indicating the effects of lighting on an object in three dimensional space
CA2145379C (en) * 1994-03-24 1999-06-08 William P. Robbins Method and apparatus for addressing memory
CA2145361C (en) * 1994-03-24 1999-09-07 Martin William Sotheran Buffer manager
CA2145365C (en) * 1994-03-24 1999-04-27 Anthony M. Jones Method for accessing banks of dram
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
GB9417138D0 (en) 1994-08-23 1994-10-12 Discovision Ass Data rate conversion
US5764228A (en) * 1995-03-24 1998-06-09 3Dlabs Inc., Ltd. Graphics pre-processing and rendering system
US5798770A (en) * 1995-03-24 1998-08-25 3Dlabs Inc. Ltd. Graphics rendering system with reconfigurable pipeline sequence
US5764243A (en) * 1995-03-24 1998-06-09 3Dlabs Inc. Ltd. Rendering architecture with selectable processing of multi-pixel spans
US6025853A (en) * 1995-03-24 2000-02-15 3Dlabs Inc. Ltd. Integrated graphics subsystem with message-passing architecture
US5835096A (en) * 1995-03-24 1998-11-10 3D Labs Rendering system using 3D texture-processing hardware for accelerated 2D rendering
GB9511568D0 (en) * 1995-06-07 1995-08-02 Discovision Ass Signal processing apparatus and method
JPH096424A (ja) * 1995-06-19 1997-01-10 Mitsubishi Electric Corp Cad/cam装置及び加工シミュレーション方法
US6643765B1 (en) 1995-08-16 2003-11-04 Microunity Systems Engineering, Inc. Programmable processor with group floating point operations
US6111584A (en) * 1995-12-18 2000-08-29 3Dlabs Inc. Ltd. Rendering system with mini-patch retrieval from local texture storage
US5739819A (en) * 1996-02-05 1998-04-14 Scitex Corporation Ltd. Method and apparatus for generating an artificial shadow in a two dimensional color image
DE19606357A1 (de) * 1996-02-12 1997-08-14 Gmd Gmbh Bildverarbeitungsverfahren zur Darstellung von spiegelnden Objekten und zugehörige Vorrichtung
JP3226153B2 (ja) * 1996-03-18 2001-11-05 シャープ株式会社 マルチメディアデータ表示装置
US5745125A (en) * 1996-07-02 1998-04-28 Sun Microsystems, Inc. Floating point processor for a three-dimensional graphics accelerator which includes floating point, lighting and set-up cores for improved performance
JP3387750B2 (ja) * 1996-09-02 2003-03-17 株式会社リコー シェーディング処理装置
US5854632A (en) * 1996-10-15 1998-12-29 Real 3D Apparatus and method for simulating specular reflection in a computer graphics/imaging system
US6016149A (en) * 1997-06-30 2000-01-18 Sun Microsystems, Inc. Lighting unit for a three-dimensional graphics accelerator with improved processing of multiple light sources
US6014144A (en) * 1998-02-03 2000-01-11 Sun Microsystems, Inc. Rapid computation of local eye vectors in a fixed point lighting unit
US6650327B1 (en) 1998-06-16 2003-11-18 Silicon Graphics, Inc. Display system having floating point rasterization and floating point framebuffering
US6977649B1 (en) 1998-11-23 2005-12-20 3Dlabs, Inc. Ltd 3D graphics rendering with selective read suspend
US6417858B1 (en) * 1998-12-23 2002-07-09 Microsoft Corporation Processor for geometry transformations and lighting calculations
US6333744B1 (en) * 1999-03-22 2001-12-25 Nvidia Corporation Graphics pipeline including combiner stages
US6181352B1 (en) 1999-03-22 2001-01-30 Nvidia Corporation Graphics pipeline selectively providing multiple pixels or multiple textures
WO2001029768A2 (en) 1999-10-18 2001-04-26 S3 Incorporated Multi-stage fixed cycle pipe-lined lighting equation evaluator
US6411301B1 (en) 1999-10-28 2002-06-25 Nintendo Co., Ltd. Graphics system interface
US6618048B1 (en) 1999-10-28 2003-09-09 Nintendo Co., Ltd. 3D graphics rendering system for performing Z value clamping in near-Z range to maximize scene resolution of visually important Z components
US6452600B1 (en) 1999-10-28 2002-09-17 Nintendo Co., Ltd. Graphics system interface
US6597357B1 (en) * 1999-12-20 2003-07-22 Microsoft Corporation Method and system for efficiently implementing two sided vertex lighting in hardware
US6857061B1 (en) 2000-04-07 2005-02-15 Nintendo Co., Ltd. Method and apparatus for obtaining a scalar value directly from a vector register
US6859862B1 (en) 2000-04-07 2005-02-22 Nintendo Co., Ltd. Method and apparatus for software management of on-chip cache
US6664963B1 (en) * 2000-05-31 2003-12-16 Nvidia Corporation System, method and computer program product for programmable shading using pixel shaders
US6724394B1 (en) 2000-05-31 2004-04-20 Nvidia Corporation Programmable pixel shading architecture
US7119813B1 (en) 2000-06-02 2006-10-10 Nintendo Co., Ltd. Variable bit field encoding
US6788302B1 (en) 2000-08-03 2004-09-07 International Business Machines Corporation Partitioning and load balancing graphical shape data for parallel applications
US6825851B1 (en) 2000-08-23 2004-11-30 Nintendo Co., Ltd. Method and apparatus for environment-mapped bump-mapping in a graphics system
US6606689B1 (en) 2000-08-23 2003-08-12 Nintendo Co., Ltd. Method and apparatus for pre-caching data in audio memory
US6980218B1 (en) 2000-08-23 2005-12-27 Nintendo Co., Ltd. Method and apparatus for efficient generation of texture coordinate displacements for implementing emboss-style bump mapping in a graphics rendering system
US6811489B1 (en) 2000-08-23 2004-11-02 Nintendo Co., Ltd. Controller interface for a graphics system
US6664958B1 (en) 2000-08-23 2003-12-16 Nintendo Co., Ltd. Z-texturing
US7134960B1 (en) 2000-08-23 2006-11-14 Nintendo Co., Ltd. External interfaces for a 3D graphics system
US7002591B1 (en) 2000-08-23 2006-02-21 Nintendo Co., Ltd. Method and apparatus for interleaved processing of direct and indirect texture coordinates in a graphics system
US6707458B1 (en) 2000-08-23 2004-03-16 Nintendo Co., Ltd. Method and apparatus for texture tiling in a graphics system
US6700586B1 (en) 2000-08-23 2004-03-02 Nintendo Co., Ltd. Low cost graphics with stitching processing hardware support for skeletal animation
US6999100B1 (en) 2000-08-23 2006-02-14 Nintendo Co., Ltd. Method and apparatus for anti-aliasing in a graphics system
US6609977B1 (en) 2000-08-23 2003-08-26 Nintendo Co., Ltd. External interfaces for a 3D graphics system
US7196710B1 (en) 2000-08-23 2007-03-27 Nintendo Co., Ltd. Method and apparatus for buffering graphics data in a graphics system
US7034828B1 (en) 2000-08-23 2006-04-25 Nintendo Co., Ltd. Recirculating shade tree blender for a graphics system
US6636214B1 (en) 2000-08-23 2003-10-21 Nintendo Co., Ltd. Method and apparatus for dynamically reconfiguring the order of hidden surface processing based on rendering mode
US6937245B1 (en) 2000-08-23 2005-08-30 Nintendo Co., Ltd. Graphics system with embedded frame buffer having reconfigurable pixel formats
US6867781B1 (en) 2000-08-23 2005-03-15 Nintendo Co., Ltd. Graphics pipeline token synchronization
US6639595B1 (en) 2000-08-23 2003-10-28 Nintendo Co., Ltd. Achromatic lighting in a graphics system and method
US6580430B1 (en) 2000-08-23 2003-06-17 Nintendo Co., Ltd. Method and apparatus for providing improved fog effects in a graphics system
US7538772B1 (en) 2000-08-23 2009-05-26 Nintendo Co., Ltd. Graphics processing system with enhanced memory controller
US7184059B1 (en) 2000-08-23 2007-02-27 Nintendo Co., Ltd. Graphics system with copy out conversions between embedded frame buffer and main memory
US6664962B1 (en) 2000-08-23 2003-12-16 Nintendo Co., Ltd. Shadow mapping in a low cost graphics system
US6697074B2 (en) 2000-11-28 2004-02-24 Nintendo Co., Ltd. Graphics system interface
FR2826769B1 (fr) * 2001-06-29 2003-09-05 Thales Sa Procede d'affichage d'informations cartographiques sur ecran d'aeronef
US6781594B2 (en) * 2001-08-21 2004-08-24 Sony Computer Entertainment America Inc. Method for computing the intensity of specularly reflected light
US7003588B1 (en) 2001-08-22 2006-02-21 Nintendo Co., Ltd. Peripheral devices for a video game system
EP1442390B1 (en) * 2001-10-10 2017-09-13 Sony Computer Entertainment America LLC System and method for environment mapping
US7219352B2 (en) 2002-04-15 2007-05-15 Microsoft Corporation Methods and apparatuses for facilitating processing of interlaced video images for progressive video displays
US7451457B2 (en) 2002-04-15 2008-11-11 Microsoft Corporation Facilitating interaction between video renderers and graphics device drivers
US7308139B2 (en) * 2002-07-12 2007-12-11 Chroma Energy, Inc. Method, system, and apparatus for color representation of seismic data and associated measurements
US7006090B2 (en) * 2003-02-07 2006-02-28 Crytek Gmbh Method and computer program product for lighting a computer graphics image and a computer
US7106326B2 (en) * 2003-03-03 2006-09-12 Sun Microsystems, Inc. System and method for computing filtered shadow estimates using reduced bandwidth
JP2005057738A (ja) * 2003-07-18 2005-03-03 Canon Inc 信号処理装置、信号処理方法及びプログラム
US7139002B2 (en) * 2003-08-01 2006-11-21 Microsoft Corporation Bandwidth-efficient processing of video images
US7158668B2 (en) * 2003-08-01 2007-01-02 Microsoft Corporation Image processing using linear light values and other image processing improvements
US7643675B2 (en) * 2003-08-01 2010-01-05 Microsoft Corporation Strategies for processing image information using a color information data structure
US8133115B2 (en) 2003-10-22 2012-03-13 Sony Computer Entertainment America Llc System and method for recording and displaying a graphical path in a video game
US20060071933A1 (en) 2004-10-06 2006-04-06 Sony Computer Entertainment Inc. Application binary interface for multi-pass shaders
US7636126B2 (en) 2005-06-22 2009-12-22 Sony Computer Entertainment Inc. Delay matching in audio/video systems
US7965859B2 (en) 2006-05-04 2011-06-21 Sony Computer Entertainment Inc. Lighting control of a user environment via a display device
US7880746B2 (en) 2006-05-04 2011-02-01 Sony Computer Entertainment Inc. Bandwidth management through lighting control of a user environment via a display device
US7940266B2 (en) * 2006-10-13 2011-05-10 International Business Machines Corporation Dynamic reallocation of processing cores for balanced ray tracing graphics workload
WO2008060948A2 (en) * 2006-11-10 2008-05-22 Sandbridge Technologies, Inc. Method and system for parallelization of pipelined computations
US8922565B2 (en) * 2007-11-30 2014-12-30 Qualcomm Incorporated System and method for using a secondary processor in a graphics system
US8081019B2 (en) * 2008-11-21 2011-12-20 Flextronics Ap, Llc Variable PFC and grid-tied bus voltage control
US10786736B2 (en) 2010-05-11 2020-09-29 Sony Interactive Entertainment LLC Placement of user information in a game space
US9342817B2 (en) 2011-07-07 2016-05-17 Sony Interactive Entertainment LLC Auto-creating groups for sharing photos
CN105023249B (zh) * 2015-06-26 2017-11-17 清华大学深圳研究生院 基于光场的高光图像修复方法及装置
US11756254B2 (en) 2020-12-08 2023-09-12 Nvidia Corporation Light importance caching using spatial hashing in real-time ray tracing applications

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5513582A (en) * 1978-07-13 1980-01-30 Sanyo Electric Co Ltd Color television receiver
US4241341A (en) * 1979-03-05 1980-12-23 Thorson Mark R Apparatus for scan conversion
CA1141468A (en) * 1979-06-15 1983-02-15 Martin J.P. Bolton Visual display apparatus
US4646075A (en) * 1983-11-03 1987-02-24 Robert Bosch Corporation System and method for a data processing pipeline
US4658247A (en) * 1984-07-30 1987-04-14 Cornell Research Foundation, Inc. Pipelined, line buffered real-time color graphics display system
JPH0746391B2 (ja) * 1984-09-14 1995-05-17 株式会社日立製作所 図形シエ−デイング装置
US4819192A (en) * 1985-02-26 1989-04-04 Sony Corporation Method of displaying image
US4737921A (en) * 1985-06-03 1988-04-12 Dynamic Digital Displays, Inc. Three dimensional medical image display system

Also Published As

Publication number Publication date
DE3853336D1 (de) 1995-04-20
DE3853336T2 (de) 1995-09-28
EP0314341A2 (en) 1989-05-03
EP0314341A3 (en) 1991-07-24
EP0314341B1 (en) 1995-03-15
CA1304824C (en) 1992-07-07
JPH0731741B2 (ja) 1995-04-10
US4866637A (en) 1989-09-12

Similar Documents

Publication Publication Date Title
JPH01163884A (ja) 画像情報処理装置と方法
US5870102A (en) Texture compositing apparatus and method
EP1238371B1 (en) A transform, lighting and rasterization system embodied on a single semiconductor platform
EP1346319B1 (en) Integrated graphics processing unit with antialiasing
EP1261939B1 (en) Method, apparatus and article of manufacture for a transform module in a graphics processor
US5995111A (en) Image processing apparatus and method
US6333747B1 (en) Image synthesizing system with texture mapping
EP0933729A2 (en) Three-dimensional graphics accelerator
US6664963B1 (en) System, method and computer program product for programmable shading using pixel shaders
US8169439B2 (en) Scalar precision float implementation on the “W” lane of vector unit
EP0747861A1 (en) Computer graphics system having high performance primitive clipping preprocessing
US20100238172A1 (en) Cone-culled soft shadows
US20090150648A1 (en) Vector Permute and Vector Register File Write Mask Instruction Variant State Extension for RISC Length Vector Instructions
US6806886B1 (en) System, method and article of manufacture for converting color data into floating point numbers in a computer graphics pipeline
US20090106526A1 (en) Scalar Float Register Overlay on Vector Register File for Efficient Register Allocation and Scalar Float and Vector Register Sharing
US20080114824A1 (en) Single Precision Vector Permute Immediate with "Word" Vector Write Mask
US7050055B2 (en) Single semiconductor graphics platform with blending and fog capabilities
US7133052B1 (en) Morph map based simulated real-time rendering
US5880735A (en) Method for and apparatus for transparency conversion, image processing system
US6778188B2 (en) Reconfigurable hardware filter for texture mapping and image processing
WO2000049576A1 (en) Graphics system having a super-sampled sample buffer with efficient storage of sample position information
US6340972B1 (en) Graphics adapter having a versatile lighting engine
US20020158856A1 (en) Multi-stage sample position filtering
Palmer et al. Applications of ray tracing in molecular graphics
JP2007128180A (ja) 演算処理装置