(57)【要約】【課題】３次元の画像の表示方法を、手書き風の表示方法に容易に変更する。【解決手段】CPUは、表示モードを、トゥーンシェーディングを行うモードであるトゥーンシェーディングモードに設定する。頂点処理部４１は、表示モードがトゥーンシェーディングモードである場合、３次元画像に対応するポリゴンの頂点データを用いて、射影変換を行うとともに、３次元画像に輪郭を付けるための処理である輪郭処理を行う。ラスタライズ部４２は、射影変換後の頂点データと、輪郭処理後の頂点データを用いて、ラスタライズを行う。ピクセル処理部４３は、ラスタライズの結果得られる画素データを用いて、各画素の輝度値を決定し、その各画素の輝度と画素データとを用いて、３次元画像を表示させる。本発明は、例えば、テレビジョン受像機に適用することができる。【選択図】図２
2007183832.tif 000002
【特許請求の範囲】
【請求項１】
所定の３次元画像を表示させる表示制御装置において、
表示モードを、トゥーンシェーディングを行うモードであるトゥーンシェーディングモードに設定する設定手段と、
前記３次元画像に対応するポリゴンの頂点に関するデータである頂点データを用いて、射影変換を行う射影変換手段と、
前記頂点データを用いて、前記３次元画像に輪郭を付けるための処理である輪郭処理を行う輪郭処理手段と、
前記射影変換手段による射影変換後の頂点データと、前記輪郭処理手段による輪郭処理後の頂点データを用いて、ラスタライズを行うラスタライズ手段と、
前記ラスタライズ手段によるラスタライズの結果得られる、前記３次元画像を構成する各画素に関するデータを用いて、各画素の輝度を決定するトゥーンシェーディング手段と、
前記トゥーンシェーディング手段により決定された各画素の輝度と、前記各画素に関するデータとを用いて、前記３次元画像を表示させる表示制御手段と、
前記設定手段により前記表示モードが前記トゥーンシェーディングモードに設定される場合、前記頂点データを前記射影変換手段と前記輪郭手段に供給する頂点データ供給手段と、
前記設定手段により前記表示モードが前記トゥーンシェーディングモードに設定される場合、前記各画素に関するデータを、前記トゥーンシェーディング手段に供給する処理結果供給手段と
を備える表示制御装置。
【請求項２】
前記頂点データを用いて座標変換を行う座標変換手段
をさらに備え、
前記設定手段は、前記表示モードを、前記トゥーンシェーディングモードと、前記トゥーンシェーディングモード以外のモードに設定し、
前記頂点データ供給手段は、前記設定手段により前記表示モードが前記トゥーンシェーディングモード以外のモードに設定される場合、前記頂点データを前記座標変換手段に供給する
請求項１に記載の表示制御装置。
【請求項３】
前記座標変換手段による座標変換後の頂点データと、前記各画素に関するデータとを用いて、スムーズシェーディングを行うスムーズシェーディング手段
をさらに備え、
前記処理結果供給手段は、前記設定手段により前記表示モードが前記トゥーンシェーディングモード以外のモードに設定される場合、前記座標変換後の頂点データと前記各画素に関するデータとを、前記スムーズシェーディング手段に供給する
請求項２に記載の表示制御装置。
【請求項４】
前記設定手段は、ユーザからの指示により前記表示モードを前記トゥーンシェーディングモードに設定する
請求項１に記載の表示制御装置。
【請求項５】
前記３次元画像は、GUI（Graphical User Interface）画像である
請求項１に記載の表示制御装置。
【請求項６】
所定の３次元画像を表示させる表示制御装置の表示制御方法において、
表示モードを、トゥーンシェーディングを行うモードであるトゥーンシェーディングモードに設定し、
前記表示モードが前記トゥーンシェーディングモードに設定される場合、前記３次元画像に対応するポリゴンの頂点に関するデータである頂点データを用いて、射影変換を行い、
前記表示モードが前記トゥーンシェーディングモードに設定される場合、前記頂点データを用いて、前記３次元画像に輪郭を付けるための処理である輪郭処理を行い、
射影変換後の頂点データと、輪郭処理後の頂点データを用いて、ラスタライズを行い、
前記表示モードが前記トゥーンシェーディングモードに設定される場合、前記ラスタライズの結果得られる、前記３次元画像を構成する各画素に関するデータを用いて、各画素の輝度を決定し、
その決定された各画素の輝度と、前記各画素に関するデータとを用いて、前記３次元画像を表示させる
ステップを含む表示制御方法。
【請求項７】
所定の３次元画像を表示させる処理を、コンピュータに行わせるプログラムにおいて、
表示モードを、トゥーンシェーディングを行うモードであるトゥーンシェーディングモードに設定し、
前記表示モードが前記トゥーンシェーディングモードに設定される場合、前記３次元画像に対応するポリゴンの頂点に関するデータである頂点データを用いて、射影変換を行い、
前記表示モードが前記トゥーンシェーディングモードに設定される場合、前記頂点データを用いて、前記３次元画像に輪郭を付けるための処理である輪郭処理を行い、
射影変換後の頂点データと、輪郭処理後の頂点データを用いて、ラスタライズを行い、
前記表示モードが前記トゥーンシェーディングモードに設定される場合、前記ラスタライズの結果得られる、前記３次元画像を構成する各画素に関するデータを用いて、各画素の輝度を決定し、
その決定された各画素の輝度と、前記各画素に関するデータとを用いて、前記３次元画像を表示させる
ステップを含むプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、表示制御装置および表示制御方法、並びにプログラムに関し、特に、３次元の画像の表示方法を、手書き風の表示方法に容易に変更することができるようにした表示制御装置および表示制御方法、並びにプログラムに関する。
【背景技術】
【０００２】
近年、テレビジョン受像機やパーソナルコンピュータなどの家電機器において、ユーザI/F（Interface）として、GUI（Graphical User Interface）が多く用いられている（例えば、特許文献１参照）。
【０００３】
しかしながら、ユーザが、２次元のGUI画像の表示方法を変更させるためには、家電機器に、変更前の２次元のGUI画像を表示させるための画像データのほかに、変更後の２次元のGUI画像を表示させるための画像データを予め記憶させておく必要があり、家電機器における画像データの記憶量が増加してしまう。
【０００４】
また、家電機器が有するディスプレイ等の表示手段の画面の大きさには限りがあるため、表示可能な２次元のGUI画像の数には限界がある。
【０００５】
そこで、表示方法の変更に伴う画像データの記憶量の増加を防止したり、より多くのGUI画像を表示させるために、２次元のGUI画像ではなく、３次元のGUI画像（以下、３次元GUI画像という）を表示させることが考えられている。
【０００６】
【特許文献１】特開平３−１４４７１９号公報（図３）
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、３次元GUI画像などの３次元の画像の表示方法を、手書き風の表示方法に変更させ、３次元の画像を、２次元の画像のように表示させることは考えられていなかった。
【０００８】
本発明は、このような状況に鑑みてなされたものであり、３次元の画像の表示方法を、手書き風の表示方法に容易に変更することができるようにするものである。
【課題を解決するための手段】
【０００９】
本発明の一側面の表示制御装置は、所定の３次元画像を表示させる表示制御装置において、表示モードを、トゥーンシェーディングを行うモードであるトゥーンシェーディングモードに設定する設定手段と、前記３次元画像に対応するポリゴンの頂点に関するデータである頂点データを用いて、射影変換を行う射影変換手段と、前記頂点データを用いて、前記３次元画像に輪郭を付けるための処理である輪郭処理を行う輪郭処理手段と、前記射影変換手段による射影変換後の頂点データと、前記輪郭処理手段による輪郭処理後の頂点データを用いて、ラスタライズを行うラスタライズ手段と、前記ラスタライズ手段によるラスタライズの結果得られる、前記３次元画像を構成する各画素に関するデータを用いて、各画素の輝度を決定するトゥーンシェーディング手段と、前記トゥーンシェーディング手段により決定された各画素の輝度と、前記各画素に関するデータとを用いて、前記３次元画像を表示させる表示制御手段と、前記設定手段により前記表示モードが前記トゥーンシェーディングモードに設定される場合、前記頂点データを前記射影変換手段と前記輪郭手段に供給する頂点データ供給手段と、前記設定手段により前記表示モードが前記トゥーンシェーディングモードに設定される場合、前記各画素に関するデータを、前記トゥーンシェーディング手段に供給する処理結果供給手段とを備える。
【００１０】
この表示制御装置は、前記頂点データを用いて座標変換を行う座標変換手段をさらに設け、前記設定手段は、前記表示モードを、前記トゥーンシェーディングモードと、前記トゥーンシェーディングモード以外のモードに設定し、前記頂点データ供給手段は、前記設定手段により前記表示モードが前記トゥーンシェーディングモード以外のモードに設定される場合、前記頂点データを前記座標変換手段に供給することができる。
【００１１】
この表示制御装置は、前記座標変換手段による座標変換後の頂点データと、前記各画素に関するデータとを用いて、スムーズシェーディングを行うスムーズシェーディング手段をさらに設け、前記処理結果供給手段は、前記設定手段により前記表示モードが前記トゥーンシェーディングモード以外のモードに設定される場合、前記座標変換後の頂点データと前記各画素に関するデータとを、前記スムーズシェーディング手段に供給することができる。
【００１２】
前記設定手段は、ユーザからの指示により前記表示モードを前記トゥーンシェーディングモードに設定することができる。
【００１３】
前記３次元画像は、GUI（Graphical User Interface）画像である。
【００１４】
本発明の一側面の表示制御方法は、所定の３次元画像を表示させる表示制御装置の表示制御方法において、表示モードを、トゥーンシェーディングを行うモードであるトゥーンシェーディングモードに設定し、前記表示モードが前記トゥーンシェーディングモードに設定される場合、前記３次元画像に対応するポリゴンの頂点に関するデータである頂点データを用いて、射影変換を行い、前記表示モードが前記トゥーンシェーディングモードに設定される場合、前記頂点データを用いて、前記３次元画像に輪郭を付けるための処理である輪郭処理を行い、射影変換後の頂点データと、輪郭処理後の頂点データを用いて、ラスタライズを行い、前記表示モードが前記トゥーンシェーディングモードに設定される場合、前記ラスタライズの結果得られる、前記３次元画像を構成する各画素に関するデータを用いて、各画素の輝度を決定し、その決定された各画素の輝度と、前記各画素に関するデータとを用いて、前記３次元画像を表示させるステップを含む。
【００１５】
本発明の一側面のプログラムは、所定の３次元画像を表示させる処理を、コンピュータに行わせるプログラムにおいて、表示モードを、トゥーンシェーディングを行うモードであるトゥーンシェーディングモードに設定し、前記表示モードが前記トゥーンシェーディングモードに設定される場合、前記３次元画像に対応するポリゴンの頂点に関するデータである頂点データを用いて、射影変換を行い、前記表示モードが前記トゥーンシェーディングモードに設定される場合、前記頂点データを用いて、前記３次元画像に輪郭を付けるための処理である輪郭処理を行い、射影変換後の頂点データと、輪郭処理後の頂点データを用いて、ラスタライズを行い、前記表示モードが前記トゥーンシェーディングモードに設定される場合、前記ラスタライズの結果得られる、前記３次元画像を構成する各画素に関するデータを用いて、各画素の輝度を決定し、その決定された各画素の輝度と、前記各画素に関するデータとを用いて、前記３次元画像を表示させるステップを含む。
【００１６】
本発明の一側面においては、表示モードが、トゥーンシェーディングを行うモードであるトゥーンシェーディングモードに設定され、前記表示モードが前記トゥーンシェーディングモードに設定される場合、前記３次元画像に対応するポリゴンの頂点に関するデータである頂点データを用いて、射影変換が行われ、前記頂点データを用いて、前記３次元画像に輪郭を付けるための処理である輪郭処理が行われる。そして、射影変換後の頂点データと、輪郭処理後の頂点データを用いて、ラスタライズが行われ、前記ラスタライズの結果得られる、前記３次元画像を構成する各画素に関するデータを用いて、各画素の輝度が決定され、その決定された各画素の輝度と、前記各画素に関するデータとを用いて、前記３次元画像が表示される。
【発明の効果】
【００１７】
以上のように、本発明の一側面によれば、３次元の画像を表示させることができる。
【００１８】
また、本発明の一側面によれば、３次元の画像の表示方法を、手書き風の表示方法に容易に変更することができる。
【発明を実施するための最良の形態】
【００１９】
以下に本発明の実施の形態を説明するが、本発明の構成要件と、明細書又は図面に記載の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、明細書又は図面に記載されていることを確認するためのものである。従って、明細書又は図面中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
【００２０】
本発明の一側面の表示制御装置は、第１に、
所定の３次元画像（例えば、３次元GUI画像）を表示させる表示制御装置（例えば、図１の受信装置１）において、
表示モードを、トゥーンシェーディングを行うモードであるトゥーンシェーディングモードに設定する設定手段（例えば、図４のCPU１１）と、
前記３次元画像に対応するポリゴンの頂点に関するデータである頂点データを用いて、射影変換を行う射影変換手段（例えば、図３の射影変換処理部８１）と、
前記頂点データを用いて、前記３次元画像に輪郭を付けるための処理である輪郭処理を行う輪郭処理手段（例えば、図３の輪郭処理部８２）と、
前記射影変換手段による射影変換後の頂点データと、前記輪郭処理手段による輪郭処理後の頂点データを用いて、ラスタライズを行うラスタライズ手段（例えば、図２のラスタライズ部４２）と、
前記ラスタライズ手段によるラスタライズの結果得られる、前記３次元画像を構成する各画素に関するデータを用いて、各画素の輝度を決定するトゥーンシェーディング手段（例えば、図７のトゥーンシェーディング部１２４）と、
前記トゥーンシェーディング手段により決定された各画素の輝度と、前記各画素に関するデータとを用いて、前記３次元画像を表示させる表示制御手段（例えば、図７の後処理部１２３）と、
前記設定手段により前記表示モードが前記トゥーンシェーディングモードに設定される場合、前記頂点データを前記射影変換手段と前記輪郭手段に供給する頂点データ供給手段と（例えば、図３の選択部６２）、
前記設定手段により前記表示モードが前記トゥーンシェーディングモードに設定される場合、前記各画素に関するデータを、前記トゥーンシェーディング手段に供給する処理結果供給手段（例えば、図７の選択部１２１）と、
を備える。
【００２１】
本発明の一側面の表示制御装置は、第２に、
前記頂点データを用いて座標変換を行う座標変換手段（例えば、図３の座標変換処理部６３）
をさらに備え、
前記設定手段は、前記表示モードを、前記トゥーンシェーディングモードと、前記トゥーンシェーディングモード以外のモードに設定し（例えば、図１３のステップＳ２とステップＳ３の処理）、
前記頂点データ供給手段は、前記設定手段により前記表示モードが前記トゥーンシェーディングモード以外のモードに設定される場合、前記頂点データを前記座標変換手段に供給する（例えば、図１５のステップＳ４２の処理）。
【００２２】
本発明の一側面の表示制御装置は、第３に、
前記座標変換手段による座標変換後の頂点データと、前記各画素に関するデータとを用いて、スムーズシェーディングを行うスムーズシェーディング手段（例えば、図７のグローシェーディング部１２５）
をさらに備え、
前記処理結果供給手段は、前記設定手段により前記表示モードが前記トゥーンシェーディングモード以外のモードに設定される場合、前記座標変換後の頂点データと前記各画素に関するデータとを、前記スムーズシェーディング手段に供給する（例えば、図１５のステップＳ４２の処理）。
【００２３】
本発明の一側面の表示制御方法は、
所定の３次元画像を表示させる表示制御装置（例えば、図１の受信装置１）の表示制御方法において、
表示モードを、トゥーンシェーディングを行うモードであるトゥーンシェーディングモードに設定し（例えば、図１３のステップＳ３）、
前記表示モードが前記トゥーンシェーディングモードに設定される場合、前記３次元画像に対応するポリゴンの頂点に関するデータである頂点データを用いて、射影変換を行い（例えば、図１５のステップＳ４３）、
前記表示モードが前記トゥーンシェーディングモードに設定される場合、前記頂点データを用いて、前記３次元画像に輪郭を付けるための処理である輪郭処理を行い（例えば、図１５のステップＳ４５）、
射影変換後の頂点データと、輪郭処理後の頂点データを用いて、ラスタライズを行い（例えば、図１４のステップＳ２２）、
前記表示モードが前記トゥーンシェーディングモードに設定される場合、前記ラスタライズの結果得られる、前記３次元画像を構成する各画素に関するデータを用いて、各画素の輝度を決定し（例えば、図６のステップＳ６３）、
その決定された各画素の輝度と、前記各画素に関するデータとを用いて、前記３次元画像を表示させる（例えば、図１６のステップＳ７２）
ステップを含む。
【００２４】
本発明の一側面のプログラムは、
所定の３次元画像（例えば、３次元GUI画像）を表示させる処理を、コンピュータに行わせるプログラムにおいて、
表示モードを、トゥーンシェーディングを行うモードであるトゥーンシェーディングモードに設定し（例えば、図１３のステップＳ３）、
前記表示モードが前記トゥーンシェーディングモードに設定される場合、前記３次元画像に対応するポリゴンの頂点に関するデータである頂点データを用いて、射影変換を行い（例えば、図１５のステップＳ４３）、
前記表示モードが前記トゥーンシェーディングモードに設定される場合、前記頂点データを用いて、前記３次元画像に輪郭を付けるための処理である輪郭処理を行い（例えば、図１５のステップＳ４５）、
射影変換後の頂点データと、輪郭処理後の頂点データを用いて、ラスタライズを行い（例えば、図１４のステップＳ２２）、
前記表示モードが前記トゥーンシェーディングモードに設定される場合、前記ラスタライズの結果得られる、前記３次元画像を構成する各画素に関するデータを用いて、各画素の輝度を決定し（例えば、図１６のステップＳ６３）、
前記トゥーンシェーディングの結果得られる各画素の輝度と、前記各画素に関するデータとを用いて、前記３次元画像を表示させる（例えば、図１６のステップＳ７２）
ステップを含む。
【００２５】
以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。
【００２６】
図１は、本発明を適用した受信装置１のハードウェア構成例を示すブロック図である。
【００２７】
図１の受信装置１は、CPU(Central Processing Unit)１１、ROM(Read Only Memory)１２、RAM１３、GPU（Graphics Processing Unit）１４、バス１５、入出力インタフェース１６、チューナ１７、入力部１８、出力部１９、記録部２０、通信部２１、およびドライブ２２から構成され、チューナ１７により受信された放送番組、放送番組に関する３次元GUI画像などを出力部１９に出力する。
【００２８】
図１に示すように、CPU１１は、バス１５を介して、ROM１２、RAM１３、およびGPU１４に接続される。CPU１１とGPU１４は、ROM１２に記憶されているプログラム、または、記録部２０に記録されているプログラムにしたがって各種の処理を実行する。
【００２９】
例えば、CPU１１は、ROM１２に記憶されている、３次元GUI画像に対応する３角形のポリゴンの頂点に関するデータ（以下、頂点データという）を読み出し、その頂点データをGPU１４に供給することにより、頂点データに対応する３次元GUI画像の表示を指令する。なお、頂点データは、頂点の座標ｐ0(x,y,z)、頂点により形成されるポリゴンの法線ベクトルｎ0(n0x,n0y,n0z)、頂点のカラーｃ0（a,r,g,b）、頂点のテクスチャ座標ｔ0（u,v）など（を表すデータ）である。
【００３０】
また、CPU１１は、入力部１８から入力される指令に応じて、３次元GUI画像の表示方法を表す表示モードを設定し、その表示モードを表す情報である表示モード情報をGPU１４に供給する。
【００３１】
GPU１４は、CPU１１によりROM１２から読み出された頂点データと表示モード情報に基づいて、３次元GUI画像を出力部１９に表示させる。RAM１３には、CPU１１またはGPU１４が実行するプログラムやデータなどが適宜記憶される。
【００３２】
CPU１１にはまた、バス１５を介して入出力インタフェース１６が接続されている。入出力インタフェース１６には、チューナ１７、キーボード、マウス、リモートコントローラなどよりなる入力部１８、LCD（Liquid Crystal Display）やCRT（Cathode Ray Tube）ディスプレイなどよりなる出力部１９が接続されている。チューナ１７は、図示せぬアンテナを介して放送局から放送番組などを受信する。CPU１１は、例えば、入力部１８から入力される指令に応じて、チューナ１７に所定の放送番組を受信させ、受信された放送番組の画像や音声などを、出力部１９に出力する。
【００３３】
入出力インタフェース１６に接続されている記録部２０は、例えば、ハードディスクなどで構成され、CPU１１が実行するプログラムや各種のデータを記録する。通信部２１は、インターネットやローカルエリアネットワークなどのネットワークを介して外部の装置と通信する。
【００３４】
なお、プログラムは、通信部２１を介して取得され、記録部２０に記録されるようにしてもよい。
【００３５】
入出力インタフェース１６に接続されているドライブ２２は、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどのリムーバブルメディア２３が装着されたとき、それらを駆動し、そこに記録されているプログラムやデータなどを取得する。取得されたプログラムやデータは、必要に応じて記録部２０に転送され、記録される。
【００３６】
図２は、図１のGPU１４が所定のプログラムを実行することにより実現する機能の構成例を示すブロック図である。
【００３７】
図２のGPU１４は、頂点処理部４１、ラスタライズ部４２、およびピクセル処理部４３から構成される。
【００３８】
GPU１４には、CPU１１によりROM１２から読み出された頂点データが供給され、頂点処理部４１に供給される。また、GPU１４には、CPU１１から表示モード情報が供給され、その表示モード情報が頂点処理部４１とピクセル処理部４３に供給される。
【００３９】
なお、以下では、表示モードとして、輝度Ｓgを連続的に変化させるスムーズシェーディングの１つである、グローシェーディングを行うモードであるグローシェーディングモードと、輝度Ｓtを有限階調で表し輪郭を付けるトゥーンシェーディングを行うモードであるトゥーンシェーディングモードの２個のモードがあるものとする。
【００４０】
頂点処理部４１は、ROM１２からの頂点データと、CPU１１からの表示モード情報とに基づいて、頂点データに対する、射影変換、クリッピングなどの処理である頂点処理を行う。頂点処理部４１は、その頂点処理の結果得られる頂点データを、ラスタライズ部４２に供給する。
【００４１】
ラスタライズ部４２は、頂点処理部４１から供給される頂点データに基づいてラスタライズを行い、その結果得られる３次元GUI画像を構成する各画素（ピクセル）に関するデータ（以下、画素データという）を、ピクセル処理部４３に供給する。なお、画素データは、３次元GUI画像を構成する各画素に対応するポリゴン内の点の座標ｐp、その点を含むポリゴンの法線ベクトルｎp、その点のカラーｃp、その点のテクスチャ座標ｔpなど（を表すデータ）である。
【００４２】
また、ラスタライズ部４２は、頂点処理部４１から供給される頂点データを、ピクセル処理部４３に供給する。ピクセル処理部４３は、CPU１１からの表示モード情報、並びにラスタライズ部４２からの画素データと頂点データに基づいて、シェーディングなどの、ピクセルに対する処理であるピクセル処理を行う。その結果、出力部１９には、３次元GUI画像が表示される。
【００４３】
図３は、図２の頂点処理部４１の詳細構成例を示すブロック図である。
【００４４】
図３の頂点処理部４１は、頂点データ記憶部６１、選択部６２、座標変換処理部６３、頂点シェーダ６４、キャッシュメモリ６５、表裏判定部６６、クリッピング処理部６７、透視変換処理部６８、ビューポート変換部６９、およびトライアングルセットアップ部７０から構成される。
【００４５】
頂点データ記憶部６１は、ROM１２から読み出された頂点データを記憶する。選択部６２は、頂点データ記憶部６１から頂点データを読み出す。選択部６２は、CPU１１からの表示モード情報に基づいて、座標変換処理部６３と頂点シェーダ６４のうちの１つを選択し、その選択した座標変換処理部６３または頂点シェーダ６４に、頂点データを供給する。
【００４６】
座標変換処理部６３は、選択部６２からの頂点データに対して、モデルビュー行列を用いて、モデリング変換、ビューイング変換などの座標変換を行う。座標変換処理部６３は、座標変換後の頂点データをキャッシュメモリ６５の記憶部９１に供給する。なお、座標変換後の頂点データの頂点座標と法線ベクトルは、４次元の座標となっている。
【００４７】
頂点シェーダ６４は、射影変換処理部８１と輪郭処理部８２から供給される。射影変換処理部８１は、選択部６２から供給される頂点データのうちの、座標ｐ0と法線ベクトルｎ0とに対して、以下の式（１）により射影変換を行う。
【００４８】
(x´,y´,z´,w´)=（x,y,z,1）ＷＶＰ
・・・（１）
【００４９】
なお、式（１）において、x,y,zは射影変換前の座標を、x´,y´,ｚ´,w´は射影変換後の座標を、Ｗはワールド行列を、Ｖはビュー行列を、Ｐは透視変換行列を、それぞれ表している。射影変換処理部８１は、射影変換後の座標ｐ1と法線ベクトルｎ1、並びに頂点データのうちのカラーｃ0とテクスチャ座標ｔ0から構成される、射影変換後の頂点データを、記憶部９２に供給する。なお、射影変換後の頂点データには、射影変換処理部８１により、射影変換後の頂点データに対応する３角形のポリゴンの表面の描画を指令する情報が付加されている。
【００５０】
輪郭処理部８２は、３次元GUI画像に輪郭を付けるための処理である輪郭処理を行う。具体的には、選択部６２から供給される頂点データに基づいて、上述した式（１）により射影変換を行う。そして、輪郭処理部８２は、以下の式（２）により、射影変換後の頂点の座標ｐ1を、射影変換後の法線ベクトルｎ1の方向に所定の距離ｄだけ移動させる。
【００５１】
ｐ2＝ｐ1＋ｄｎ1
・・・（２）
【００５２】
なお、式（２）において、ｄは予め設定された定数を表す。
【００５３】
また、輪郭処理部８２は、頂点データのうちのカラーｃ0を、黒色を表すカラーｃ1に変更する。輪郭処理部８２は、輪郭処理後の座標ｐ2とカラーｃ2、射影変換後の法線ベクトルｎ1、並びに頂点データのうちのテクスチャ座標ｔ0から構成される、輪郭処理後の頂点データを記憶部９３に供給する。なお、輪郭処理後の頂点データには、輪郭処理部８２により、輪郭処理後の頂点データに対応する３角形のポリゴンの裏面の描画を指令する情報が付加されている。
【００５４】
キャッシュメモリ６５は、記憶部９１、記憶部９２、および記憶部９３から構成される。キャッシュメモリ６５の記憶部９１は、後述するクリッピング処理部６７に読み出されるまで、座標変換処理部６３から供給される座標変換後の頂点データを、一時的に記憶する。記憶部９２は、射影変換処理部８１から供給される射影変換後の頂点データを、クリッピング処理部６７に読み出されるまで、一時的に記憶する。また、記憶部９３は、後述する表裏判定部６６により読み出されるまで、輪郭処理部８２から供給される輪郭処理後の頂点データを一時的に記憶する。
【００５５】
表裏判定部６６は、記憶部９３から３角形のポリゴンを形成する３個の頂点の頂点データを読み出す。そして、表裏判定部６６は、その頂点データの法線ベクトルｎ1と、予め設定されている仮想視点の方向とに基づいて、ポリゴンが仮想視点の方向に対して表向きである（仮想視点の方向と法線ベクトルｎ1の方向のなす角θ1（０≦θ1≦π）がπ/２以上である）か、または裏向きである（仮想視点の方向と法線ベクトルｎ1の方向のなす角θ1がπ/２以内である）かの判定である表裏判定を行う。
【００５６】
表裏判定部６６は、その表裏判定の結果に基づいて、裏向きであるポリゴンの３個の頂点データを、クリッピング処理部６７に供給する。その結果、表向きであるポリゴンの裏面を描画する処理を、省略することができる。
【００５７】
クリッピング処理部６７は、記憶部９１から読み出される頂点データ、または記憶部９２から読み出される頂点データおよび表裏判定部６６から供給される頂点データと、仮想視点の方向および位置とに基づいて、クリッピングを行う。これにより、ビュースクリーン内に投影される、３次元GUI画像に対応するポリゴンモデルだけが切り取られる。即ち、クリッピング処理部６７は、ビュースクリーン内に投影されるポリゴンモデルのポリゴンを構成する頂点の頂点データ以外を削除する。そして、クリッピング処理部６７は、その結果得られる頂点データを、透視変換処理部６８に供給する。
【００５８】
透視変換処理部６８は、クリッピング処理部６７から供給される頂点データに基づいて、以下の式（３）により、その頂点データが表す頂点の透視投影を行う。
【００５９】
（xs,ys,zs,1）=（xc/ｗc,ｙc/ｗc,ｚc/ｗc,1）
・・・（３）
【００６０】
なお、式（３）において、xc,ｙc,ｚc,ｗcは、クリッピング処理部６７から供給される頂点データに含まれる頂点の座標であり、xs,ｙs,ｚsは、透視投影後の頂点の座標を表す。
【００６１】
そして、透視変換処理部６８は、透視投影後の頂点の座標を含む頂点データを、ビューポート変換部６９に供給する。
【００６２】
ビューポート変換部６９は、予め設定されたビューポートの大きさに応じて、透視変換処理部６８からの頂点データに対してビューポート変換を行う。これにより、頂点データのうちの頂点の座標は、出力部１９の画面上の座標に変換される。ビューポート変換部６９は、ビューポート変換後の頂点データを、トライアングルセットアップ部７０に供給する。トライアングルセットアップ部７０は、ラスタライズ部４２によるラスタライズで用いられるパラメータを算出し、そのパラメータを、ビューポート変換部６９からの頂点データとともに、ラスタライズ部４２に供給する。
【００６３】
次に、図４を参照して、法線ベクトルｎ0について説明する。
【００６４】
図４に示すように、頂点Ａ、頂点Ｂ、および頂点Ｃの３個の頂点の頂点データに含まれる法線ベクトルｎ0は、頂点Ａ、頂点Ｂ、および頂点Ｃにより形成される三角形のポリゴンの一辺である直線ＡＢを表すベクトルａと、他の一辺である直線ＢＣを表すベクトルｂとに垂直なベクトルである。即ち、法線ベクトルｎ0は、ベクトルａとベクトルｂの外積であり、以下の式（４）により求められる。
【００６５】
ｎ0＝ａ×ｂ
・・・（４）
【００６６】
次に、図５を参照して、表示モードがトゥーンシェーディングモードである場合の頂点処理部４１における処理について説明する。
【００６７】
図５の例では、メニュー(Menu)の項目を表示させるための３次元GUI画像（以下、メニューGUI画像という）１１０に対応するポリゴンの頂点の頂点データが、ROM１２から読み出されて、頂点処理部４１に順に入力される。
【００６８】
表示モードがトゥーンシェーディングモードである場合、図５に示すように、ROM１２から頂点データが２回読み出されて、頂点処理部４１に順に入力され、頂点データ記憶部６１に記憶される。例えば、メニューGUI画像１１０に対応するポリゴンの頂点の数がｉ個である場合、頂点データ記憶部６１には、２ｉ（＝ｉ×２）個の頂点の頂点データが記憶される。
【００６９】
選択部６２は、CPU１１から供給される、トゥーンシェーディングモードを表す表示モード情報に基づいて、座標変換処理部６３または頂点シェーダ６４のうちの頂点シェーダ６４を選択する。そして、選択部６２は、第１回目にROM１２から読み出されて、頂点データ記憶部６１に記憶された頂点データを、頂点シェーダ６４の射影変換部８１に順に供給する。また、選択部６２は、第２回目にROM１２から読み出されて、頂点データ記憶部６１に記憶された頂点データを、頂点シェーダ６４の輪郭処理部８２に順に供給する。
【００７０】
射影変換部８１は、選択部６２からの頂点データのうちの、座標ｐ0と法線ベクトルｎ0とに対して、上述した式（１）により射影変換を行う。そして、射影変換処理部８１は、射影変換の結果得られる頂点データを、キャッシュメモリ６５の記憶部９２に供給し、記憶させる。
【００７１】
輪郭処理部８２は、選択部６２からの頂点データに基づいて、上述した式（１）と式（２）の演算やカラーｃ0の変更により、輪郭処理を行う。そして、輪郭処理部８２は、輪郭処理の結果得られる頂点データを、記憶部９３に供給し記憶させる。
【００７２】
表裏判定部６６は、記憶部９３から３角形のポリゴンを構成する３個の頂点の頂点データを読み出す。そして、表裏判定部６６は、その頂点データの法線ベクトルｎ1と、仮想視点の方向に基づいて、ポリゴンが仮想視点の方向に対して裏向きであるポリゴンの３個の頂点データを、クリッピング処理部６７に供給する。
【００７３】
その後、記憶部９２から読み出される頂点データと表裏判定部６６から出力される頂点データとに基づいて、クリッピング、透視変換処理、およびビューポート変換が行われ、ラスタライズ部４２に供給される。さらに、ラスタライズに用いられるパラメータが算出され、ラスタライズ部４２に供給される。
【００７４】
次に、図６を参照して、輪郭処理部８２による輪郭処理について説明する。
【００７５】
図６は、３次元GUI画像に対応する、複数のポリゴンから構成されるポリゴンモデル１１１の側断面図を示している。
【００７６】
図６では、仮想視点の位置が、ポリゴンモデル１１１の図中左中央であり、仮想視点の方向が、ポリゴンモデル１１１の左側から右側に向かう方向である。従って、その方向と法線ベクトルの方向のなす角θ1がπ以内であるポリゴン１１２Ａとポリゴン１１２Ｂが、仮想視点の方向に対して裏向きのポリゴンとなっている。
【００７７】
ここで、輪郭処理部８２が、ポリゴンモデル１１１を構成するポリゴンのうちの、ポリゴン１１２Ａを形成する３個の頂点の頂点データの座標ｐ0に基づいて、上述した式（１）と式（２）の演算を行うと、その演算の結果得られる３個の座標ｐ2に位置する頂点により形成されるポリゴン１１３Ａは、図６に示すように、ポリゴン１１２Ａを、射影変換後の法線ベクトルｎ1の方向に距離ｄだけ移動したものとなる。
【００７８】
また、同様に、ポリゴン１１２Ｂを形成する頂点の頂点データの座標ｐ0に基づいて、上述した式（１）と式（２）の演算を行うと、その演算の結果得られる３個の座標ｐ2に位置する頂点により形成されるポリゴン１１３Ｂは、図６に示すように、ポリゴン１１２Ｂを、射影変換後の法線ベクトルｎ1の方向に距離ｄだけ移動したものとなる。
【００７９】
上述したように、ポリゴン１１２Ａとポリゴン１１２Ｂは、仮想視点の方向に対して裏向きであるので、輪郭処理後の頂点データに対応するポリゴン１１３Ａの裏面１１４Ａと、ポリゴン１１３Ｂの裏面１１４Ｂは描画される。その結果、仮想視点から裏面１１４Ａの上端１１５Ａと、裏面１１４Ｂの下端１１５Ｂが輪郭として見える。
【００８０】
なお、図６に示すように、上端１１５Ａと下端１１５Ｂの長さは、距離ｄに応じて変化する。即ち、距離ｄは、輪郭の太さに対応する定数である。また、以下では、ポリゴン１１２Ａとポリゴン１１２Ｂを区別する必要がない場合、
【００８１】
図７は、図２のピクセル処理部４３の詳細構成例を示すブロック図である。
【００８２】
図７のピクセル処理部４３は、選択部１２１、ピクセルシェーダ１２２、および後処理部１２３から構成される。
【００８３】
選択部１２１は、CPU１１から供給される表示モード情報に基づいて、ピクセルシェーダ１２２のトゥーンシェーディング部１２４とグローシェーディング部１２５のうちの１つを選択する。選択部１２１は、その選択したトゥーンシェーディング部１２４またはグローシェーディング部１２５に、ラスタライズ部４２から供給される画素データと頂点データを供給する。
【００８４】
ピクセルシェーダ１２２のトゥーンシェーディング部１２４は、選択部１２１からの画素データと、予め設定された光源ベクトルｌとに基づいて、その画素データに含まれる法線ベクトルｎpと、仮想の光源を表す光源ベクトルｌの内積を算出し、その算出結果に基づいて各画素の輝度Ｓtを決定する処理を行う。この処理と、頂点シェーダ６４による処理とが行われることにより、トゥーンシェーディングが行われることになる。
【００８５】
トゥーンシェーディング部１２４は、その処理の結果得られる各画素の輝度Ｓt、並びに画素データと頂点データを、３次元GUI画像を表示させるための表示データとして、後処理部１２３に供給する。
【００８６】
ピクセルシェーダ１２２のグローシェーディング部１２５は、選択部１２１からの画素データと頂点データに基づいて、各画素の輝度Ｓgを算出することにより、グローシェーディングを行う。グローシェーディング部１２５は、その結果得られる各画素の輝度Ｓg、並びに画素データと頂点データを、３次元GUI画像を表示させるための表示データとして、後処理部１２３に供給する。
【００８７】
後処理部１２３は、トゥーンシェーディング部１２４またはグローシェーディング部１２５から供給される表示データに対して、シザーテスト、αテスト、深度テスト、αブレンド、アンチエイリアシングなどを後処理として行う。後処理部１２３は、後処理の結果得られる表示データに基づいて、出力部１９に３次元GUI画像を表示させる。
【００８８】
次に、図８を参照して、法線ベクトルｎpと光源ベクトルｌの内積について説明する。
【００８９】
図８に示すように、画素データに含まれる、画素に対応する点Ｄを含むポリゴン１３０の法線ベクトルｎpと光源ベクトルｌの内積ｄは、法線ベクトルｎpと光源ベクトルｌの長さを１としたとき、法線ベクトルｎpと光源ベクトルｌのなす角θ2（０≦θ2≦π）の余弦となる。即ち、内積ｄは、以下の式（５）により算出される。
【００９０】
ｄ＝ｌ・ｎp＝cosθ2
・・・（５）
【００９１】
式（５）によれば、角θ2が大きいほど、即ち仮想の光源が点Ｄを含むポリゴン１３０に照射するときの角度が垂直に近いほど、その角θ2の余弦である内積ｄは小さくなる。
【００９２】
ここで、トゥーンシェーディング部１２４は、この内積ｄを用いて、以下の式（６）により、画素データに対応する画素の輝度Ｓtを決定する。
【００９３】
【数１】
2007183832.tif 000003
・・・（６）
【００９４】
なお、式（６）において、ε1とε2（ε1≦ε2）は、予め設定された閾値である。また、ＳHは予め設定された高輝度の値（例えば、白色の輝度の８０％の値）であり、ＳLは予め設定された低輝度の値（例えば、白色の輝度の２０％の値）であり、ＳMは、高輝度ＳHと低輝度ＳLの中間の値（例えば、白色の輝度の６０％の値）である。
【００９５】
上述したように、内積ｄは、仮想の光源が点Ｄを含むポリゴン１３０に照射するときの角度が垂直に近いほど、小さくなるので、式（６）では、内積ｄが小さい場合、輝度Ｓtは高輝度ＳHとなり、内積ｄが大きい場合、輝度Ｓtは低輝度ＳLとなっている。
【００９６】
なお、式（６）において、閾値ε1と閾値ε2が同一である場合、輝度Ｓtは高輝度ＳHと低輝度ＳLのうちのいずれかとなる。即ち、輝度Ｓtは２階調で表される。
【００９７】
以上のように、トゥーンシェーディング部１２４は、画素データに基づいて算出された内積ｄ、閾値ε1、および閾値ε2の比較により、輝度Ｓtを高輝度ＳH、中輝度ＳM、および低輝度ＳLのうちのいずれかに決定する。
【００９８】
次に、図９Ａと図９Ｂを参照して、グローシェーディングと、トゥーンシェーディングについて説明する。
【００９９】
図９Ａは、グローシェーディングが行われた結果得られる犬の３次元画像を示し、図９Ｂは、トゥーンシェーディングが行われた結果得られる犬の３次元画像を示している。なお、図９Ｂにおいて、閾値ε1＜閾値ε2であるものとする。このことは、後述する図１０Ｂと図１２においても同様である。
【０１００】
図９Ａに示すように、グローシェーディングが行われた結果得られる犬の３次元画像では、輝度Ｓtが連続的に(滑らかに)変化している。即ち、図９Ａの３次元画像には、実世界の光源の影響に近い陰影が施されている。
【０１０１】
一方、図９Ｂに示すように、トゥーンシェーディングが行われた結果得られる犬の３次元画像では、輝度ＳtがＳH、中輝度ＳM、および低輝度ＳLのうちのいずれかになっている。即ち、図９Ｂの３次元画像には、３種類の濃淡の陰影が施されている。また、図９Ｂの３次元画像には、輪郭が付けられている。その結果、図９Ｂの３次元画像は、手書きの２次元のイラストのような画像となる。
【０１０２】
次に、図１０Ａと図１０Ｂ、図１１、および図１２を参照して、グローシェーディングモードまたはトゥーンシェーディングモードで表示される、３次元GUI画像について説明する。
【０１０３】
図１０Ａは、表示モードがグローシェーディングモードである場合に、出力部１９に表示される１つのメニューGUI画像を示しており、図１０Ｂは、表示モードがトゥーンシェーディングモードである場合に、出力部１９に表示される１つのメニューGUI画像を示している。
【０１０４】
図１０Ａに示すように、表示モードがグローシェーディングモードである場合、メニューGUI画像では、輝度Ｓgが連続的に変化している。一方、図１０Ｂに示すように、表示モードがトゥーンシェーディングである場合、メニューGUI画像では、輝度Ｓtが高輝度ＳH、中間輝度ＳM、および低輝度ＳLのうちのいずれかになっており、メニューGUI画像には３種類の濃淡の陰影が施されている。また、図１０ＢのメニューGUI画像には、輪郭が付けられている。
【０１０５】
図１１は、表示モードがグローシェーディングモードである場合に、複数の３次元GUI画像が表示された出力部１９の画面を示している。
【０１０６】
図１１の例では、チャンネル（Channel）を表示させるためのGUI画像(以下、チャンネル表示GUI画像という)１３１と、表示モードを切り替えるためのGUI画像（以下、表示モードGUI画像という）１３２とが出力部１９に表示されている。
【０１０７】
チャンネル表示GUI画像１３１は、例えば、チューナ１７で受信可能な放送番組のチャンネルに対応するチャンネルGUI画像１３３−１乃至１３３−１７を表示させるとき、ユーザの入力部１８の操作により選択される。例えば、チャンネル表示GUI画像１３１がユーザにより選択されたとき、図１１に示すように、チャンネル表示GUI画像１３１の３次元空間上の奥行き方向（図１１中手前側から奥側に向かう方向）に、各チャンネルの番号を表すGUI画像（以下、チャンネルGUI画像という）１３３−１乃至１３３−１７が並べて表示される。
【０１０８】
このように、出力部１９に３次元GUI画像を表示させる場合、奥行き方向にGUI画像を並べて（重ねて）表示させることができるので、２次元GUI画像に比べて、出力部１９の１画面内に多くのGUI画像を表示することができる。
【０１０９】
チャンネルGUI画像１３３−１乃至１３３−１７は、例えば、そのチャンネルGUI画像１３３−１乃至１３３−１７が表すチャンネルの放送番組を表示させるとき、ユーザの入力部１８の操作により選択される。また、表示モードGUI画像１３２は、表示モードをトゥーンシェーディングモードまたはグローシェーディングモードのうち、いま設定されている一方のモードから他方のモードに設定する（切り換える）とき、ユーザの入力部１８の操作により選択される。
【０１１０】
また、図１１のチャンネル表示GUI画像１３１、表示モードGUI画像１３２、およびチャンネルGUI画像１３３−１乃至１３３−１７においては、輝度Ｓgが連続的に変化している。
【０１１１】
ここで、ユーザが入力部１８を操作することにより、表示モードGUI画像１３２を選択し、表示モードをトゥーンシェーディングモードに切り換えた場合、出力部１９には、図１２に示す画面が表示される。
【０１１２】
即ち、図１２に示すように、チャンネル表示GUI画像１３１、表示モードGUI画像１３２、およびチャンネルGUI画像１３３−１乃至１３３−１７において、図１１で連続的に変化していた輝度Ｓtが、高輝度ＳH、中間輝度ＳM、および低輝度ＳLの３種類のうちのいずれかになるように変更され、輪郭が付けられている。
【０１１３】
図１１と図１２に示したように、ユーザは、トゥーンシェーディングモードおよびグローシェーディングモードの一方から他方に、表示モードを切り替えることにより、出力部１９の画面に表示されるチャンネル表示GUI画像１３１、表示モードGUI画像１３２、およびチャンネルGUI画像１３３−１乃至１３３−１７の見た目の印象を変更することができる。
【０１１４】
即ち、例えば、ユーザは、グローシェーディングモードからトゥーンシェーディングモードに、表示モードを切り替えることにより、チャンネル表示GUI画像１３１、表示モードGUI画像１３２、およびチャンネルGUI画像１３３−１乃至１３３−１７の表示方法を、手書き風の表示方法に変更することができる。
【０１１５】
次に、図１３を参照して、受信装置１が３次元GUI画像を表示する表示処理について説明する。この表示処理は、例えば、ユーザにより、図１１や図１２の表示モードGUI画像１３２が選択されたとき、開始される。
【０１１６】
ステップＳ１において、CPU１１は、いまの表示モードがトゥーンシェーディングモードであるかどうかを判定し、いまの表示モードがトゥーンシェーディングモードであると判定した場合、ステップＳ２に進む。ステップＳ２において、CPU１１は、表示モードをグローシェーディングモードに設定し、そのグローシェーディングモードを表す表示モード情報をGPU１４に供給して、ステップＳ４に進む。
【０１１７】
一方、ステップＳ１において、いまの表示モードがトゥーンシェーディングモードではないと判定された場合、ステップＳ３に進み、CPU１１は、表示モードをトゥーンシェーディングモードに設定し、そのトゥーンシェーディングモードを表す表示モード情報をGPU１４に供給して、ステップＳ４に進む。
【０１１８】
ステップＳ４において、CPU１１は、ROM１２から、表示対象とするすべての３次元GUI画像の頂点データを読み出し、その頂点データをGPU１４に供給して、ステップＳ５に進む。ステップＳ５において、GPU１４は、出力部１９に３次元GUI画像を表示させるレンダリング処理を行う。このレンダリング処理の詳細は、後述する図１４を参照して説明する。
【０１１９】
図１４は、図１３のステップＳ５のレンダリング処理を説明するフローチャートである。
【０１２０】
ステップＳ２１において、GPU１４は、CPU１１から供給される表示モード情報と、ROM１２から読み出される頂点データとに基づいて、頂点処理を行う。この頂点処理の詳細は、後述する図１５を参照して説明する。頂点処理部４１は、頂点処理の結果得られる頂点データを、ラスタライズ部４２に供給する。
【０１２１】
ステップＳ２１の処理後は、ステップＳ２２に進み、ラスタライズ部４２は、頂点処理部４１から供給される頂点データに基づいてラスタライズを行う。ラスタライズ部４２は、その結果得られる画素データと頂点データと、頂点処理部４１から供給される頂点データを、ピクセル処理部４３に供給する。
【０１２２】
ステップＳ２２の処理後は、ステップＳ２３に進み、ピクセル処理部４３は、CPU１１から供給される表示モード情報、並びにラスタライズ部４２からの画素データと頂点データに基づいて、ピクセル処理を行う。このピクセル処理の詳細は、後述する図１６を参照して説明する。ステップＳ２３の処理後は、図１３のステップＳ５に戻り、処理は終了する。
【０１２３】
次に、図１５を参照して、図１４のステップＳ２１の頂点処理について説明する。
【０１２４】
ステップＳ４１において、頂点データ記憶部６１は、ROM１２から読み出された頂点データを記憶し、ステップＳ４２に進む。
【０１２５】
ステップＳ４２において、選択部６２は、CPU１１からの表示モード情報に基づいて、いまの表示モードが、トゥーンシェーディングモードであるかどうかを判定する。ステップＳ４２において、いまの表示モードがトゥーンシェーディングモードであると判定された場合、選択部６２は、座標変換処理部６３と頂点シェーダ６４のうち頂点シェーダを選択し、頂点データ記憶部６１から頂点データを読み出して、その頂点データを、選択した頂点シェーダ６４の射影変換処理部８１に供給し、ステップＳ４３に進む。
【０１２６】
ステップＳ４３において、射影変換処理部８１は、選択部６２から供給される頂点データに基づいて、上述した式（１）により射影変換を行う。そして、射影変換後の頂点データを記憶部９２に供給し、一時的に記憶させる。
【０１２７】
ステップＳ４３の処理後は、ステップＳ４４に進み、選択部６２は、頂点データ記憶部６１から頂点データを読み出し、輪郭処理部８２に供給し、ステップＳ４５に進む。ステップＳ４５において、輪郭処理部８２は、選択部６２から供給される頂点データに基づいて、上述した式（１）と式（２）の演算や頂点のカラーｃ0の変更により、輪郭処理を行う。輪郭処理部８２は、輪郭処理後の頂点データを記憶部９３に供給し、一時的に記憶させる。
【０１２８】
ステップＳ４５の処理後は、ステップＳ４６に進み、表裏判定部６６は、記憶部９３から３角形のポリゴンを形成する３個の頂点の頂点データを読み出し、その頂点データの法線ベクトルｎ1と、予め設定されている仮想視点の方向とに基づいて、ポリゴンが仮想視点の方向に対して表向きであるか、または裏向きであるかの判定である表裏判定を行う。表裏判定部６６は、その表裏判定の結果に基づいて、裏向きであるポリゴンの３個の頂点データを、クリッピング処理部６７に供給する。
【０１２９】
一方、ステップＳ４２において、いまの表示モードがトゥーンシェーディングモードではないと判定された場合、即ちいまの表示モードがグローシェーディングモードであると判定された場合、選択部６２は、座標変換処理部６３と頂点シェーダ６４のうちの座標変換処理部６３を選択し、頂点データ記憶部６１から頂点データを読み出して、その頂点データを、選択した座標変換処理部８１に供給し、ステップＳ４７に進む。
【０１３０】
ステップＳ４７において、座標変換処理部６３は、選択部６２からの頂点データに対して、モデルビュー行列を用いて、モデリング変換、ビューイング変換などの座標変換を行う。座標変換処理部６３は、座標変換後の頂点データをキャッシュメモリ６５の記憶部９１に供給し、一時的に記憶させる。
【０１３１】
ステップＳ４６またはステップＳ４７の処理後は、ステップＳ４８に進み、クリッピング処理部６７は、記憶部９１から読み出される頂点データ、または記憶部９２から読み出される頂点データおよび表裏判定部６６から供給される頂点データと、仮想視点の方向および位置とに基づいて、クリッピングを行う。そして、クリッピング処理部６７は、その結果得られる頂点データを、透視変換処理部６８に供給する。
【０１３２】
ステップＳ４８の処理後は、ステップＳ４９に進み、透視変換処理部６８は、クリッピング処理部６７から供給される頂点データ、並びに予め設定された仮想視点の位置および方向に基づいて、その頂点データが表す頂点の透視投影を行う。そして、透視変換処理部６８は、その結果得られる頂点データを、ビューポート変換部６９に供給する。
【０１３３】
ステップＳ４９の処理後は、ステップＳ５０に進み、ビューポート変換部６９は、予め設定されたビューポートの大きさに応じて、透視変換処理部６８からの頂点データに対してビューポート変換を行う。ビューポート変換部６９は、ビューポート変換後の頂点データを、トライアングルセットアップ部７０に供給する。
【０１３４】
ステップＳ５０の処理後は、ステップＳ５１に進み、トライアングルセットアップ部７０は、ラスタライズ部４２によるラスタライズで用いられるパラメータを算出する。トライアングルセットアップ部７０は、そのパラメータを、ビューポート変換部６９からの頂点データとともに、ラスタライズ部４２に供給し、図１４のステップＳ２１に戻り、ステップＳ２２に進む。
【０１３５】
次に、図１６を参照して、図１４のステップＳ２３のピクセル処理について説明する。
【０１３６】
ステップＳ６１において、選択部１２１は、CPU１１から供給される表示モード情報に基づいて、いまの表示モードがトゥーンシェーディングモードであるかどうかを判定する。ステップＳ６１において、いまの表示モードがトゥーンシェーディングモードであると判定された場合、選択部１２１は、トゥーンシェーディング部１２４とグローシェーディング部１２５のうちのトゥーンシェーディング部１２４を選択し、ラスタライズ部４２から供給される画素データと頂点データを、その選択したトゥーンシェーディング部１２４に供給し、ステップＳ６２に進む。
【０１３７】
ステップＳ６２において、トゥーンシェーディング部１２４は、選択部１２１からの画素データと、予め設定された光源ベクトルｌとに基づいて、上述した式（５）により、その画素データに含まれる法線ベクトルｎpと光源ベクトルｌの内積を算出し、ステップＳ６３に進む。
【０１３８】
ステップＳ６３において、トゥーンシェーディング部１２４は、算出結果である内積ｄに基づいて、上述した式（６）により、各画素の輝度Ｓtを決定する処理を行う。トゥーンシェーディング部１２４は、その処理の結果得られる各画素の輝度Ｓt、並びに選択部１２１からの画素データと頂点データを、３次元GUI画像を表示させるための表示データとして、後処理部１２３に供給する。
【０１３９】
一方、ステップＳ６１において、いまの表示モードがトゥーンシェーディングモードではない、即ちいまの表示モードがグローシェーディングモードであると判定された場合、選択部１２１は、トゥーンシェーディング部１２４とグローシェーディング部１２５のうちのグローシェーディング部１２５を選択し、ラスタライズ部４２から供給される画素データと頂点データを、その選択したグローシェーディング部１２５に供給し、ステップＳ６４に進む。
【０１４０】
ステップＳ６４において、グローシェーディング部１２５は、選択部１２１からの頂点データに含まれる法線ベクトルに基づいて、各頂点の法線ベクトルを算出する。具体的には、グローシェーディング部１２５は、各頂点により形成される複数のポリゴンの法線ベクトルの平均を、その頂点の法線ベクトルとして、頂点ごとに算出する。
【０１４１】
ステップＳ６４の処理後は、ステップＳ６５に進み、グローシェーディング部１２５は、頂点の法線ベクトル、頂点データ、予め設定された光源ベクトルｌなどに基づいて、いわゆるフォンの照明モデルにより、各頂点の輝度を算出し、ステップＳ６６に進む。
【０１４２】
ステップＳ６６において、グローシェーディング部１２５は、頂点の輝度に基づいて、各画素に対応する点の周囲の頂点の輝度から、線形補間により、その点の輝度を算出し、その輝度を各画素の輝度Ｓgとして決定する。そして、グローシェーディング部１２５は、各画素の輝度Ｓg、並びに選択部１２１からの画素データと頂点データを、３次元GUI画像を表示させるための表示データとして、後処理部１２３に供給する。
【０１４３】
ステップＳ６３またはステップＳ６６の処理後は、ステップＳ６７に進み、後処理部１２３は、トゥーンシェーディング部１２４またはグローシェーディング部１２５からの表示データに対してシザーテストを行い、画面の部分更新を行うかどうかを決定する。
【０１４４】
ステップＳ６７の処理後は、ステップＳ６８に進み、後処理部１２３は、表示データに対してαテストを行い、透過処理を行うかどうかを決定する。ステップＳ６８の処理後は、ステップＳ６９に進み、後処理部１２３は、表示データに対して、深度テストを行うことにより、仮想視点に対する３次元GUI画像に対応する各ポリゴンの前後関係の判定を行い、陰面を消去する。
【０１４５】
ステップＳ６９の処理後は、ステップＳ７０に進み、後処理部１２３は、表示データに対してαブレンドを行い、前後のポリゴンの色を混合し、ステップＳ７１に進む。ステップＳ７１において、後処理部１２３は、表示データに対して、アンチエイリアシングを行い、ポリゴンの境界面をぼかし、ステップＳ７２に進む。
【０１４６】
ステップＳ７２において、後処理部１２３は、シザーテスト、αテスト、深度テスト、αブレンド、およびアンチエイリアシングが後処理として行われた後の表示データに基づいて、出力部１９に３次元GUI画像を表示させる。その結果、出力部１９には、例えば、図１１や図１２に示した画面が表示される。図１６のステップＳ７２の処理後は、図１４のステップＳ２３に戻り、処理は終了する。
【０１４７】
以上のように、受信装置１では、GPU１４が、表示モードに応じて、頂点処理とピクセル処理の一部の処理を変更することにより、シェーディングを変更する。従って、ユーザは、頂点処理とピクセル処理の一部の処理を行うためのプログラムをROM１２に記憶させておくだけで、シェーディングを変更し、３次元画像の表示方法を容易に変更することができる。即ち、表示方法を変更するために必要なデータは、シェーディングを行うためのプログラムのデータ（コード）となり、変更後の３次元GUI画像をROM１２に記憶しておく必要がある場合に比べて、表示方法の変更に必要なデータの量は少なくて済む。
【０１４８】
また、受信装置１では、表示モードがトゥーンシェーディングモードに設定される場合、選択部６２が、射影変換処理部８１と輪郭処理部８２に頂点データを供給し、選択部１２１が、ラスタライズ部４２からの頂点データと画素データをトゥーンシェーディング部１２４に供給するようにしたので、３次元の画像の表示方法を、手書き風の表示方法に容易に変更することができる。
【０１４９】
なお、上述した説明では、表示モードがトゥーンシェーディングモードである場合、ROM１２から頂点データが２回読み出されるようにしたが、頂点データは１回だけ読み出されるようにしてもよい。この場合、ROM１２から読み出された頂点データが、頂点データ記憶部６１の所定の領域に記憶された後、その所定の領域に記憶された頂点データが、他の領域にコピーされる。
【０１５０】
また、上述した説明では、表示対象を３次元GUI画像としたが、表示対象は、３次元の画像であれば、これに限定されない。さらに、GPU１４は、トゥーンシェーディングまたはグローシェーディングを行うものとしたが、グローシェーディングではなく、他のシェーディングを行うものとしてもよい。また、GPU１４で可能なシェーディングの種類の数は、１以上であればいくつであってもよい。
【０１５１】
さらに、上述した説明では、ポリゴンの形状が３角形であるものとしたが、ポリゴンの形状は、これに限定されない。
【０１５２】
また、本発明は、受信装置１だけでなく、例えば、パーソナルコンピュータ、携帯電話機などの、表示を制御する機能を備える電子機器に適用することができる。
【０１５３】
なお、本明細書において、プログラム記録媒体に格納されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０１５４】
また、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【図面の簡単な説明】
【０１５５】
【図１】本発明を適用した受信装置のハードウェア構成例を示すブロック図である。
【図２】GPUの機能的構成例を示すブロック図である。
【図３】頂点処理部の詳細構成例を示すブロック図である。
【図４】法線ベクトルについて説明する図である。
【図５】頂点処理部における処理について説明する図である。
【図６】輪郭処理部による輪郭処理について説明する図である。
【図７】ピクセル処理部の詳細構成例を示すブロック図である。
【図８】法線ベクトルと光源ベクトルの内積について説明する図である。
【図９】グローシェーディングと、トゥーンシェーディングについて説明する図である。
【図１０】３次元GUI画像の例を示す図である。
【図１１】グローシェーディングモードで表示される画面の例を示す図である。
【図１２】トゥーンシェーディングモードで表示される画面の例を示す図である。
【図１３】表示処理について説明するフローチャートである。
【図１４】レンダリング処理について説明するフローチャートである。
【図１５】頂点処理について説明するフローチャートである。
【図１６】ピクセル処理について説明するフローチャートである。
【符号の説明】
【０１５６】
１  受信装置，  １１  CPU，  １２  ROM，  １３  RAM，  １４  GPU，  ２０  記録部，  ２３  リムーバブルメディア，  ４１  頂点処理部，  ４２  ラスタライズ部，  ４３  ピクセル処理部，  ６２  選択部，  ６３  座標変換処理部，  ８１  射影変換処理部，  ８２  輪郭処理部，  １２１  選択部，  １２２  ピクセルシェーダ，  １２３  後処理部，  １２４  トゥーンシェーディング部，  １２５  グローシェーディング部
【図１】
2007183832.tif 000004
【図２】
2007183832.tif 000005
【図３】
2007183832.tif 000006
【図４】
2007183832.tif 000007
【図５】
2007183832.tif 000008
【図６】
2007183832.tif 000009
【図７】
2007183832.tif 000010
【図８】
2007183832.tif 000011
【図９】
2007183832.tif 000012
【図１０】
2007183832.tif 000013
【図１１】
2007183832.tif 000014
【図１２】
2007183832.tif 000015
【図１３】
2007183832.tif 000016
【図１４】
2007183832.tif 000017
【図１５】
2007183832.tif 000018
【図１６】
2007183832.tif 000019