(57)【特許請求の範囲】
【請求項１】
所定の視点位置で視認される物体の色を、所定の光源の影響を反映させた表示色として再現するレンダリング計算方法であって、
複数の仮想光源を前記物体を経て前記視点に至る光路上で同じ位置に割り当て、
前記物体の表面から前記視点に到達する光の成分のうち、環境光の成分と、拡散光の成分と、鏡面反射光の成分とを算出し、
前記鏡面反射光の成分を計算する際には、前記複数の仮想光源のそれぞれについて互いに異なる光源色を割り当て、前記複数の仮想光源のそれぞれについて鏡面反射光を算出する、
ことを特徴とするレンダリング計算方法。
【請求項２】
前記複数の仮想光源のうち、第１の仮想光源には白色の光源色を割り当て、前記第１の仮想光源以外の第２の仮想光源には、彩度が高い成分の白色以外の光源色を割り当てて計算を行う、
ことを特徴とする請求項１に記載のレンダリング計算方法。
【請求項３】
前記拡散光の成分を算出する際には、１つに集約した光源色のみに限定して計算を行う、
ことを特徴とする請求項１に記載のレンダリング計算方法。
【請求項４】
前記第１の仮想光源の光について鏡面反射光を算出するための第１の鏡面反射計算処理を実施した後、
前記第１の鏡面反射計算処理の際に得られた計算結果の一部を、前記第２の仮想光源の光について鏡面反射光を算出するための第２の鏡面反射計算処理で計算に流用する、
ことを特徴とする請求項２に記載のレンダリング計算方法。
【請求項５】
所定の視点位置で視認可能な物体の色を、所定の光源の影響を反映させて表示色として再現し表示する表示装置であって、
複数の仮想光源を前記物体を経て前記視点に至る光路上で同じ位置に割り当て、前記物体の表面から前記視点に到達する光の成分のうち、環境光の成分と、拡散光の成分と、鏡面反射光の成分とをそれぞれ算出し、前記鏡面反射光の成分を計算する際には、前記複数の仮想光源のそれぞれについて互いに異なる光源色を割り当て、前記光源色に基づき、前記複数の仮想光源のそれぞれについて鏡面反射光を算出する計算処理部と、
前記計算処理部が算出した、前記環境光の成分と、前記拡散光の成分と、前記鏡面反射光の成分とを加算した結果を表示する表示制御部と、
を備える表示装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、所定の視点位置で人間が視認可能な特定の物体の色を表示色として再現するためのレンダリング計算方法および表示装置に関する。
【背景技術】
【０００２】
レンダリング（ｒｅｎｄｅｒｉｎｇ）は、データ記述言語やデータ構造で記述された情報に基づいて、画像などを生成することを意味している。レンダリングで使用する情報には、一般的に物体の形状、視点、物体表面の質感（テクスチャマッピングの情報）、光源、シェーディングなどが含まれる。
【０００３】
本発明と関連のある従来技術として、例えば特許文献１が知られている。特許文献１は、構成材料や、構造仕様の画面表示を可能にしたり、色相変化とそれに伴う材質感の変化を表示するための技術を示している。
【０００４】
一方、特許文献１中の図６などにも示されているように、従来より、自動車の車体外装は多層に重なった被覆で塗装されている。また、近年では外装の表面を滑らかに形成した後、薄い皮膜の塗装を多層塗りする。この塗装の際に、複数種類の色を塗り重ねる場合もある。この場合に、ユーザが視認する光の光路の例を図６に示す。つまり、図６のように薄い塗装皮膜を通して各層での反射光が加算され、複雑に反射した様々な色の組み合わせをユーザが視認できる。したがって、ユーザは深みのある色として、自動車の車体外装の色を視認できるので商品価値が高まる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００３−１０８６０５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
例えば、自動車の計器板に設置されるメータユニットの表示画面に、自動車の外観等を表す画像を表示したい場合がある。ここで表示する画像の品質を上げることにより、メータユニットおよび自動車の商品価値を高めることができる。
【０００７】
このような画像の表示を行う場合に、例えば特許文献１の技術を採用することが考えられる。また、深みのある色の表示を可能にするために、図６のように薄い塗装皮膜が多層に積層された実際の車体外装と同様の状態を、表示により再現することが考えられる。
【０００８】
しかしながら、車両上のメータユニット等の電装品が採用している表示器においては、表示能力の限界により、表示画素の分解能や、表示可能な色の分解能よりも細かい反射色を表現できない。したがって、実際の車体外装のように深みのある色を表示により再現することは困難である。
【０００９】
そこで、図７に示すように互いに異なる位置に配置した複数の光源を想定し、物体の同じ表面からの複数の反射光を加算した結果が視点の位置で視認される場合と同じ状態を、表示により再現することが考えられる。しかし、この場合には複数の光源からの光が物体表面上の互いに位置のずれた複数の領域に当たることになるため、視点の位置で視認される像において陰影のコントラストが低下する。したがって、深みのある色を再現できない。しかも、光源の数が増えると、レンダリングの際に光源毎に、物体表面からの拡散光の成分と鏡面反射光の成分とをそれぞれ計算しなければならないので、計算の負荷が膨大になり、自動車上の電装品に搭載されるような比較的安価なプロセッサでは計算処理を実現できない。
【００１０】
また、図８に示すように、複数の光源を同じ視線上に並べて配置した場合を想定して計算を行うと、コントラストが低下することはないが、現実世界では実際の車体外装を視た場合と同じような深みのある色が再現されることもない。
【００１１】
本発明は、上述した事情に鑑みてなされたものであり、その目的は、高性能の表示器を採用することなく深みのある色の再現を可能にすると共に、これを実現するために必要な計算の負荷を削減することが可能なレンダリング計算方法および表示装置を提供することにある。
【課題を解決するための手段】
【００１２】
前述した目的を達成するために、本発明に係るレンダリング計算方法および表示装置は、下記（１）〜（５）を特徴としている。
（１）  所定の視点位置で視認される物体の色を、所定の光源の影響を反映させた表示色として再現するレンダリング計算方法であって、
複数の仮想光源を前記物体を経て前記視点に至る光路上で同じ位置に割り当て、
前記物体の表面から前記視点に到達する光の成分のうち、環境光の成分と、拡散光の成分と、鏡面反射光の成分とをそれぞれ算出し、
前記鏡面反射光の成分を計算する際には、前記複数の仮想光源のそれぞれについて互いに異なる光源色を割り当て、前記複数の仮想光源のそれぞれについて鏡面反射光を算出する、
ことを特徴とする。
【００１３】
上記（１）のレンダリング計算方法によれば、前記複数の仮想光源を同じ光路上に配置するので、これらの光源からの光が当たる物体表面の領域が増えることはなく、コントラストの低下を防止できる。また、前記複数の仮想光源についてそれぞれ異なる光源色を割り当てるので、単一の光源を用いて計算する場合の反射光と比べて複雑な物体色、つまり深みのある色を表現できる。
【００１４】
（２）  前記（１）に記載のレンダリング計算方法であって、
前記複数の仮想光源のうち、第１の仮想光源には白色の光源色を割り当て、前記第１の仮想光源以外の第２の仮想光源には、彩度が高い成分の白色以外の光源色を割り当てて計算を行う、
ことを特徴とする。
【００１５】
上記（２）のレンダリング計算方法によれば、前記第１の仮想光源が赤、緑、および青の全ての色成分を含む白色の光源色であるため、この光に基づいて前記鏡面反射光を計算することにより、表示のコントラストを上げることができる。また、前記第２の仮想光源が白色以外の光源色であるため、この光に基づいて前記鏡面反射光を計算することにより、表示色に特徴的な色成分を加算することができる。
【００１６】
（３）  前記（１）に記載のレンダリング計算方法であって、
前記拡散光の成分を算出する際には、１つに集約した光源色のみに限定して計算を行う、
ことを特徴とする。
【００１７】
上記（３）のレンダリング計算方法によれば、深みのある色を表現するために多数の仮想光源を用意する場合であっても、前記拡散光の成分を算出する際の光源色が１つのみであるため、計算の負荷を大幅に低減できる。拡散光の成分については、光源色毎に独立して計算しなくても人間の視覚上の特性により違和感が生じにくい。したがって、光源を１つに集約して計算を行っても問題ない。
【００１８】
（４）  前記（２）に記載のレンダリング計算方法であって、
前記第１の仮想光源の光について鏡面反射光を算出するための第１の鏡面反射計算処理を実施した後、
前記第１の鏡面反射計算処理の際に得られた計算結果の一部を、前記第２の仮想光源の光について鏡面反射光を算出するための第２の鏡面反射計算処理で計算に流用する、
ことを特徴とする。
【００１９】
上記（４）のレンダリング計算方法によれば、前記第１の仮想光源と前記第２の仮想光源とが同じ位置に存在するので、前記第１の鏡面反射計算処理の計算結果の一部分を、前記第２の鏡面反射計算処理でそのまま計算に流用できる。これにより、多数の仮想光源を用いる場合であっても、必要な計算の処理量が増えるのを抑制できる。
【００２０】
（５）  所定の視点位置で視認可能な物体の色を、所定の光源の影響を反映させて表示色として再現し表示する表示装置であって、
複数の仮想光源を前記物体を経て前記視点に至る光路上で同じ位置に割り当て、前記物体の表面から前記視点に到達する光の成分のうち、環境光の成分と、拡散光の成分と、鏡面反射光の成分とをそれぞれ算出し、前記鏡面反射光の成分を計算する際には、前記複数の仮想光源のそれぞれについて互いに異なる光源色を割り当て、前記光源色に基づき、前記複数の仮想光源のそれぞれについて鏡面反射光を算出する計算処理部と、
前記計算処理部が算出した、前記環境光の成分と、前記拡散光の成分と、前記鏡面反射光の成分とを加算した結果を表示する表示制御部と、
を備える。
【００２１】
上記（５）の表示装置によれば、前記環境光の成分と、前記拡散光の成分と、前記鏡面反射光の成分とを加算した結果を用いて深みのある色で画像等を表示することができる。
【発明の効果】
【００２２】
本発明のレンダリング計算方法および表示装置によれば、高性能の表示器を採用することなく深みのある色の再現を可能にすると共に、これを実現するために必要な計算の負荷を削減することが可能である。
以上、本発明について簡潔に説明した。更に、以下に説明される発明を実施するための形態（以下、「実施形態」という。）を添付の図面を参照して通読することにより、本発明の詳細は更に明確化されるであろう。
【図面の簡単な説明】
【００２３】
【図１】図１は、本発明のレンダリング計算方法を採用する場合の各光源、物体、視点および光路の例を示す光路図である。
【図２】図２は、光源の光および反射光の方向の例を示す斜視図である。
【図３】図３は、表示装置の構成例を示すブロック図である。
【図４】図４は、表示装置における画面描画処理の手順を示すフローチャートである。
【図５】図５は、画面表示例を示す正面図である。
【図６】図６は、ユーザが実際の車体外観を視る場合の光路の例を示す光路図である。
【図７】図７は、互いに異なる位置に配置した複数の光源を用いた場合の光路の例を示す光路図である。
【図８】図８は、視線の方向に並べた複数の光源を用いる場合の光路の例を示す光路図である。
【発明を実施するための形態】
【００２４】
本発明に関する具体的な実施形態について、各図を参照しながら以下に説明する。
【００２５】
まず、物体色Ｃｏの計算について説明する。
本発明のレンダリング計算方法を採用する場合の各光源、物体、視点および光路の例を図１に示す。また、光源の光および反射光の方向の例を図２に示す。
【００２６】
本実施形態では、図１に示すような状況を想定している。つまり、視点２２の位置でユーザが視認可能な物体２１を照明する光源として、環境光の他に、複数のＮ個の仮想光源２３（１）、２３（２）、・・・、２３（Ｎ）が存在する。現実の物体２１としては、車両ボディなどが想定される。
【００２７】
また、本実施形態では、図１に示すようにＮ個の仮想光源２３（１）〜２３（Ｎ）が全て同じ位置に存在するように１点に集める。各仮想光源２３（１）〜２３（Ｎ）からの光は入射光２４として物体２１の表面に入射し、この表面における反射および拡散の影響を受け、物体２１からの反射光２５として視点２２に向かう。したがって、全ての仮想光源２３（１）〜２３（Ｎ）の影響を受けた物体２１からの反射光２５をユーザは視点２２の位置で視認できる。
【００２８】
本実施形態では、深みのある色を再現するために、視点２２の位置で視認できる物体色Ｃｏを次式により算出する。
物体色Ｃｏ＝Ａｍ＋Ｄｉ＋Ｓｐ（１）＋Ｓｐ（２）＋・・・＋Ｓｐ（Ｎ）  ・・・（１）
但し、
Ａｍ：環境光（ａｍｂｉｅｎｔ）
Ｄｉ：拡散光（ｄｉｆｆｕｓｅ）
Ｓｐ（１）〜Ｓｐ（Ｎ）：１番〜Ｎ番の各仮想光源２３の光に対応する鏡面反射光（Ｓｐｅｃｕｌａｒ）
深みのある色を再現するために、まず、クックトランスモデルを適用する場合を想定する。クックトランスの式は、環境光と、拡散光と、鏡面反射光との足し算であり、物体の色Ｉは次の第（２）式で表される。
【数１】
0006626698.tif 000002
次に、フォンモデルを適用する場合を想定する。フォンモデルの式は、環境光と、拡散光と、鏡面反射光との足し算であり、物体の色Ｉは次の第（３）式で表される。
【数２】
0006626698.tif 000003
上記第（２）式、第（３）式のいずれも、上記第（１）式で表現することが可能である。したがって、クックトランスモデル、フォンモデルのいずれを採用する場合であっても、上記第（１）式に基づいて計算を行うことができる。
【００２９】
また、本実施形態では、図１に示すＮ個の仮想光源２３（１）〜２３（Ｎ）のうち、１番目の仮想光源２３（１）の光源色を、表示色の中でハイライトとなる白色、つまり赤（Ｒ）、緑（Ｇ）、青（Ｂ）の３原色の全ての成分を含む色に定める。また、２番目以降の各仮想光源２３（２）〜２３（Ｎ）のそれぞれの光源色については、１番目の仮想光源２３（１）とは異なる色（彩度の高い色）に定める。
【００３０】
したがって、上記第（１）式における１番目の鏡面反射光Ｓｐ（１）の成分については、表示色全体の濃淡を強調しコントラストを上げる効果がある。また、２番目〜Ｎ番目の各鏡面反射光Ｓｐ（２）〜Ｓｐ（Ｎ）の成分については、それぞれ異なる色特性を持つので、これらの全体により、深い色あいを表現する効果が得られる。仮想光源２３の数Ｎは２以上であればよいが、数Ｎを増やすことでより複雑な色あいを表現可能になる。
【００３１】
上記第（１）式において、拡散光Ｄｉの成分については、１番目の仮想光源２３（１）の白色、あるいは特定の１つの基準色のみに基づいて計算を行う。この場合、拡散光Ｄｉの計算において、鏡面反射光Ｓｐ（１）〜Ｓｐ（Ｎ）のような複雑な色を表現することはできない。しかし、人間の視覚は、拡散光の影響をキャンセルする傾向にある。例えば、青い色のボールを赤い色の照明下で視た場合、実際のボールの色は紫色になるが、この場合でも人間はこれが青いボールである事を認識できる。したがって、上記第（１）式により計算される物体色Ｃｏについて、拡散光の成分が鏡面反射光の成分に比べて大きな誤差を含んでいたとしても、それによって人間が違和感を感じる可能性は小さい。また、拡散光Ｄｉの成分の計算を１色だけに限定し他の色の計算を省略することにより、仮想光源２３の数が増えた場合に計算の負荷を大幅に削減できる。
【００３２】
上記の鏡面反射光Ｓｐ（１）〜Ｓｐ（Ｎ）は、「クックトランスの鏡面反射」を表す次式で計算できる。
【数３】
0006626698.tif 000004
但し、
Ｆ：フレネル項
Ｄ（Ｄｉｓｔｒｉｂｕｔｉｏｎ）：微小面の分布関数であり、ベックマン分布を用いる。
Ｇ：幾何学的減衰係数
Ｎ：法線
Ｌ：光源へのベクトル
Ｖ：視点へのベクトル
Ｉ：光の強さ
Ｓ：見た目の調整係数
ｄω：立体角であり距離の二乗でわったもの
なお、本来のクックトランスの式では、係数Ｓは鏡面反射と拡散反射との割合を示すために利用されるが、本実施形態では拡散反射の成分を利用しないので、見た目の調整用にこの係数Ｓを利用する。
また、フレネル項Ｆは、次の近似式で表される。
Ｆ＝Ｆｏ＋（１−Ｆｏ）（１−cosθ）５    ・・・（６）
上記第（６）式におけるＦｏは、Ｒ、Ｇ、Ｂの色毎に変更する。
また、幾何学的減衰係数Ｇは次式で表される。
【数４】
0006626698.tif 000005
また、微少面の分布関数Ｄは次式で表される。
【数５】
0006626698.tif 000006
ここで、係数ｍは、光の数（ｓｐｅｃｕｌａｒ）毎に異なり、この係数により各層毎の違いを表現する。
【００３３】
つまり、前記第（１）式の物体色Ｃｏを表す鏡面反射光Ｓｐ（１）〜Ｓｐ（Ｎ）の各成分を計算する際には、上記第（５）式、第（６）式、第（７）式、および第（８）式の計算を行うことになる。但し、本実施形態の場合はＮ個の仮想光源２３（１）〜２３（Ｎ）が全て同じ位置に存在しているので、一部分の計算値は全ての光源について共通になる。具体的には、第（５）式に含まれている（Ｎ・Ｖ）の計算値は、鏡面反射光Ｓｐ（１）〜Ｓｐ（Ｎ）の全ての計算について共通である。更に、フレネル項Ｆの計算式で用いる係数ＦｏもＲＧＢ毎に鏡面反射光Ｓｐ（１）〜Ｓｐ（Ｎ）の全ての計算について共通である。
【００３４】
本実施形態では、１番目の鏡面反射光Ｓｐ（１）からＮ番目の鏡面反射光Ｓｐ（Ｎ）までをそれぞれ順番に計算することになるが、２番目以降の鏡面反射光Ｓｐ（２）〜Ｓｐ（Ｎ）の各々を計算する際には、１番目の鏡面反射光Ｓｐ（１）の計算の際に求めた（Ｎ・Ｖ）の計算値をそのまま流用する。また、２番目以降の鏡面反射光Ｓｐ（２）〜Ｓｐ（Ｎ）の各々を計算する際には、フレネル項Ｆの計算において、１番目の鏡面反射光Ｓｐ（１）の計算と同じ係数ＦｏをＲＧＢ毎に採用して計算を実施する。このように、計算の一部分を省略することにより計算の総量を減らし負荷を大幅に削減できる。
また、幾何学的減衰係数Ｇの計算についても、２番目以降の鏡面反射光Ｓｐ（２）〜Ｓｐ（Ｎ）の各々を計算する際に、１番目の鏡面反射光Ｓｐ（１）の計算と同じ値の係数Ｇを採用して計算を実施する。
なお、クックトランスの式においては、フレネル項Ｆの計算をベクトルとしてＲＧＢ毎にそれぞれ実施するが、スカラーとしてＲＧＢ共通の計算を行うこともできる。ＲＧＢ毎にそれぞれ独立して計算する場合には視る角度に応じて色が変化するが、ＲＧＢ共通の計算を行う場合には、鏡面反射の強弱に影響が現れる。
また、フォンモデルを採用して計算する場合には、前記第（３）式に示したように、鏡面反射光を次式で計算する。
鏡面反射光＝Ｉｉ・Ｋｓ（Ｒ・Ｖ）ｎ    ・・・（９）
ここで、係数ｎは光毎（ｓｐｅｃｕｌａｒ毎）に異なる。この係数ｎにより、面の各層毎の違いを表現する。
【００３５】
表示装置１０の構成例を図３に示す。この表示装置１０は、例えばメータユニットの一部分として車両に搭載し、様々な情報を可視情報としてユーザすなわち運転者に提示するために利用できる。
【００３６】
図３に示すように、この表示装置１０はマイクロコンピュータ（ＣＰＵ）１１、ＧＤＣ（グラフィックディスプレイコントローラ）１２、一時記憶用メモリ（ＲＡＭ）１３、読み出し専用メモリ（ＲＯＭ）１４、車両情報取得部１５、操作部１６、フレームバッファ１７、および表示部（Ｄｉｓｐｌａｙ）１８を備えている。
【００３７】
マイクロコンピュータ１１は、予め用意されたプログラムを実行することにより、表示装置１０の様々な機能を実現するために必要な制御を実施する。
【００３８】
表示部１８は、例えば液晶表示器として構成され、各々の階調および表示色を個別に制御可能な多数の表示画素を縦方向および横方向に並べた二次元表示画面を備えている。
【００３９】
フレームバッファ１７は、表示部１８の表示画面に表示する内容のデータを１フレーム毎に保持する比較的容量の大きいメモリで構成されている。つまり、各表示フレームについて全ての画素の階調および表示色を表すデータを保持する。フレームバッファ１７上のデータは、ＧＤＣ１２の書き込みにより逐次更新される。
【００４０】
ＧＤＣ１２は、グラフィック情報を生成してフレームバッファ１７に書き込むための専用のコントローラであり、マイクロコンピュータ１１から指示されたプログラムやデータに基づいて様々なグラフィック表示を実現する。
【００４１】
読み出し専用メモリ１４は、予め用意された様々なプログラム、様々な定数データ、データテーブルなどを予め保持している。また、一時記憶用メモリ１３は、データの書き込みおよび読み出しが自在なメモリであり、マイクロコンピュータ１１が生成した一時的なデータやプログラムを保持するために利用される。
【００４２】
図３の表示装置１０においては、一時記憶用メモリ１３上のデータおよび読み出し専用メモリ１４上のデータは、マイクロコンピュータ１１およびＧＤＣ１２のどちらからでもアクセスして読み出すことができる。
【００４３】
車両情報取得部１５は、例えばＣＡＮ（Ｃｏｎｔｒｏｌｌｅｒ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等の通信規格に従って車両上のネットワークとの間でデータ通信を行うインタフェースを備えており、車両上の様々な情報をこのネットワークを経由して例えば上位の電子制御ユニット（ＥＣＵ：図示せず）から取得して、マイクロコンピュータ１１に与えることができる。
【００４４】
操作部１６は、ユーザが操作可能なスイッチやボタンを備えている。マイクロコンピュータ１１は、ユーザの操作入力を操作部１６から読み取り、この操作入力に従って、例えば表示部１８の表示画面に表示する内容を切り替えることができる。
【００４５】
表示装置１０における画面描画処理の手順を図４に示す。すなわち、マイクロコンピュータ１１の動作およびＧＤＣ１２の動作により図４の手順を実行することにより、表示部１８の表示画面に様々なグラフィック情報を描画することができる。
【００４６】
なお、図４中に示した「仮想カメラ」の文言は、３ＤＣＧ（立体コンピュータグラフィックス）の仮想空間に配置されるカメラを表し、図１に示した視点２２に相当する。また、「仮想光源」の文言は、図１に示した仮想光源２３（１）、２３（２）、・・・、２３（Ｎ）に相当する。
【００４７】
また、「３Ｄオブジェクト」の文言は、３ＤＣＧの仮想空間に配置される各物体、つまり表示対象の物体２１を表す。この「３Ｄオブジェクト」は、複数のポリゴンの組み合わせとして構成されている。表示装置１０においては様々な「３Ｄオブジェクト」のデータが予め作成され、読み出し専用メモリ１４に格納されている。
【００４８】
また、「ポリゴン」の文言は、「３Ｄオブジェクト」を構成するための表示要素を表す多角形を意味しており、実際には多角形の各頂点の座標データの集合として構成されている。
【００４９】
また、「シェーダプログラム」の文言は、ポリゴンを描画するために必要な頂点情報やピクセル描画方法（色の計算を含む）を示すデータを表す。「シェーダプログラム」のデータには、プログラマによってそれぞれ独自にカスタマイズしたものが用いられるが、ＧＤＣ１２がデータの内容を正しく解釈し、それを指定された通りに描画できるように構成されている。
【００５０】
図４のステップＳ１１では、マイクロコンピュータ１１が、車両情報取得部１５から車両情報を取得する。更に、マイクロコンピュータ１１が時間の経過を監視したり、操作部１６に対するスイッチ操作を表す情報を取得する。これらの情報に基づき、マイクロコンピュータ１１は表示部１８の画面に表示すべき物体を選択したり、視点位置の変更など表示形態を特定する。
【００５１】
ステップＳ１２では、深みのある色を再現するための前述の計算方法が組み込まれた「シェーダプログラム」のデータを、ＧＤＣ１２が読み込める場所、例えば一時記憶用メモリ１３上の特定領域にマイクロコンピュータ１１が書き込む。
【００５２】
ステップＳ１３では、マイクロコンピュータ１１が、Ｓ１１で取得した情報に基づき、３ＤＣＧを描画するために必要な仮想光源の位置、および仮想カメラの位置をＳ１２の「シェーダプログラム」にパラメータとして入力する。例えば、図１に示した例の場合には、同じ位置にある仮想光源２３（１）〜２３（Ｎ）の位置と、視点２２の位置とをパラメータとして入力する。
【００５３】
ステップＳ１４では、マイクロコンピュータ１１が、表示対象の「３Ｄオブジェクト」の位置、および材質のパラメータを「シェーダプログラム」に入力する。
【００５４】
ステップＳ１５では、ＧＤＣ１２が、Ｓ１２で用意された「シェーダプログラム」と、Ｓ１３、Ｓ１４で入力された各種パラメータとに従って、フレームバッファ１７内に描画するポリゴン位置を、「３Ｄオブジェクト」のポリゴン各頂点と仮想カメラの位置に基づき算出する。
【００５５】
ステップＳ１６では、ＧＤＣ１２が、Ｓ１２で用意された「シェーダプログラム」と、Ｓ１３、Ｓ１４で入力された各種パラメータとに従って、ポリゴン内のピクセル（画素）毎に、深みのある色、つまり前記第（１）式の物体色Ｃｏを算出する。
【００５６】
ステップＳ１７では、ＧＤＣ１２が、Ｓ１５、Ｓ１６の計算結果に基づき、「３Ｄオブジェクト」の構成要素である各ポリゴンのビットマップデータをフレームバッファ１７上に描画する。
【００５７】
ＧＤＣ１２は、描画対象の「３Ｄオブジェクト」を構成する全てのポリゴンについて、Ｓ１５〜Ｓ１８の処理を繰り返す。そして、全てのポリゴンの描画が終了するとステップＳ１８からＳ１９に進む。
【００５８】
同時に複数の「３Ｄオブジェクト」を表示部１８の画面上に表示する場合には、全ての「３Ｄオブジェクト」の処理が終了したか否かをマイクロコンピュータ１１がＳ１９で識別し、処理が終了してなければＳ１４以降の処理を繰り返し実行する。処理が終了すると、Ｓ１９からＳ２０に進む。
【００５９】
ステップＳ２０では、マイクロコンピュータ１１またはＧＤＣ１２の制御により、フレームバッファ１７上のビットマップデータを表示部１８の表示画面に表示する。
【００６０】
表示部１８の画面表示例を図５に示す。図５の表示例では、自動車の外観を右前方から視た状態の外観を３ＤＣＧにより表示部１８の画面上に表示している。この図面に示した内容だけでは細部および色が見えないので分かりにくいが、物体２１である自動車外装表面において、前述の複数の仮想光源２３（１）〜２３（Ｎ）の鏡面反射の影響が強く表れている。つまり、光源の照明光の反射を示すハイライト箇所の白色のコントラストが大きくなっている。また、前述の仮想光源２３（２）〜２３（Ｎ）の影響により白色以外の様々な色成分の鏡面反射が複雑に重なった状態で表示されている。つまり、深みのある色が画面上で再現されている。
【００６１】
上述の表示装置１０においては、複数の仮想光源２３（１）〜２３（Ｎ）を視線の延長線上の同じ位置に配置しているので、例えば図７に示した例のように光源毎に光路がずれることがない。つまり、複数の仮想光源２３（１）〜２３（Ｎ）の光が物体２１上の表面の同じ位置に当たるので、コントラストの低下を防止できる。
【００６２】
また、上述の表示装置１０においては、複数の仮想光源２３（１）〜２３（Ｎ）を鏡面反射のみに対応付けて物体色Ｃｏの計算を行っているので、仮想光源の数Ｎが増えた場合でも計算の負荷の増大を抑制できる。
【００６３】
また、複数の仮想光源２３（１）〜２３（Ｎ）を同じ位置に配置しているので、２番目以降の仮想光源２３（２）〜２３（Ｎ）について鏡面反射光Ｓｐ（２）〜Ｓｐ（Ｎ）を算出する際には、１番目の仮想光源２３（１）に対する鏡面反射光Ｓｐ（１）の計算結果の一部分を流用して計算を行うことができる。これにより、計算の負荷を更に削減できる。
【００６４】
ここで、上述した本発明に係るレンダリング計算方法および表示装置の実施形態の特徴をそれぞれ以下［１］〜［５］に簡潔に纏めて列記する。
［１］  所定の視点位置で視認される物体の色を、所定の光源の影響を反映させた表示色（物体色Ｃｏ）として再現するレンダリング計算方法であって、
複数の仮想光源（２３（１）〜２３（Ｎ））を前記物体（２１）を経て前記視点（２２）に至る光路（入射光２４）上で同じ位置に割り当て、
前記物体の表面から前記視点に到達する光（反射光２５）の成分のうち、環境光（Ａｍ）の成分と、拡散光（Ｄｉ）の成分と、鏡面反射光（Ｓｐ（１）〜Ｓｐ（Ｎ））の成分とをそれぞれ算出し、
前記鏡面反射光の成分を計算する際には、前記複数の仮想光源のそれぞれについて互いに異なる光源色を割り当て、前記複数の仮想光源のそれぞれについて鏡面反射光（Ｓｐ（１）〜Ｓｐ（Ｎ））を算出する、
ことを特徴とするレンダリング計算方法。
［２］  前記複数の仮想光源のうち、第１の仮想光源（２３（１））には白色の光源色を割り当て、前記第１の仮想光源以外の第２の仮想光源（２３（２）〜２３（Ｎ））には、彩度が高い成分の白色以外の光源色を割り当てて計算を行う、
ことを特徴とする上記［１］に記載のレンダリング計算方法。
【００６５】
［３］  前記拡散光の成分を算出する際には、１つに集約した光源色のみに限定して計算を行う、
ことを特徴とする上記［１］に記載のレンダリング計算方法。
【００６６】
［４］  前記第１の仮想光源の光について鏡面反射光を算出するための第１の鏡面反射計算処理を実施した後、
前記第１の鏡面反射計算処理の際に得られた計算結果の一部（（Ｎ・Ｖ）、Ｆｏ）を、前記第２の仮想光源の光について鏡面反射光を算出するための第２の鏡面反射計算処理で計算に流用する、
ことを特徴とする上記［２］に記載のレンダリング計算方法。
【００６７】
［５］  所定の視点位置で視認可能な物体の色を、所定の光源の影響を反映させて表示色として再現し表示する表示装置（１０）であって、
複数の仮想光源を前記物体を経て前記視点に至る光路上で同じ位置に割り当て、前記物体の表面から前記視点に到達する光の成分のうち、環境光の成分と、拡散光の成分と、鏡面反射光の成分とをそれぞれ算出し、前記鏡面反射光の成分を計算する際には、前記複数の仮想光源のそれぞれについて互いに異なる光源色を割り当て、前記光源色に基づき、前記複数の仮想光源のそれぞれについて鏡面反射光を算出する計算処理部（マイクロコンピュータ１１、ＧＤＣ１２）と、
前記計算処理部が算出した、前記環境光の成分と、前記拡散光の成分と、前記鏡面反射光の成分とを加算した結果を表示する表示制御部（フレームバッファ１７）と、
を備える表示装置。
【符号の説明】
【００６８】
１０  表示装置
１１  マイクロコンピュータ
１２  ＧＤＣ
１３  一時記憶用メモリ
１４  読み出し専用メモリ
１５  車両情報取得部
１６  操作部
１７  フレームバッファ
１８  表示部
２１  物体
２２  視点
２３  仮想光源
２４  入射光
２５  反射光
【図１】
0006626698.tif 000007
【図２】
0006626698.tif 000008
【図３】
0006626698.tif 000009
【図４】
0006626698.tif 000010
【図５】
0006626698.tif 000011
【図６】
0006626698.tif 000012
【図７】
0006626698.tif 000013
【図８】
0006626698.tif 000014