(57)【要約】【課題】  画像の描画に要する処理量を抑えつつ、表示対象となるオブジェクトの画像を適切に描画する。【解決手段】  表示対象となるオブジェクトに対して、ポリゴン数の多い詳細モデルデータとポリゴン数の少ない粗モデルデータとが用意されている。また、それぞれのモデルについて、オブジェクト全体を含む直方体がバウンディングボックスとして定義されている。オブジェクトを透視変換して画像を描画する際、仮想３次元空間を仮想カメラの視点からの距離に応じて遠距離視野と近距離視野とに分ける。バウンディングボックスの少なくとも一部が遠距離視野に含まれる場合、粗モデルデータを構成するポリゴンのうちで遠距離視野に含まれるものをフレームバッファに描画する。バウンディングボックスの少なくとも一部が近距離視野に含まれる場合、詳細モデルデータを構成するポリゴンのうちで近距離視野に含まれるものをフレームバッファ描画する。【選択図】    図１０
2005182207.tif 000002
【特許請求の範囲】
【請求項１】
オブジェクトが存在する仮想空間を、所定の視点から仮想スクリーン上に透視変換して描画するための画像描画装置であって、
複数のポリゴンで前記オブジェクトを構成するための粗モデルデータと、該粗モデルデータよりも多くのポリゴンで前記オブジェクトを構成するための詳細モデルデータとを記憶するモデルデータ記憶手段と、
前記仮想空間のうちで画像の描画範囲となる視野を前記視点の位置を基準として分けた第１視野と第２視野とに、それぞれ前記オブジェクトの少なくとも一部が含まれるかどうかを判定するオブジェクト判定手段と、
前記オブジェクト判定手段により前記オブジェクトの少なくとも一部が前記第１視野に含まれていると判定されたときに、該第１視野に含まれる該オブジェクトの粗モデルデータを構成するポリゴンを透視変換した画像を描画する粗モデル描画手段と、
前記オブジェクト判定手段により前記オブジェクトの少なくとも一部が前記第２視野に含まれていると判定されたときに、前記詳細モデルデータを構成する各ポリゴンが該第２視野に含まれるかどうかを判定する詳細モデル判定手段と、
前記詳細モデル判定手段により前記第２視野に含まれていると判定されたときに、該第２視野に含まれる該オブジェクトの詳細モデルデータを構成するポリゴンを透視変換した画像を描画する詳細モデル描画手段と
を備えることを特徴とする画像描画装置。
【請求項２】
前記視野は、前記視点の位置から遠い方を第１視野とし、該視点の位置から近い方を第２視野として分けられる
ことを特徴とする請求項１に記載の画像描画装置。
【請求項３】
画像の描画対象となるオブジェクトは複数種類あり、
前記視野は、前記オブジェクトの種類に応じて異なる範囲で前記第１視野と第２視野とに分けられる
ことを特徴とする請求項１または２に記載の画像描画装置。
【請求項４】
前記粗モデル描画手段により画像を描画した後、前記詳細モデル描画手段により画像を描画させる描画順制御手段をさらに備える
ことを特徴とする請求項１乃至３のいずれか１項に記載の画像描画装置。
【請求項５】
前記粗モデル描画手段は、前記オブジェクト判定手段により前記オブジェクトの少なくとも一部が前記第１視野に含まれていると判定されたときに、該オブジェクトの粗モデルデータを構成する全てのポリゴンを透視変換した画像を描画する
ことを特徴とする請求項４に記載の画像描画装置。
【請求項６】
前記オブジェクト判定手段により前記オブジェクトの少なくとも一部が前記第１視野に含まれていると判定されたときに、前記粗モデルデータを構成する各ポリゴンを透視変換することにより、各ポリゴンが該第１視野に含まれるかどうかを判定する粗モデル判定手段をさらに備え、
前記粗モデル描画手段は、前記粗モデル判定手段により前記第１視野に含まれていると判定された粗モデルデータを構成するポリゴンの画像を描画する
ことを特徴とする請求項１乃至５のいずれか１項に記載の画像描画装置。
【請求項７】
前記モデルデータ記憶手段は、前記オブジェクトを構成するポリゴンによって定められる頂点の数以下の頂点を定め、該頂点で規定される多面体の範囲に該オブジェクトを含むバウンディングボックスをさらに記憶し、
前記オブジェクト判定手段は、前記バウンディングボックスの各頂点が前記第１視野と第２視野とにそれぞれ含まれるかどうかを判定することにより、前記オブジェクトの少なくとも一部が前記第１視野と第２視野とにそれぞれ含まれるかどうかを判定する
ことを特徴とする請求項１乃至６のいずれか１項に記載の画像描画装置。
【請求項８】
前記モデルデータ記憶手段は、前記粗モデルデータと前記詳細モデルデータに対して、それぞれ別々に前記バウンディングボックスを記憶する
ことを特徴とする請求項７に記載の画像描画装置。
【請求項９】
前記モデルデータ記憶手段は、前記粗モデルデータを前記詳細モデルデータのバウンディングボックスとして記憶する
ことを特徴とする請求項８に記載の画像描画装置。
【請求項１０】
前記粗モデル判定手段は、前記オブジェクトの粗モデルデータを構成する各ポリゴンの少なくとも一部の頂点が前記第１視野に含まれている場合に、当該ポリゴンが前記第１視野に含まれていると判定し、
前記詳細モデル判定手段は、前記オブジェクトの詳細モデルデータを構成する各ポリゴンの少なくとも一部の頂点が前記第２視野に含まれている場合に、当該ポリゴンが前記第２視野に含まれていると判定する
ことを特徴とする請求項１乃至９のいずれか１項に記載の画像描画装置。
【請求項１１】
前記粗モデルデータ及び前記詳細モデルデータをそれぞれ構成する各ポリゴンには、それぞれの範囲内に代表点が定められており、
前記粗モデル判定手段は、前記オブジェクトの粗モデルデータを構成する各ポリゴンの代表点が前記第１視野に含まれている場合に、当該ポリゴンが前記第１視野に含まれていると判定し、
前記詳細モデル判定手段は、前記オブジェクトの詳細モデルデータを構成する各ポリゴンの代表点が前記第２視野に含まれている場合に、当該ポリゴンが前記第２視野に含まれていると判定する
ことを特徴とする請求項１乃至９のいずれか１項に記載の画像描画装置。
【請求項１２】
仮想空間に存在するオブジェクトを複数のポリゴンで構成するための粗モデルデータと、該粗モデルデータよりも多くのポリゴンで構成するための詳細モデルデータとを記憶したコンピュータ装置において、該オブジェクトが存在する仮想空間を所定の視点から仮想スクリーン上に透視変換して描画するための方法であって、
前記仮想空間のうちで前記透視変換による画像の描画範囲となる視野を前記視点の位置を基準として分けた第１視野と第２視野とに、それぞれ前記オブジェクトの少なくとも一部が含まれるかどうかを判定し、
前記オブジェクトの少なくとも一部が前記第１視野に含まれていると判定されたときに、該第１視野に含まれる該オブジェクトの粗モデルデータを構成するポリゴンを透視変換した画像を描画し、
前記オブジェクトの少なくとも一部が前記第２視野に含まれていると判定されたときに、前記詳細モデルデータを構成する各ポリゴンが該第２視野に含まれるかどうかを判定し、
前記第２視野に含まれていると判定された詳細モデルデータを構成するポリゴンを透視変換した画像を描画する
ことを特徴とする画像描画方法。
【請求項１３】
オブジェクトが存在する仮想空間を、所定の視点から仮想スクリーン上に透視変換して描画するためのプログラムであって、
複数のポリゴンで前記オブジェクトを構成するための粗モデルデータと、該粗モデルデータよりも多くのポリゴンで前記オブジェクトを構成するための詳細モデルデータとを記憶するモデルデータ記憶手段、
前記仮想空間のうちで前記透視変換による画像の描画範囲となる視野を前記視点の位置を基準として分けた第１視野と第２視野とに、それぞれ前記オブジェクトの少なくとも一部が含まれるかどうかを判定するオブジェクト判定手段、
前記オブジェクト判定手段により前記オブジェクトの少なくとも一部が前記第１視野に含まれていると判定されたときに、該第１視野に含まれる該オブジェクトの粗モデルデータを構成するポリゴンを透視変換した画像を描画する粗モデル描画手段、
前記オブジェクト判定手段により前記オブジェクトの少なくとも一部が前記第２視野に含まれていると判定されたときに、前記詳細モデルデータを構成する各ポリゴンが該第２視野に含まれるかどうかを判定する詳細モデル判定手段、及び、
前記詳細モデル判定手段により前記第２視野に含まれていると判定されたときに、該第２視野に含まれる該オブジェクトの詳細モデルデータを構成するポリゴンを透視変換した画像を描画する詳細モデル描画手段
としてコンピュータ装置を機能させるためのプログラム。
【請求項１４】
オブジェクトが存在する仮想空間を、所定の視点から仮想スクリーン上に透視変換して描画するためのプログラムを記録した記録媒体であって、
前記プログラムは、
複数のポリゴンで前記オブジェクトを構成するための粗モデルデータと、該粗モデルデータよりも多くのポリゴンで前記オブジェクトを構成するための詳細モデルデータとを記憶するモデルデータ記憶手段、
前記仮想空間のうちで前記透視変換による画像の描画範囲となる視野を前記視点の位置を基準として分けた第１視野と第２視野とに、それぞれ前記オブジェクトの少なくとも一部が含まれるかどうかを判定するオブジェクト判定手段、
前記オブジェクト判定手段により前記オブジェクトの少なくとも一部が前記第１視野に含まれていると判定されたときに、該第１視野に含まれる該オブジェクトの粗モデルデータを構成するポリゴンを透視変換した画像を描画する粗モデル描画手段、
前記オブジェクト判定手段により前記オブジェクトの少なくとも一部が前記第２視野に含まれていると判定されたときに、前記詳細モデルデータを構成する各ポリゴンが該第２視野に含まれるかどうかを判定する詳細モデル判定手段、及び、
前記詳細モデル判定手段により前記第２視野に含まれていると判定されたときに、該第２視野に含まれる該オブジェクトの詳細モデルデータを構成するポリゴンを透視変換した画像を描画する詳細モデル描画手段
としてコンピュータ装置を機能させることを特徴とするコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のポリゴンで構成される粗モデルデータと、これよりも多くのポリゴンで構成される詳細モデルデータとが用意されたオブジェクトを描画するための画像処理技術に関するものである。
【背景技術】
【０００２】
従来から、ビデオゲームにおける画像生成処理において、仮想３次元空間を所定の視点位置から仮想スクリーン上に透視変換して、該仮想３次元空間に存在するオブジェクトの画像を描画することが行われている。もっとも、ゲームの進行状況を動画像として表示するためには、１枚の画像を描画しなければならない時間が例えば１フレーム期間に限られているため、ＬＯＤ（Level Of Detail）と呼ばれる技術を用いて、画像の描画のための処理量の軽減を行っている。
【０００３】
ＬＯＤでは、同一のオブジェクトに対して詳細度が異なる（例えば、ポリゴン数が異なる）複数のモデルデータを用意している。視点と表示対象となるオブジェクトとの間の距離が短い場合には、当該オブジェクトについて詳細なモデルデータ（例えば、ポリゴン数が多いモデルデータ）を用いて、該距離が長い場合には粗いモデルデータ（例えば、ポリゴン数が少ないモデルデータ）を用いて、当該オブジェクトの画像を描画するものとしている。
【０００４】
このＬＯＤの技術を適用することにより、視点から近い距離にあるオブジェクトについては、詳細なモデルデータを用いて詳細な画像を表示させることを確保しつつ、視点から遠い距離にあって詳細な表示の必要がないオブジェクトの画像を描画するための処理量を抑えることができる。ここで、表示対象となるオブジェクトの視点からの距離は、当該オブジェクトの中心位置などに設定された代表点と視点との間の距離によって判断されていた（例えば、特許文献１〜４参照）。
【０００５】
【特許文献１】特開２００３−１１５０５５号公報
【特許文献２】特開２００３−２２８７２５号公報
【特許文献３】特開２００１−２５０１２８号公報
【特許文献４】特開２００１−７６１８０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来のＬＯＤにおいて、オブジェクトの代表点と視点との間の距離が閾値よりも大きければ、視点により近い位置にある部分も粗いモデルデータを用いて画像が描画され、オブジェクトの代表点と視点との間の距離が閾値よりも小さければ、視点により遠い位置にある部分も詳細なモデルデータを用いて画像が描画されてしまうこともあった。
【０００７】
特に表示対象となるオブジェクトが２つ以上近接して存在している場合には、１のオブジェクトの視点との間の距離が短い部分が粗いモデルデータを用いて描画され、他のオブジェクトの視点との距離が長い部分が詳細なモデルデータを用いて描画されているということも起こり得る。この場合には、視点よりも近い位置が粗く、遠い位置が詳細に表示されてしまうので、表示された画像を見ているプレイヤに違和感を感じさせてしまうという問題が生じていた。
【０００８】
本発明は、画像の描画に要する処理量を抑えつつ、表示対象となるオブジェクトの画像を適切に描画することができる画像描画装置等を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するため、本発明の第１の観点にかかる画像描画装置は、オブジェクトが存在する仮想空間を、所定の視点から仮想スクリーン上に透視変換して描画するための画像描画装置であって、複数のポリゴンで前記オブジェクトを構成するための粗モデルデータと、該粗モデルデータよりも多くのポリゴンで前記オブジェクトを構成するための詳細モデルデータとを記憶するモデルデータ記憶手段と、前記仮想空間のうちで前記透視変換による画像の描画範囲となる視野を前記視点の位置を基準として分けた第１視野と第２視野とに、それぞれ前記オブジェクトの少なくとも一部が含まれるかどうかを判定するオブジェクト判定手段と、前記オブジェクト判定手段により前記オブジェクトの少なくとも一部が前記第１視野に含まれていると判定されたときに、該第１視野に含まれる該オブジェクトの粗モデルデータを構成するポリゴンを透視変換した画像を描画する粗モデル描画手段と、前記オブジェクト判定手段により前記オブジェクトの少なくとも一部が前記第２視野に含まれていると判定されたときに、前記詳細モデルデータを構成する各ポリゴンが該第２視野に含まれるかどうかを判定する詳細モデル判定手段と、前記詳細モデル判定手段により前記第２視野に含まれていると判定されたときに、該第２視野に含まれる該オブジェクトの詳細モデルデータを構成するポリゴンを透視変換した画像を描画する詳細モデル描画手段とを備えることを特徴とする。
【００１０】
上記画像描画装置では、視点の位置を位置を基準として透視変換される視野が第１視野、第２視野に分けられる。オブジェクトの一部でも第１視野に含まれると、第１視野に含まれる粗モデルデータを構成するポリゴンを透視変換した画像が描画される。一方、オブジェクトの一部でも第２視野に含まれると、詳細モデルデータを構成するポリゴンのうちで第２視野に含まれるポリゴンを透視変換した画像が描画される。
【００１１】
つまり、オブジェクトのうちの第１視野に含まれる部分は粗モデルデータを用いて、第２視野に含まれる部分は詳細モデルデータを用いて、画像が描画されることとなる。これにより、例えば近接した複数のオブジェクトを同時に描画するときに、いずれのオブジェクトも第１視野に含まれる部分は粗く、第２視野に含まれる部分は詳細に画像が描画されることとなるので、オブジェクト全体としてではなく、オブジェクトの部分部分がいずれの視野に含まれるかにより、適切な画像を描画できるようになる。
【００１２】
また、全体が第１視野に含まれて第２視野に含まれる部分がないオブジェクトは粗モデルデータだけを用いて、全体が第２視野に含まれて第１視野に含まれる部分がないオブジェクトは詳細モデルデータだけを用いて、画像を描画することができるので、このような場合にはポリゴンの１つ１つについていずれの視野に含まれるのかを判定する必要がなく、少ない処理量で画像を描画することができるようになる。
【００１３】
上記画像描画装置において、前記視野は、前記視点の位置から遠い方を第１視野とし、該視点の位置から近い方を第２視野として分けられるものとすることができる。
【００１４】
この場合には、視点の位置から遠い部分の画像が粗モデルデータを用いて、近い部分が詳細モデルデータを用いて描画されるものとなるので、視点から近くにある画像を詳細に表示させることができるようになる。
【００１５】
上記画像描画装置において、画像の描画対象となるオブジェクトが複数種類ある場合には、前記視野は、前記オブジェクトの種類に応じて異なる範囲で前記第１視野と第２視野とに分けられるものとすることができる。
【００１６】
例えば、ビデオゲームにおけるプレイヤキャラクタのような重要性の高いオブジェクトは、視点の位置から遠くに存在する場合でも詳細モデルデータを用いて画像を描画することができるので、視点からの距離によらずに重要度の高いオブジェクトの画像を他のオブジェクトよりも詳細に表示させることができるようになる。
【００１７】
上記画像描画装置は、前記粗モデル描画手段により画像を描画した後、前記詳細モデル描画手段により画像を描画させる描画順制御手段をさらに備えるものとすることができる。
【００１８】
この場合には、粗モデルデータを構成するポリゴンで粗く画像を描画した後に、詳細モデルデータを構成するポリゴンで詳細に画像を描画すればよいので、第１視野と第２視野の両方に含まれるポリゴンがあっても、オブジェクトの第２視野に含まれる部分を詳細に表示させることができる。
【００１９】
この場合において、前記粗モデル描画手段は、前記オブジェクト判定手段により前記オブジェクトの少なくとも一部が前記第１視野に含まれていると判定されたときに、該オブジェクトの粗モデルデータを構成する全てのポリゴンを透視変換した画像を描画するものとすることができる。
【００２０】
この場合には、粗モデルデータを構成するポリゴンの画像が描画されていても、オブジェクトの第２視野に含まれる部分については、その後から詳細モデルデータを用いて詳細な画像を描画することができるので、オブジェクトの第２視野に含まれる部分を詳細に表示させることができる。
【００２１】
上記画像描画装置は、前記オブジェクト判定手段により前記オブジェクトの少なくとも一部が前記第１視野に含まれていると判定されたときに、前記粗モデルデータを構成する各ポリゴンを透視変換することにより、各ポリゴンが該第１視野に含まれるかどうかを判定する粗モデル判定手段をさらに備えていてもよい。この場合において、前記粗モデル描画手段は、前記粗モデル判定手段により前記第１視野に含まれていると判定された粗モデルデータを構成するポリゴンの画像を描画するものとすることができる。
【００２２】
この場合には、粗モデルデータを構成するポリゴンでは、第１視野に含まれているポリゴンのみについて画像が描画されることとなるので、処理量を少なくできるとともに、オブジェクトの第２視野に含まれる部分を詳細モデルデータで描画した画像が、粗モデルデータで描画した画像によって消されてしまうことがない。
【００２３】
上記画像描画装置において、前記モデルデータ記憶手段は、前記オブジェクトを構成するポリゴンによって定められる頂点の数以下の頂点を定め、該頂点で規定される多面体の範囲に該オブジェクトを含むバウンディングボックスをさらに記憶していてもよい。この場合において、前記オブジェクト判定手段は、前記バウンディングボックスの各頂点が前記第１視野と第２視野とにそれぞれ含まれるかどうかを判定することにより、前記オブジェクトの少なくとも一部が前記第１視野と第２視野とにそれぞれ含まれるかどうかを判定するものとすることができる。
【００２４】
この場合には、バウンディングボックスが第１視野と第２視野にそれぞれ含まれるかどうかによってオブジェクトが第１視野と第２視野にそれぞれ含まれるかどうかを判定すればよいので、オブジェクトそのもので判定を行う場合よりも判定の対象となる頂点の数が少なくて済み、オブジェクトがいずれの視野に含まれるかの判定を少ない処理量で行うことができる。
【００２５】
この場合において、前記モデルデータ記憶手段は、前記粗モデルデータと前記詳細モデルデータに対して、それぞれ別々に前記バウンディングボックスを記憶するものであってもよい。
【００２６】
この場合には、例えば粗モデルデータでは第２視野に含まれるポリゴンがないのにバウンディングボックスによりオブジェクトが第２視野に含まれると判定されたり、詳細モデルデータでは第１視野に含まれるポリゴンがないのにバウンディングボックスによりオブジェクトが第１視野に含まれると判定されたりする場合が少なくなり、各ポリゴンの画像を描画するかどうかについて無駄な処理を行わなくて済むようになる。
【００２７】
また、前記モデルデータ記憶手段は、前記粗モデルデータを前記詳細モデルデータのバウンディングボックスとして記憶するものであってもよい。
【００２８】
この場合には、詳細モデルデータのバウンディングボックスを別に用意する必要がないので、詳細モデルのバウンディングボックスのための記憶容量を少なくすることができる。また、粗モデルデータは、詳細モデルデータよりもポリゴンによって定められる頂点の数が少ないので、粗モデルデータをバウンディングボックスとして使用する場合でも、オブジェクトがいずれの視野に含まれるかの判定を比較的少ない処理量で行うことができるようになる。なお、粗モデルデータについては、これ自体を用いてオブジェクトがいずれの視野に含まれるかを判定しても、さらに別のバウンディングボックスを用いてオブジェクトがいずれの視野に含まれるかを判定してもよい。
【００２９】
上記画像描画装置において、前記粗モデル判定手段は、前記オブジェクトの粗モデルデータを構成する各ポリゴンの少なくとも一部の頂点が前記第１視野に含まれている場合に、当該ポリゴンが前記第１視野に含まれていると判定するものとし、前記詳細モデル判定手段は、前記オブジェクトの詳細モデルデータを構成する各ポリゴンの少なくとも一部の頂点が前記第２視野に含まれている場合に、当該ポリゴンが前記第２視野に含まれていると判定するものとすることができる。
【００３０】
この場合には、粗モデルデータを構成する各ポリゴンのうちで一部でも第１視野に含まれているポリゴンは全て粗モデル描画手段による描画対象とすることができ、詳細モデルデータを構成する各ポリゴンのうちで一部でも第２視野に含まれているポリゴンは全て詳細モデル描画手段による描画対象とすることができる。このため、第１視野と第２視野との境界の部分の画像が描画されないというような不都合を避けることができる。
【００３１】
上記画像描画装置において、前記粗モデルデータ及び前記詳細モデルデータをそれぞれ構成する各ポリゴンには、それぞれの範囲内に代表点が定められていてもよい。この場合には、前記粗モデル判定手段は、前記オブジェクトの粗モデルデータを構成する各ポリゴンの代表点が前記第１視野に含まれている場合に、当該ポリゴンが前記第１視野に含まれていると判定するものとし、前記詳細モデル判定手段は、前記オブジェクトの詳細モデルデータを構成する各ポリゴンの代表点が前記第２視野に含まれている場合に、当該ポリゴンが前記第２視野に含まれていると判定するものとすることができる。
【００３２】
この場合には、粗モデルデータ及び詳細モデルデータを構成する各ポリゴンが、それぞれ第１視野、第２視野に含まれているかどうかを、代表点のみによって簡易に判定することができ、そのための処理量を少なくすることができる。なお、各ポリゴンの代表点は、例えば、その重心位置に定めることができる。
【００３３】
上記目的を達成するため、本発明の第２の観点にかかる画像描画方法は、仮想空間に存在するオブジェクトを複数のポリゴンで構成するための粗モデルデータと、該粗モデルデータよりも多くのポリゴンで構成するための詳細モデルデータとを記憶したコンピュータ装置において、該オブジェクトが存在する仮想空間を所定の視点から仮想スクリーン上に透視変換して描画するための方法であって、前記仮想空間のうちで前記透視変換による画像の描画範囲となる視野を前記視点の位置を基準として分けた第１視野と第２視野とに、それぞれ前記オブジェクトの少なくとも一部が含まれるかどうかを判定し、前記オブジェクトの少なくとも一部が前記第１視野に含まれていると判定されたときに、該第１視野に含まれる該オブジェクトの粗モデルデータを構成するポリゴンを透視変換した画像を描画し、前記オブジェクトの少なくとも一部が前記第２視野に含まれていると判定されたときに、前記詳細モデルデータを構成する各ポリゴンが該第２視野に含まれるかどうかを判定し、前記第２視野に含まれていると判定された詳細モデルデータを構成するポリゴンを透視変換した画像を描画することを特徴とする。
【００３４】
上記目的を達成するため、本発明の第３の観点にかかるプログラムは、オブジェクトが存在する仮想空間を、所定の視点から仮想スクリーン上に透視変換して描画するためのプログラムであって、複数のポリゴンで前記オブジェクトを構成するための粗モデルデータと、該粗モデルデータよりも多くのポリゴンで前記オブジェクトを構成するための詳細モデルデータとを記憶するモデルデータ記憶手段、前記仮想空間のうちで前記透視変換による画像の描画範囲となる視野を前記視点の位置を基準として分けた第１視野と第２視野とに、それぞれ前記オブジェクトの少なくとも一部が含まれるかどうかを判定するオブジェクト判定手段、前記オブジェクト判定手段により前記オブジェクトの少なくとも一部が前記第１視野に含まれていると判定されたときに、該第１視野に含まれる該オブジェクトの粗モデルデータを構成するポリゴンを透視変換して、画像を描画する粗モデル描画手段、前記オブジェクト判定手段により前記オブジェクトの少なくとも一部が前記第２視野に含まれていると判定されたときに、前記詳細モデルデータを構成する各ポリゴンが該第２視野に含まれるかどうかを判定する詳細モデル判定手段、及び、前記詳細モデル判定手段により前記第２視野に含まれていると判定されたときに、該第２視野に含まれる該オブジェクトの詳細モデルデータを構成するポリゴンを透視変換した画像を描画する詳細モデル描画手段としてコンピュータ装置を機能させることを特徴とする。
【００３５】
上記目的を達成するため、本発明の第４の観点にかかるコンピュータ読み取り可能な記録媒体は、オブジェクトが存在する仮想空間を、所定の視点から仮想スクリーン上に透視変換して描画するためのプログラムを記録した記録媒体であって、前記プログラムは、複数のポリゴンで前記オブジェクトを構成するための粗モデルデータと、該粗モデルデータよりも多くのポリゴンで前記オブジェクトを構成するための詳細モデルデータとを記憶するモデルデータ記憶手段、前記仮想空間のうちで前記透視変換による画像の描画範囲となる視野を前記視点の位置を基準として分けた第１視野と第２視野とに、それぞれ前記オブジェクトの少なくとも一部が含まれるかどうかを判定するオブジェクト判定手段、前記オブジェクト判定手段により前記オブジェクトの少なくとも一部が前記第１視野に含まれていると判定されたときに、該第１視野に含まれる該オブジェクトの粗モデルデータを構成するポリゴンを透視変換して、画像を描画する粗モデル描画手段、前記オブジェクト判定手段により前記オブジェクトの少なくとも一部が前記第２視野に含まれていると判定されたときに、前記詳細モデルデータを構成する各ポリゴンが該第２視野に含まれるかどうかを判定する詳細モデル判定手段、及び、前記詳細モデル判定手段により前記第２視野に含まれていると判定されたときに、該第２視野に含まれる該オブジェクトの詳細モデルデータを構成するポリゴンを透視変換した画像を描画する詳細モデル描画手段としてコンピュータ装置を機能させることを特徴とする。
【発明を実施するための最良の形態】
【００３６】
以下、添付図面を参照して、本発明の実施の形態について説明する。ここでは、ビデオゲームにおいて粗モデルデータと詳細モデルデータとが用意されたオブジェクトを描画する場合に、本発明を適用した場合を例として説明する。
【００３７】
図１は、この実施の形態にかかるビデオゲームを実行するためのビデオゲーム装置１００の構成を示すブロック図である。図示するように、ビデオゲーム装置１００は、装置本体１０１を中心として構築される。この装置本体１０１は、その内部バス１１９に接続された制御部１０３、ＲＡＭ（Random Access Memory）１０５、ハードディスク・ドライブ（ＨＤＤ）１０７、サウンド処理部１０９、グラフィック処理部１１１、ＤＶＤ／ＣＤ−ＲＯＭドライブ１１３、通信インターフェイス１１５、及びインターフェイス部１１７を含む。
【００３８】
この装置本体１０１のサウンド処理部１０９は、スピーカーであるサウンド出力装置１２５に、グラフィック処理部１１１は、表示画面１２２を有する表示装置１２１に接続されている。ＤＶＤ／ＣＤ−ＲＯＭドライブ１１３には、記録媒体（本実施の形態では、ＤＶＤ−ＲＯＭまたはＣＤ−ＲＯＭ）１３１を装着し得る。通信インターフェイス１１５は、ネットワーク１５１に接続される。インターフェイス部１１７には、入力部（コントローラ）１６１とメモリカード１６２とが接続されている。
【００３９】
制御部１０３は、ＣＰＵ（Central Processing Unit）やＲＯＭ（Read Only Memory）などを含み、ＨＤＤ１０７や記録媒体１３１上に格納されたプログラムを実行し、装置本体１０１の制御を行う。制御部１０３は、内部タイマを備えている。ＲＡＭ１０５は、制御部１０３のワークエリアである。ＨＤＤ１０７は、プログラムやデータを保存するための記憶領域である。サウンド処理部１０９は、制御部１０３により実行されているプログラムがサウンド出力を行うよう指示している場合に、その指示を解釈して、サウンド出力装置１２５にサウンド信号を出力する。
【００４０】
グラフィック処理部１１１は、制御部１０３から出力される描画命令に従って、フレームメモリ（フレームバッファ）１１２（図では、グラフィック処理部１１１の外側に描かれているが、グラフィック処理部１１１を構成するチップに含まれるＲＡＭ内に設けられる）に画像を展開し、表示装置１２１の表示画面１２２上に画像を表示するビデオ信号を出力する。グラフィック処理部１１１から出力されるビデオ信号に含まれる画像の１フレーム時間は、例えば３０分の１秒であり、グラフィック処理部１１１は、ここでは、フレーム単位（すなわち、３０分の１秒単位）で１枚の画像を描画する。
【００４１】
ＤＶＤ／ＣＤ−ＲＯＭドライブ１１３は、記録媒体１３１に対しプログラム及びデータの読み出しを行う。通信インターフェイス１１５は、ネットワーク１５１に接続され、他のコンピュータとの通信を行う。入力部１６１は、方向キー及び複数の操作ボタンを備え、方向キーの操作により後述するプレイヤキャラクタを移動させ、操作ボタンの操作により所定の処理を行わせるものである。方向キーは、カーソルの移動やメッセージなどのためにも用いられ、操作ボタンは、所定の指示を入力するために用いられる。
【００４２】
インターフェイス部１１７は、入力部１６１からの入力データをＲＡＭ１０５に出力し、制御部１０３がそれを解釈して演算処理を実施する。インターフェイス部１１７は、また、制御部１０３からの指示に基づいて、ＲＡＭ１０５に記憶されているゲームの進行状況を示すデータをメモリーカード１６２に保存させ、メモリーカード１６２に保存されている中断時のゲームのデータを読み出して、ＲＡＭ１０５に転送する。
【００４３】
ビデオゲーム装置１００でゲームを行うためのプログラム及びデータは、最初例えば記録媒体１３１に記憶されている。このプログラム及びデータは、実行時にＤＶＤ／ＣＤ−ＲＯＭドライブ１１３により読み出されて、ＲＡＭ１０５にロードされる。制御部１０３は、ＲＡＭ１０５にロードされたプログラム及びデータを処理し、描画命令をグラフィック処理部１１１に出力し、サウンド出力の指示をサウンド処理部１０９に出力する。制御部１０３が処理を行っている間の中間的なデータは、ＲＡＭ１０５に記憶される。
【００４４】
次に、この実施の形態にかかるビデオゲームにおいてオブジェクトの画像を描画して表示するために用意されたデータについて説明する。このビデオゲームにおいて画像を描画して表示する対象となるオブジェクトには、複数のポリゴンから構成されるモデルデータが用意されている。表示対象となる各オブジェクトのモデルデータには、粗モデルデータと詳細モデルデータの２種類が用意されている。もっとも、１種類だけのモデルデータが用意されたオブジェクトもあるが、そのようなオブジェクトは本発明の対象ではないので、説明対象から除くものとする。
【００４５】
図２は、表示対象となる各オブジェクトについて用意されたオブジェクトテーブルを示す図である。図示するように、オブジェクトテーブル２００には、オブジェクトを一意に識別するためのオブジェクトＩＤ２０１と、詳細モデルデータを登録した詳細モデルデータテーブルを参照するための詳細モデルデータポインタ２０２と、詳細モデルバウンディングボックスを登録した詳細モデルバウンディングボックステーブルを参照するための詳細モデルバウンディングボックスポインタ２０３と、粗モデルデータを登録した粗モデルデータテーブルを参照するための粗モデルデータポインタ２０４と、粗モデルバウンディングボックスを登録した粗モデルバウンディングボックステーブルを参照するための粗モデルバウンディングボックスポインタ２０５とが登録されている。
【００４６】
図３（ａ）は、詳細モデルデータポインタ２０２で示される詳細モデルデータテーブルを示す図である。粗モデルデータポインタ２０４で示される粗モデルデータテーブルは、登録されているポリゴンの数が詳細モデルデータテーブルよりも少ないだけで、基本的な構成は同じである。詳細モデルデータテーブル３００には、オブジェクトの詳細モデルを構成する各ポリゴンについて、ポリゴン識別番号３１１、３２１等と、それぞれの頂点識別番号３１２、３２２等が登録されている。
【００４７】
ポリゴン識別番号３１１、３２１等は、当該オブジェクトを構成するポリゴンを一意に識別するための番号である。頂点識別番号３１２、３２２等は、当該ポリゴンの頂点を一意に識別するための番号であり、その頂点の座標位置は、後述する頂点テーブルに登録されている。図３（ｂ）及び（ｃ）は、それぞれ同じオブジェクト（この例では、球体）についての詳細モデルと粗モデルの例を示す。図示するように、詳細モデル３０１の方が粗モデル３０２よりも多くのポリゴンから構成されており、大きく表示されても違和感を感じさせることがない。
【００４８】
図４（ａ）は、詳細モデルバウンディングボックスポインタ２０３で示される詳細モデルバウンディングボックステーブルを示す図である。粗モデルバウンディングボックスポインタ２０５で示される粗モデルバウンディングボックステーブルの構成と同じである。図４（ｂ）及び（ｃ）は、それぞれ詳細モデルと粗モデルのバウンディングボックスを示す。いずれのバウンディングボックス４０１、４０２も、オブジェクト３０１、３０２全体を含む直方体によって構成されており、８つの頂点がある。
【００４９】
詳細モデルバウンディングボックステーブル４００には、詳細モデルバウンディングボックス４０１の８つの頂点について、頂点識別番号４１１〜４１８が登録されている。粗モデルバウンディングボックスにも、粗モデルバウンディングボックス４０２の８つの頂点について、頂点識別番号が登録されている。
【００５０】
図５は、詳細（粗）モデルデータテーブル３００または詳細（粗）モデルバウンディングボックステーブル４００に頂点識別番号が登録された各頂点の座標位置を登録した頂点テーブルを示す図である。頂点テーブル５００には、頂点識別番号５１１、５２１、５３１等と座標位置５１２、５２２、５３２等とがそれぞれ対応付けて登録されている。頂点識別番号５１１、５２１、５３１等は、それぞれ頂点識別番号３１２、３２２、４１１〜４１８等に対応する。座標位置５１２、５２２、５３２等は、対応するオブジェクトのローカル座標系の座標位置であり、透視変換の際にワールド座標系、視点座標系、さらには透視座標系（スクリーン座標系）に変換される。
【００５１】
次に、この実施の形態にかかるビデオゲームにおいて、仮想３次元空間に存在するオブジェクトを表示画面１２２に表示するための手法について説明する。オブジェクトを含む仮想３次元空間は、所定の視点の位置から視軸の方向に向けて設定される仮想スクリーン上に透視変換されて、その画像が表示画面１２２に表示されるものとなる。図６は、仮想３次元空間を透視変換する様子を模式的に示す図である。
【００５２】
図６（ａ）に示すように、仮想３次元空間内に視点６０１が設定され、視点６０１の位置から所定の方向に視軸（−ｚ’軸方向）が設定される。視点６０１から視軸の方向に向かって一定の近距離にある位置に仮想スクリーン６０３が置かれる。視点６０１と仮想スクリーン６０３の四隅の頂点を結んだ視界の範囲で、視点６０１から視軸の方向に向かって一定の遠距離に限界面６０４が設定される。視界の範囲で仮想スクリーン６０３から限界面６０４の範囲が透視変換により画像が描画される範囲である視野６０５として定められる。
【００５３】
図６（ａ）に示すように仮想３次元空間を仮想スクリーン６０３に投影するための座標系が視点座標系（Ｘ’、Ｙ’，Ｚ’）である。視点座標系の座標には、所定の行列を用いたベクトル演算でワールド座標系の座標（Ｘ，Ｙ，Ｚ）から変換される。なお、ワールド座標系の座標から視点座標系の座標への変換は、従来から３次元画像処理の分野で適用されている手法を用いて行うものとすることができる。これは、本発明に直接関わるものではないため、詳細な説明は省略する。
【００５４】
図６（ａ）に示す視野６０５の範囲は、図６（ｂ）に示すように正規化された透視座標系の座標（ｘ’，ｙ’，ｚ’）に変換される。正規化された透視座標系の座標では、ｘ’座標、ｙ’座標、ｚ’座標のいずれもが−１から１の範囲に含まれれば、視野６０５の範囲に入ることとなる。視点座標系の座標（Ｘ’，Ｙ’，Ｚ’）から正規化された透視座標系の座標（ｘ’，ｙ’，ｚ’）への変換も、ベクトル演算によって行われるものとなるが、そのベクトル演算を行うための透視変換行列が設定されるものとなる。もっとも、透視変換行列を用いて透視変換を行う前に、詳細（粗）モデルデータや詳細（粗）モデルバウンディングボックスに設定されたローカル座標系の座標がワールド座標系の座標に変換され、さらに視点座標系の座標に変換される。なお、この実施の形態にいう透視変換とは、透視座標系の座標への変換までを含むものとする。
【００５５】
図７は、この透視変換行列の例を示す図である。この透視変換行列は、４行４列の行列であるが、ｌは手前のクリップ面（仮想スクリーン）の左端のＸ’座標、ｒは手前のクリップ面（仮想スクリーン）の右端のＸ’座標、ｔは手前のクリップ面（仮想スクリーン）の上端のＹ’座標、ｂは手前のクリップ面（仮想スクリーン）の下端のＹ’座標、ｎは手前のクリップ面（仮想スクリーン）の視点６０１からの距離、ｆは奥のクリップ面（限界面）の視点６０１からの距離を表す。なお、視軸が通るＸ’座標が０の平面に対して左右対称に透視変換を行う場合には、透視変換行列の１行３列、２行３列、３行３列の要素の値はいずれも０となる。
【００５６】
もっとも、この実施の形態にかかるビデオゲームでは、透視変換により画像を描画する範囲となる視野６０５を遠距離視野と近距離視野とに分けて、それぞれ粗モデルデータ、詳細モデルデータを用いて画像を描画するものとしている。図８は、遠距離視野及び近距離視野の説明図である。
【００５７】
透視変換により画像を描画する場合には、その画像の描画範囲を設定するため、視点６０１から一定の近距離（ここでは距離が１）に仮想スクリーン６０３が、視点６０１から一定の遠距離（ここでは距離が１００）に限界面６０４が設定され、その間が視野６０５となる。この実施の形態では、視点６０１からの距離が一定となる位置（ここでは距離が５０）を境界位置として、視野６０５が遠距離視野６０５Ｆと近距離視野６０５Ｎとに分けられる。
【００５８】
遠距離視野６０５Ｆに存在するオブジェクトを透視変換して画像を描画する場合、境界位置が遠距離視野６０５Ｆにおける仮想スクリーン６０３Ｆと、本来の限界面６０４が遠距離視野６０５Ｆにおける限界面６０４Ｆとして設定される。遠距離視野用の透視変換行列は、仮想スクリーン６０３Ｆの四隅の頂点の座標及び視点６０１からの距離、並びに限界面６０４Ｆの視点６０１からの距離に応じて設定される。
【００５９】
一方、近距離視野６０５Ｎに存在するオブジェクトを透視変換して画像を描画する場合、本来の仮想スクリーン６０３が近距離視野６０５Ｎにおける仮想スクリーン６０３Ｎと、境界位置が近距離視野６０５Ｎにおける限界面６０４Ｎとして設定される。近距離視野用の透視変換行列は、仮想スクリーン６０３Ｎの四隅の頂点の座標及び視点６０１からの距離、並びに限界面６０４Ｎの視点６０１からの距離に応じて設定される。
【００６０】
以下、この実施の形態にかかるビデオゲームにおける処理について説明する。ここでは説明を簡単にするため、本発明に特に関わる処理以外は、説明を省略している場合があるものとする。また、以下の説明において制御部１０３の処理として記載しているもののうちには、実際には制御部１０３からの指示に基づいてグラフィック処理部１１１が行っている処理が含まれている。
【００６１】
図９は、この実施の形態にかかるビデオゲームにおいて、オブジェクトの画像を描画して表示するために１フレーム毎に実行される処理を示すフローチャートである。新たなフレーム期間が開始すると、制御部１０３は、現時点のゲームの進行状況に応じて表示対象となるオブジェクトを決定するための表示オブジェクト決定処理を行う（ステップＳ１０１）。表示オブジェクト決定処理では、制御部１０３は、今回のフレームで新たに表示対象となったオブジェクトを表示対象のオブジェクトとしてＲＡＭ１０５に登録するとともに、表示対象でなくなったオブジェクトの登録を削除する。表示位置等の変更したオブジェクトについても、その変更の登録を行う。
【００６２】
次に、制御部１０３は、例えば表示対象として登録されているオブジェクトの位置に応じて透視変換を行う際の視点６０１の位置及び視軸の方向を決定する視点・視軸決定処理を行う（ステップＳ１０２）。視点６０１の位置及び視軸の方向が決定されると、制御部１０３は、表示対象のオブジェクトを決定された視点６０１の位置から透視変換して、その画像をフレームメモリ１１２に描画する画像生成処理を行う（ステップＳ１０３）。この画像生成処理については後述する。画像生成処理によりフレームメモリ１１２に画像が描画されると、制御部１０３は、描画された画像に対応したビデオ信号を出力して、表示画面１２２に表示させる（ステップＳ１０４）。そして、１フレーム分の処理が終了し、次の１フレーム期間において、また同じ処理が開始される。
【００６３】
次に、ステップＳ１０３の画像生成処理について詳細に説明する。図１０は、ステップＳ１０３の画像生成処理を詳細に示すフローチャートである。画像生成処理においては、制御部１０３は、表示対象として登録されているオブジェクトを順次処理対象としていくが、ここで表示対象として登録されているオブジェクトのうちで未だ処理対象としていないオブジェクトがあるかどうかを判定する（ステップＳ２０１）。処理対象としていないオブジェクトがなければ、画像生成処理を終了して、図９のフローチャートに復帰する。
【００６４】
処理対象としていないオブジェクトがあれば、制御部１０３は、遠距離視野６０５Ｆにおける仮想スクリーン６０３Ｆ及び限界面６０４Ｆの位置に応じて遠距離視野用の透視変換行列をＲＡＭ１０５の所定の領域に設定する（ステップＳ２０２）。制御部１０３は、処理対象としているオブジェクトについて、粗モデルデータテーブル及び粗モデルバウンディングボックステーブルを選択してＲＡＭ１０５に設定する（ステップＳ２０３）。
【００６５】
次に、制御部１０３は、当該オブジェクトの粗モデルバウンディングボックステーブルに登録された粗モデルバウンディングボックス４０２を透視変換して、その各頂点の座標を正規化された透視座標系の座標に変換する（ステップＳ２０４）。制御部１０３は、この透視座標系の座標に基づいて、粗モデルバウンディングボックス４０２の頂点のうちで遠距離視野６０５Ｆに含まれるものがあるかどうかにより、粗モデルバウンディングボックス４０２の一部でも遠距離視野６０５Ｆに含まれるかどうかを判定する（ステップＳ２０５）。ここで、透視座標系のｘ’座標、ｙ’座標、ｚ’座標の全てが−１から１の間となる頂点があれば、粗モデルバウンディングボックス４０２が遠距離視野６０５Ｆに含まれると判定されることとなる。粗モデルバウンディングボックス４０２が全く遠距離視野６０５Ｆに含まれなければ、そのままステップＳ２１０の処理に進む。
【００６６】
粗モデルバウンディングボックス４０２の一部でも遠距離視野６０５Ｆに含まれれば、制御部１０３は、当該オブジェクトの粗モデルデータテーブルに登録されているポリゴンを順次処理対象としていくが、ここで登録されているポリゴンのうちで未だ処理対象としていないポリゴンがあるかどうかを判定する（ステップＳ２０６）。処理対象としていないポリゴンがなければ、ステップＳ２１０の処理に進む。
【００６７】
処理対象としていないポリゴンがあれば、制御部１０３は、当該ポリゴンを透視変換して、その各頂点の座標を透視座標系の座標に変換する（ステップＳ２０７）。制御部１０３は、この透視座標系の座標に基づいて、当該ポリゴンの頂点のうちで遠距離視野６０５Ｆに含まれるものがあるかどうかにより、当該ポリゴンの一部でも遠距離視野６０５Ｆに含まれるかどうかを判定する（ステップＳ２０８）。ここでも、透視座標系のｘ’座標、ｙ’座標、ｚ’座標の全てが−１から１の間となる頂点があれば、当該ポリゴンが遠距離視野６０５Ｆに含まれると判定されることとなる。当該ポリゴンが全く遠距離視野６０５Ｆに含まれなければ、ステップＳ２０６の処理に戻る。
【００６８】
当該ポリゴンの一部でも遠距離視野６０５Ｆに含まれれば、制御部１０３は、当該ポリゴンを透視変換した画像をフレームメモリ１１２に描画するための描画処理を行う。もっとも、当該ポリゴンよりも前面側にあるポリゴンの画像が消されないように、制御部１０３は、ここではＺバッファ法などの陰面消去の処理も行うものとしている（ステップＳ２０９）。そして、ステップＳ２０６の処理に戻る。
【００６９】
ステップＳ２１０では、制御部１０３は、近距離視野６０５Ｎにおける仮想スクリーン６０３Ｎ及び限界面６０４Ｎの位置に応じて近距離視野用の透視変換行列をＲＡＭ１０５の所定の領域に設定する。制御部１０３は、処理対象としているオブジェクトについて、詳細モデルデータテーブル３００及び詳細モデルバウンディングボックステーブル４００を選択してＲＡＭ１０５に設定する（ステップＳ２１１）。
【００７０】
次に、制御部１０３は、当該オブジェクトの詳細モデルバウンディングボックステーブル４００に登録された詳細モデルバウンディングボックス４０１を透視変換して、その各頂点の座標を正規化された透視座標系の座標に変換する（ステップＳ２１２）。制御部１０３は、この透視座標系の座標に基づいて、詳細モデルバウンディングボックス４０１の頂点のうちで近距離視野６０５Ｎに含まれるものがあるかどうかにより、詳細モデルバウンディングボックス４０１の一部でも近距離視野６０５Ｎに含まれるかどうかを判定する（ステップＳ２１３）。ここでも、透視座標系のｘ’座標、ｙ’座標、ｚ’座標の全てが−１から１の間となる頂点があれば、詳細モデルバウンディングボックス４０１が近距離視野６０５Ｎに含まれると判定されることとなる。詳細モデルバウンディングボックス４０１が全く近距離視野６０５Ｎに含まれなければ、そのままステップＳ２０１の処理に戻る。
【００７１】
詳細モデルバウンディングボックス４０１の一部でも近距離視野６０５Ｎに含まれれば、制御部１０３は、当該オブジェクトの詳細モデルデータテーブル３００に登録されているポリゴンを順次処理対象としていくが、ここで登録されているポリゴンのうちで未だ処理対象としていないポリゴンがあるかどうかを判定する（ステップＳ２１４）。処理対象としていないポリゴンがなければ、ステップＳ２０１の処理に戻る。
【００７２】
処理対象としていないポリゴンがあれば、制御部１０３は、当該ポリゴンを透視変換して、その各頂点の座標を透視座標系の座標に変換する（ステップＳ２１５）。制御部１０３は、この透視座標系の座標に基づいて、当該ポリゴンの頂点のうちで近距離視野６０５Ｎに含まれるものがあるかどうかにより、当該ポリゴンの一部でも近距離視野６０５Ｎに含まれるかどうかを判定する（ステップＳ２１６）。ここでも、透視座標系のｘ’座標、ｙ’座標、ｚ’座標の全てが−１から１の間となる頂点があれば、当該ポリゴンが近距離視野６０５Ｎに含まれると判定されることとなる。当該ポリゴンが全く近距離視野６０５Ｎに含まれなければ、ステップＳ２１４の処理に戻る。
【００７３】
当該ポリゴンの一部でも近距離視野６０５Ｎに含まれれば、制御部１０３は、当該ポリゴンを透視変換した画像をフレームメモリ１１２に描画するための描画処理を行う。もっとも、当該ポリゴンよりも前面側にあるポリゴンの画像が消されないように、制御部１０３は、ここでもＺバッファ法などの陰面消去の処理も行うものとしている（ステップＳ２１７）。そして、ステップＳ２１４の処理に戻る。
【００７４】
ステップＳ２０１において表示対象として登録されているオブジェクトの中で処理対象としていないオブジェクトがなければ、制御部１０３は、画像生成処理を終了して、図９のフローチャートに復帰する。
【００７５】
以下、この実施の形態にかかるビデオゲームにおけるオブジェクトの具体的な表示例について説明する。ここでは、１つのオブジェクトが仮想３次元空間内を移動していく場合において表示される画像の変化と、２つのオブジェクトが仮想３次元空間内で近接して存在する場合に表示される画像とを例として説明する。
【００７６】
図１１は、仮想３次元空間内を移動する１つのオブジェクトの表示態様の例を示す図である。この例では、オブジェクト２１０が視点６０１の位置から遠ざかるように移動していく。最初は、図１１（ａ）に示すように、オブジェクト２１０の半分近くが近距離視野６０５Ｎに含まれており、近距離視野６０５Ｎに含まれる半分近くの部分が詳細モデルデータ３０１を用いて、遠距離視野６０５Ｆに含まれる残りの部分が粗モデルデータ３０２を用いて描画されている。
【００７７】
オブジェクト２１０が視点６０１から少し遠ざかると遠距離視野６０５Ｆに含まれる部分が多くなり、近距離視野６０５Ｎに含まれる部分が少なくなるので、図１１（ｂ）に示すように、詳細モデルデータ３０１を用いて描画される部分が図１１（ａ）の場合よりも少なくなる。オブジェクト２１０が視点６０１からさらに遠ざかると遠距離視野６０５Ｆに含まれる部分がさらに多くなり、近距離視野６０５Ｎに含まれる部分がさらに少なくなるので、図１１（ｃ）に示すように、詳細モデルデータ３０１を用いて描画される部分が図１１（ｂ）の場合よりも少なくなる。オブジェクト２１０が視点６０１からさらに遠ざかると遠距離視野６０５Ｆに含まれる部分がさらに多くなり、近距離視野６０５Ｎに含まれる部分がさらに少なくなるので、図１１（ｄ）に示すように、詳細モデルデータ３０１を用いて描画される部分が図１１（ｃ）の場合よりも少なくなる。
【００７８】
図１２は、仮想３次元空間において近接して存在する２つのオブジェクトの表示態様の例を示す図である。この図における２つのオブジェクト２２０、２３０は、いずれも同じ形状、大きさのオブジェクトであり、同一の粗モデルデータ及び詳細モデルデータを用いて描画されるものとなる。もっとも、オブジェクト２２０の方が視点６０１から遠い位置にあり、近距離視野６０５Ｎに含まれる部分がオブジェクト２３０よりも少なくなっている。
【００７９】
図に示すように、オブジェクト２２０については、近距離視野６０５Ｎに含まれる部分が少しだけであるので、詳細モデルデータ３０１を用いて描画される部分は僅かで、ほとんどが粗モデルデータ３０２を用いて描画されている。これに対して、オブジェクト２３０は、より視点６０１に近い位置にあって近距離視野６０５Ｎに含まれる部分が多いので、詳細モデルデータ３０１を用いて描画される部分がオブジェクト２２０よりも多く、粗モデルデータ３０２を用いて描画される部分がオブジェクト２２０よりも少なくなっていることが分かる。
【００８０】
以上説明したように、この実施の形態にかかるビデオゲームでは、仮想３次元空間に存在する各オブジェクトに対して、粗モデルデータと詳細モデルデータという詳細度が異なる２種類のモデルデータを用意している。また、透視変換により画像が描画される範囲である視野６０５は、視点６０１からの距離に応じて遠距離視野６０５Ｆと近距離視野６０５Ｎとに分けられる。そして、遠距離視野６０５Ｆに一部でも含まれるオブジェクトは粗モデルデータを用いて、近距離視野６０５Ｎに一部でも含まれるオブジェクトは詳細モデルデータを用いて、画像が描画されるものとなる。
【００８１】
つまり、オブジェクトの遠距離視野６０５Ｆに含まれる部分については、粗モデルデータを構成するポリゴンの画像が描画され、オブジェクトの近距離視野６０５Ｎに含まれる部分については、詳細モデルデータを構成するポリゴンの画像が描画される。これにより、オブジェクトの中心位置が遠距離視野６０５Ｆに含まれるか近距離視野６０５Ｎに含まれるかに関わらず、遠距離視野６０５Ｆに含まれる部分が粗く、近距離視野６０５Ｎに含まれる部分が詳細に描画されるものとなり、その部分部分の視点６０１からの距離に応じて近いものは詳細に、遠いものは粗いといった適切な画像が描画されることとなる。また、オブジェクト全体ではなく、部分部分で描画される画像の詳細度が異なるので、異なる２つのオブジェクトが仮想３次元空間内に近接して存在している場合にも、プレイヤに違和感を感じさせることがない。
【００８２】
ここで、粗モデルバウンディングボックス４０２により遠距離視野６０５Ｆに含まれないと判定されたオブジェクトについては、粗モデルデータ３０２を構成する各ポリゴンが遠距離視野６０５Ｆに含まれるかどうかを判定する必要が全くない。一方、詳細モデルバウンディングボックス４０１により近距離視野６０５Ｎに含まれないと判定されたオブジェクトについては、詳細モデルデータ３０１を構成する各ポリゴンが近距離視野６０５Ｎに含まれるかどうかを判定する必要が全くない。このため、無駄な処理を行わずに、オブジェクトの画像を描画できるようになる。
【００８３】
また、粗モデルバウンディングボックス４０２により遠距離視野６０５Ｆに含まれると判定されたオブジェクトでも、粗モデルデータを構成するポリゴンのうちで画像が描画されるのは、遠距離視野６０５Ｆに含まれるポリゴンだけである。詳細モデルバウンディングボックス４０１により近距離視野６０５Ｎに含まれると判定されたオブジェクトでも、粗モデルデータを構成するポリゴンのうちで画像が描画されるのは、近距離視野６０５Ｎに含まれるポリゴンだけである。従って、表示上不必要なポリゴンの画像を描画する処理が必要なく、処理量を抑えることができる。
【００８４】
また、粗モデルデータ３０２を構成する各ポリゴンと詳細モデルデータ３０１を構成する各ポリゴンとについて、それぞれ遠距離視野６０５Ｆ、近距離視野６０５Ｎに含まれるかどうかは、全ての頂点を用いて判定されている。つまり、遠距離視野６０５Ｆまたは近距離視野６０５Ｎに一部でも含まれるポリゴンは、画像の描画対象となる。このため、オブジェクトの遠距離視野６０５Ｆと近距離視野６０５Ｎの境界位置付近の部分で、画像が描画されないという不都合を避けることができる。
【００８５】
また、視野６０５に含まれるオブジェクトの画像を描画する処理では、遠距離視野６０５Ｆに含まれる部分の画像を粗モデルデータを用いて描画してから、近距離視野６０５Ｎに含まれる部分の画像を詳細モデルデータを用いて描画するものとしている。このため、詳細モデルデータで詳細に描画した画像が粗モデルデータの粗い画像で消去されることがなく、遠距離視野６０５Ｆに含まれるポリゴンと近距離視野６０５Ｎに含まれるポリゴンとが重なっていても、詳細な画像を描画することができる。
【００８６】
ところで、オブジェクトが遠距離視野６０５Ｆまたは近距離視野６０５Ｎに含まれるかどうかは、オブジェクトの粗（詳細）モデルデータ３０１、３０２そのものではなく、粗（詳細）モデルバウンディングボックス４０１、４０２によって判定されるものとなっている。粗（詳細）モデルバウンディングボックス４０１、４０２の頂点の数は、それぞれ８個だけであるので、粗（詳細）モデルデータそのものを用いてオブジェクトが遠距離視野６０５Ｆまたは近距離視野６０５Ｎに含まれるかどうかを判定するよりも、少ない処理量で判定を行うことができるようになる。
【００８７】
ここで、バウンディングボックス４０１、４０２は、詳細モデルデータ３０１と粗モデルデータ３０２に対して別々に用意されたものとなっている。従って、それぞれのバウンディングボックス４０１、４０２を詳細モデルデータ３０１及び粗モデルデータ３０２の形状及び大きさに従って設定することができ、例えば粗モデルデータ３０２が遠距離視野６０５Ｆに含まれるポリゴンを含んでいないのにオブジェクトが遠距離視野６０５Ｆに含まれると判定されたり、詳細モデルデータ３０１が近距離視野６０５Ｎに含まれるポリゴンを含んでいないのにオブジェクトが近距離視野６０５Ｎに含まれると判定されることが少なくなり、各ポリゴンの画像を描画するかどうかについて無駄な処理を行わなくて済むようになる。
【００８８】
本発明は、上記の実施の形態に限られず、種々の変形、応用が可能である。以下、本発明に適用可能な上記の実施の形態の変形態様について説明する。
【００８９】
上記の実施の形態では、詳細モデルデータと粗モデルデータとについて別々のバウンディングボックスが用意されていて、その頂点識別番号が別々のバウンディングボックステーブルに登録されていた。もっとも、詳細モデルデータと粗モデルデータとについて共通のバウンディングボックスを用意しておくものとしてもよい。この場合は、バウンディングボックステーブルに必要な記憶容量を小さくすることができる。
【００９０】
また、バウンディングボックスの形状は直方体に限るものではなく、対応するオブジェクトを含むのであれば、任意の多面体形状とすることができる。バウンディングボックスの面数が多く、頂点の数が多くなれば、遠距離視野６０５Ｆ及び近距離視野６０５Ｎにオブジェクトが含まれるかどうかの判定の処理負荷が大きくなるが、実際には遠距離視野６０５Ｆまたは近距離視野６０５Ｎに含まれるポリゴンがないのにオブジェクトが遠距離視野６０５Ｆまたは近距離視野６０５Ｎに含まれていると判定されることが少なくなり、全体としての処理負荷を小さくすることができる。
【００９１】
さらに、特に粗モデルデータを構成するポリゴンの数が比較的少ない場合などには、粗モデルデータ４０２自体を用いて、当該オブジェクトが遠距離視野６０５Ｆまたは近距離視野６０５Ｎに含まれるかどうかを判定することもできる。ここでは、粗モデルデータ４０２が詳細モデルバウンディングボックスとして適用されることとなる。この場合には、詳細モデルデータテーブル及び粗モデルデータテーブルの他にバウンディングボックステーブルを用意する必要がなくなるので、記憶容量が少なくて済むこととなる。
【００９２】
上記の実施の形態では、詳細モデルデータ及び粗モデルデータの各ポリゴンについて、全ての頂点の座標位置を調べて遠距離視野６０５Ｆまたは近距離視野６０５Ｎに含まれるかどうかを判定していた。これに対して、各ポリゴンに代表点を設定し、その代表点の座標位置を調べて各ポリゴンが遠距離視野６０５Ｆまたは近距離視野６０５Ｎに含まれるかどうかを判定してもよい。この場合には、各ポリゴンが遠距離視野６０５Ｆまたは近距離視野６０５Ｎに含まれているかどうかの判定の処理負荷を小さくすることができる。なお、各ポリゴンの代表点の座標位置は、例えばその重心位置に設定することができる。
【００９３】
上記の実施の形態では、仮想３次元空間において透視変換される範囲を示す視野６０５は、視軸に対して左右対称に設定され、視点６０１からの距離（透視座標系のｚ’座標）に応じて遠距離視野６０５Ｆと近距離視野６０５Ｎとに分けられるものとなっていた。しかしながら、視野６０５の分け方は、これに限るものではない。また、視野６０５が視軸が通るＸ’＝０の平面に対して左右対称に設定されない場合もある。
【００９４】
例えば、オブジェクトの種類に応じて、視野６０５を遠距離視野６０５Ｆと近距離視野６０５Ｎとに分ける境界位置を変化させるものとしてもよい。例えば、ゲームの進行において重要性のあるオブジェクト（例えば、プレイヤキャラクタ）の画像を描画する場合には、他のオブジェクトの画像を描画する場合よりも視点６０１から遠い位置に、遠距離視野６０５Ｆと近距離視野６０５Ｎとを分ける境界位置を設定することができる。これにより、視点６０１からの距離によらずに重要度の高いオブジェクトを他のオブジェクトよりも詳細に表示させることができるようになる。
【００９５】
また、ゲームの進行状況に応じて遠距離視野６０５Ｆと近距離視野６０５Ｎとに分ける境界位置を変化させるものとしてもよい。この場合、視点６０１の位置に対してオブジェクトの位置が変化しなくても、オブジェクトの表示上の詳細度を変化させることができ、ゲームの進行状況に応じた視覚効果を得ることができるようになる。さらに、特に視軸が通るＸ’＝０の平面に対して左右対称に設定されない場合など、視軸に対して垂直をなさないように遠距離視野６０５Ｆと近距離視野６０５Ｎとの境界を設定することもできる。
【００９６】
上記の実施の形態では、１つのオブジェクトに対して詳細モデルデータと粗モデルデータという２種類のモデルデータを用意していたが、３種類以上の詳細度の異なるモデルデータを用意していてもよい。この場合、どの詳細度のモデルデータを用いて画像を描画するかを判定するための視野６０５は、用意されたモデルデータの種類に応じて分けるものとすることができる。例えば、３種類の詳細度のモデルデータがある場合には、視点６０１からの距離が最も遠い視野について詳細度が最も低いモデルデータを、次に遠い視野について詳細度が中程度のモデルデータを、視点６０１に最も近い視野について詳細度が最も高いモデルデータを用いて、オブジェクトの画像を描画することができる。
【００９７】
上記の実施の形態では、遠距離視野６０５Ｆと近距離視野６０５Ｎのいずれにも含まれるオブジェクトは、粗モデルデータを構成するポリゴンのうちで遠距離視野６０５Ｆに含まれるものの画像のみを描画し、その後に詳細モデルデータを構成するポリゴンのうちで近距離視野６０５Ｎに含まれるものの画像を描画していた。これに対して、粗モデルデータを構成するポリゴンの画像を先に描画するのであれば、その全てのポリゴンの画像を描画してから、詳細モデルデータを構成するポリゴンのうちで近距離視野６０５Ｎに含まれるものの画像を描画するものとしてもよい。粗モデルデータを構成するポリゴンについて先に画像が描画されていても、同じ位置に詳細モデルデータを構成するポリゴンが存在する場合には詳細モデルデータを構成するポリゴンの画像で書き換えることが可能だからであり、このような処理を行っても、オブジェクトの近距離視野６０５Ｎに含まれる部分を詳細に表示画面１２２に表示させることができる。
【００９８】
上記の実施の形態では、ビデオゲームを実行するためのプラットフォームとして専用機である装置本体１０１を適用していた。これに対して、装置本体１０１と同様の構成要素を備え、画像を描画する機能を有するものであれば、汎用のパーソナルコンピュータなどを適用してもよい。表示装置１２１及びサウンド出力装置１２５を装置本体１０１と同一の筐体内に納めた構成を有する携帯ゲーム機を適用するものとしてもよい。
【００９９】
記録媒体１３１としては、ＤＶＤ−ＲＯＭやＣＤ−ＲＯＭの代わりに半導体メモリカードを適用することができる。このメモリカードを挿入するためのカードスロットをＤＶＤ／ＣＤ−ＲＯＭドライブ１１３の代わりに設けることができる。汎用のパーソナルコンピュータの場合には、本発明に係るプログラム及びデータを記録媒体１３１に格納して提供するのではなく、ＨＤＤ１０７に予め格納して提供してもよい。本発明にかかるプログラム及びデータを格納して提供するための記録媒体は、ハードウェアの物理的形態及び流通形態に応じて任意のものを適用することができる。
【０１００】
上記の実施の形態では、ビデオゲーム装置１００のプログラム及びデータは、記録媒体１３１に格納されて配布されるものとしていた。これに対して、これらのプログラム及びデータをネットワーク１５１上に存在するサーバ装置が有する固定ディスク装置に格納しておき、装置本体１０１にネットワーク１５１を介して配信するものとしてもよい。ビデオゲーム装置１００において、通信インターフェイス１１５がサーバ装置から受信したプログラム及びデータは、ＨＤＤ１０７に保存し、実行時にＲＡＭ１０５にロードすることができる。ビデオゲームのプログラムの一部として適用されるものだけでなく、上記したように画像を描画する機能を含むプログラム全般を、同様の方法により配布するものとすることができる。
【産業上の利用可能性】
【０１０１】
本発明は、ビデオゲームを初めとして、画像を描画するためのコンピュータグラフィックス処理の分野において利用することができる。
【図面の簡単な説明】
【０１０２】
【図１】本発明の実施の形態に適用されるビデオゲーム装置の構成を示すブロック図である。
【図２】表示対象となるオブジェクト毎に用意されたオブジェクトテーブルの例を示す図である。
【図３】粗（詳細）モデルデータテーブルの構成と、粗（詳細）モデルの例を示す図である。
【図４】粗（詳細）モデルバウンディングボックステーブルの構成と、粗（詳細）モデルバウンディングボックスの例を示す図である。
【図５】図３の粗（詳細）モデルデータテーブルと図４の粗（詳細）モデルバウンディングボックステーブルの各頂点を登録した頂点テーブルの例を示す図である。
【図６】本発明の実施の形態にかかるビデオゲームにおける透視変換の説明図である。
【図７】透視変換行列を示す図である。
【図８】遠距離視野及び近距離視野の説明図である。
【図９】本発明の実施の形態にかかるビデオゲームにおいてオブジェクトの画像を描画して表示するために１フレーム毎に実行される処理を示すフローチャートである。
【図１０】図９の画像生成処理を詳細に示すフローチャートである。
【図１１】オブジェクトの表示態様の例を示す図である。
【図１２】オブジェクトの表示態様の例を示す図である。
【符号の説明】
【０１０３】
１００  ビデオゲーム装置
１０１  装置本体
１０３  制御部
１０５  ＲＡＭ
１０７  ＨＤＤ
１０９  サウンド処理部
１１１  グラフィック処理部
１１３  ＤＶＤ／ＣＤ−ＲＯＭドライブ
１１５  通信インターフェイス
１１７  インターフェイス部
１１９  内部バス
１２１  表示装置
１２２  表示画面
１２５  サウンド出力装置
１３１  記録媒体
１５１  ネットワーク
１６１  入力部
１６２  メモリーカード
２００  オブジェクトテーブル
３００  詳細（粗）モデルデータテーブル
３０１  詳細モデルデータ
３０２  粗モデルデータ
４００  詳細（粗）モデルバウンディングボックステーブル
４０１  詳細モデルバウンディングボックス
４０２  粗モデルバウンディングボックス
５００  頂点テーブル
【図１】
2005182207.tif 000003
【図２】
2005182207.tif 000004
【図３】
2005182207.tif 000005
【図４】
2005182207.tif 000006
【図５】
2005182207.tif 000007
【図６】
2005182207.tif 000008
【図７】
2005182207.tif 000009
【図８】
2005182207.tif 000010
【図９】
2005182207.tif 000011
【図１０】
2005182207.tif 000012
【図１１】
2005182207.tif 000013
【図１２】
2005182207.tif 000014