(57)【要約】【課題】  レンダリング処理に不必要な３次元形状モデルを構成する複数の三角形ポリゴンを、３次元形状モデルを構成する各平面につき１回の判定で省略し、レンダリング処理の高速化を可能とした、３次元図形描画装置、３次元図形描画方法、３次元図形描画プログラム、該プログラムを記録した記録媒体を提供する。【解決手段】  ３次元形状モデルデータを入力する入力部１、入力された３次元形状モデルデータを基に、処理対象である３次元形状モデルを構成する平面のレンダリング処理を実行するか否かを、平面毎にそれぞれ１回の判定で判定する面レンダリング判定部２、レンダリング処理を実行すると判定された平面に対してレンダリング処理を実行するレンダリング処理部３、及び、レンダリング処理されたデータを基に、所定の視点から観察される３次元形状モデルを表示する出力部４を設けて３次元図形描画装置を構成する。【選択図】  図１
2007087329.tif 000002
【特許請求の範囲】
【請求項１】
３次元形状モデルデータを入力する入力部と、
前記入力部から入力された３次元形状モデルデータを基に、処理対象である３次元形状モデルを構成する平面のレンダリング処理を実行するか否かを、平面毎にそれぞれ１回の判定で判定する面レンダリング判定部と、
前記面レンダリング判定部によりレンダリング処理を実行すると判定された平面に対してレンダリング処理を実行するレンダリング処理部と、
前記レンダリング処理部によりレンダリング処理されたデータを基に、所定の視点から観察される３次元形状モデルを表示する出力部と、
を備えたことを特徴とする３次元図形描画装置。
【請求項２】
前記３次元形状モデルデータは、３次元形状モデルを構成する平面単位で構成され、各平面は、複数の三角形ポリゴンの情報からなることを特徴とする請求項１記載の３次元図形描画装置。
【請求項３】
処理対象である前記平面との関係で、どの位置に前記所定の視点がある場合に前記平面のレンダリング処理を実行するか否かを示したフラグを参照することにより、前記面レンダリング判定部が、前記平面のレンダリング処理を実行するか否かの判定を前記平面毎にそれぞれ１回ずつ実行することを特徴とする請求項１又は２に記載の３次元図形描画装置。
【請求項４】
前記面レンダリング判定部による３次元形状モデルを構成する平面のレンダリング処理を実行するか否かの判定は、前記平面の法線ベクトルと前記所定の視点に対応する視線ベクトルの内積値の正負で判断することを特徴とする請求項１から３のいずれか１項に記載の３次元図形描画装置。
【請求項５】
３次元形状モデルデータを、入力部により入力する入力工程と、
前記入力工程により入力された３次元形状モデルデータを基に、面レンダリング判定部が、処理対象である３次元形状モデルを構成する平面のレンダリング処理を実行するか否かを、平面毎にそれぞれ１回の判定で判定する面レンダリング判定工程と、
前記面レンダリング判定工程によりレンダリング処理を実行すると判定された平面に対して、レンダリング処理部がレンダリング処理を実行するレンダリング処理工程と、
前記レンダリング処理工程によりレンダリング処理されたデータを基に、出力部が、所定の視点から観察される３次元形状モデルを表示する出力工程と、
を有することを特徴とする３次元図形描画方法。
【請求項６】
前記３次元形状モデルデータは、３次元形状モデルを構成する平面単位で構成され、各平面は、複数の三角形ポリゴンの情報からなることを特徴とする請求項５記載の３次元図形描画方法。
【請求項７】
処理対象である前記平面との関係で、どの位置に前記所定の視点がある場合に、前記平面のレンダリング処理を実行するか否かを示したフラグを参照することにより、前記面レンダリング判定部が、前記平面のレンダリング処理を実行するか否かの判定を前記平面毎に１回実行することを特徴とする請求項５又は６に記載の３次元図形描画方法。
【請求項８】
前記面レンダリング判定部は、前記３次元形状モデルを構成する平面のレンダリング処理を実行するか否かの判定を、前記平面の法線ベクトルと前記所定の視点に対応する視線ベクトルの内積値の正負で判断することを特徴とする請求項５から７のいずれか１項に記載の３次元図形描画方法。
【請求項９】
コンピュータに、請求項５から８のいずれか１項に記載の３次元図形描画方法を実行させるための３次元図形描画プログラム。
【請求項１０】
請求項９記載の３次元図形描画プログラムを記録した記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＣＡＤ、ＣＡＭ、ＣＡＥ、３次元ビューワー、ＣＧ等の３次元図形描画装置、３次元図形描画方法、３次元図形描画プログラム、該プログラムを記録した記録媒体に関する。
【背景技術】
【０００２】
従来、３次元形状モデルを表示するシステム（例えばＷｉｎｄｏｗｓ（登録商標））では、３次元形状モデルの表面を多数のポリゴンに分割することによって近似し、立体画像処理をする。そして、このような３次元図形を立体画像処理する装置では、視点から見て奥にあるポリゴンが手前のポリゴンに隠されるように隠面消去処理が必要となる。
【０００３】
この隠面消去処理の方法として、Ｚバッファ法、スキャンライン法などが知られている。これらの方法によって隠面消去処理を行った場合、多数のポリゴンについて隠面消去処理を行う必要があり、多くの計算時間を必要とし画像表示が遅くなる。そこで、通常、隠面消去処理の対象となるポリゴンを、隠面消去処理の前に廃棄することが行われている。
【０００４】
例えば、Ｏｐｅｎ  ＧＬ（Silicon Graphics,Inc.の登録商標）におけるプログラミングでは、一貫して反時計回り（ＣＣＷ）の面でモデルを構築する。このとき、画面上で反時計回りの面を前方面、時計回り（ＣＷ）の面を後方面と呼ぶ。同一方向の多角形面で完全に囲まれた３次元図形では、視点から見て後方面は全く見えず、常に前方面に覆われる。従って後方面と判断した時点でその面を廃棄することにより描画速度を向上させることができる。この方法はバックフェースカーリング（Back Face Culling）と呼ばれている。
【０００５】
しかしながら、例えば、特許文献１に開示されている３次元図形隠面消去処理装置は、隠面処理を目的としているが、一回の隠面判定で、レンダリング処理対象としない複数の三角形ポリゴンのレンダリングを省略することができない。また、隠面処理後に行うレンダリング処理は、レンダリングするポリゴン数に比例して時間がかかるため、ＣＡＤなど生成する大規模アセンブリを表示しようとすると、ユーザーが行う視点操作などがリアルタイムになかなか反映されず、操作入力後から画面表示に反映されるまでに時間を要する。
【特許文献１】特開平１０−３１７５５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかし、３次元形状モデルにおけるレンダリング処理の処理時間を短縮するためには、レンダリング処理する３角形ポリゴンの数を少なくする必要があり、視点のある場所によって、反対を向いているため表示されない複数のポリゴンを効率的に判定し、レンダリングする３角形ポリゴンを省略する必要があるという問題があった。
【０００７】
本発明は、上記のような問題点に鑑み、上記３次元形状モデルを構成する三角形ポリゴンの中から、レンダリング処理に不必要な複数の三角形ポリゴンを、３次元形状モデルを構成する各平面につき１回の判定において省略し、レンダリング処理の高速化を可能とした、３次元図形描画装置、３次元図形描画方法、３次元図形描画プログラム、該プログラムを記録した記録媒体を提供することを目的とする。
【課題を解決するための手段】
【０００８】
請求項１記載の発明は、３次元形状モデルデータを入力する入力部と、前記入力部から入力された３次元形状モデルデータを基に、処理対象である３次元形状モデルを構成する平面のレンダリング処理を実行するか否かを、平面毎にそれぞれ１回の判定で判定する面レンダリング判定部と、前記面レンダリング判定部によりレンダリング処理を実行すると判定された平面に対してレンダリング処理を実行するレンダリング処理部と、前記レンダリング処理部によりレンダリング処理されたデータを基に、所定の視点から観察される３次元形状モデルを表示する出力部と、を備えた３次元図形描画装置としたことを特徴とする。
【０００９】
請求項２記載の発明は、前記３次元形状モデルデータは、３次元形状モデルを構成する平面単位で構成され、各平面は、複数の三角形ポリゴンの情報からなる請求項１記載の３次元図形描画装置としたことを特徴とする。
【００１０】
請求項３記載の発明は、処理対象である前記平面との関係で、どの位置に前記所定の視点がある場合に前記平面のレンダリング処理を実行するか否かを示したフラグを参照することにより、前記面レンダリング判定部が、前記平面のレンダリング処理を実行するか否かの判定を前記平面毎にそれぞれ１回ずつ実行する請求項１又は２に記載の３次元図形描画装置としたことを特徴とする。
【００１１】
請求項４記載の発明は、前記面レンダリング判定部による３次元形状モデルを構成する平面のレンダリング処理を実行するか否かの判定は、前記平面の法線ベクトルと前記所定の視点に対応する視線ベクトルの内積値の正負で判断する請求項１から３のいずれか１項に記載の３次元図形描画装置としたことを特徴とする。
【００１２】
請求項５記載の発明は、３次元形状モデルデータを、入力部により入力する入力工程と、前記入力工程により入力された３次元形状モデルデータを基に、面レンダリング判定部が、処理対象である３次元形状モデルを構成する平面のレンダリング処理を実行するか否かを、平面毎にそれぞれ１回の判定で判定する面レンダリング判定工程と、前記面レンダリング判定工程によりレンダリング処理を実行すると判定された平面に対して、レンダリング処理部がレンダリング処理を実行するレンダリング処理工程と、前記レンダリング処理工程によりレンダリング処理されたデータを基に、出力部が、所定の視点から観察される３次元形状モデルを表示する出力工程と、を有する３次元図形描画方法としたことを特徴とする。
【００１３】
請求項６記載の発明は、前記３次元形状モデルデータは、３次元形状モデルを構成する平面単位で構成され、各平面は、複数の三角形ポリゴンの情報からなる請求項５記載の３次元図形描画方法としたことを特徴とする。
【００１４】
請求項７記載の発明は、処理対象である前記平面との関係で、どの位置に前記所定の視点がある場合に、前記平面のレンダリング処理を実行するか否かを示したフラグを参照することにより、前記面レンダリング判定部が、前記平面のレンダリング処理を実行するか否かの判定を前記平面毎に１回実行する請求項５又は６に記載の３次元図形描画方法としたことを特徴とする。
【００１５】
請求項８記載の発明は、前記面レンダリング判定部は、前記３次元形状モデルを構成する平面のレンダリング処理を実行するか否かの判定を、前記平面の法線ベクトルと前記所定の視点に対応する視線ベクトルの内積値の正負で判断する請求項５から７のいずれか１項に記載の３次元図形描画方法としたことを特徴とする。
【００１６】
請求項９記載の発明は、コンピュータに、請求項５から８のいずれか１項に記載の３次元図形描画方法を実行させるための３次元図形描画プログラムとしたことを特徴とする。
【００１７】
請求項１０記載の発明は、請求項９記載の３次元図形描画プログラムを記録した記録媒体としたことを特徴とする。
【発明の効果】
【００１８】
本発明によれば、３次元形状モデルを構成する三角形ポリゴンの中から、レンダリング処理に不必要な複数の三角形ポリゴンを、３次元形状モデルを構成する各平面につき１回の判定において省略し、レンダリング処理の高速化を可能とした、３次元図形描画装置、３次元図形描画方法、３次元図形描画プログラム、該プログラムを記録した記録媒体を実現することができる。
【発明を実施するための最良の形態】
【００１９】
本発明を実施するための最良の形態は、３次元形状モデルデータを入力する入力部と、入力部から入力された３次元形状モデルデータを基に、処理対象である３次元形状モデルを構成する平面のレンダリング処理を実行するか否かを、平面毎にそれぞれ１回の判定で判定する面レンダリング判定部と、面レンダリング判定部によりレンダリング処理を実行すると判定された平面に対してレンダリング処理を実行するレンダリング処理部と、レンダリング処理部によりレンダリング処理されたデータを基に、所定の視点から観察される３次元形状モデルを表示する出力部と、を設けて３次元図形描画装置を構成する。
【００２０】
以下に、本発明の好適な実施形態を添付図面に基づいて詳細に説明する。尚、以下に述べる実施形態は本発明の好適な具体例であるから、技術的に好ましい種々の限定が付されているが、本発明の範囲は、以下の説明において特に本発明を限定する旨の記載がない限り、これらの実施形態に限られるものではない。
【００２１】
（実施形態１）
まず、本実施形態の３次元図形描画装置の構成及び機能について図１を用いて以下に説明する。図１は、本実施形態の３次元図形描画装置の構成図である。図１に示すように、本実施形態の３次元図形描画装置は、入力部１、面レンダリング判定部２、レンダリング処理部３、及び、出力部４を備えている。
【００２２】
入力部１は、３次元形状モデルのデータを入力するインターフェースである。面レンダリング判定部２は、３次元形状モデルを構成する各平面の可視性を判断し、各平面についてレンダリング処理を実行するか否かを判定する。レンダリング処理部３は、処理対象である平面を構成する３角形ポリゴンの情報に基づき、レンダリング処理を実行する。出力部４は、レンダリング処理後により得られたデータを基に、３次元形状モデルを表示する機器（例えばディスプレイ等）である。
【００２３】
次に、本実施形態の３次元図形描画装置に入力される３次元形状モデルデータのデータ構造について、図２を用いて以下に説明する。図２は、本実施形態の３次元形状モデルデータのデータ構造について説明するための図である。図２に示すように、本実施形態の３次元形状モデルデータは、３次元形状モデルを構成する平面単位で構成され、各平面（面１〜面Ｎ）における３次元形状モデルデータは、各平面を構成する複数の３角形ポリゴンの情報データから構成されることを特徴とする。この３角形ポリゴンの情報データは、３角形ポリゴンの法線ベクトルの情報を含むものである。
【００２４】
次に、本実施形態の３次元図形描画装置の動作について、主に図３を用いて以下に説明する。図３は、本実施形態の３次元図形描画装置の動作について説明するためのフローチャートである。まず、図３に示すように、図１に示す入力部１は、３次元形状モデルのデータからなる指定されたファイルを読み込む（ステップ１０１）。次に、図１に示す面レンダリング判定部２は、入力部１により読み込まれた３次元形状モデルのデータ（図２参照。）を基に、所定の視点の位置から３次元形状モデルを構成する処理対象の平面の表側が見えるか否かの判定を行う（ステップ１０２）。
【００２５】
この処理対象の平面の表側が見えるか否かの判定は、処理対象となる平面の法線ベクトルと、３次元形状モデルと所定の視点との位置関係から得られる視線ベクトルとの内積値の正負で判断する。なお、上記処理対象となる平面の法線ベクトルと、この処理対象となる平面を構成する複数の三角形ポリゴンとの、それぞれの法線ベクトルとは全て等しい関係にある。従って、上記平面の法線ベクトルの情報としては、図２に示した３次元モデル形状データにおける、処理対象となる平面を構成する複数の三角形ポリゴンの情報データに含まれる三角形ポリゴンの法線ベクトルデータが用いられる。
【００２６】
続いて、上記処理対象である平面の表側が見えるか否かの判定の結果、処理対象である平面の表側が見えないと判断され、この平面のレンダリング処理をする必要がないと判定された場合は、３次元形状モデルを構成する他の面について、同様に、所定の視点の位置から処理対象である平面の表側が見えるか否かの判定を行う（ステップ１０２Ｎｏ→ステップ１０２繰り返し）。
【００２７】
一方、処理対象である平面の表側が見えると判断され、この平面のレンダリング処理をする必要があると判定された場合は、ステップ１０３に進み、その平面について、図２に示すレンダリング部３がレンダリング処理を実行する。そして、レンダリング処理後は、ステップ１０２に戻り、３次元形状モデルを構成する全ての平面に対して、ステップ１０２〜１０３までの処理を繰り返す（ステップ１０２Ｎｏ→ステップ１０２繰り返し、ステップ１０２Ｙｅｓ〜ステップ３０３繰り返し）。
【００２８】
続いて、ステップ１０４では、図１に示した出力部４が、ステップ１０３においてレンダリング部３がレンダリング処理を実行した結果を基に、３次元形状モデルの表示をする（図４参照。３次元形状モデル表示画面６）。なお、本実施形態の３次元図形描画装置において、処理対象である平面との関係において、どの位置に所定の視点がある場合に、レンダリング処理を実行するか否かを示したフラグを参照することにより、図１に示す面レンダリング判定部２が、処理対象である平面のレンダリング処理を実行するか否かの判定を平面毎に１回実行するようにしてもよい。
【００２９】
以上説明したように、本実施形態によれば、３次元形状モデルを構成する三角形ポリゴンの中から、レンダリング処理に不必要な複数の三角形ポリゴンを、３次元形状モデルを構成する各平面につき１回の判定において省略し、レンダリング処理の高速化を実現することが可能となる。
【図面の簡単な説明】
【００３０】
【図１】本実施形態の３次元図形描画装置の構成図である。
【図２】本実施形態の３次元図形描画装置に入力される３次元形状モデルデータのデータ構造について説明するための図である。
【図３】本実施形態の３次元図形描画装置の動作について説明するためのフローチャートである。
【図４】本実施形態の３次元図形描画装置の出力部に表示された３次元形状モデルを示した図である。
【符号の説明】
【００３１】
１    入力部
２    面レンダリング判定部
３    レンダリング処理部
４    出力部
５    ３次元形状モデルデータ
６    ３次元形状モデル表示画面
１０    ３次元図形描画装置
【図１】
2007087329.tif 000003
【図２】
2007087329.tif 000004
【図３】
2007087329.tif 000005
【図４】
2007087329.tif 000006