JP2007183832A - 表示制御装置および表示制御方法、並びにプログラム - Google Patents
表示制御装置および表示制御方法、並びにプログラム Download PDFInfo
- Publication number
- JP2007183832A JP2007183832A JP2006001749A JP2006001749A JP2007183832A JP 2007183832 A JP2007183832 A JP 2007183832A JP 2006001749 A JP2006001749 A JP 2006001749A JP 2006001749 A JP2006001749 A JP 2006001749A JP 2007183832 A JP2007183832 A JP 2007183832A
- Authority
- JP
- Japan
- Prior art keywords
- mode
- vertex data
- shading
- pixel
- data
- 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.)
- Withdrawn
Links
Images
Landscapes
- Image Generation (AREA)
Abstract
【課題】3次元の画像の表示方法を、手書き風の表示方法に容易に変更する。
【解決手段】CPUは、表示モードを、トゥーンシェーディングを行うモードであるトゥーンシェーディングモードに設定する。頂点処理部41は、表示モードがトゥーンシェーディングモードである場合、3次元画像に対応するポリゴンの頂点データを用いて、射影変換を行うとともに、3次元画像に輪郭を付けるための処理である輪郭処理を行う。ラスタライズ部42は、射影変換後の頂点データと、輪郭処理後の頂点データを用いて、ラスタライズを行う。ピクセル処理部43は、ラスタライズの結果得られる画素データを用いて、各画素の輝度値を決定し、その各画素の輝度と画素データとを用いて、3次元画像を表示させる。本発明は、例えば、テレビジョン受像機に適用することができる。
【選択図】図2
【解決手段】CPUは、表示モードを、トゥーンシェーディングを行うモードであるトゥーンシェーディングモードに設定する。頂点処理部41は、表示モードがトゥーンシェーディングモードである場合、3次元画像に対応するポリゴンの頂点データを用いて、射影変換を行うとともに、3次元画像に輪郭を付けるための処理である輪郭処理を行う。ラスタライズ部42は、射影変換後の頂点データと、輪郭処理後の頂点データを用いて、ラスタライズを行う。ピクセル処理部43は、ラスタライズの結果得られる画素データを用いて、各画素の輝度値を決定し、その各画素の輝度と画素データとを用いて、3次元画像を表示させる。本発明は、例えば、テレビジョン受像機に適用することができる。
【選択図】図2
Description
本発明は、表示制御装置および表示制御方法、並びにプログラムに関し、特に、3次元の画像の表示方法を、手書き風の表示方法に容易に変更することができるようにした表示制御装置および表示制御方法、並びにプログラムに関する。
近年、テレビジョン受像機やパーソナルコンピュータなどの家電機器において、ユーザI/F(Interface)として、GUI(Graphical User Interface)が多く用いられている(例えば、特許文献1参照)。
しかしながら、ユーザが、2次元のGUI画像の表示方法を変更させるためには、家電機器に、変更前の2次元のGUI画像を表示させるための画像データのほかに、変更後の2次元のGUI画像を表示させるための画像データを予め記憶させておく必要があり、家電機器における画像データの記憶量が増加してしまう。
また、家電機器が有するディスプレイ等の表示手段の画面の大きさには限りがあるため、表示可能な2次元のGUI画像の数には限界がある。
そこで、表示方法の変更に伴う画像データの記憶量の増加を防止したり、より多くのGUI画像を表示させるために、2次元のGUI画像ではなく、3次元のGUI画像(以下、3次元GUI画像という)を表示させることが考えられている。
しかしながら、3次元GUI画像などの3次元の画像の表示方法を、手書き風の表示方法に変更させ、3次元の画像を、2次元の画像のように表示させることは考えられていなかった。
本発明は、このような状況に鑑みてなされたものであり、3次元の画像の表示方法を、手書き風の表示方法に容易に変更することができるようにするものである。
本発明の一側面の表示制御装置は、所定の3次元画像を表示させる表示制御装置において、表示モードを、トゥーンシェーディングを行うモードであるトゥーンシェーディングモードに設定する設定手段と、前記3次元画像に対応するポリゴンの頂点に関するデータである頂点データを用いて、射影変換を行う射影変換手段と、前記頂点データを用いて、前記3次元画像に輪郭を付けるための処理である輪郭処理を行う輪郭処理手段と、前記射影変換手段による射影変換後の頂点データと、前記輪郭処理手段による輪郭処理後の頂点データを用いて、ラスタライズを行うラスタライズ手段と、前記ラスタライズ手段によるラスタライズの結果得られる、前記3次元画像を構成する各画素に関するデータを用いて、各画素の輝度を決定するトゥーンシェーディング手段と、前記トゥーンシェーディング手段により決定された各画素の輝度と、前記各画素に関するデータとを用いて、前記3次元画像を表示させる表示制御手段と、前記設定手段により前記表示モードが前記トゥーンシェーディングモードに設定される場合、前記頂点データを前記射影変換手段と前記輪郭手段に供給する頂点データ供給手段と、前記設定手段により前記表示モードが前記トゥーンシェーディングモードに設定される場合、前記各画素に関するデータを、前記トゥーンシェーディング手段に供給する処理結果供給手段とを備える。
この表示制御装置は、前記頂点データを用いて座標変換を行う座標変換手段をさらに設け、前記設定手段は、前記表示モードを、前記トゥーンシェーディングモードと、前記トゥーンシェーディングモード以外のモードに設定し、前記頂点データ供給手段は、前記設定手段により前記表示モードが前記トゥーンシェーディングモード以外のモードに設定される場合、前記頂点データを前記座標変換手段に供給することができる。
この表示制御装置は、前記座標変換手段による座標変換後の頂点データと、前記各画素に関するデータとを用いて、スムーズシェーディングを行うスムーズシェーディング手段をさらに設け、前記処理結果供給手段は、前記設定手段により前記表示モードが前記トゥーンシェーディングモード以外のモードに設定される場合、前記座標変換後の頂点データと前記各画素に関するデータとを、前記スムーズシェーディング手段に供給することができる。
前記設定手段は、ユーザからの指示により前記表示モードを前記トゥーンシェーディングモードに設定することができる。
前記3次元画像は、GUI(Graphical User Interface)画像である。
本発明の一側面の表示制御方法は、所定の3次元画像を表示させる表示制御装置の表示制御方法において、表示モードを、トゥーンシェーディングを行うモードであるトゥーンシェーディングモードに設定し、前記表示モードが前記トゥーンシェーディングモードに設定される場合、前記3次元画像に対応するポリゴンの頂点に関するデータである頂点データを用いて、射影変換を行い、前記表示モードが前記トゥーンシェーディングモードに設定される場合、前記頂点データを用いて、前記3次元画像に輪郭を付けるための処理である輪郭処理を行い、射影変換後の頂点データと、輪郭処理後の頂点データを用いて、ラスタライズを行い、前記表示モードが前記トゥーンシェーディングモードに設定される場合、前記ラスタライズの結果得られる、前記3次元画像を構成する各画素に関するデータを用いて、各画素の輝度を決定し、その決定された各画素の輝度と、前記各画素に関するデータとを用いて、前記3次元画像を表示させるステップを含む。
本発明の一側面のプログラムは、所定の3次元画像を表示させる処理を、コンピュータに行わせるプログラムにおいて、表示モードを、トゥーンシェーディングを行うモードであるトゥーンシェーディングモードに設定し、前記表示モードが前記トゥーンシェーディングモードに設定される場合、前記3次元画像に対応するポリゴンの頂点に関するデータである頂点データを用いて、射影変換を行い、前記表示モードが前記トゥーンシェーディングモードに設定される場合、前記頂点データを用いて、前記3次元画像に輪郭を付けるための処理である輪郭処理を行い、射影変換後の頂点データと、輪郭処理後の頂点データを用いて、ラスタライズを行い、前記表示モードが前記トゥーンシェーディングモードに設定される場合、前記ラスタライズの結果得られる、前記3次元画像を構成する各画素に関するデータを用いて、各画素の輝度を決定し、その決定された各画素の輝度と、前記各画素に関するデータとを用いて、前記3次元画像を表示させるステップを含む。
本発明の一側面においては、表示モードが、トゥーンシェーディングを行うモードであるトゥーンシェーディングモードに設定され、前記表示モードが前記トゥーンシェーディングモードに設定される場合、前記3次元画像に対応するポリゴンの頂点に関するデータである頂点データを用いて、射影変換が行われ、前記頂点データを用いて、前記3次元画像に輪郭を付けるための処理である輪郭処理が行われる。そして、射影変換後の頂点データと、輪郭処理後の頂点データを用いて、ラスタライズが行われ、前記ラスタライズの結果得られる、前記3次元画像を構成する各画素に関するデータを用いて、各画素の輝度が決定され、その決定された各画素の輝度と、前記各画素に関するデータとを用いて、前記3次元画像が表示される。
以上のように、本発明の一側面によれば、3次元の画像を表示させることができる。
また、本発明の一側面によれば、3次元の画像の表示方法を、手書き風の表示方法に容易に変更することができる。
以下に本発明の実施の形態を説明するが、本発明の構成要件と、明細書又は図面に記載の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、明細書又は図面に記載されていることを確認するためのものである。従って、明細書又は図面中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
本発明の一側面の表示制御装置は、第1に、
所定の3次元画像(例えば、3次元GUI画像)を表示させる表示制御装置(例えば、図1の受信装置1)において、
表示モードを、トゥーンシェーディングを行うモードであるトゥーンシェーディングモードに設定する設定手段(例えば、図4のCPU11)と、
前記3次元画像に対応するポリゴンの頂点に関するデータである頂点データを用いて、射影変換を行う射影変換手段(例えば、図3の射影変換処理部81)と、
前記頂点データを用いて、前記3次元画像に輪郭を付けるための処理である輪郭処理を行う輪郭処理手段(例えば、図3の輪郭処理部82)と、
前記射影変換手段による射影変換後の頂点データと、前記輪郭処理手段による輪郭処理後の頂点データを用いて、ラスタライズを行うラスタライズ手段(例えば、図2のラスタライズ部42)と、
前記ラスタライズ手段によるラスタライズの結果得られる、前記3次元画像を構成する各画素に関するデータを用いて、各画素の輝度を決定するトゥーンシェーディング手段(例えば、図7のトゥーンシェーディング部124)と、
前記トゥーンシェーディング手段により決定された各画素の輝度と、前記各画素に関するデータとを用いて、前記3次元画像を表示させる表示制御手段(例えば、図7の後処理部123)と、
前記設定手段により前記表示モードが前記トゥーンシェーディングモードに設定される場合、前記頂点データを前記射影変換手段と前記輪郭手段に供給する頂点データ供給手段と(例えば、図3の選択部62)、
前記設定手段により前記表示モードが前記トゥーンシェーディングモードに設定される場合、前記各画素に関するデータを、前記トゥーンシェーディング手段に供給する処理結果供給手段(例えば、図7の選択部121)と、
を備える。
所定の3次元画像(例えば、3次元GUI画像)を表示させる表示制御装置(例えば、図1の受信装置1)において、
表示モードを、トゥーンシェーディングを行うモードであるトゥーンシェーディングモードに設定する設定手段(例えば、図4のCPU11)と、
前記3次元画像に対応するポリゴンの頂点に関するデータである頂点データを用いて、射影変換を行う射影変換手段(例えば、図3の射影変換処理部81)と、
前記頂点データを用いて、前記3次元画像に輪郭を付けるための処理である輪郭処理を行う輪郭処理手段(例えば、図3の輪郭処理部82)と、
前記射影変換手段による射影変換後の頂点データと、前記輪郭処理手段による輪郭処理後の頂点データを用いて、ラスタライズを行うラスタライズ手段(例えば、図2のラスタライズ部42)と、
前記ラスタライズ手段によるラスタライズの結果得られる、前記3次元画像を構成する各画素に関するデータを用いて、各画素の輝度を決定するトゥーンシェーディング手段(例えば、図7のトゥーンシェーディング部124)と、
前記トゥーンシェーディング手段により決定された各画素の輝度と、前記各画素に関するデータとを用いて、前記3次元画像を表示させる表示制御手段(例えば、図7の後処理部123)と、
前記設定手段により前記表示モードが前記トゥーンシェーディングモードに設定される場合、前記頂点データを前記射影変換手段と前記輪郭手段に供給する頂点データ供給手段と(例えば、図3の選択部62)、
前記設定手段により前記表示モードが前記トゥーンシェーディングモードに設定される場合、前記各画素に関するデータを、前記トゥーンシェーディング手段に供給する処理結果供給手段(例えば、図7の選択部121)と、
を備える。
本発明の一側面の表示制御装置は、第2に、
前記頂点データを用いて座標変換を行う座標変換手段(例えば、図3の座標変換処理部63)
をさらに備え、
前記設定手段は、前記表示モードを、前記トゥーンシェーディングモードと、前記トゥーンシェーディングモード以外のモードに設定し(例えば、図13のステップS2とステップS3の処理)、
前記頂点データ供給手段は、前記設定手段により前記表示モードが前記トゥーンシェーディングモード以外のモードに設定される場合、前記頂点データを前記座標変換手段に供給する(例えば、図15のステップS42の処理)。
前記頂点データを用いて座標変換を行う座標変換手段(例えば、図3の座標変換処理部63)
をさらに備え、
前記設定手段は、前記表示モードを、前記トゥーンシェーディングモードと、前記トゥーンシェーディングモード以外のモードに設定し(例えば、図13のステップS2とステップS3の処理)、
前記頂点データ供給手段は、前記設定手段により前記表示モードが前記トゥーンシェーディングモード以外のモードに設定される場合、前記頂点データを前記座標変換手段に供給する(例えば、図15のステップS42の処理)。
本発明の一側面の表示制御装置は、第3に、
前記座標変換手段による座標変換後の頂点データと、前記各画素に関するデータとを用いて、スムーズシェーディングを行うスムーズシェーディング手段(例えば、図7のグローシェーディング部125)
をさらに備え、
前記処理結果供給手段は、前記設定手段により前記表示モードが前記トゥーンシェーディングモード以外のモードに設定される場合、前記座標変換後の頂点データと前記各画素に関するデータとを、前記スムーズシェーディング手段に供給する(例えば、図15のステップS42の処理)。
前記座標変換手段による座標変換後の頂点データと、前記各画素に関するデータとを用いて、スムーズシェーディングを行うスムーズシェーディング手段(例えば、図7のグローシェーディング部125)
をさらに備え、
前記処理結果供給手段は、前記設定手段により前記表示モードが前記トゥーンシェーディングモード以外のモードに設定される場合、前記座標変換後の頂点データと前記各画素に関するデータとを、前記スムーズシェーディング手段に供給する(例えば、図15のステップS42の処理)。
本発明の一側面の表示制御方法は、
所定の3次元画像を表示させる表示制御装置(例えば、図1の受信装置1)の表示制御方法において、
表示モードを、トゥーンシェーディングを行うモードであるトゥーンシェーディングモードに設定し(例えば、図13のステップS3)、
前記表示モードが前記トゥーンシェーディングモードに設定される場合、前記3次元画像に対応するポリゴンの頂点に関するデータである頂点データを用いて、射影変換を行い(例えば、図15のステップS43)、
前記表示モードが前記トゥーンシェーディングモードに設定される場合、前記頂点データを用いて、前記3次元画像に輪郭を付けるための処理である輪郭処理を行い(例えば、図15のステップS45)、
射影変換後の頂点データと、輪郭処理後の頂点データを用いて、ラスタライズを行い(例えば、図14のステップS22)、
前記表示モードが前記トゥーンシェーディングモードに設定される場合、前記ラスタライズの結果得られる、前記3次元画像を構成する各画素に関するデータを用いて、各画素の輝度を決定し(例えば、図6のステップS63)、
その決定された各画素の輝度と、前記各画素に関するデータとを用いて、前記3次元画像を表示させる(例えば、図16のステップS72)
ステップを含む。
所定の3次元画像を表示させる表示制御装置(例えば、図1の受信装置1)の表示制御方法において、
表示モードを、トゥーンシェーディングを行うモードであるトゥーンシェーディングモードに設定し(例えば、図13のステップS3)、
前記表示モードが前記トゥーンシェーディングモードに設定される場合、前記3次元画像に対応するポリゴンの頂点に関するデータである頂点データを用いて、射影変換を行い(例えば、図15のステップS43)、
前記表示モードが前記トゥーンシェーディングモードに設定される場合、前記頂点データを用いて、前記3次元画像に輪郭を付けるための処理である輪郭処理を行い(例えば、図15のステップS45)、
射影変換後の頂点データと、輪郭処理後の頂点データを用いて、ラスタライズを行い(例えば、図14のステップS22)、
前記表示モードが前記トゥーンシェーディングモードに設定される場合、前記ラスタライズの結果得られる、前記3次元画像を構成する各画素に関するデータを用いて、各画素の輝度を決定し(例えば、図6のステップS63)、
その決定された各画素の輝度と、前記各画素に関するデータとを用いて、前記3次元画像を表示させる(例えば、図16のステップS72)
ステップを含む。
本発明の一側面のプログラムは、
所定の3次元画像(例えば、3次元GUI画像)を表示させる処理を、コンピュータに行わせるプログラムにおいて、
表示モードを、トゥーンシェーディングを行うモードであるトゥーンシェーディングモードに設定し(例えば、図13のステップS3)、
前記表示モードが前記トゥーンシェーディングモードに設定される場合、前記3次元画像に対応するポリゴンの頂点に関するデータである頂点データを用いて、射影変換を行い(例えば、図15のステップS43)、
前記表示モードが前記トゥーンシェーディングモードに設定される場合、前記頂点データを用いて、前記3次元画像に輪郭を付けるための処理である輪郭処理を行い(例えば、図15のステップS45)、
射影変換後の頂点データと、輪郭処理後の頂点データを用いて、ラスタライズを行い(例えば、図14のステップS22)、
前記表示モードが前記トゥーンシェーディングモードに設定される場合、前記ラスタライズの結果得られる、前記3次元画像を構成する各画素に関するデータを用いて、各画素の輝度を決定し(例えば、図16のステップS63)、
前記トゥーンシェーディングの結果得られる各画素の輝度と、前記各画素に関するデータとを用いて、前記3次元画像を表示させる(例えば、図16のステップS72)
ステップを含む。
所定の3次元画像(例えば、3次元GUI画像)を表示させる処理を、コンピュータに行わせるプログラムにおいて、
表示モードを、トゥーンシェーディングを行うモードであるトゥーンシェーディングモードに設定し(例えば、図13のステップS3)、
前記表示モードが前記トゥーンシェーディングモードに設定される場合、前記3次元画像に対応するポリゴンの頂点に関するデータである頂点データを用いて、射影変換を行い(例えば、図15のステップS43)、
前記表示モードが前記トゥーンシェーディングモードに設定される場合、前記頂点データを用いて、前記3次元画像に輪郭を付けるための処理である輪郭処理を行い(例えば、図15のステップS45)、
射影変換後の頂点データと、輪郭処理後の頂点データを用いて、ラスタライズを行い(例えば、図14のステップS22)、
前記表示モードが前記トゥーンシェーディングモードに設定される場合、前記ラスタライズの結果得られる、前記3次元画像を構成する各画素に関するデータを用いて、各画素の輝度を決定し(例えば、図16のステップS63)、
前記トゥーンシェーディングの結果得られる各画素の輝度と、前記各画素に関するデータとを用いて、前記3次元画像を表示させる(例えば、図16のステップS72)
ステップを含む。
以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。
図1は、本発明を適用した受信装置1のハードウェア構成例を示すブロック図である。
図1の受信装置1は、CPU(Central Processing Unit)11、ROM(Read Only Memory)12、RAM13、GPU(Graphics Processing Unit)14、バス15、入出力インタフェース16、チューナ17、入力部18、出力部19、記録部20、通信部21、およびドライブ22から構成され、チューナ17により受信された放送番組、放送番組に関する3次元GUI画像などを出力部19に出力する。
図1に示すように、CPU11は、バス15を介して、ROM12、RAM13、およびGPU14に接続される。CPU11とGPU14は、ROM12に記憶されているプログラム、または、記録部20に記録されているプログラムにしたがって各種の処理を実行する。
例えば、CPU11は、ROM12に記憶されている、3次元GUI画像に対応する3角形のポリゴンの頂点に関するデータ(以下、頂点データという)を読み出し、その頂点データをGPU14に供給することにより、頂点データに対応する3次元GUI画像の表示を指令する。なお、頂点データは、頂点の座標p0(x,y,z)、頂点により形成されるポリゴンの法線ベクトルn0(n0x,n0y,n0z)、頂点のカラーc0(a,r,g,b)、頂点のテクスチャ座標t0(u,v)など(を表すデータ)である。
また、CPU11は、入力部18から入力される指令に応じて、3次元GUI画像の表示方法を表す表示モードを設定し、その表示モードを表す情報である表示モード情報をGPU14に供給する。
GPU14は、CPU11によりROM12から読み出された頂点データと表示モード情報に基づいて、3次元GUI画像を出力部19に表示させる。RAM13には、CPU11またはGPU14が実行するプログラムやデータなどが適宜記憶される。
CPU11にはまた、バス15を介して入出力インタフェース16が接続されている。入出力インタフェース16には、チューナ17、キーボード、マウス、リモートコントローラなどよりなる入力部18、LCD(Liquid Crystal Display)やCRT(Cathode Ray Tube)ディスプレイなどよりなる出力部19が接続されている。チューナ17は、図示せぬアンテナを介して放送局から放送番組などを受信する。CPU11は、例えば、入力部18から入力される指令に応じて、チューナ17に所定の放送番組を受信させ、受信された放送番組の画像や音声などを、出力部19に出力する。
入出力インタフェース16に接続されている記録部20は、例えば、ハードディスクなどで構成され、CPU11が実行するプログラムや各種のデータを記録する。通信部21は、インターネットやローカルエリアネットワークなどのネットワークを介して外部の装置と通信する。
なお、プログラムは、通信部21を介して取得され、記録部20に記録されるようにしてもよい。
入出力インタフェース16に接続されているドライブ22は、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどのリムーバブルメディア23が装着されたとき、それらを駆動し、そこに記録されているプログラムやデータなどを取得する。取得されたプログラムやデータは、必要に応じて記録部20に転送され、記録される。
図2は、図1のGPU14が所定のプログラムを実行することにより実現する機能の構成例を示すブロック図である。
図2のGPU14は、頂点処理部41、ラスタライズ部42、およびピクセル処理部43から構成される。
GPU14には、CPU11によりROM12から読み出された頂点データが供給され、頂点処理部41に供給される。また、GPU14には、CPU11から表示モード情報が供給され、その表示モード情報が頂点処理部41とピクセル処理部43に供給される。
なお、以下では、表示モードとして、輝度Sgを連続的に変化させるスムーズシェーディングの1つである、グローシェーディングを行うモードであるグローシェーディングモードと、輝度Stを有限階調で表し輪郭を付けるトゥーンシェーディングを行うモードであるトゥーンシェーディングモードの2個のモードがあるものとする。
頂点処理部41は、ROM12からの頂点データと、CPU11からの表示モード情報とに基づいて、頂点データに対する、射影変換、クリッピングなどの処理である頂点処理を行う。頂点処理部41は、その頂点処理の結果得られる頂点データを、ラスタライズ部42に供給する。
ラスタライズ部42は、頂点処理部41から供給される頂点データに基づいてラスタライズを行い、その結果得られる3次元GUI画像を構成する各画素(ピクセル)に関するデータ(以下、画素データという)を、ピクセル処理部43に供給する。なお、画素データは、3次元GUI画像を構成する各画素に対応するポリゴン内の点の座標pp、その点を含むポリゴンの法線ベクトルnp、その点のカラーcp、その点のテクスチャ座標tpなど(を表すデータ)である。
また、ラスタライズ部42は、頂点処理部41から供給される頂点データを、ピクセル処理部43に供給する。ピクセル処理部43は、CPU11からの表示モード情報、並びにラスタライズ部42からの画素データと頂点データに基づいて、シェーディングなどの、ピクセルに対する処理であるピクセル処理を行う。その結果、出力部19には、3次元GUI画像が表示される。
図3は、図2の頂点処理部41の詳細構成例を示すブロック図である。
図3の頂点処理部41は、頂点データ記憶部61、選択部62、座標変換処理部63、頂点シェーダ64、キャッシュメモリ65、表裏判定部66、クリッピング処理部67、透視変換処理部68、ビューポート変換部69、およびトライアングルセットアップ部70から構成される。
頂点データ記憶部61は、ROM12から読み出された頂点データを記憶する。選択部62は、頂点データ記憶部61から頂点データを読み出す。選択部62は、CPU11からの表示モード情報に基づいて、座標変換処理部63と頂点シェーダ64のうちの1つを選択し、その選択した座標変換処理部63または頂点シェーダ64に、頂点データを供給する。
座標変換処理部63は、選択部62からの頂点データに対して、モデルビュー行列を用いて、モデリング変換、ビューイング変換などの座標変換を行う。座標変換処理部63は、座標変換後の頂点データをキャッシュメモリ65の記憶部91に供給する。なお、座標変換後の頂点データの頂点座標と法線ベクトルは、4次元の座標となっている。
頂点シェーダ64は、射影変換処理部81と輪郭処理部82から供給される。射影変換処理部81は、選択部62から供給される頂点データのうちの、座標p0と法線ベクトルn0とに対して、以下の式(1)により射影変換を行う。
(x´,y´,z´,w´)=(x,y,z,1)WVP
・・・(1)
・・・(1)
なお、式(1)において、x,y,zは射影変換前の座標を、x´,y´,z´,w´は射影変換後の座標を、Wはワールド行列を、Vはビュー行列を、Pは透視変換行列を、それぞれ表している。射影変換処理部81は、射影変換後の座標p1と法線ベクトルn1、並びに頂点データのうちのカラーc0とテクスチャ座標t0から構成される、射影変換後の頂点データを、記憶部92に供給する。なお、射影変換後の頂点データには、射影変換処理部81により、射影変換後の頂点データに対応する3角形のポリゴンの表面の描画を指令する情報が付加されている。
輪郭処理部82は、3次元GUI画像に輪郭を付けるための処理である輪郭処理を行う。具体的には、選択部62から供給される頂点データに基づいて、上述した式(1)により射影変換を行う。そして、輪郭処理部82は、以下の式(2)により、射影変換後の頂点の座標p1を、射影変換後の法線ベクトルn1の方向に所定の距離dだけ移動させる。
p2=p1+dn1
・・・(2)
・・・(2)
なお、式(2)において、dは予め設定された定数を表す。
また、輪郭処理部82は、頂点データのうちのカラーc0を、黒色を表すカラーc1に変更する。輪郭処理部82は、輪郭処理後の座標p2とカラーc2、射影変換後の法線ベクトルn1、並びに頂点データのうちのテクスチャ座標t0から構成される、輪郭処理後の頂点データを記憶部93に供給する。なお、輪郭処理後の頂点データには、輪郭処理部82により、輪郭処理後の頂点データに対応する3角形のポリゴンの裏面の描画を指令する情報が付加されている。
キャッシュメモリ65は、記憶部91、記憶部92、および記憶部93から構成される。キャッシュメモリ65の記憶部91は、後述するクリッピング処理部67に読み出されるまで、座標変換処理部63から供給される座標変換後の頂点データを、一時的に記憶する。記憶部92は、射影変換処理部81から供給される射影変換後の頂点データを、クリッピング処理部67に読み出されるまで、一時的に記憶する。また、記憶部93は、後述する表裏判定部66により読み出されるまで、輪郭処理部82から供給される輪郭処理後の頂点データを一時的に記憶する。
表裏判定部66は、記憶部93から3角形のポリゴンを形成する3個の頂点の頂点データを読み出す。そして、表裏判定部66は、その頂点データの法線ベクトルn1と、予め設定されている仮想視点の方向とに基づいて、ポリゴンが仮想視点の方向に対して表向きである(仮想視点の方向と法線ベクトルn1の方向のなす角θ1(0≦θ1≦π)がπ/2以上である)か、または裏向きである(仮想視点の方向と法線ベクトルn1の方向のなす角θ1がπ/2以内である)かの判定である表裏判定を行う。
表裏判定部66は、その表裏判定の結果に基づいて、裏向きであるポリゴンの3個の頂点データを、クリッピング処理部67に供給する。その結果、表向きであるポリゴンの裏面を描画する処理を、省略することができる。
クリッピング処理部67は、記憶部91から読み出される頂点データ、または記憶部92から読み出される頂点データおよび表裏判定部66から供給される頂点データと、仮想視点の方向および位置とに基づいて、クリッピングを行う。これにより、ビュースクリーン内に投影される、3次元GUI画像に対応するポリゴンモデルだけが切り取られる。即ち、クリッピング処理部67は、ビュースクリーン内に投影されるポリゴンモデルのポリゴンを構成する頂点の頂点データ以外を削除する。そして、クリッピング処理部67は、その結果得られる頂点データを、透視変換処理部68に供給する。
透視変換処理部68は、クリッピング処理部67から供給される頂点データに基づいて、以下の式(3)により、その頂点データが表す頂点の透視投影を行う。
(xs,ys,zs,1)=(xc/wc,yc/wc,zc/wc,1)
・・・(3)
・・・(3)
なお、式(3)において、xc,yc,zc,wcは、クリッピング処理部67から供給される頂点データに含まれる頂点の座標であり、xs,ys,zsは、透視投影後の頂点の座標を表す。
そして、透視変換処理部68は、透視投影後の頂点の座標を含む頂点データを、ビューポート変換部69に供給する。
ビューポート変換部69は、予め設定されたビューポートの大きさに応じて、透視変換処理部68からの頂点データに対してビューポート変換を行う。これにより、頂点データのうちの頂点の座標は、出力部19の画面上の座標に変換される。ビューポート変換部69は、ビューポート変換後の頂点データを、トライアングルセットアップ部70に供給する。トライアングルセットアップ部70は、ラスタライズ部42によるラスタライズで用いられるパラメータを算出し、そのパラメータを、ビューポート変換部69からの頂点データとともに、ラスタライズ部42に供給する。
次に、図4を参照して、法線ベクトルn0について説明する。
図4に示すように、頂点A、頂点B、および頂点Cの3個の頂点の頂点データに含まれる法線ベクトルn0は、頂点A、頂点B、および頂点Cにより形成される三角形のポリゴンの一辺である直線ABを表すベクトルaと、他の一辺である直線BCを表すベクトルbとに垂直なベクトルである。即ち、法線ベクトルn0は、ベクトルaとベクトルbの外積であり、以下の式(4)により求められる。
n0=a×b
・・・(4)
・・・(4)
次に、図5を参照して、表示モードがトゥーンシェーディングモードである場合の頂点処理部41における処理について説明する。
図5の例では、メニュー(Menu)の項目を表示させるための3次元GUI画像(以下、メニューGUI画像という)110に対応するポリゴンの頂点の頂点データが、ROM12から読み出されて、頂点処理部41に順に入力される。
表示モードがトゥーンシェーディングモードである場合、図5に示すように、ROM12から頂点データが2回読み出されて、頂点処理部41に順に入力され、頂点データ記憶部61に記憶される。例えば、メニューGUI画像110に対応するポリゴンの頂点の数がi個である場合、頂点データ記憶部61には、2i(=i×2)個の頂点の頂点データが記憶される。
選択部62は、CPU11から供給される、トゥーンシェーディングモードを表す表示モード情報に基づいて、座標変換処理部63または頂点シェーダ64のうちの頂点シェーダ64を選択する。そして、選択部62は、第1回目にROM12から読み出されて、頂点データ記憶部61に記憶された頂点データを、頂点シェーダ64の射影変換部81に順に供給する。また、選択部62は、第2回目にROM12から読み出されて、頂点データ記憶部61に記憶された頂点データを、頂点シェーダ64の輪郭処理部82に順に供給する。
射影変換部81は、選択部62からの頂点データのうちの、座標p0と法線ベクトルn0とに対して、上述した式(1)により射影変換を行う。そして、射影変換処理部81は、射影変換の結果得られる頂点データを、キャッシュメモリ65の記憶部92に供給し、記憶させる。
輪郭処理部82は、選択部62からの頂点データに基づいて、上述した式(1)と式(2)の演算やカラーc0の変更により、輪郭処理を行う。そして、輪郭処理部82は、輪郭処理の結果得られる頂点データを、記憶部93に供給し記憶させる。
表裏判定部66は、記憶部93から3角形のポリゴンを構成する3個の頂点の頂点データを読み出す。そして、表裏判定部66は、その頂点データの法線ベクトルn1と、仮想視点の方向に基づいて、ポリゴンが仮想視点の方向に対して裏向きであるポリゴンの3個の頂点データを、クリッピング処理部67に供給する。
その後、記憶部92から読み出される頂点データと表裏判定部66から出力される頂点データとに基づいて、クリッピング、透視変換処理、およびビューポート変換が行われ、ラスタライズ部42に供給される。さらに、ラスタライズに用いられるパラメータが算出され、ラスタライズ部42に供給される。
次に、図6を参照して、輪郭処理部82による輪郭処理について説明する。
図6は、3次元GUI画像に対応する、複数のポリゴンから構成されるポリゴンモデル111の側断面図を示している。
図6では、仮想視点の位置が、ポリゴンモデル111の図中左中央であり、仮想視点の方向が、ポリゴンモデル111の左側から右側に向かう方向である。従って、その方向と法線ベクトルの方向のなす角θ1がπ以内であるポリゴン112Aとポリゴン112Bが、仮想視点の方向に対して裏向きのポリゴンとなっている。
ここで、輪郭処理部82が、ポリゴンモデル111を構成するポリゴンのうちの、ポリゴン112Aを形成する3個の頂点の頂点データの座標p0に基づいて、上述した式(1)と式(2)の演算を行うと、その演算の結果得られる3個の座標p2に位置する頂点により形成されるポリゴン113Aは、図6に示すように、ポリゴン112Aを、射影変換後の法線ベクトルn1の方向に距離dだけ移動したものとなる。
また、同様に、ポリゴン112Bを形成する頂点の頂点データの座標p0に基づいて、上述した式(1)と式(2)の演算を行うと、その演算の結果得られる3個の座標p2に位置する頂点により形成されるポリゴン113Bは、図6に示すように、ポリゴン112Bを、射影変換後の法線ベクトルn1の方向に距離dだけ移動したものとなる。
上述したように、ポリゴン112Aとポリゴン112Bは、仮想視点の方向に対して裏向きであるので、輪郭処理後の頂点データに対応するポリゴン113Aの裏面114Aと、ポリゴン113Bの裏面114Bは描画される。その結果、仮想視点から裏面114Aの上端115Aと、裏面114Bの下端115Bが輪郭として見える。
なお、図6に示すように、上端115Aと下端115Bの長さは、距離dに応じて変化する。即ち、距離dは、輪郭の太さに対応する定数である。また、以下では、ポリゴン112Aとポリゴン112Bを区別する必要がない場合、
図7は、図2のピクセル処理部43の詳細構成例を示すブロック図である。
図7のピクセル処理部43は、選択部121、ピクセルシェーダ122、および後処理部123から構成される。
選択部121は、CPU11から供給される表示モード情報に基づいて、ピクセルシェーダ122のトゥーンシェーディング部124とグローシェーディング部125のうちの1つを選択する。選択部121は、その選択したトゥーンシェーディング部124またはグローシェーディング部125に、ラスタライズ部42から供給される画素データと頂点データを供給する。
ピクセルシェーダ122のトゥーンシェーディング部124は、選択部121からの画素データと、予め設定された光源ベクトルlとに基づいて、その画素データに含まれる法線ベクトルnpと、仮想の光源を表す光源ベクトルlの内積を算出し、その算出結果に基づいて各画素の輝度Stを決定する処理を行う。この処理と、頂点シェーダ64による処理とが行われることにより、トゥーンシェーディングが行われることになる。
トゥーンシェーディング部124は、その処理の結果得られる各画素の輝度St、並びに画素データと頂点データを、3次元GUI画像を表示させるための表示データとして、後処理部123に供給する。
ピクセルシェーダ122のグローシェーディング部125は、選択部121からの画素データと頂点データに基づいて、各画素の輝度Sgを算出することにより、グローシェーディングを行う。グローシェーディング部125は、その結果得られる各画素の輝度Sg、並びに画素データと頂点データを、3次元GUI画像を表示させるための表示データとして、後処理部123に供給する。
後処理部123は、トゥーンシェーディング部124またはグローシェーディング部125から供給される表示データに対して、シザーテスト、αテスト、深度テスト、αブレンド、アンチエイリアシングなどを後処理として行う。後処理部123は、後処理の結果得られる表示データに基づいて、出力部19に3次元GUI画像を表示させる。
次に、図8を参照して、法線ベクトルnpと光源ベクトルlの内積について説明する。
図8に示すように、画素データに含まれる、画素に対応する点Dを含むポリゴン130の法線ベクトルnpと光源ベクトルlの内積dは、法線ベクトルnpと光源ベクトルlの長さを1としたとき、法線ベクトルnpと光源ベクトルlのなす角θ2(0≦θ2≦π)の余弦となる。即ち、内積dは、以下の式(5)により算出される。
d=l・np=cosθ2
・・・(5)
・・・(5)
式(5)によれば、角θ2が大きいほど、即ち仮想の光源が点Dを含むポリゴン130に照射するときの角度が垂直に近いほど、その角θ2の余弦である内積dは小さくなる。
ここで、トゥーンシェーディング部124は、この内積dを用いて、以下の式(6)により、画素データに対応する画素の輝度Stを決定する。
なお、式(6)において、ε1とε2(ε1≦ε2)は、予め設定された閾値である。また、SHは予め設定された高輝度の値(例えば、白色の輝度の80%の値)であり、SLは予め設定された低輝度の値(例えば、白色の輝度の20%の値)であり、SMは、高輝度SHと低輝度SLの中間の値(例えば、白色の輝度の60%の値)である。
上述したように、内積dは、仮想の光源が点Dを含むポリゴン130に照射するときの角度が垂直に近いほど、小さくなるので、式(6)では、内積dが小さい場合、輝度Stは高輝度SHとなり、内積dが大きい場合、輝度Stは低輝度SLとなっている。
なお、式(6)において、閾値ε1と閾値ε2が同一である場合、輝度Stは高輝度SHと低輝度SLのうちのいずれかとなる。即ち、輝度Stは2階調で表される。
以上のように、トゥーンシェーディング部124は、画素データに基づいて算出された内積d、閾値ε1、および閾値ε2の比較により、輝度Stを高輝度SH、中輝度SM、および低輝度SLのうちのいずれかに決定する。
次に、図9Aと図9Bを参照して、グローシェーディングと、トゥーンシェーディングについて説明する。
図9Aは、グローシェーディングが行われた結果得られる犬の3次元画像を示し、図9Bは、トゥーンシェーディングが行われた結果得られる犬の3次元画像を示している。なお、図9Bにおいて、閾値ε1<閾値ε2であるものとする。このことは、後述する図10Bと図12においても同様である。
図9Aに示すように、グローシェーディングが行われた結果得られる犬の3次元画像では、輝度Stが連続的に(滑らかに)変化している。即ち、図9Aの3次元画像には、実世界の光源の影響に近い陰影が施されている。
一方、図9Bに示すように、トゥーンシェーディングが行われた結果得られる犬の3次元画像では、輝度StがSH、中輝度SM、および低輝度SLのうちのいずれかになっている。即ち、図9Bの3次元画像には、3種類の濃淡の陰影が施されている。また、図9Bの3次元画像には、輪郭が付けられている。その結果、図9Bの3次元画像は、手書きの2次元のイラストのような画像となる。
次に、図10Aと図10B、図11、および図12を参照して、グローシェーディングモードまたはトゥーンシェーディングモードで表示される、3次元GUI画像について説明する。
図10Aは、表示モードがグローシェーディングモードである場合に、出力部19に表示される1つのメニューGUI画像を示しており、図10Bは、表示モードがトゥーンシェーディングモードである場合に、出力部19に表示される1つのメニューGUI画像を示している。
図10Aに示すように、表示モードがグローシェーディングモードである場合、メニューGUI画像では、輝度Sgが連続的に変化している。一方、図10Bに示すように、表示モードがトゥーンシェーディングである場合、メニューGUI画像では、輝度Stが高輝度SH、中間輝度SM、および低輝度SLのうちのいずれかになっており、メニューGUI画像には3種類の濃淡の陰影が施されている。また、図10BのメニューGUI画像には、輪郭が付けられている。
図11は、表示モードがグローシェーディングモードである場合に、複数の3次元GUI画像が表示された出力部19の画面を示している。
図11の例では、チャンネル(Channel)を表示させるためのGUI画像(以下、チャンネル表示GUI画像という)131と、表示モードを切り替えるためのGUI画像(以下、表示モードGUI画像という)132とが出力部19に表示されている。
チャンネル表示GUI画像131は、例えば、チューナ17で受信可能な放送番組のチャンネルに対応するチャンネルGUI画像133−1乃至133−17を表示させるとき、ユーザの入力部18の操作により選択される。例えば、チャンネル表示GUI画像131がユーザにより選択されたとき、図11に示すように、チャンネル表示GUI画像131の3次元空間上の奥行き方向(図11中手前側から奥側に向かう方向)に、各チャンネルの番号を表すGUI画像(以下、チャンネルGUI画像という)133−1乃至133−17が並べて表示される。
このように、出力部19に3次元GUI画像を表示させる場合、奥行き方向にGUI画像を並べて(重ねて)表示させることができるので、2次元GUI画像に比べて、出力部19の1画面内に多くのGUI画像を表示することができる。
チャンネルGUI画像133−1乃至133−17は、例えば、そのチャンネルGUI画像133−1乃至133−17が表すチャンネルの放送番組を表示させるとき、ユーザの入力部18の操作により選択される。また、表示モードGUI画像132は、表示モードをトゥーンシェーディングモードまたはグローシェーディングモードのうち、いま設定されている一方のモードから他方のモードに設定する(切り換える)とき、ユーザの入力部18の操作により選択される。
また、図11のチャンネル表示GUI画像131、表示モードGUI画像132、およびチャンネルGUI画像133−1乃至133−17においては、輝度Sgが連続的に変化している。
ここで、ユーザが入力部18を操作することにより、表示モードGUI画像132を選択し、表示モードをトゥーンシェーディングモードに切り換えた場合、出力部19には、図12に示す画面が表示される。
即ち、図12に示すように、チャンネル表示GUI画像131、表示モードGUI画像132、およびチャンネルGUI画像133−1乃至133−17において、図11で連続的に変化していた輝度Stが、高輝度SH、中間輝度SM、および低輝度SLの3種類のうちのいずれかになるように変更され、輪郭が付けられている。
図11と図12に示したように、ユーザは、トゥーンシェーディングモードおよびグローシェーディングモードの一方から他方に、表示モードを切り替えることにより、出力部19の画面に表示されるチャンネル表示GUI画像131、表示モードGUI画像132、およびチャンネルGUI画像133−1乃至133−17の見た目の印象を変更することができる。
即ち、例えば、ユーザは、グローシェーディングモードからトゥーンシェーディングモードに、表示モードを切り替えることにより、チャンネル表示GUI画像131、表示モードGUI画像132、およびチャンネルGUI画像133−1乃至133−17の表示方法を、手書き風の表示方法に変更することができる。
次に、図13を参照して、受信装置1が3次元GUI画像を表示する表示処理について説明する。この表示処理は、例えば、ユーザにより、図11や図12の表示モードGUI画像132が選択されたとき、開始される。
ステップS1において、CPU11は、いまの表示モードがトゥーンシェーディングモードであるかどうかを判定し、いまの表示モードがトゥーンシェーディングモードであると判定した場合、ステップS2に進む。ステップS2において、CPU11は、表示モードをグローシェーディングモードに設定し、そのグローシェーディングモードを表す表示モード情報をGPU14に供給して、ステップS4に進む。
一方、ステップS1において、いまの表示モードがトゥーンシェーディングモードではないと判定された場合、ステップS3に進み、CPU11は、表示モードをトゥーンシェーディングモードに設定し、そのトゥーンシェーディングモードを表す表示モード情報をGPU14に供給して、ステップS4に進む。
ステップS4において、CPU11は、ROM12から、表示対象とするすべての3次元GUI画像の頂点データを読み出し、その頂点データをGPU14に供給して、ステップS5に進む。ステップS5において、GPU14は、出力部19に3次元GUI画像を表示させるレンダリング処理を行う。このレンダリング処理の詳細は、後述する図14を参照して説明する。
図14は、図13のステップS5のレンダリング処理を説明するフローチャートである。
ステップS21において、GPU14は、CPU11から供給される表示モード情報と、ROM12から読み出される頂点データとに基づいて、頂点処理を行う。この頂点処理の詳細は、後述する図15を参照して説明する。頂点処理部41は、頂点処理の結果得られる頂点データを、ラスタライズ部42に供給する。
ステップS21の処理後は、ステップS22に進み、ラスタライズ部42は、頂点処理部41から供給される頂点データに基づいてラスタライズを行う。ラスタライズ部42は、その結果得られる画素データと頂点データと、頂点処理部41から供給される頂点データを、ピクセル処理部43に供給する。
ステップS22の処理後は、ステップS23に進み、ピクセル処理部43は、CPU11から供給される表示モード情報、並びにラスタライズ部42からの画素データと頂点データに基づいて、ピクセル処理を行う。このピクセル処理の詳細は、後述する図16を参照して説明する。ステップS23の処理後は、図13のステップS5に戻り、処理は終了する。
次に、図15を参照して、図14のステップS21の頂点処理について説明する。
ステップS41において、頂点データ記憶部61は、ROM12から読み出された頂点データを記憶し、ステップS42に進む。
ステップS42において、選択部62は、CPU11からの表示モード情報に基づいて、いまの表示モードが、トゥーンシェーディングモードであるかどうかを判定する。ステップS42において、いまの表示モードがトゥーンシェーディングモードであると判定された場合、選択部62は、座標変換処理部63と頂点シェーダ64のうち頂点シェーダを選択し、頂点データ記憶部61から頂点データを読み出して、その頂点データを、選択した頂点シェーダ64の射影変換処理部81に供給し、ステップS43に進む。
ステップS43において、射影変換処理部81は、選択部62から供給される頂点データに基づいて、上述した式(1)により射影変換を行う。そして、射影変換後の頂点データを記憶部92に供給し、一時的に記憶させる。
ステップS43の処理後は、ステップS44に進み、選択部62は、頂点データ記憶部61から頂点データを読み出し、輪郭処理部82に供給し、ステップS45に進む。ステップS45において、輪郭処理部82は、選択部62から供給される頂点データに基づいて、上述した式(1)と式(2)の演算や頂点のカラーc0の変更により、輪郭処理を行う。輪郭処理部82は、輪郭処理後の頂点データを記憶部93に供給し、一時的に記憶させる。
ステップS45の処理後は、ステップS46に進み、表裏判定部66は、記憶部93から3角形のポリゴンを形成する3個の頂点の頂点データを読み出し、その頂点データの法線ベクトルn1と、予め設定されている仮想視点の方向とに基づいて、ポリゴンが仮想視点の方向に対して表向きであるか、または裏向きであるかの判定である表裏判定を行う。表裏判定部66は、その表裏判定の結果に基づいて、裏向きであるポリゴンの3個の頂点データを、クリッピング処理部67に供給する。
一方、ステップS42において、いまの表示モードがトゥーンシェーディングモードではないと判定された場合、即ちいまの表示モードがグローシェーディングモードであると判定された場合、選択部62は、座標変換処理部63と頂点シェーダ64のうちの座標変換処理部63を選択し、頂点データ記憶部61から頂点データを読み出して、その頂点データを、選択した座標変換処理部81に供給し、ステップS47に進む。
ステップS47において、座標変換処理部63は、選択部62からの頂点データに対して、モデルビュー行列を用いて、モデリング変換、ビューイング変換などの座標変換を行う。座標変換処理部63は、座標変換後の頂点データをキャッシュメモリ65の記憶部91に供給し、一時的に記憶させる。
ステップS46またはステップS47の処理後は、ステップS48に進み、クリッピング処理部67は、記憶部91から読み出される頂点データ、または記憶部92から読み出される頂点データおよび表裏判定部66から供給される頂点データと、仮想視点の方向および位置とに基づいて、クリッピングを行う。そして、クリッピング処理部67は、その結果得られる頂点データを、透視変換処理部68に供給する。
ステップS48の処理後は、ステップS49に進み、透視変換処理部68は、クリッピング処理部67から供給される頂点データ、並びに予め設定された仮想視点の位置および方向に基づいて、その頂点データが表す頂点の透視投影を行う。そして、透視変換処理部68は、その結果得られる頂点データを、ビューポート変換部69に供給する。
ステップS49の処理後は、ステップS50に進み、ビューポート変換部69は、予め設定されたビューポートの大きさに応じて、透視変換処理部68からの頂点データに対してビューポート変換を行う。ビューポート変換部69は、ビューポート変換後の頂点データを、トライアングルセットアップ部70に供給する。
ステップS50の処理後は、ステップS51に進み、トライアングルセットアップ部70は、ラスタライズ部42によるラスタライズで用いられるパラメータを算出する。トライアングルセットアップ部70は、そのパラメータを、ビューポート変換部69からの頂点データとともに、ラスタライズ部42に供給し、図14のステップS21に戻り、ステップS22に進む。
次に、図16を参照して、図14のステップS23のピクセル処理について説明する。
ステップS61において、選択部121は、CPU11から供給される表示モード情報に基づいて、いまの表示モードがトゥーンシェーディングモードであるかどうかを判定する。ステップS61において、いまの表示モードがトゥーンシェーディングモードであると判定された場合、選択部121は、トゥーンシェーディング部124とグローシェーディング部125のうちのトゥーンシェーディング部124を選択し、ラスタライズ部42から供給される画素データと頂点データを、その選択したトゥーンシェーディング部124に供給し、ステップS62に進む。
ステップS62において、トゥーンシェーディング部124は、選択部121からの画素データと、予め設定された光源ベクトルlとに基づいて、上述した式(5)により、その画素データに含まれる法線ベクトルnpと光源ベクトルlの内積を算出し、ステップS63に進む。
ステップS63において、トゥーンシェーディング部124は、算出結果である内積dに基づいて、上述した式(6)により、各画素の輝度Stを決定する処理を行う。トゥーンシェーディング部124は、その処理の結果得られる各画素の輝度St、並びに選択部121からの画素データと頂点データを、3次元GUI画像を表示させるための表示データとして、後処理部123に供給する。
一方、ステップS61において、いまの表示モードがトゥーンシェーディングモードではない、即ちいまの表示モードがグローシェーディングモードであると判定された場合、選択部121は、トゥーンシェーディング部124とグローシェーディング部125のうちのグローシェーディング部125を選択し、ラスタライズ部42から供給される画素データと頂点データを、その選択したグローシェーディング部125に供給し、ステップS64に進む。
ステップS64において、グローシェーディング部125は、選択部121からの頂点データに含まれる法線ベクトルに基づいて、各頂点の法線ベクトルを算出する。具体的には、グローシェーディング部125は、各頂点により形成される複数のポリゴンの法線ベクトルの平均を、その頂点の法線ベクトルとして、頂点ごとに算出する。
ステップS64の処理後は、ステップS65に進み、グローシェーディング部125は、頂点の法線ベクトル、頂点データ、予め設定された光源ベクトルlなどに基づいて、いわゆるフォンの照明モデルにより、各頂点の輝度を算出し、ステップS66に進む。
ステップS66において、グローシェーディング部125は、頂点の輝度に基づいて、各画素に対応する点の周囲の頂点の輝度から、線形補間により、その点の輝度を算出し、その輝度を各画素の輝度Sgとして決定する。そして、グローシェーディング部125は、各画素の輝度Sg、並びに選択部121からの画素データと頂点データを、3次元GUI画像を表示させるための表示データとして、後処理部123に供給する。
ステップS63またはステップS66の処理後は、ステップS67に進み、後処理部123は、トゥーンシェーディング部124またはグローシェーディング部125からの表示データに対してシザーテストを行い、画面の部分更新を行うかどうかを決定する。
ステップS67の処理後は、ステップS68に進み、後処理部123は、表示データに対してαテストを行い、透過処理を行うかどうかを決定する。ステップS68の処理後は、ステップS69に進み、後処理部123は、表示データに対して、深度テストを行うことにより、仮想視点に対する3次元GUI画像に対応する各ポリゴンの前後関係の判定を行い、陰面を消去する。
ステップS69の処理後は、ステップS70に進み、後処理部123は、表示データに対してαブレンドを行い、前後のポリゴンの色を混合し、ステップS71に進む。ステップS71において、後処理部123は、表示データに対して、アンチエイリアシングを行い、ポリゴンの境界面をぼかし、ステップS72に進む。
ステップS72において、後処理部123は、シザーテスト、αテスト、深度テスト、αブレンド、およびアンチエイリアシングが後処理として行われた後の表示データに基づいて、出力部19に3次元GUI画像を表示させる。その結果、出力部19には、例えば、図11や図12に示した画面が表示される。図16のステップS72の処理後は、図14のステップS23に戻り、処理は終了する。
以上のように、受信装置1では、GPU14が、表示モードに応じて、頂点処理とピクセル処理の一部の処理を変更することにより、シェーディングを変更する。従って、ユーザは、頂点処理とピクセル処理の一部の処理を行うためのプログラムをROM12に記憶させておくだけで、シェーディングを変更し、3次元画像の表示方法を容易に変更することができる。即ち、表示方法を変更するために必要なデータは、シェーディングを行うためのプログラムのデータ(コード)となり、変更後の3次元GUI画像をROM12に記憶しておく必要がある場合に比べて、表示方法の変更に必要なデータの量は少なくて済む。
また、受信装置1では、表示モードがトゥーンシェーディングモードに設定される場合、選択部62が、射影変換処理部81と輪郭処理部82に頂点データを供給し、選択部121が、ラスタライズ部42からの頂点データと画素データをトゥーンシェーディング部124に供給するようにしたので、3次元の画像の表示方法を、手書き風の表示方法に容易に変更することができる。
なお、上述した説明では、表示モードがトゥーンシェーディングモードである場合、ROM12から頂点データが2回読み出されるようにしたが、頂点データは1回だけ読み出されるようにしてもよい。この場合、ROM12から読み出された頂点データが、頂点データ記憶部61の所定の領域に記憶された後、その所定の領域に記憶された頂点データが、他の領域にコピーされる。
また、上述した説明では、表示対象を3次元GUI画像としたが、表示対象は、3次元の画像であれば、これに限定されない。さらに、GPU14は、トゥーンシェーディングまたはグローシェーディングを行うものとしたが、グローシェーディングではなく、他のシェーディングを行うものとしてもよい。また、GPU14で可能なシェーディングの種類の数は、1以上であればいくつであってもよい。
さらに、上述した説明では、ポリゴンの形状が3角形であるものとしたが、ポリゴンの形状は、これに限定されない。
また、本発明は、受信装置1だけでなく、例えば、パーソナルコンピュータ、携帯電話機などの、表示を制御する機能を備える電子機器に適用することができる。
なお、本明細書において、プログラム記録媒体に格納されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
また、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
1 受信装置, 11 CPU, 12 ROM, 13 RAM, 14 GPU, 20 記録部, 23 リムーバブルメディア, 41 頂点処理部, 42 ラスタライズ部, 43 ピクセル処理部, 62 選択部, 63 座標変換処理部, 81 射影変換処理部, 82 輪郭処理部, 121 選択部, 122 ピクセルシェーダ, 123 後処理部, 124 トゥーンシェーディング部, 125 グローシェーディング部
Claims (7)
- 所定の3次元画像を表示させる表示制御装置において、
表示モードを、トゥーンシェーディングを行うモードであるトゥーンシェーディングモードに設定する設定手段と、
前記3次元画像に対応するポリゴンの頂点に関するデータである頂点データを用いて、射影変換を行う射影変換手段と、
前記頂点データを用いて、前記3次元画像に輪郭を付けるための処理である輪郭処理を行う輪郭処理手段と、
前記射影変換手段による射影変換後の頂点データと、前記輪郭処理手段による輪郭処理後の頂点データを用いて、ラスタライズを行うラスタライズ手段と、
前記ラスタライズ手段によるラスタライズの結果得られる、前記3次元画像を構成する各画素に関するデータを用いて、各画素の輝度を決定するトゥーンシェーディング手段と、
前記トゥーンシェーディング手段により決定された各画素の輝度と、前記各画素に関するデータとを用いて、前記3次元画像を表示させる表示制御手段と、
前記設定手段により前記表示モードが前記トゥーンシェーディングモードに設定される場合、前記頂点データを前記射影変換手段と前記輪郭手段に供給する頂点データ供給手段と、
前記設定手段により前記表示モードが前記トゥーンシェーディングモードに設定される場合、前記各画素に関するデータを、前記トゥーンシェーディング手段に供給する処理結果供給手段と
を備える表示制御装置。 - 前記頂点データを用いて座標変換を行う座標変換手段
をさらに備え、
前記設定手段は、前記表示モードを、前記トゥーンシェーディングモードと、前記トゥーンシェーディングモード以外のモードに設定し、
前記頂点データ供給手段は、前記設定手段により前記表示モードが前記トゥーンシェーディングモード以外のモードに設定される場合、前記頂点データを前記座標変換手段に供給する
請求項1に記載の表示制御装置。 - 前記座標変換手段による座標変換後の頂点データと、前記各画素に関するデータとを用いて、スムーズシェーディングを行うスムーズシェーディング手段
をさらに備え、
前記処理結果供給手段は、前記設定手段により前記表示モードが前記トゥーンシェーディングモード以外のモードに設定される場合、前記座標変換後の頂点データと前記各画素に関するデータとを、前記スムーズシェーディング手段に供給する
請求項2に記載の表示制御装置。 - 前記設定手段は、ユーザからの指示により前記表示モードを前記トゥーンシェーディングモードに設定する
請求項1に記載の表示制御装置。 - 前記3次元画像は、GUI(Graphical User Interface)画像である
請求項1に記載の表示制御装置。 - 所定の3次元画像を表示させる表示制御装置の表示制御方法において、
表示モードを、トゥーンシェーディングを行うモードであるトゥーンシェーディングモードに設定し、
前記表示モードが前記トゥーンシェーディングモードに設定される場合、前記3次元画像に対応するポリゴンの頂点に関するデータである頂点データを用いて、射影変換を行い、
前記表示モードが前記トゥーンシェーディングモードに設定される場合、前記頂点データを用いて、前記3次元画像に輪郭を付けるための処理である輪郭処理を行い、
射影変換後の頂点データと、輪郭処理後の頂点データを用いて、ラスタライズを行い、
前記表示モードが前記トゥーンシェーディングモードに設定される場合、前記ラスタライズの結果得られる、前記3次元画像を構成する各画素に関するデータを用いて、各画素の輝度を決定し、
その決定された各画素の輝度と、前記各画素に関するデータとを用いて、前記3次元画像を表示させる
ステップを含む表示制御方法。 - 所定の3次元画像を表示させる処理を、コンピュータに行わせるプログラムにおいて、
表示モードを、トゥーンシェーディングを行うモードであるトゥーンシェーディングモードに設定し、
前記表示モードが前記トゥーンシェーディングモードに設定される場合、前記3次元画像に対応するポリゴンの頂点に関するデータである頂点データを用いて、射影変換を行い、
前記表示モードが前記トゥーンシェーディングモードに設定される場合、前記頂点データを用いて、前記3次元画像に輪郭を付けるための処理である輪郭処理を行い、
射影変換後の頂点データと、輪郭処理後の頂点データを用いて、ラスタライズを行い、
前記表示モードが前記トゥーンシェーディングモードに設定される場合、前記ラスタライズの結果得られる、前記3次元画像を構成する各画素に関するデータを用いて、各画素の輝度を決定し、
その決定された各画素の輝度と、前記各画素に関するデータとを用いて、前記3次元画像を表示させる
ステップを含むプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006001749A JP2007183832A (ja) | 2006-01-06 | 2006-01-06 | 表示制御装置および表示制御方法、並びにプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006001749A JP2007183832A (ja) | 2006-01-06 | 2006-01-06 | 表示制御装置および表示制御方法、並びにプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007183832A true JP2007183832A (ja) | 2007-07-19 |
Family
ID=38339861
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006001749A Withdrawn JP2007183832A (ja) | 2006-01-06 | 2006-01-06 | 表示制御装置および表示制御方法、並びにプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007183832A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109785423A (zh) * | 2018-12-28 | 2019-05-21 | 广州华多网络科技有限公司 | 图像补光方法、装置及计算机设备 |
CN115139528A (zh) * | 2022-06-10 | 2022-10-04 | 深圳市纵维立方科技有限公司 | 一种3d打印中的切片处理方法、装置、存储介质和电子设备 |
-
2006
- 2006-01-06 JP JP2006001749A patent/JP2007183832A/ja not_active Withdrawn
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109785423A (zh) * | 2018-12-28 | 2019-05-21 | 广州华多网络科技有限公司 | 图像补光方法、装置及计算机设备 |
CN109785423B (zh) * | 2018-12-28 | 2023-10-03 | 广州方硅信息技术有限公司 | 图像补光方法、装置及计算机设备 |
CN115139528A (zh) * | 2022-06-10 | 2022-10-04 | 深圳市纵维立方科技有限公司 | 一种3d打印中的切片处理方法、装置、存储介质和电子设备 |
CN115139528B (zh) * | 2022-06-10 | 2024-04-16 | 深圳市纵维立方科技有限公司 | 一种3d打印中的切片处理方法、装置、存储介质和电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20080246760A1 (en) | Method and apparatus for mapping texture onto 3-dimensional object model | |
US11074744B2 (en) | Method and apparatus for performing tile-based path rendering | |
US5877769A (en) | Image processing apparatus and method | |
KR100349483B1 (ko) | 폴리곤이분할되는화상처리 | |
JP3626144B2 (ja) | 立体オブジェクトデータからの漫画的表現の2次元画像の生成方法および生成プログラム | |
US8698830B2 (en) | Image processing apparatus and method for texture-mapping an image onto a computer graphics image | |
US6744440B1 (en) | Image processing apparatus, recording medium, and program | |
US10297036B2 (en) | Recording medium, information processing apparatus, and depth definition method | |
JP3502796B2 (ja) | ビデオゲームにおける立体モデル表示方法及び装置、ゲーム装置並びにビデオゲーム用立体モデル表示プログラムを格納したコンピュータ読み取り可能な記録媒体 | |
JP2003115055A (ja) | 画像生成装置 | |
US20040119723A1 (en) | Apparatus manipulating two-dimensional image in a three-dimensional space | |
US10223823B2 (en) | Image processing apparatus and method | |
JP2007183832A (ja) | 表示制御装置および表示制御方法、並びにプログラム | |
JPH09231398A (ja) | 情報処理装置及びその制御方法 | |
JP2003168130A (ja) | リアルタイムで合成シーンのフォトリアルなレンダリングをプレビューするための方法 | |
JPH06274653A (ja) | グラフィック表示装置 | |
KR101227155B1 (ko) | 저해상도 그래픽 영상을 고해상도 그래픽 영상으로 실시간 변환하는 그래픽 영상 처리 장치 및 방법 | |
JP4733757B2 (ja) | ポリゴン処理装置,プログラム及び情報記録媒体 | |
JPH11331700A (ja) | 画像処理装置および画像処理方法 | |
KR100603134B1 (ko) | 단색광을 이용한 3차원 렌더링 처리 방법 및 그 장치 | |
CN110120089B (zh) | 一种基于裁剪边界优化的无缝纹理自动生成方法 | |
JP4839760B2 (ja) | 画像生成装置、画像生成方法等 | |
JPH10149455A (ja) | 画像生成表示装置および生成表示画像編集装置 | |
US20230410406A1 (en) | Computer-readable non-transitory storage medium having image processing program stored therein, image processing apparatus, image processing system, and image processing method | |
JP3688765B2 (ja) | 描画方法およびグラフィックス装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20090407 |