(57)【要約】【課題】３次元画像の描画を部分的に省略しながら、３次元画像の形状を維持すること。【解決手段】描画装置１００は、３次元画像の描画データに設定された、３次元画像を形成するメッシュごとの間引きレベルに応じて、メッシュごとに間引き処理を行う。描画装置１００は、例えば、間引きレベルに応じて、メッシュをそのまま描画し、メッシュを表す複数の頂点データを削除してメッシュを削除し、またはメッシュ内の２面の共通稜線の端点を表す頂点データを削除して共通稜線を削除する。そして、描画装置１００は、間引き処理された３次元画像の描画データに基づいて、３次元画像を描画する。【選択図】図１
2015022462.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータが、
３次元画像を形成するメッシュに設定された、前記メッシュを表す複数の頂点データの削除度合いを示す間引きレベルに応じて、前記メッシュに対する間引き処理を行い、
前記間引き処理された前記メッシュの頂点データに基づいて、前記３次元画像の描画処理を行う、
処理を実行することを特徴とする描画方法。
【請求項２】
前記間引き処理を行う処理は、前記メッシュの間引きレベルが前記複数の頂点データを削除することを示すレベルである場合、前記複数の頂点データを削除することを特徴とする請求項１に記載の描画方法。
【請求項３】
前記コンピュータが、
表示画面上の前記メッシュの面積を算出する処理を実行し、
前記間引き処理を行う処理は、前記メッシュの間引きレベルが前記複数の頂点データを削除することを示すレベルであり、前記面積が閾値以下である場合、前記複数の頂点データを削除することを特徴とする請求項２に記載の描画方法。
【請求項４】
前記間引き処理を行う処理は、前記メッシュの間引きレベルが前記複数の頂点データを削除することを示すレベルであるが、前記面積が閾値以下でない場合、前記複数の頂点データを削除しないことを特徴とする請求項３に記載の描画方法。
【請求項５】
前記間引き処理を行う処理は、前記メッシュの間引きレベルが前記メッシュに含まれる２つの面に共通する稜線を削除することを示すレベルである場合、前記複数の頂点データのうちの前記稜線の端点となる２つの頂点データを削除し、前記２つの頂点データの中間を示す頂点データを追加することを特徴とする請求項１〜４のいずれか一つに記載の描画方法。
【請求項６】
前記間引き処理を行う処理は、前記メッシュの間引きレベルが前記複数の頂点データを削除しないことを示すレベルである場合、前記複数の頂点データを削除しないことを特徴とする請求項１〜５のいずれか一つに記載の描画方法。
【請求項７】
３次元画像を形成するメッシュに設定された、前記メッシュを表す複数の頂点データの削除度合いを示す間引きレベルに応じて、前記メッシュに対する間引き処理を行う間引き部と、
前記間引き処理された前記メッシュの頂点データに基づいて、前記３次元画像の描画処理を行う描画部と、
を有することを特徴とする描画装置。
【請求項８】
コンピュータに、
３次元画像を形成するメッシュに設定された、前記メッシュを表す複数の頂点データの削除度合いを示す間引きレベルに応じて、前記メッシュに対する間引き処理を行い、
前記間引き処理された前記メッシュの頂点データに基づいて、前記３次元画像の描画処理を行う、
処理を実行させることを特徴とする描画プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、描画方法、描画装置、および描画プログラムに関する。
【背景技術】
【０００２】
従来、３次元画像をディスプレイ上に描画したり、ディスプレイ上に描画した３次元画像を拡大・縮小して描画したり、ディスプレイ上に描画した３次元画像を視線方向を変更して描画したりすることが行われている。また、描画処理にかかる負荷を抑えるために、３次元画像の描画を部分的に省略する技術がある。
【０００３】
関連する技術としては、例えば、オブジェクトを本来の三次元形状として描画するか、平面形状に簡略化して描画するか、線分形状に簡略化して描画するか、描画を省略（または点として描画）するかを決定するものがある。具体的には、コンピュータが、各オブジェクトについて、画面上に描画した際にｘ，ｙ，ｚ方向が夫々最大何ドットで表されるかを計算し、夫々に対応する所定の基準値Ｌｘ，Ｌｙ，Ｌｚとの大小関係を判別し、どのように描画するかを決定する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００２−２１６１６４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述した従来技術では、３次元画像をディスプレイに描画する際に、描画処理にかかる負荷を抑えるために３次元画像の描画を部分的に省略するとき、３次元画像の形状を特徴付ける部分の描画が省略されて、３次元画像の形状が大きく崩れてしまう場合がある。例えば、３次元画像の中で寸法が小さいオブジェクトであっても、３次元画像の形状を特徴付ける部分を形成するオブジェクトである場合、オブジェクトの描画を省略すると３次元画像の形状が大きく崩れてしまう。
【０００６】
１つの側面では、本発明は、３次元画像の描画を部分的に省略しながら、３次元画像の形状を維持することができる描画方法、描画装置、および描画プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の一側面によれば、３次元画像を形成するメッシュに設定された、前記メッシュを表す複数の頂点データの削除度合いを示す間引きレベルに応じて、前記メッシュに対する間引き処理を行い、前記間引き処理された前記メッシュの頂点データに基づいて、前記３次元画像の描画処理を行う描画方法、描画装置、および描画プログラムが提案される。
【発明の効果】
【０００８】
本発明の一態様によれば、３次元画像の描画を部分的に省略しながら、３次元画像の形状を維持することができるという効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】図１は、描画装置１００の描画処理の具体例を示す説明図である。
【図２】図２は、実施の形態にかかる描画装置１００のハードウェア構成例を示すブロック図である。
【図３】図３は、描画データ３００のデータ構造の一例を示す説明図である。
【図４】図４は、描画装置１００の機能的構成例を示すブロック図である。
【図５】図５は、描画装置１００の描画処理の内容を示す説明図である。
【図６】図６は、描画装置１００の描画処理手順の一例を示すフローチャートである。
【図７】図７は、描画装置１００の間引き処理手順の一例を示すフローチャートである。
【図８】図８は、描画装置１００の面削除処理手順の一例を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下に添付図面を参照して、本発明にかかる描画方法、描画装置、および描画プログラムの実施の形態を詳細に説明する。
【００１１】
（描画装置１００の描画処理の具体例）
図１は、描画装置１００の描画処理の具体例を示す説明図である。
【００１２】
図１において、描画装置１００は、３次元画像の描画データを有し、描画データに対して間引き処理を行い、間引き処理された描画データに基づいて３次元画像を描画するコンピュータである。ここで、描画データとは、３次元画像を形成する複数のメッシュの各々のメッシュを表す複数の頂点データを含むデータである。メッシュとは、１または複数の面の集合である。頂点データとは、頂点のＸ座標値、Ｙ座標値、およびＺ座標値のデータである。
【００１３】
また、描画データとは、３次元画像を形成する複数のメッシュの各々のメッシュの間引きレベルが設定されたデータである。間引きレベルとは、頂点データの削除度合いを示すデータである。間引きレベルとは、例えば、メッシュを削除しない、すなわち、そのまま描画するレベル、メッシュを削除するレベル、およびメッシュに含まれる２つの面に共通する稜線を削除するレベルである。
【００１４】
以下の説明では、メッシュを削除しない、すなわち、メッシュをそのまま描画するレベルを「レベル１」と表記する場合がある。また、以下の説明では、メッシュを削除するレベルを「レベル２」と表記する場合がある。ここで、レベル２が設定されたメッシュの削除は、常に行ってもよいし、メッシュの面積が閾値よりも小さい場合にのみ行ってもよい。レベル２が設定されたメッシュが複数ある場合、複数のメッシュのすべてを削除してもよいし、複数のメッシュのうちの一部を選択して削除してもよいし、複数のメッシュからランダムに選ばれたメッシュを削除してもよい。
【００１５】
また、以下の説明では、メッシュに含まれる２つの面に共通する稜線を削除するレベルを「レベル３」と表記する場合がある。ここで、レベル３が設定されたメッシュにおける稜線の削除は、常に行ってもよいし、メッシュの面積が閾値よりも小さい場合にのみ行ってもよい。レベル３が設定されたメッシュが複数ある場合、複数のメッシュのすべてにおいて稜線を削除してもよいし、複数のメッシュのうちの一部を選択して稜線を削除してもよいし、複数のメッシュからランダムに選ばれたメッシュの稜線を削除してもよい。メッシュに含まれる２つの面に共通する稜線を削除することは、ＥｄｇｅＣｏｌｌａｐｓｅと呼ばれる。
【００１６】
図１の例では、描画装置１００は、３次元画像「りんご」の描画データに基づいて、３次元画像「りんご」を形成する複数のメッシュの各々のメッシュに対して間引き処理を行う。ここで、描画データの作成者によって、３次元画像「りんご」のうちの「葉っぱ」の部分を形成するメッシュには、３次元画像の形状を特徴付ける部分を形成するメッシュの形状を維持するために、間引きレベルとしてレベル１が設定されている。
【００１７】
また、描画データの作成者によって、３次元画像「りんご」のうちの「胴体」の部分を形成するメッシュには、３次元画像の形状を特徴付ける部分ではない部分の描画を省略するために、間引きレベルとしてレベル３が設定されている。また、描画データの作成者によって、３次元画像「りんご」のうちの「底面」の部分を形成するメッシュには、間引きレベルとしてレベル２が設定されている。
【００１８】
描画装置１００は、例えば、３次元画像「りんご」のうちの「葉っぱ」の部分を形成するメッシュに対して間引き処理を行う。この場合、描画装置１００は、メッシュの間引きレベルにレベル１が設定されているため、メッシュを表す頂点データを削除せずに、そのままにする。
【００１９】
また、描画装置１００は、例えば、３次元画像「りんご」のうちの「胴体」の部分を形成するメッシュに対して間引き処理を行う。この場合、描画装置１００は、メッシュの間引きレベルにレベル３が設定されているため、メッシュに含まれる２つの面に共通する稜線を削除する。ここでは、描画装置１００は、面Ｃと面Ｇとに共通する稜線Ｖ１−Ｖ２を削除する。描画装置１００は、具体的には、頂点Ｖ１の頂点データと、頂点Ｖ２の頂点データと、を削除し、頂点Ｖ１と頂点Ｖ２との中間頂点Ｖの頂点データを追加する。
【００２０】
また、描画装置１００は、３次元画像「りんご」のうちの「底面」の部分を形成するメッシュに対して間引き処理を行う。この場合、描画装置１００は、メッシュの間引きレベルにレベル２が設定されているため、ディスプレイ上でのメッシュの面積が閾値以下になる場合、メッシュを表す複数の頂点データを削除する。
【００２１】
これにより、描画装置１００は、３次元画像の形状を維持しつつ、３次元画像を描画する際の頂点データの数を低減して、３次元画像の描画効率を向上することができる。このため、描画装置１００は、３次元画像の描画にかかる処理負荷を低減するとともに、３次元画像の描画にかかる時間を短縮することができる。結果として、３次元画像の閲覧者は、３次元画像を違和感なく閲覧することができる。また、描画装置１００は、３次元画像の描画データの作成者がメッシュごとに設定した間引きレベルに基づいて、３次元画像の形状を維持するため、作成者の意図を考慮して３次元画像の描画効率を向上することができる。
【００２２】
ここでは、３次元画像を形成するすべてのメッシュに間引きレベルが設定されている場合について説明したが、これに限らない。例えば、３次元画像を形成するメッシュのうち間引きレベルが設定されていないメッシュがあってもよい。この場合、描画装置１００は、例えば、間引きレベルが設定されていないメッシュを、間引きレベルがレベル１に設定されたメッシュとして扱ってもよい。
【００２３】
また、ここでは、間引きレベルが上述したレベル１〜レベル３のである場合について説明したが、これに限らない。例えば、間引きレベルには、メッシュを点として描画するレベル、すなわちメッシュを表す頂点データをひとつ残して、他の頂点データを削除するレベルがあってもよい。また、間引きレベルには、メッシュを線として描画するレベル、すなわちメッシュを表す頂点データを２つ残して、他の頂点データを削除するレベルがあってもよい。
【００２４】
（描画装置１００のハードウェア構成例）
図２は、実施の形態にかかる描画装置１００のハードウェア構成例を示すブロック図である。図２において、描画装置１００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２０１と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２０２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２０３と、グラフィックスサブシステム（Ｇｒａｐｈｉｃｓ  Ｓｕｂｓｙｓｔｅｍ）２０４と、ディスプレイ２０５と、を有する。また、各構成部はバス２００によってそれぞれ接続されている。
【００２５】
ここで、ＣＰＵ２０１は、描画装置１００の全体の制御を司る。ＲＯＭ２０２は、ブートプログラムなどのプログラムを記憶している。ＲＯＭ２０２は、３次元画像の描画データを記憶している。ＲＡＭ２０３は、ＣＰＵ２０１のワークエリアとして使用される。
【００２６】
グラフィックスサブシステム２０４は、ディスプレイ２０５に対する画像表示を行うための一連のシステムである。グラフィックスサブシステム２０４は、３次元エンジン（Ｔｈｒｅｅ−Ｄｉｍｅｎｓｉｏｎａｌ  Ｅｎｇｉｎｅ）２０６と、ＶＲＡＭ２０７と、ディスプレイコントローラ（Ｄｉｓｐｌａｙ  Ｃｏｎｔｒｏｌｌｅｒ）２０８と、を有する。
【００２７】
３次元エンジン２０６は、３次元画像の描画データを、ディスプレイ２０５に対する表示データに変換して、ＶＲＡＭ２０７に記憶する。ＶＲＡＭ２０７は、ディスプレイ２０５に対する表示データを記憶する。ディスプレイコントローラ２０８は、表示データをＶＲＡＭ２０７から読み出して映像信号に変換してディスプレイ２０５に供給する。
【００２８】
ディスプレイ２０５は、３次元画像を表示する。また、ディスプレイ２０５は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ２０５は、例えば、液晶ディスプレイ、プラズマディスプレイなどを採用することができる。また、描画装置１００は、さらに、磁気ディスクドライブ、キーボード、マウス、スキャナ、およびプリンタの少なくともいずれか１つを有してもよい。
【００２９】
（描画データ３００のデータ構造）
次に、図３を用いて、描画データ３００のデータ構造の一例について説明する。描画データ３００は、例えば、図２に示したＲＡＭ２０３に記憶される。描画データ３００の具体例については、図５を用いて後述する。
【００３０】
図３は、描画データ３００のデータ構造の一例を示す説明図である。図３に示すように、描画データ３００は、メッシュ最大個数のデータ３０１を有する。ここで、メッシュ最大個数とは、３次元画像を形成するメッシュの数である。また、描画データ３００は、メッシュのデータを、メッシュの数分有する。メッシュのデータは、メッシュ内頂点数のデータ３０２を有する。ここで、メッシュ内頂点数とは、メッシュを表す頂点の数である。また、メッシュのデータは、間引きレベルのデータ３０３を有する。
【００３１】
また、メッシュのデータは、頂点データを、頂点の数分有する。頂点データは、Ｘ座標値のデータ３０４、Ｙ座標値のデータ３０５、およびＺ座標値のデータ３０６を有する。ここで、Ｘ座標値とは、メッシュを表す頂点の座標値のうちのＸ軸の座標値である。Ｙ座標値とは、メッシュを表す頂点の座標値のうちのＹ軸の座標値である。Ｚ座標値とは、メッシュを表す頂点の座標値のうちのＺ軸の座標値である。
【００３２】
（描画装置１００の機能的構成例）
次に、図４を用いて、描画装置１００の機能的構成例について説明する。図４は、描画装置１００の機能的構成例を示すブロック図である。描画装置１００は、間引き部４０１と描画部４０２とを含む。間引き部４０１と描画部４０２とは、例えば、図２に示したＲＯＭ２０２、ＲＡＭ２０３などの記憶装置に記憶されたプログラムをＣＰＵ２０１に実行させることにより、その機能を実現する。
【００３３】
間引き部４０１は、３次元画像を形成するメッシュに設定された、メッシュを表す複数の頂点データの削除度合いを示す間引きレベルに応じて、メッシュに対する間引き処理を行う。間引き部４０１は、例えば、メッシュの間引きレベルが上述したレベル１、レベル２、およびレベル３のいずれであるかに応じて、メッシュに対する間引き処理を行う。
【００３４】
レベル１とは、上述したように、メッシュを表す複数の頂点データを削除せずメッシュをそのまま描画するレベルである。レベル２とは、上述したように、メッシュを表す複数の頂点データを削除するレベルである。レベル３とは、上述したように、メッシュに含まれる２つの面に共通する稜線を削除するレベルである。
【００３５】
以下の説明では、メッシュの間引きレベルが上述したレベル１である場合にメッシュに対して行われる間引き処理を「第１の間引き処理」と表記する場合がある。また、以下の説明では、メッシュの間引きレベルが上述したレベル２である場合にメッシュに対して行われる間引き処理を「第２の間引き処理」と表記する場合がある。また、以下の説明では、メッシュの間引きレベルが上述したレベル３である場合にメッシュに対して行われる間引き処理を「第３の間引き処理」と表記する場合がある。
【００３６】
＜第１の間引き処理＞
間引き部４０１は、メッシュの間引きレベルがレベル１である場合、メッシュを表す複数の頂点データを残しておく。間引き部４０１は、例えば、ＲＯＭ２０２から描画データ３００を読み出して、読み出した描画データ３００の複製データのうちのメッシュ内頂点数のデータ、Ｘ座標値のデータ、Ｙ座標値のデータ、およびＺ座標値のデータを残しておく。これにより、間引き部４０１は、３次元画像の形状を維持することができる。
【００３７】
＜第２の間引き処理＞
間引き部４０１は、メッシュの間引きレベルがレベル２である場合、複数の頂点データを削除する。間引き部４０１は、例えば、ＲＯＭ２０２から描画データ３００を読み出して、読み出した描画データ３００の複製データのうちのメッシュ内頂点数のデータ、Ｘ座標値のデータ、Ｙ座標値のデータ、およびＺ座標値のデータを削除する。これにより、間引き部４０１は、３次元画像を描画する際の頂点データの数を低減して、３次元画像の描画効率を向上することができる。
【００３８】
また、間引き部４０１は、表示画面上のメッシュの面積を算出し、面積が閾値以下であって、メッシュの間引きレベルがレベル２である場合、複数の頂点データを削除してもよい。間引き部４０１は、表示画面上のメッシュの面積を算出し、面積が閾値以下ではなく、メッシュの間引きレベルがレベル２である場合、複数の頂点データを削除しない。これにより、間引き部４０１は、３次元画像を描画する際の頂点データの数を低減して、３次元画像の描画効率を向上することができる。
【００３９】
＜第３の間引き処理＞
間引き部４０１は、メッシュの間引きレベルがレベル３である場合、複数の頂点データのうちの稜線の端点となる２つの頂点データを削除し、２つの頂点データの中間を示す頂点データを追加する。間引き部４０１は、例えば、ＲＯＭ２０２から描画データ３００を読み出して、読み出した描画データ３００の複製データのうちの稜線の端点となる２つの頂点データの各座標値の平均値を算出して、新たな頂点データを作成して追加する。また、間引き部４０１は、２つの頂点データを削除する。これにより、間引き部４０１は、３次元画像を描画する際の頂点データの数を低減して、３次元画像の描画効率を向上することができる。間引き処理された頂点データは、例えば、ＲＡＭ２０３などの記憶領域に記憶される。
【００４０】
描画部４０２は、間引き処理されたメッシュの頂点データに基づいて、３次元画像の描画処理を行う。描画部４０２は、グラフィックスサブシステム２０４を用いて、間引き処理された３次元画像の描画データ３００に基づいて、ディスプレイ２０５に、３次元画像を描画する。これにより、描画部４０２は、３次元画像をディスプレイ２０５に描画して、閲覧者に３次元画像を閲覧させることができる。
【００４１】
（描画装置１００の描画処理の内容）
次に、図５を用いて、描画装置１００の描画処理の内容について説明する。
【００４２】
図５は、描画装置１００の描画処理の内容を示す説明図である。図５において、描画装置１００は、間引き処理前の描画データ３００を、ＲＯＭ２０２から読み出す。ここで、ＲＯＭ２０２には、元々の描画データ３００が残っている。
【００４３】
図５の例では、読み出した描画データ３００の複製データを、間引き処理前の描画データ５０１とする。間引き処理前の描画データ５０１は、メッシュ１のデータと、メッシュ２のデータと、メッシュ３のデータと、を含む。
【００４４】
メッシュ１のデータは、間引きレベル「レベル２」を含む。また、メッシュ１のデータは、３個の頂点データを含む。メッシュ１の３個の頂点データは、座標値（−０．９，０．６９２８，０）を示すデータ、座標値（−０．９，−０．６９２８，０）を示すデータ、および座標値（−１，０，０）を示すデータである。
【００４５】
メッシュ２のデータは、間引きレベル「レベル１」を含む。また、メッシュ２のデータは、３個の頂点データを含む。メッシュ２の３個の頂点データは、座標値（−０．８，０．６９２８，０）を示すデータ、座標値（−０．８，−０．６９２８，０）を示すデータ、および座標値（０．６，０，０）を示すデータである。
【００４６】
メッシュ３のデータは、間引きレベル「レベル３」を含む。また、メッシュ３のデータは、１０個の頂点データを含む。メッシュ３の１０個の頂点データは、座標値（０．９２８，−０．０４７５４，０）を示すデータ、座標値（０．６７９，−０．１７２４１，０）を示すデータ、・・・、および座標値（０．９７３，−０．６１３４８，０）を示すデータである。
【００４７】
描画装置１００は、メッシュ１について、間引きレベルがレベル２であるため、メッシュ１のデータを削除する。また、描画装置１００は、メッシュ２について、間引きレベルがレベル１であるため、メッシュ２のデータを削除しない。
【００４８】
描画装置１００は、メッシュ３について、間引きレベルがレベル３であるため、１０個の頂点データのうちの稜線の端点となる２つの頂点データを特定する。ここでは、描画装置１００は、２つの頂点データとして、末尾側にある座標値（０．９４８，−０．２８９４，０）を示すデータと座標値（０．９７３，−０．６１３４８，０）を示すデータとを特定する。
【００４９】
次に、描画装置１００は、特定したデータの各座標値の平均値を算出し、中間を示す頂点データ（０．９６，−０．４５１４４，０）を作成して、追加する。このように、描画装置は、間引き処理前の描画データ５０１を、間引き処理後の描画データ５０２に変換する。
【００５０】
これにより、描画装置１００は、３次元画像の形状を維持しつつ、３次元画像を描画する際の頂点データの数を低減して、３次元画像の描画効率を向上することができる。このため、描画装置１００は、３次元画像の描画にかかる処理負荷を低減するとともに、３次元画像の描画にかかる時間を短縮することができる。結果として、３次元画像の閲覧者は、３次元画像を違和感なく閲覧することができる。また、描画装置１００は、３次元画像の描画データの作成者がメッシュごとに設定した間引きレベルに基づいて、３次元画像の形状を維持するため、作成者の意図を考慮して３次元画像の描画効率を向上することができる。
【００５１】
（描画装置１００の描画処理手順の一例）
次に、図６を用いて、描画装置１００の描画処理手順の一例について説明する。
【００５２】
図６は、描画装置１００の描画処理手順の一例を示すフローチャートである。図６に示すように、描画装置１００は、ＲＯＭ２０２に記憶された描画データ３００を読み出して、読み出した描画データ３００からメッシュ最大個数を抽出する（ステップＳ６０１）。
【００５３】
次に、描画装置１００は、変数ＭＥＳＨ＿ＭＡＸに、抽出したメッシュ最大個数を代入するとともに、変数ＮＥＷ＿ＭＥＳＨ＿ＭＡＸに、抽出したメッシュ最大個数を代入する（ステップＳ６０２）。そして、描画装置１００は、変数ｎに１を代入する（ステップＳ６０３）。
【００５４】
次に、描画装置１００は、読み出した描画データ３００からｎ番目のメッシュの間引きレベルを抽出する（ステップＳ６０４）。そして、描画装置１００は、図７を用いて後述する間引き処理を行う（ステップＳ６０５）。
【００５５】
次に、描画装置１００は、変数ｎにｎ＋１を代入する（ステップＳ６０６）。そして、描画装置１００は、ｎがＭＥＳＨ＿ＭＡＸより大きいか否かを判定する（ステップＳ６０７）。ここで、ＭＥＳＨ＿ＭＡＸ以下である場合（ステップＳ６０７：Ｎｏ）、描画装置１００は、ステップＳ６０４の処理に戻る。
【００５６】
一方で、ＭＥＳＨ＿ＭＡＸより大きい場合（ステップＳ６０７：Ｙｅｓ）、描画装置１００は、ＮＥＷ＿ＭＥＳＨ＿ＭＡＸを、間引き処理された描画データ３００のメッシュ最大個数に上書きする（ステップＳ６０８）。
【００５７】
次に、描画装置１００は、変数ｎに１を代入する（ステップＳ６０９）。そして、描画装置１００は、間引き処理された描画データ３００のｎ番目のメッシュを描画する（ステップＳ６１０）。次に、描画装置１００は、変数ｎにｎ＋１を代入する（ステップＳ６１１）。そして、描画装置１００は、ｎがＮＥＷ＿ＭＥＳＨ＿ＭＡＸより大きいか否かを判定する（ステップＳ６１２）。ここで、ＮＥＷ＿ＭＥＳＨ＿ＭＡＸ以下である場合（ステップＳ６１２：Ｎｏ）、描画装置１００は、ステップＳ６１０の処理に戻る。
【００５８】
一方で、ＮＥＷ＿ＭＥＳＨ＿ＭＡＸより大きい場合（ステップＳ６１２：Ｙｅｓ）、描画装置１００は、描画処理を終了する。これにより、描画部４０２は、３次元画像をディスプレイ２０５に描画して、閲覧者に３次元画像を閲覧させることができる。
【００５９】
（描画装置１００の間引き処理手順の一例）
次に、図７を用いて、ステップＳ６０５に示した、描画装置１００の間引き処理手順の一例について説明する。
【００６０】
図７は、描画装置１００の間引き処理手順の一例を示すフローチャートである。図７に示すように、描画装置１００は、間引きレベルがいくつかを判定する（ステップＳ７０１）。ここで、間引きレベルがレベル１である場合（ステップＳ７０１：レベル１）、描画装置１００は、メッシュのデータを、そのままＲＡＭ２０３に格納し（ステップＳ７０２）、間引き処理を終了する。
【００６１】
一方で、間引きレベルがレベル２である場合（ステップＳ７０１：レベル２）、描画装置１００は、メッシュの面積を算出する（ステップＳ７０３）。次に、描画装置１００は、面積が閾値以下であるか否かを判定する（ステップＳ７０４）。
【００６２】
ここで、閾値より大きい場合（ステップＳ７０４：Ｎｏ）、描画装置１００は、ステップＳ７０２の処理に移行する。一方で、閾値以下である場合（ステップＳ７０４：Ｙｅｓ）、描画装置１００は、メッシュのデータをＲＡＭ２０３に格納せず（ステップＳ７０５）、変数ＮＥＷ＿ＭＥＳＨ＿ＭＡＸにＮＥＷ＿ＭＥＳＨ＿ＭＡＸ−１を代入する（ステップＳ７０６）。そして、描画装置１００は、間引き処理を終了する。
【００６３】
また、ステップＳ７０１において、間引きレベルがレベル３である場合（ステップＳ７０１：レベル３）、描画装置１００は、図８を用いて後述する面削除処理を行い（ステップＳ７０７）、間引き処理を終了する。これにより、描画装置１００は、３次元画像の形状を維持しつつ、３次元画像を描画する際の頂点データの数を低減して、３次元画像の描画効率を向上することができる。
【００６４】
（描画装置１００の面削除処理手順の一例）
次に、図８を用いて、ステップＳ７０７に示した、描画装置１００の面削除処理手順の一例について説明する。
【００６５】
図８は、描画装置１００の面削除処理手順の一例を示すフローチャートである。図８に示すように、描画装置１００は、ＱＥＭ（Ｑｕａｄｒｉｃ  Ｅｒｒｏｒ  Ｍｅｔｒｉｃｓ）手法を適用する、稜線の端点を頂点ペアとして登録する（ステップＳ８０１）。ＱＥＭ手法については従来技術のため詳細な説明を省略する。
【００６６】
次に、描画装置１００は、登録した頂点ペアを共有するポリゴンから、４×４行列を算出する（ステップＳ８０２）。そして、描画装置１００は、行列に基づいて、頂点ペアごとに、コストを算出する（ステップＳ８０３）。
【００６７】
次に、描画装置１００は、頂点ペアを縮退した縮退頂点の座標値を算出する（ステップＳ８０４）。そして、描画装置１００は、最小コストの頂点ペアを削除して、最小コストの頂点ペアについて算出した縮退頂点の座標値を追加する（ステップＳ８０５）。
【００６８】
次に、描画装置１００は、メッシュに含まれる面の数が所定数以下であるか否かを判定する（ステップＳ８０６）。ここで、所定数より大きい場合（ステップＳ８０６：Ｎｏ）、描画装置１００は、縮退頂点の座標値を追加した後における頂点ペアを特定し、頂点ペアのコストを算出して（ステップＳ８０７）、ステップＳ８０５の処理に戻る。
【００６９】
一方で、所定数以下である場合（ステップＳ８０６：Ｙｅｓ）、描画装置１００は、縮退頂点の座標値を追加したメッシュのデータをＲＡＭ２０３に格納して（ステップＳ８０８）、面削除処理を終了する。
【００７０】
以上説明したように、描画方法によれば、３次元画像を形成するメッシュに設定された間引きレベルに応じて、メッシュに対する間引き処理を行うことができる。これにより、描画方法は、３次元画像の形状を維持しつつ、３次元画像を描画する際の頂点データの数を低減して、３次元画像の描画効率を向上することができる。このため、描画装置１００は、３次元画像の描画にかかる処理負荷を低減するとともに、３次元画像の描画にかかる時間を短縮することができる。結果として、３次元画像の閲覧者は、３次元画像を違和感なく閲覧することができる。また、描画装置１００は、３次元画像の描画データの作成者がメッシュごとに設定した間引きレベルに基づいて、３次元画像の形状を維持するため、作成者の意図を考慮して３次元画像の描画効率を向上することができる。
【００７１】
また、描画方法によれば、描画レベルがレベル２の場合、メッシュを表す複数の頂点データを削除することができる。これにより、描画方法は、３次元画像の形状を維持しつつ、３次元画像を描画する際の頂点データの数を低減して、３次元画像の描画効率を向上することができる。
【００７２】
また、描画方法によれば、メッシュの面積が閾値以下であって、描画レベルがレベル２の場合、メッシュを表す複数の頂点データを削除することができる。これにより、描画方法は、メッシュの面積が大きいためにメッシュを描画しないと閲覧者に違和感を与えうる場合は、メッシュを描画することができる。一方で、描画方法は、メッシュの面積が小さいためにメッシュを描画しなくても閲覧者に違和感を与えない場合は、３次元画像の形状を維持しつつ、３次元画像を描画する際の頂点データの数を低減して、３次元画像の描画効率を向上することができる。
【００７３】
また、描画方法によれば、描画レベルがレベル３の場合、メッシュに含まれる２つの面に共通する稜線の端点となる２つの頂点データの中間の頂点データを作成し、２つの頂点データを削除することができる。これにより、描画方法は、３次元画像の形状を維持しつつ、３次元画像を描画する際の頂点データの数を低減して、３次元画像の描画効率を向上することができる。
【００７４】
なお、本実施の形態で説明した描画方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本描画プログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また本描画プログラムは、インターネット等のネットワークを介して配布してもよい。
【００７５】
上述した実施の形態に関し、さらに以下の付記を開示する。
【００７６】
（付記１）コンピュータが、
３次元画像を形成するメッシュに設定された、前記メッシュを表す複数の頂点データの削除度合いを示す間引きレベルに応じて、前記メッシュに対する間引き処理を行い、
前記間引き処理された前記メッシュの頂点データに基づいて、前記３次元画像の描画処理を行う、
処理を実行することを特徴とする描画方法。
【００７７】
（付記２）前記間引き処理を行う処理は、前記メッシュの間引きレベルが前記複数の頂点データを削除することを示すレベルである場合、前記複数の頂点データを削除することを特徴とする付記１に記載の描画方法。
【００７８】
（付記３）前記コンピュータが、
表示画面上の前記メッシュの面積を算出する処理を実行し、
前記間引き処理を行う処理は、前記メッシュの間引きレベルが前記複数の頂点データを削除することを示すレベルであり、前記面積が閾値以下である場合、前記複数の頂点データを削除することを特徴とする付記２に記載の描画方法。
【００７９】
（付記４）前記間引き処理を行う処理は、前記メッシュの間引きレベルが前記複数の頂点データを削除することを示すレベルであるが、前記面積が閾値以下でない場合、前記複数の頂点データを削除しないことを特徴とする付記３に記載の描画方法。
【００８０】
（付記５）前記間引き処理を行う処理は、前記メッシュの間引きレベルが前記メッシュに含まれる２つの面に共通する稜線を削除することを示すレベルである場合、前記複数の頂点データのうちの前記稜線の端点となる２つの頂点データを削除し、前記２つの頂点データの中間を示す頂点データを追加することを特徴とする付記１〜４のいずれか一つに記載の描画方法。
【００８１】
（付記６）前記間引き処理を行う処理は、前記メッシュの間引きレベルが前記複数の頂点データを削除しないことを示すレベルである場合、前記複数の頂点データを削除しないことを特徴とする付記１〜５のいずれか一つに記載の描画方法。
【００８２】
（付記７）前記間引き処理を行う処理は、３次元画像を形成するメッシュごとに設定された、当該メッシュを表す複数の頂点データの削除度合いを示す間引きレベルに応じて、当該メッシュに対する間引き処理を行い、
前記描画処理を行う処理は、前記間引き処理された前記メッシュごとの頂点データに基づいて、前記３次元画像の描画処理を行うことを特徴とする付記１〜６のいずれか一つに記載の描画方法。
【００８３】
（付記８）３次元画像を形成するメッシュに設定された、前記メッシュを表す複数の頂点データの削除度合いを示す間引きレベルに応じて、前記メッシュに対する間引き処理を行う間引き部と、
前記間引き処理された前記メッシュの頂点データに基づいて、前記３次元画像の描画処理を行う描画部と、
を有することを特徴とする描画装置。
【００８４】
（付記９）コンピュータに、
３次元画像を形成するメッシュに設定された、前記メッシュを表す複数の頂点データの削除度合いを示す間引きレベルに応じて、前記メッシュに対する間引き処理を行い、
前記間引き処理された前記メッシュの頂点データに基づいて、前記３次元画像の描画処理を行う、
処理を実行させることを特徴とする描画プログラム。
【符号の説明】
【００８５】
１００  描画装置
４０１  間引き部
４０２  描画部
【図１】
2015022462.tif 000003
【図２】
2015022462.tif 000004
【図３】
2015022462.tif 000005
【図４】
2015022462.tif 000006
【図５】
2015022462.tif 000007
【図６】
2015022462.tif 000008
【図７】
2015022462.tif 000009
【図８】
2015022462.tif 000010