[go: up one dir, main page]

JP4852555B2 - 画像処理装置、画像処理方法、ならびに、プログラム - Google Patents

画像処理装置、画像処理方法、ならびに、プログラム Download PDF

Info

Publication number
JP4852555B2
JP4852555B2 JP2008004260A JP2008004260A JP4852555B2 JP 4852555 B2 JP4852555 B2 JP 4852555B2 JP 2008004260 A JP2008004260 A JP 2008004260A JP 2008004260 A JP2008004260 A JP 2008004260A JP 4852555 B2 JP4852555 B2 JP 4852555B2
Authority
JP
Japan
Prior art keywords
polygon
planar body
image processing
projection
viewpoint
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.)
Active
Application number
JP2008004260A
Other languages
English (en)
Other versions
JP2009169508A (ja
Inventor
明広 石原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Konami Digital Entertainment Co Ltd
Original Assignee
Konami Digital Entertainment Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority to JP2008004260A priority Critical patent/JP4852555B2/ja
Application filed by Konami Digital Entertainment Co Ltd filed Critical Konami Digital Entertainment Co Ltd
Priority to CN2008801243592A priority patent/CN101911127B/zh
Priority to EP08869278A priority patent/EP2234068A1/en
Priority to US12/812,428 priority patent/US20100277474A1/en
Priority to KR1020107014655A priority patent/KR101146660B1/ko
Priority to PCT/JP2008/073835 priority patent/WO2009087936A1/ja
Priority to TW098100748A priority patent/TWI393069B/zh
Publication of JP2009169508A publication Critical patent/JP2009169508A/ja
Application granted granted Critical
Publication of JP4852555B2 publication Critical patent/JP4852555B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/60Shadow generation

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Generation (AREA)
  • Processing Or Creating Images (AREA)

Description

ゲーム等において、仮想空間内のオブジェクトが床や壁等の面状体に近接したときに生じる影などの像を簡易に描画するのに好適な画像処理装置、画像処理方法、ならびにコンピュータ上で実現するためのプログラムに関する。
ゲームに使用される画像を生成する3次元コンピュータグラフィックスの分野においては、ゲームのリアリティを向上するために、仮想空間内のオブジェクトの影を床、机、そして壁などの表面を表す面状体に投影することが知られている。例えば、特許文献1には、光源の位置、オブジェクトの位置および姿勢等の変化に応じて影の透過度を変化させ、よりリアルな影を実装する技術が開示されている。また、影だけでなく、発光するオブジェクトによる像が床に投影されるような技術に応用したいとの要望もある。
特開2007−195747号公報
高速に移動するオブジェクトなどをリアルタイムで描画する場合は、影を生成する処理は高速に行われることが望ましい。しかし、影の描画に必要な計算量は、ハードウェアの性能によっては制限される場合があり、影を生成する処理が画像処理全体に悪影響を与えるという問題があった。
本発明は以上のような課題を解決するためのものであり、ゲーム装置等において、仮想空間内のオブジェクトが床や壁等に近接したときに生じる影などの像を簡易に描画するのに好適な画像処理装置、画像処理方法、ならびにコンピュータ上で実現するためのプログラムを提供することを目的とする。
上記目的を達成するため、本発明の第1の観点に係る画像処理装置は、記憶部と、選択部と、生成部と、を備え、仮想空間内に配置されるオブジェクト、面状体、および、当該面状体に投影される当該オブジェクトの像を表す画像を生成する。
まず、記憶部は、当該仮想空間内に配置される視点の位置および視線の方向と、当該仮想空間内に配置されるオブジェクトおよび面状体の形状、位置および向きと、当該オブジェクトを覆うように配置される複数の被覆ポリゴンの形状、位置および向きと、を記憶する。
ここで、視点は3次元仮想空間を見ている仮想カメラであり、視線は仮想カメラが向いている方向である。当該仮想空間の2次元画像は、当該視点から当該視線方向に見た当該仮想空間を、2次元平面(投射面または投影面とも呼ぶ)に投射することで生成される。面状体は、オブジェクトとは異なる他のオブジェクトであり、地面(床)や壁などの広い表面を想定している。個々のオブジェクトおよび面状体の形状は、例えばポリゴンと呼ばれる微小な多角形の組み合わせ等によるサーフェスで定義(モデル化)される。
被覆ポリゴンは、当該オブジェクトが近接した面状体に投影される影や写りこみなどの像(以下主に「影」を例として説明する)を表現する多角形である。複数の被覆ポリゴンが多面体を構成して、オブジェクトを覆うように配置される。実世界においては、近くに存在するものに対して影がはっきりと投影される。したがって、本発明に係る画像処理装置においては、当該被覆ポリゴンに面状体が接触したり、当該被覆ポリゴンに面状体が包含されるような場合に、オブジェクトに近接する面状体があるものと考える。そして、面状体に接触している、などの所定の条件を満たす被覆ポリゴンを投影用ポリゴンとして選択して描画することで、当該オブジェクトの影を面状体上に生成する。
なお、あるオブジェクトと、当該オブジェクトを覆う被覆ポリゴンとの間には所定の距離が保たれ、この距離に応じて、影の現れ方が異なる。即ち、当該オブジェクトからより遠くにある面状体に対しても影を投影したい場合は、当該オブジェクトと被覆ポリゴンとの間の距離をより大きくとればよい。逆に当該オブジェクトの近くにある面状体に対してのみ影を投影したい場合は、当該オブジェクトと被覆ポリゴンとの間の距離をより小さくとればよい。
選択部は、当該複数の被覆ポリゴンのうち、所定の描画条件を満たすものを投影用ポリゴンとして選択する。即ち、選択部は、上述したように、面状体に接触している、などの所定の条件を満たす被覆ポリゴンを投影用ポリゴンとして選択する。
生成部は、当該オブジェクトおよび面状体の形状、位置および向きと、当該視点の位置及び視線の方向と、当該投影用ポリゴンの形状、位置および向きと、に基づいて、当該視点から当該視線の方向に見た当該仮想空間を画像を生成する。即ち、生成部は、選択部により選択された投影用ポリゴンを描画して、当該オブジェクトの影を、面状体上に生成する。なお、生成部は、典型的にはZバッファ法などを用いてオブジェクトを描画する。即ち、例えば、描画する画像データを構成する画素ごとに、視点に最も近いポリゴンに対応するテクスチャ情報(或いは透過度情報)の色で、当該画素を塗るようにしてオブジェクト(および面状体や被覆ポリゴン)を描画して陰面処理を行う。
また、生成部は、当該オブジェクトおよび面状体の形状、位置および向きと、当該視点の位置及び視線の方向と、当該投影用ポリゴンの形状、位置および向きと、に基づいて、当該視点から当該視線の方向に見た当該面状体を描画し、当該視点から当該視線の方向に見た当該投影用ポリゴンを描画し、当該視点から当該視線の方向に見た当該オブジェクトを描画することで、当該視点から当該視線の方向に当該仮想空間を見た画像を生成するようにしてもよい。
ここで、当該オブジェクトには衝突判定処理が施されるため、当該オブジェクトと面状体との配置は重なることはない。即ち、当該オブジェクトが面状体に「めり込む」ような状態が生じることはない。しかし、被覆ポリゴンにはこのような衝突判定処理が施されないため、被覆ポリゴンと面状体の位置が重なって配置される場合がある。即ち、視点の方向から見て、投影用ポリゴンが面状体の表面に「めり込んだ」状態で配置される場合がある。しかし、被覆ポリゴンが面状体にめり込んでいる場合、投影用ポリゴンは面状体に隠れて描画されない。この問題を回避するために、生成部は、視点の方向から見て、当該面状体、当該投影用ポリゴン、当該オブジェクトの順番で描画して、仮想空間の2次元画像を生成するようにしてもよい。
さらに、ある被覆ポリゴンと当該面状体との配置が、互いに接触する配置である場合、当該ある被覆ポリゴンは当該所定の描画条件を満たすものとする。即ち、投影用ポリゴンとして描画される被覆ポリゴンの条件は、面状体の形状を構成するポリゴンと接触している被覆ポリゴンであるものとする。なお、ある被覆ポリゴンと当該面状体とが互いに接触するかどうかは、例えば両者が交差するか否かで判定する。
さらに、ある被覆ポリゴンと当該面状体との配置が、当該ある被覆ポリゴンが当該面状体に包含される配置である場合、当該ある被覆ポリゴンは当該所定の描画条件を満たすものとしてもよい。即ち、面状体の内部に含まれるような被覆ポリゴンも、投影用ポリゴンとして描画する。
また、当該複数の被覆ポリゴンのそれぞれと当該面状体との配置が、互いに接触し、もしくは当該被覆ポリゴンが当該面状体に包含される配置であるもののうち、当該面状体の表面に対する傾きが最小の被覆ポリゴンのみが、当該所定の描画条件を満たすものとしてもよい。即ち、選択部は、面状体の表面を構成するポリゴンと接触する、または、面状体の内部に含まれる被覆ポリゴンのうち、当該面状体の表面と最も平行に近い被覆ポリゴンが、当該面状体の表面に対して最も影響を及ぼす被覆ポリゴンであるとして、当該被覆ポリゴンを投影用ポリゴンに採用する。これにより、光源の位置を考慮した複雑な計算を行わずに、影らしい表現を実現する。
また、記憶部は、光源の位置をさらに記憶し、生成部は、当該光源から遠ざかるように所定の距離だけ当該投影用ポリゴンを移動してから、当該光源に当該オブジェクトと当該面状体が照らされるものとして描画するようにしてもよい。即ち、光源の位置に応じて、投影用ポリゴンを移動することによって、光源の位置による影響を投影用ポリゴンに反映させる。
また、生成部は、当該投影用ポリゴンを含む平面と、当該面状体の表面を含む平面と、の交線が存在する場合、当該交線を中心に当該投影用ポリゴンを回転させ、当該交線が存在しない場合、当該両平面の法線に沿って当該投影用ポリゴンを移動して、当該投影用ポリゴンを当該面状体の表面上に配置してから描画するようにしてもよい。
この場合、当該投影用ポリゴンは面状体の表面上に沿うように移動されるため、上述したように生成部は当該面状体、当該投影用ポリゴン、当該オブジェクトの順番で描画せずとも、投影用ポリゴンは面状体に隠れることなく描画される。
また、ある被覆ポリゴンが当該オブジェクトよりも当該視点に近い場合、当該面状体との配置に関わらず、当該所定の描画条件は満たさないものとしてもよい。即ち、本発明に係る画像処理装置においては、面状体と接触している、または面状体に包含されている被覆ポリゴンであっても、視点とオブジェクトの間に存在する被覆ポリゴンは投影用ポリゴンとして選択しない。よって、視点から見てオブジェクトよりも常に後ろに(奥に)影が表示されるように描画される。
本発明の他の観点に係る画像処理方法は、記憶部と、選択部と、生成部とを備える画像処理装置が実行し、仮想空間内に配置されるオブジェクト、面状体、および、当該面状体に投影される当該オブジェクトの像を表す画像を生成する。
記憶部には、当該仮想空間内に配置される視点の位置および視線の方向と、当該仮想空間内に配置されるオブジェクトおよび面状体の形状、位置および向きと、当該オブジェクトを覆うように配置される複数の被覆ポリゴンの形状、位置および向きと、が記憶される。
当該画像処理方法において、選択工程では、選択部が、当該複数の被覆ポリゴンのうち、所定の描画条件を満たすものを投影用ポリゴンとして選択する。
生成工程では、生成部が当該オブジェクトおよび面状体の形状、位置および向きと、当該視点の位置及び視線の方向と、当該投影用ポリゴンの形状、位置および向きと、に基づいて、当該視点から当該視線の方向に見た当該仮想空間の画像を生成する。
また、ある被覆ポリゴンと当該面状体との配置が、互いに接触する配置である場合、当該ある被覆ポリゴンは当該所定の描画条件を満たす、ことを特徴とする。
本発明の他の観点に係るプログラムは、コンピュータを、上記の画像処理装置として機能させるように構成する。
また、本発明のプログラムは、コンパクトディスク、フレキシブルディスク、ハードディスク、光磁気ディスク、ディジタルビデオディスク、磁気テープ、半導体メモリ等のコンピュータ読取可能な情報記録媒体に記録することができる。上記プログラムは、当該プログラムが実行されるコンピュータとは独立して、コンピュータ通信網を介して配布・販売することができる。また、上記情報記録媒体は、当該コンピュータとは独立して配布・販売することができる。
本発明は、ゲーム等において、仮想空間内のオブジェクトが床や壁等に近接したときに生じる影などの像を簡易に描画するのに好適な画像処理装置、画像処理方法、ならびにコンピュータ上で実現するためのプログラムを提供することができる。
(実施形態1)
図1は、本発明の実施形態の1つに係る画像処理装置が実現される典型的なゲーム装置の概要構成を示す模式図である。以下、本図を参照して説明する。
ゲーム装置100は、CPU(Central Processing Unit)101と、ROM(Read Only Memory) 102と、RAM(Random Access Memory)103と、インターフェイス104 と、コントローラ105と、外部メモリ106と、画像処理部107 と、DVD(Digital Versatile Disk)−ROMドライブ108と、NIC(Network Interface Card)109と、音声処理部110と、を備える。
ゲーム用のプログラムおよびデータを記憶したDVD−ROMをDVD−ROMドライブ108に装着して、ゲーム装置100の電源を投入することにより、当該プログラムが実行され、本実施形態の画像処理装置が実現される。
CPU 101は、ゲーム装置100全体の動作を制御し、各構成要素と接続され制御信号やデータをやりとりする。
ROM 102は、電源投入直後に実行されるIPL(Initial Program Loader)を記憶する。このIPLをCPU 101が実行することにより、DVD−ROMに記録されたプログラムがRAM 103に読み出され、CPU 101による実行が開始される。
また、ROM 102にはゲーム装置100全体の動作制御に必要なオペレーティングシステムのプログラムや各種のデータが記録される。
RAM 103は、データやプログラムを一時的に記憶するためのもので、DVD−ROMから読み出したプログラムやデータ、その他ゲームの進行やチャット通信に必要なデータ等が保持される。
インターフェイス104を介して接続されたコントローラ105は、ユーザがゲーム実行の際に行う操作入力を受け付ける。
インターフェイス104を介して着脱自在に接続された外部メモリ106には、例えばチャット通信のログのデータなどが書き換え可能に記憶される。ユーザは、コントローラ105を介して指示入力を行うことにより、これらのデータを適宜外部メモリ106に記憶することができる。
DVD−ROMドライブ108に装着されるDVD−ROMには、前述のようにゲームを実現するためのプログラムとゲームに付随する画像データや音声データが記録される。CPU 101の制御によって、DVD−ROMドライブ108は、これに装着されたDVD−ROMに対する読み出し処理を行って、必要なプログラムやデータを読み出す。読み出されたデータはRAM103等に一時的に記憶される。
画像処理部107は、DVD−ROMから読み出されたデータをCPU 101や画像処理部107が備える画像演算プロセッサ(図示せず)によって加工処理した後、これを画像処理部107が備えるフレームメモリ(図示せず)に記録する。フレームメモリに記録された画像情報は、所定の同期タイミングでビデオ信号に変換され画像処理部107に接続されるモニタ(図示せず)へ出力される。これにより、各種の画像表示が可能となる。
画像演算プロセッサは、2次元の画像の重ね合わせ演算やαブレンディング等の透過演算、各種の飽和演算を高速に実行できる。
また、3次元仮想空間に配置され、各種のテクスチャ情報が付加されたポリゴン情報を、Zバッファ法によりレンダリングして、所定の視点位置から3次元仮想空間に配置されたポリゴンを俯瞰したレンダリング画像を得る演算の高速実行も可能である。
さらに、CPU 101と画像演算プロセッサが協調動作することにより、文字の形状を定義するフォント情報にしたがって、文字列を2次元画像としてフレームメモリへ描画したり、各ポリゴン表面へ描画することが可能である。フォント情報は、ROM 102に記録されているが、DVD−ROMに記録された専用のフォント情報を利用することも可能である。
NIC 109は、ゲーム装置100をインターネット等のコンピュータ通信網(図示せず)に接続するためのものである。NIC 109は、例えばLAN(Local Area Network)を構成する際に用いられる10BASE−T/100BASE−T規格に準拠するものや、電話回線を用いてインターネットに接続するためのアナログモデム、ISDN(Integrated Services Digital Network)モデム、ADSL(Asymmetric Digital Subscriber Line)モデム、ケーブルテレビジョン回線を用いてインターネットに接続するためのケーブルモデム等と、これらとCPU 101との仲立ちを行うインターフェイス(図示せず)により構成される。
インターネット内のSNTPサーバにNIC 109を介して接続し、ここから情報を取得することによって現在の日時情報を得ることができる。また、各種のネットワークゲームのサーバ装置が、SNTPサーバと同様の機能を果たすように構成設定してもよい。
音声処理部110は、DVD−ROMから読み出した音声データをアナログ音声信号に変換し、これに接続されたスピーカ(図示せず)から出力させる。また、CPU 101の制御の下、ゲームの進行の中で発生させるべき効果音や楽曲データを生成し、これに対応した音声をスピーカから出力させる。
このほか、ゲーム装置100は、ハードディスク等の大容量外部記憶装置を用いて、ROM 102、RAM 103、DVD−ROMドライブ108に装着されるDVD−ROM等と同じ機能を果たすように構成してもよい。
なお、本実施の形態に係る画像処理装置200は、ゲーム装置100や、携帯式のゲーム装置上に実現されるが、一般的なコンピュータ上に実現することもできる。一般的なコンピュータは、上記ゲーム装置100と同様に、CPU、RAM、ROM、DVD−ROM ドライブ、および、NICを備え、ゲーム装置100よりも簡易な機能を備えた画像処理部を備え、外部記憶装置としてハードディスクを有する他、フレキシブルディスク、光磁気ディスク、磁気テープ等が利用できるようになっている。また、コントローラではなく、キーボードやマウスなどを入力装置として利用する。そして、プログラムをインストールした後に、そのプログラムを実行させると、画像処理装置として機能させることができる。
以下では、注記しない限り、画像処理装置について、図1に示したゲーム装置100により説明を加える。画像処理装置は、必要に応じて適宜一般的なコンピュータの要素に置換することができ、これらの実施の形態も本発明の範囲に含まれる。
(画像処理装置の概要構成)
図2は、本実施の形態に係る画像処理装置200の概要構成を示す模式図である。画像処理装置200は、オブジェクトの影を、面状体上に投影する装置であり、図2に示すように、記憶部201、選択部202、生成部203、等を備える。以下に画像処理装置200の各構成要素について本図を参照して説明する。
記憶部201は、3次元仮想空間内を表現するための種々の情報を記憶する。
まず、記憶部201は、3次元仮想空間内の各要素(オブジェクト、あるいはモデルとも呼ばれる)の形状情報を記憶する。各オブジェクトは、その形状をポリゴンと呼ばれる、微小な多角形(例えば三角形や四角形等)の組み合わせによって定義されるサーフェス(表面)として表現される。
さらに、記憶部201は、各オブジェクトの仮想空間内における形状、位置および向きを記憶する。例えば、記憶部201は、仮想空間の全体を表現するグローバル座標系(ワールド座標系)と、オブジェクト毎に固定されたローカル座標系とを記憶する。典型的には、オブジェクトの代表点(例えば重心)がローカル座標系の原点であり、オブジェクトのサーフェス形状(即ち、オブジェクトを構成するポリゴンの形状や当該ポリゴンが配置される位置)がローカル座標系に基づいて定義される。一方、個々のオブジェクトの位置は、例えば、オブジェクトの代表点をグローバル座標系に基づいて定義することで決定される。そして、オブジェクトの向きは、例えば、オブジェクトの代表点からオブジェクトの正面方向に延びる方向ベクトルの回転量などによって定義する。
なお、位置情報は直交座標系を用いて定義しても、1個の動径と2個の偏角を用いた極座標系を用いて(r,θ,φ)で表してもよい。
同様に、記憶部201は、オブジェクトの影が投影される床などの面状体についても、その形状、位置、および向き等の情報を記憶する。
さらに、記憶部201は、オブジェクトを覆うようにして配置される被覆ポリゴンの形状、向き、および位置を記憶する。被覆ポリゴンは、被覆ポリゴンが覆うオブジェクトのローカル座標系に対して固定してその形状、位置、向きが定義される。したがって、オブジェクトが移動すれば被覆ポリゴンも追従して移動する。
図3に、円柱系のオブジェクト310を覆うように、複数の被覆ポリゴン320が直方体状に配置されている例を示す。図3において、(A)はオブジェクト310と、当該オブジェクトに対応する複数の被覆ポリゴン320を斜め上方から見た斜視図、(B)は上方から見た図、(C)は側方から見た図を示す。上記例では正方形の被覆ポリゴン320が6つ、互いに直角に配置されているが、被覆ポリゴンの形状や数はこれに限らず、その他多角形の被覆ポリゴンを、オブジェクトを覆うのに必要な数だけ用いてもよい。ただし、被覆ポリゴンによる多面体は凸多面体とするのが典型的である。被覆ポリゴンは図3に示すように、対応するオブジェクトから所定の距離を開けて配置することが好ましいが、隣接するように配置してもよい。
なお、視点や投射面についても、上述したように、グローバル座標系やローカル座標系を用いて、位置や向きを定義する。投射面の位置、向きは、仮想カメラの位置、向き、がユーザの操作等によって変更されたときに、更新される。
このほか、記憶部201はオブジェクトそれぞれの表面に貼り付けるテクスチャと呼ばれる画像データや、当該仮想空間を照らす光源の位置等も記憶する。テクスチャ情報をオブジェクトのサーフェス形状に貼り付けることで、オブジェクトの質感を表現することが可能となる。
記憶部201は、被覆ポリゴンのそれぞれ対応付けて、影を表現するための透過度情報も記憶する。透過度情報は、被覆ポリゴンの中心部において最も不透明であり(即ち、透過しない)、中心を離れるに従って、徐々に透明となる(即ち、透過する)ように定義される。なお、不透明な部分は影を表すために、黒などの暗い色を指定するのが典型的である。図3(D)に被覆ポリゴンの備える透過度情報の例を示す。黒い部分が不透明な部分、白い部分が透明部分を表している。ここで、被覆ポリゴンの形状を明確にするため、透過度情報の周囲に正方形を明記しているが、実際にはこの正方形は描画されない。また、透過度情報は中心の不透明部分が円形となっているが、オブジェクトの形状に応じて円形以外の形状を用いてもよい。
これら記憶部201に記憶される情報は例えばDVD−ROMに予め格納されており、CPU 101がDVD−ROMドライブ 108に装着されたDVD−ROMを読み出してRAM 103に一時記憶させる。あるいは、外部メモリ106に記憶させたこれらの情報を、CPU 101に読み出させ、RAM 103に一時記憶させるようにしてもよい。なお、CPU 101は、一時記憶された情報を、例えばゲームの進行に応じて、随時更新することができる。このように、CPU 101、RAM 103、DVD−ROMドライブ108等が協働して動作することにより、記憶部201として機能する。
選択部202は、当該複数の被覆ポリゴンのうち、所定の描画条件を満たすものを投影用ポリゴンとして選択するものである。所定の描画条件については、本画像処理装置の動作処理の説明部分で詳述する。選択部202は、面状体、そして被覆ポリゴンの形状、位置、および向きに基づいて、投影用ポリゴンを選択する。CPU 101、RAM 103、が協働して動作することにより、選択部202として機能する。なお、投影用ポリゴンの選択のために行う一連の処理は、グラフィックス用ライブラリや専用ハードウェアの提供する画像処理用の演算機能を用いて実現可能であるため、ゲームの開発期間の短縮や、影を描画する処理速度の向上が可能となる。
生成部203は、記憶部201に記憶されたオブジェクトの位置ならびに向き、そして、視点の位置、および、投射面の位置ならびに向きに基づいて、当該視点から、当該3次元仮想空間内の各オブジェクトを投射面に投射(投影)して、モニター等の表示装置に表示する画像データを生成する。また、選択部202によって選択された当該オブジェクトに対する投影用ポリゴンを描画することで、当該オブジェクトの影を面状体上に生成する。本実施の形態では、例えば1点透視法で透視投影する。CPU 101、RAM 103、画像処理部107が協働して動作することにより、生成部203として機能する。
(画像処理装置の動作)
以上のような構成を有する画像処理装置200の動作を、図4を参照して説明する。なお、本実施の形態においては、ゲームキャラクタは床や壁などの広い表面に沿って移動し、これら床や壁などの面状体上に、高速に移動するゲームキャラクタの影が描画される。典型的にはゲームキャラクタの移動範囲には制限が設けられるため、ゲームキャラクタが面状体の端に差し掛かり、面状体から部分的にせり出すような場合は考慮しない。
なお、面状体の端部にキャラクタが移動可能な場合にも本発明を適用することは可能である。この際、現実と異なる形態で影が投影されることとなるが、端部にキャラクタが長時間留まることは稀であると考えるため、ユーザが違和感を感じることはきわめて少ないと考えられる。
画像処理装置が電源を投入されて、処理を開始すると、RAM 103に必要な情報(例えば仮想カメラの位置や向き、そしてオブジェクトの形状、位置、そして向きなど)が読み込まれ、記憶部201が初期化される(ステップS11)。
このとき、ユーザは、コントローラ105を用いて、仮想カメラ(視点)の位置、仮想カメラの向き(視線方向)、仮想カメラの撮影倍率(ズーム率)、のほか、オブジェクトの位置や向き、そしてオブジェクトの動き、等のパラメータを変更する旨の指示ができるようになっている。
CPU 101は、当該ユーザから仮想カメラに関するパラメータの変更の指示入力があったか否かを判断する(ステップS12)。指示入力があった場合(ステップS12;Y)、CPU 101は指示に従って、記憶部201の仮想カメラの位置、向き、を更新する(ステップS13)。さらに、CPU 101は、更新された仮想カメラの位置や、向き、そしてズーム率に応じて、視点から視線方向に見た仮想空間を投射する投射面が当該仮想空間内に配置される位置や向きを算出する(ステップS14)。
即ち、CPU 101は視点を起点とする視線ベクトル(視線の向きを表すベクトル)と垂直に交わる向きを算出し、これを投射面の向きとする。即ち、視線ベクトルは、投射面の中心を貫き、投射面の法線ベクトルと一致する。そして、ズームインの際には投射面を3次元空間内の撮影対象に近づくように(視点から遠ざかるように)並行移動させ、ズームアウトの際には撮影対象から遠ざかるように(視点に近づくように)平行移動させる。視線ベクトルの向きを変える(即ち仮想カメラをパンする)ときには、視線ベクトルの向きにしたがって投射面の向きも変える。
なお、ユーザから仮想カメラに関するパラメータの変更の指示入力がなかった場合(ステップS12;N)、処理はステップS15に進む。
次いで、CPU 101は、当該ユーザからのオブジェクトの位置や向きに関する指示入力があったか否かを判断する(ステップS15)。指示入力があった場合(ステップS15;Y)、CPU 101は指示入力に基づいて3次元空間内でオブジェクトを平行移動や回転させ、記憶部201に記憶されるオブジェクトの位置や向きを更新する(ステップS16)。オブジェクトに対応付けて被覆ポリゴンが存在する場合、被覆ポリゴンは、当該オブジェクトに固定されているため、オブジェクトの移動に対する指示入力に対応して、被覆ポリゴンの位置や向きも算出する(ステップS17)。指示入力がなかった場合(ステップS15;N)処理は、ステップS18に進む。
なお、仮想カメラの位置や向き、撮影倍率、オブジェクトの位置ならびに向きなどのパラメータは、制御プログラムなどから与えられてもよい。あるいは、時間の経過に対応付けてパラメータを所定の値に変更したり、ランダムに変更したりしてもよい。
次いで、選択部202は、影を描画したいオブジェクトのそれぞれについて、当該オブジェクトを覆う複数の被覆ポリゴンの中から、影として描画する投影用ポリゴンを選択する(ステップS18)。投影用ポリゴンを選択部202が選択する処理を図5(A)を参照して説明する。
まず、選択部202は当該オブジェクトを覆う被覆ポリゴンの頂点のうち、面状体に埋没している頂点を抽出する(ステップS181)。被覆ポリゴンの頂点が面状体に埋没しているか否かは、当該頂点から面状体を構成する表面に向かって伸びる、面状体の表面に対して垂直なベクトルと、当該面状体の法線ベクトルとの向きを比較して判断する。両ベクトルの向きが同じあれば当該頂点は面状体に埋没している。両ベクトルの向きが逆向きであれば、当該頂点は面状体に埋没していない。
例えば、図6(A)は、図3に示すオブジェクト310および被覆ポリゴン320を側方から見た様子を示す図である(即ち、図3(C)と同様の図である)。このとき、図6(A)に示すように、面状体430の表面Aに被覆ポリゴンが埋没して配置されているものとする。例えば、図6(A)の頂点X1が面状体430に埋没しているか否かを判断するには、頂点X1から表面A対して垂直に伸びるベクトルv1および、表面Aに対する法線ベクトルv2の向きを比較する。図6(A)においては両ベクトルの向きは同じであるため、頂点X1は面状体430に埋没していると判断される。この処理を全ての頂点に対して行い、埋没している頂点を抽出する。
被覆ポリゴンのある頂点が面状体に埋没していると判断されると、当該頂点に接する少なくとも3つの被覆ポリゴンは面状体に接触している(即ち、交差している、または包含されている)と判断できる。選択部202はステップS181で抽出した頂点に接している全ての被覆ポリゴンを投影用ポリゴン候補として選択する(ステップS182)
図6(B)は、図6(A)に示すオブジェクト310を斜め上方から見た図である。この図6(B)に示すように、面状体に埋没している頂点は、X1、X2、X3、X4であると判断される。そして、図6(A)に示すオブジェクト130を上方から見た図6(C)に示すように、、頂点X1、X2、X3、X4に接する被覆ポリゴン320A、320B、320C、320D、そして、底面を構成するポリゴン320Eが面状体と接触している被覆ポリゴンとして選択される。
次いで選択部202はステップS182で選択された被覆ポリゴンのうち、視点から視線方向に見て、当該オブジェクトよりも遠くに位置する被覆ポリゴンを選択する(ステップS183)。オブジェクトよりも遠くにある被覆ポリゴンは、例えば、次の処理を被覆ポリゴンのそれぞれに行って選択すればよい。
即ち、ステップS182で選択された被覆ポリゴンのそれぞれに対して、法線ベクトル(被覆ポリゴンの表面の外向き法線ベクトル)と、視点から被覆ポリゴンの代表点(例えば重心)までを結ぶ方向ベクトル(あるいは視線ベクトル)とが成す角度を、内積を求めるなどして算出し、当該角度が90度以内であれば、当該被覆ポリゴンは、当該オブジェクトよりも遠くにあるものとする。本実施の形態の場合、被覆ポリゴンは対応するオブジェクトを覆うように配置されるため、視点から被覆ポリゴンの代表点までを結ぶ方向ベクトルと近い方向を向いている被覆ポリゴンは、視点から見て当該オブジェクトの後ろに存在する被覆ポリゴンであることがわかる。
この他、視点とオブジェクトの代表点(例えば重心)の距離が視点と被覆ポリゴンの代表点(例えば重心)の距離よりも小さい場合に、視点から見て、当該被覆ポリゴンが当該オブジェクトの後方にあるとしてもよい。
例えば、図6(D)に示すように、視点440の方向からオブジェクト310を見ている場合(即ち、図6(C)においては、斜め上方から矢印方向にオブジェクト310を見ている場合)を例に説明する。このとき、例えば、被覆ポリゴン320Aの法線ベクトル420と、視点から被覆ポリゴンの代表点を通る方向ベクトル410が成す角度αは90度以内であるため、被覆ポリゴン320Aはオブジェクト310よりも後ろにあると選択部202は判断する。同様に、被覆ポリゴン320Cを除く、底面に配置される被覆ポリゴン320E、被覆ポリゴン320D(図6(D)においては読み手方向を向いている被覆ポリゴン)、および320Dに対面して配置される被覆ポリゴン320B、もオブジェクト310よりも後ろに配置されていると判断される。
次いで選択部202は、このようにして選択された当該被覆ポリゴンのそれぞれについて面状体の表面と最も近い傾きを有している被覆ポリゴンを投影用ポリゴンとして1つ選択する(ステップS184)。これは、例えばステップS183で算出された被覆ポリゴンの法線ベクトルを利用して選択する。
即ち、ステップS182で選択された被覆ポリゴンのそれぞれに対して、当該被覆ポリゴンの法線ベクトルの逆向きのベクトルと、面状体の法線ベクトルを比較する。そして両ベクトルの向きが最も近いもの(即ち内積が最も1に近いもの)を1つ選択する。図6(D)においては、被覆ポリゴン320A、320B、320D、320Eのうち、320Eが面状体430の表面に最も近い傾きを有していると判断される。
なお、面状体の表面に最も近い傾きを有している被覆ポリゴンが複数得られた場合は、いずれか一方を選択しても、それらを両方投影用ポリゴンとして採用してもよい。
以上のステップS181〜S184を、影を描写したい全てのオブジェクトに対して行い、投影用ポリゴンを選択する。そして、当該選択された投影用ポリゴンを、対応するオブジェクトに関連付けて、画像処理装置200のRAM103に記憶する。
次いで、生成部203は、次に示すステップS19およびS20を当該仮想空間内の全オブジェクト、および、選択された全投影用ポリゴンに対して実施し、当該仮想空間の2次元画像を描画する。
まず、生成部203はオブジェクトおよび、選択された投影用ポリゴンの投射先領域を求める(ステップS19)。本実施の形態では、上述のように、各オブジェクトを投射面に1点透視法で透視投影するため、視点から遠くにあるオブジェクトは小さく、近くにあるオブジェクトは大きく投影されることになる。ただし、1点透視法の代わりに、平行投影を採用することもできる。
オブジェクトの投影先を求めると、投影先の各領域に、対応するテクスチャの対応する領域(投影用ポリゴンにおいては、投影先に透過度情報)を貼り付けて(マッピングして)描画する(ステップS20)。ステップS20の詳しい処理を図5(B)のフロー図に示す。
まず、生成部203は、画像処理装置200のRAM103などを参照して、現在注目しているオブジェクトに対して、投影用ポリゴンが選択されているか否かを判断する(ステップS201)。投影用ポリゴンが選択されていないオブジェクトに対しては(ステップS201;N)、生成部203は陰面処理を行うために、例えばZバッファ法などを用いる(ステップS202)。即ち、生成部203は描画する画像データを構成する画素ごとに、視点(投射面)に最も近いポリゴンに対応するテクスチャ情報(或いは透過度情報)の色で、当該画素を塗るようにする。
このとき、例えば、図6(D)において、投影用ポリゴン320Eは、視点から見て面状体430よりも奥に配置される。よって、上記のような陰面処理を行うと、投影用ポリゴン320Bはオブジェクト310に完全に隠れてしまう。あるいは、投影用ポリゴンの一部が面状体に「めり込んだ」状態で配置されるような場合、当該「めり込んだ」部分が面状体によって隠れてしまう。
この問題を回避するために、投影用ポリゴンが選択されているオブジェクトに対しては(ステップS201;Y)、生成部203は、当該視点から当該視線の方向に見た当該面状体をまず描画し、次いで、当該視点から当該視線の方向に見た当該投影用ポリゴンを描画する。そして、最後に、当該視点から当該視線の方向に見た当該オブジェクトを描画する(ステップS203)。これにより、面状体、投影用ポリゴン、そして、オブジェクトの順番で常に描画され、投影用ポリゴンが面状体に隠れてしまうことを回避できる。
以上の画像生成処理を終了すると、生成部203は垂直同期割込が生じるまで待機する(ステップS21)。この待機中には、他の処理(例えば、RAM 103内に記憶される各オブジェクト、および仮想カメラの位置や向きを、時間の経過やユーザからの処理に基づいて更新する等の処理)をコルーチン的に実行してもよい。
垂直同期割込が生じたら、生成部203は描画した画像データ(通常フレームバッファに記憶)の内容をモニタ(図示せず)に転送して、画像を表示し(ステップS22)、ステップS12に戻る。 例えば、図6(D)に示されるオブジェクトに対しては、底面の被覆ポリゴンのみが投影用ポリゴンとして描画され、視点方向から見ると、図7のような影が得られる。即ち、透過度情報の中心部分は不透明であるため、影らしい表現が実現される。そして、外側に向かって徐々に透明となる部分については、被覆ポリゴンより以前に描画された面状体が表示される。なお、投影用ポリゴンの外周は実際には描画されない。本図では、理解を容易にするために投影用ポリゴンの外周である正方形を明記している。
(実施形態2)
第1の実施形態では、生成部203は、面状体の中に「めり込んだ」状態で配置される被覆ポリゴンがあることを考慮して、視点から視線の方向に仮想空間を見て、面状体、被覆ポリゴン、オブジェクト、の順番で描画することで、被覆ポリゴンが面状体に隠れずに、常に描画されるようにした。本実施の形態では、生成部203は、被覆ポリゴンが面状体に沿って表示されるように被覆ポリゴンの位置を変化させる。なお、第2の実施形態の画像処理装置の構成は図2に示す画像処理装置200と同一であるため説明を省略する。
(画像処理装置の動作)
本実施の形態の処理の流れを図8に示す。画像処理装置200は、図4に示すステップS11〜S18、S21、およびS22と同様の処理(ステップS71〜78、S82、およびS83)を行う。本実施の形態では、画像処理装置200の生成部203はさらに、ステップS79を実施し、投影用ポリゴンとして選択された被覆ポリゴンを面状体に沿うように移動する。
被覆ポリゴンを面状体に沿うように移動する方法を、図9を参照して説明する。図9(A)は、図6(A)同様に、オブジェクト310、およびオブジェクト310に対応する複数の被覆ポリゴン320を側方から見た様子を示す図である。ここで、被覆ポリゴン320のうち、底部の被覆ポリゴン320Eが投影用ポリゴンとして選択されている。そして、面状体900は、線910において被覆ポリゴン320Eと交差している。図9(B)に、被覆ポリゴン320Eと、面状体900とが交差している部分を斜めから見た様子を示す。
図9(B)に示すように投影用ポリゴン320Eを含む平面と面状体900の表面は、線910で交差する。生成部203は、まず投影用ポリゴン320Eを面状体900と交差している線910に対して回転させ、面状体900の表面と平行にする。図9(C)は、投影用ポリゴン320Eを線910に対して矢印方向に回転させ、面状体900と平行になるように得られた投影用ポリゴン320E’を示す。
最後に、図9(D)に示すように、所定の距離(対応するオブジェクト310と衝突しない距離)だけ、面状体900の表面の法線ベクトルvの方向に沿って、投影用ポリゴンを平行移動させる(移動後の投影用ポリゴンを320E”に示す)。これにより、第1の実施形態のように面状体、視点から視線方向に見て、被覆ポリゴン、オブジェクト、の順番で描画せずとも、投影用ポリゴンは常に表示される。即ち、投影用ポリゴンは視点から見て面状体よりも近くに配置されるため、オブジェクトや被覆ポリゴンの投射先領域を求め(ステップS80)、当該投射先領域に対応するテクスチャや透過度情報を貼り付けて、Zバッファ法などの陰面処理を行って描画(ステップS81)することで、被覆ポリゴンは面状体に隠れることなく描画される。
なお、図6(A)のように投影用ポリゴンが完全に面状体に包含されている場合でも投影用ポリゴンを含む平面および面状体を含む平面を延長して、両平面が交差する線が存在する場合は、当該線に対して投影用ポリゴンを回転させればよい。
一方、投影用ポリゴンを含む平面と面状体を含む平面が完全に平行している場合生成部203は投影用ポリゴンの回転は行わず、所定の距離(対応するオブジェクトにぶつからない距離)だけ、面状体の表面の法線ベクトルの方向に沿って平行移動させる。
以上、本発明の実施の形態について説明したが、本発明において、投影用ポリゴンの選択のために行う処理は、グラフィックス用ライブラリや専用ハードウェアの提供する画像処理用の演算機能を用いて実現することが可能なため、ゲームの開発期間の短縮や、影を描画する処理速度の向上が可能となる。なお、上記実施の形態においては、オブジェクトの底部に面状体がある場合のみ説明したが、側方や上方に面状体がある場合についても同様に有効である。また、部屋の隅などにおいて、床と壁といった複数の面状体が存在するような場合は、それぞれの面状体について本実施の形態を適用すればよい。
本発明は、上述した実施形態に限定されず、種々の変形および応用が可能である。また、上述した実施形態の各構成要素を自由に組み合わせることも可能である。
例えば、上記実施の形態において影を生成する場合について、光源は考慮していない。そうではなく、光源の位置を考慮して、光源から遠ざかるように、投影用ポリゴンを移動してもよい。即ち、図10(A)のオブジェクト1000に対応する投影用ポリゴン1010を図10(B)に示すように、光源から遠ざかるように移動してもよい。
この場合、例えば、光源の位置や向きなどを記憶部201に記憶しておき、図4のステップS18の後、或いは、図8のステップS79において投影用ポリゴンの位置を決めた後に、光源の位置や向きに基づいて、次のように投影用ポリゴンをさらに移動する。即ち、図10(C)に示すように、投影用ポリゴン1010を含む平面1020と、光源1030から当該平面1020に伸ばした線Lとが垂直に交わる点P1と、当該投影用ポリゴンの代表点P2(例えば重心)とを結ぶ方向ベクトルVに沿って、当該投影用ポリゴンを所定の距離だけ平行移動すればよい。
また、上記実施の形態においては、投影用ポリゴンは影を描画するために用いたが、その他の用途にも用いることが可能である。例えば、面状体の表面に反射や写りこみなどがあるかのように表現することもできる。例えば、被覆ポリゴンに対応する透過度情報の影の部分に、当該被覆ポリゴンの位置から見たオブジェクトの鏡像画像を貼り付ける。そして、上記実施の形態に説明した手順で投影用ポリゴンを描画すると、オブジェクトの近くに位置する面状体の上に、当該オブジェクトの鏡像画像が表示され、面状体が反射しているかのような表現が実現される。
あるいは、被覆ポリゴンに対応付する透過度情報の影の部分に所定の色を持たせることで、当該オブジェクトが当該所定の色で鈍く発光しているかのような表現も可能となる。
また、上記実施の形態においては、所定の条件を満たす被覆ポリゴンを投影用ポリゴンとして1つ選択した。そうではなく、例えば図5に示す投影用ポリゴンの選択処理において、ステップS184を省き、ステップS183までの条件を満たす複数の被覆ポリゴンを全て投影用ポリゴンとして選択してもよい。或いは、ステップS182において、面状体の表面と交差している被覆ポリゴンのみ選択し、完全に面状体に包含されている被覆ポリゴンは選択しないようにしてもよい。
例えば、図6に示すオブジェクト、被覆ポリゴン、面状体に対して、ステップS184を省いて投影用ポリゴンの選択処理を適用すると、被覆ポリゴン320A、320B、320D、および底面に配置される被覆ポリゴン320Eが投影用ポリゴンとして選択される。選択された投影用ポリゴンはそのまま描画してもよい。或いは、第2の実施形態を適用して、面状体に沿うように、移動してから描画してもよい。これにより、例えばラジオシティ法を用いたかのような複数の影が描画される。
なお、面状体の形状としては、平面のみならず、球面などの曲面を用いることもできる。この場合、オブジェクトの近傍で曲面に接する平面を考え当該平面を上記発明における「面状体」の形状として適用する。例えば、曲面が球面の場合は、その中心とオブジェクトの重心とを結ぶ直線と垂直で、かつ球面に接する「接平面」を求めることができる。
本発明の実施の形態に係る画像処理装置等が実現される典型的なゲーム装置の概要構成を示す模式図である。 本実施の形態に係る画像処理装置の概要を示す図である。 オブジェクトと当該オブジェクトに対応する被覆ポリゴンを(A)は斜めから、(B)は上方から、(C)は側方から見た様子を示す図であり、(D)は被覆ポリゴンに対応付けて記憶される透過度情報の例を示す図である。 本実施の形態に係る画像処理装置の動作を説明するフロー図である。 (A)は本実施の形態に係る投影用ポリゴンの選択処理を説明するフロー図であり、(B)は本実施の形態に係るオブジェクトの描画処理を説明するフロー図である。 (A)から(D)は本実施の形態に係る投影用ポリゴンの選択処理を説明する図である。 描画された投影用ポリゴンの例を示す図である。 他の実施の形態に係る画像処理装置の動作を説明するフロー図である。 投影用ポリゴンを面状体に沿うように移動する様子を示す図である。 光源の位置に応じて投影用ポリゴンを移動する様子を示す図である。
符号の説明
100 ゲーム装置
101 CPU
102 ROM
103 RAM
104 インターフェイス
105 コントローラ
106 外部メモリ
107 画像処理部
108 DVD−ROMドライブ
109 NIC
110 音声処理部
200 画像処理装置
201 記憶部
202 選択部
203 生成部

Claims (9)

  1. 仮想空間内に配置されるオブジェクト、面状体、および、当該面状体に投影される当該オブジェクトの像を表す画像を生成する画像処理装置であって、
    当該仮想空間内に配置される視点の位置および視線の方向と、当該仮想空間内に配置されるオブジェクトおよび面状体の形状、位置および向きと、当該オブジェクトを覆うように配置される複数の被覆ポリゴンの形状、位置および向きと、を記憶する記憶部、
    当該複数の被覆ポリゴンのうち、所定の描画条件を満たすものを投影用ポリゴンとして選択する選択部、
    当該オブジェクトおよび面状体の形状、位置および向きと、当該視点の位置及び視線の方向と、当該投影用ポリゴンの形状、位置および向きと、に基づいて、当該視点から当該視線の方向に見た当該仮想空間の画像を生成する生成部、
    を備え、
    ある被覆ポリゴンと当該面状体との配置が、互いに接触する配置である場合、当該ある被覆ポリゴンは当該所定の描画条件を満たす、
    ことを特徴とする画像処理装置。
  2. 請求項1に記載の画像処理装置であって、
    前記生成部は、
    当該オブジェクトおよび面状体の形状、位置および向きと、当該視点の位置及び視線の方向と、当該投影用ポリゴンの形状、位置および向きと、に基づいて、当該視点から当該視線の方向に見た当該面状体を描画し、当該視点から当該視線の方向に見た当該投影用ポリゴンを描画し、当該視点から当該視線の方向に見た当該オブジェクトを描画することで、当該視点から当該視線の方向に当該仮想空間を見た画像を生成する、
    ことを特徴とする画像処理装置。
  3. 請求項1または2に記載の画像処理装置であって、
    ある被覆ポリゴンと当該面状体との配置が、当該ある被覆ポリゴンが当該面状体に包含される配置である場合、当該ある被覆ポリゴンは当該所定の描画条件を満たす、
    ことを特徴とする画像処理装置。
  4. 請求項3に記載の画像処理装置であって、
    当該複数の被覆ポリゴンのそれぞれと当該面状体との配置が、互いに接触し、もしくは当該被覆ポリゴンが当該面状体に包含される配置であるもののうち、当該面状体の表面に対する傾きが最小の被覆ポリゴンのみが、当該所定の描画条件を満たすものとする、
    ことを特徴とする画像処理装置。
  5. 請求項1から4のいずれか1項に記載の画像処理装置であって、
    前記記憶部は、光源の位置をさらに記憶し、
    前記生成部は、当該光源から遠ざかるように所定の距離だけ当該投影用ポリゴンを移動してから、当該光源に当該オブジェクトと当該面状体が照らされるものとして描画する、
    ことを特徴とする画像処理装置。
  6. 請求項4または5に記載の画像処理装置であって、
    前記生成部は、当該投影用ポリゴンを含む平面と、当該面状体の表面を含む平面と、の交線が存在する場合、当該交線を中心に当該投影用ポリゴンを回転させ、当該交線が存在しない場合、当該両平面の法線に沿って当該投影用ポリゴンを移動して、当該投影用ポリゴンを当該面状体の表面上に配置してから描画する、
    ことを特徴とする画像処理装置。
  7. 請求項1から6のいずれか1項に記載の画像処理装置であって、
    ある被覆ポリゴンが当該オブジェクトよりも当該視点に近い場合、当該面状体との配置に関わらず、当該所定の描画条件は満たさないものとする、
    ことを特徴とする画像処理装置。
  8. 仮想空間内に配置されるオブジェクト、面状体、および、当該面状体に投影される当該オブジェクトの像を表す画像を生成する画像処理方法であって、当該画像処理方法は、記憶部と、選択部と、生成部とを備える画像処理装置が実行し、
    前記記憶部には、当該仮想空間内に配置される視点の位置および視線の方向と、当該仮想空間内に配置されるオブジェクトおよび面状体の形状、位置および向きと、当該オブジェクトを覆うように配置される複数の被覆ポリゴンの形状、位置および向きと、が記憶され、
    当該画像処理方法は、
    前記選択部が、当該複数の被覆ポリゴンのうち、所定の描画条件を満たすものを投影用ポリゴンとして選択する選択工程、
    前記生成部が当該オブジェクトおよび面状体の形状、位置および向きと、当該視点の位置及び視線の方向と、当該投影用ポリゴンの形状、位置および向きと、に基づいて、当該視点から当該視線の方向に見た当該仮想空間の画像を生成する生成工程、
    を備え、
    ある被覆ポリゴンと当該面状体との配置が、互いに接触する配置である場合、当該ある被覆ポリゴンは当該所定の描画条件を満たす、
    ことを特徴とする画像処理方法。
  9. コンピュータを、仮想空間内に配置されるオブジェクト、面状体、および、当該面状体に投影される当該オブジェクトの像を表す画像を生成する画像処理装置として機能させるプログラムであって、
    前記プログラムは前記コンピュータを、
    当該仮想空間内に配置される視点の位置および視線の方向と、当該仮想空間内に配置されるオブジェクトおよび面状体の形状、位置および向きと、当該オブジェクトを覆うように配置される複数の被覆ポリゴンの形状、位置および向きと、を記憶する記憶部、
    当該複数の被覆ポリゴンのうち、所定の描画条件を満たすものを投影用ポリゴンとして選択する選択部、
    当該オブジェクトおよび面状体の形状、位置および向きと、当該視点の位置及び視線の方向と、当該投影用ポリゴンの形状、位置および向きと、に基づいて、当該視点から当該視線の方向に見た当該仮想空間の画像を生成する生成部、
    として機能させ、
    ある被覆ポリゴンと当該面状体との配置が、互いに接触する配置である場合、当該ある被覆ポリゴンは当該所定の描画条件を満たす、
    ことを特徴とするプログラム。
JP2008004260A 2008-01-11 2008-01-11 画像処理装置、画像処理方法、ならびに、プログラム Active JP4852555B2 (ja)

Priority Applications (7)

Application Number Priority Date Filing Date Title
JP2008004260A JP4852555B2 (ja) 2008-01-11 2008-01-11 画像処理装置、画像処理方法、ならびに、プログラム
EP08869278A EP2234068A1 (en) 2008-01-11 2008-12-26 Image processing device, image processing method, information recording medium, and program
US12/812,428 US20100277474A1 (en) 2008-01-11 2008-12-26 Image processing device, image processing method, information recording medium, and program
KR1020107014655A KR101146660B1 (ko) 2008-01-11 2008-12-26 화상처리장치, 화상처리방법 및 정보기록매체
CN2008801243592A CN101911127B (zh) 2008-01-11 2008-12-26 图像处理装置、图像处理方法
PCT/JP2008/073835 WO2009087936A1 (ja) 2008-01-11 2008-12-26 画像処理装置、画像処理方法、情報記録媒体、ならびに、プログラム
TW098100748A TWI393069B (zh) 2008-01-11 2009-01-09 影像處理裝置、影像處理方法、資訊記錄媒體以及程式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008004260A JP4852555B2 (ja) 2008-01-11 2008-01-11 画像処理装置、画像処理方法、ならびに、プログラム

Publications (2)

Publication Number Publication Date
JP2009169508A JP2009169508A (ja) 2009-07-30
JP4852555B2 true JP4852555B2 (ja) 2012-01-11

Family

ID=40853058

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008004260A Active JP4852555B2 (ja) 2008-01-11 2008-01-11 画像処理装置、画像処理方法、ならびに、プログラム

Country Status (7)

Country Link
US (1) US20100277474A1 (ja)
EP (1) EP2234068A1 (ja)
JP (1) JP4852555B2 (ja)
KR (1) KR101146660B1 (ja)
CN (1) CN101911127B (ja)
TW (1) TWI393069B (ja)
WO (1) WO2009087936A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103460256B (zh) 2011-03-29 2016-09-14 高通股份有限公司 在扩增现实系统中将虚拟图像锚定到真实世界表面
US9396581B2 (en) 2013-10-18 2016-07-19 Apple Inc. Contact shadows in visual representations
WO2017026193A1 (ja) * 2015-08-12 2017-02-16 ソニー株式会社 画像処理装置と画像処理方法とプログラムおよび画像処理システム
KR102325297B1 (ko) * 2015-11-09 2021-11-11 에스케이텔레콤 주식회사 Ar 컨텐츠 자동 배치 방법
CN106161956A (zh) * 2016-08-16 2016-11-23 深圳市金立通信设备有限公司 一种拍摄时预览画面的处理方法和终端
JP6897442B2 (ja) * 2017-09-12 2021-06-30 株式会社Jvcケンウッド 車両用装置、キャリブレーション結果判定システム、および、キャリブレーション結果判定方法、ならびに、プログラム

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2976963B2 (ja) * 1998-03-19 1999-11-10 コナミ株式会社 画像作成装置、画像作成方法、画像作成プログラムが記録された可読記録媒体およびビデオゲーム装置
US6437782B1 (en) * 1999-01-06 2002-08-20 Microsoft Corporation Method for rendering shadows with blended transparency without producing visual artifacts in real time applications
JP3599268B2 (ja) * 1999-03-08 2004-12-08 株式会社ソニー・コンピュータエンタテインメント 画像処理方法、画像処理装置及び記録媒体
JP4079410B2 (ja) * 2002-02-15 2008-04-23 株式会社バンダイナムコゲームス 画像生成システム、プログラム及び情報記憶媒体
JP4001227B2 (ja) * 2002-05-16 2007-10-31 任天堂株式会社 ゲーム装置及びゲームプログラム
JP4082937B2 (ja) * 2002-06-07 2008-04-30 任天堂株式会社 ゲームシステム及びゲームプログラム
JP4193979B2 (ja) * 2003-03-17 2008-12-10 任天堂株式会社 シャドウボリューム生成プログラム及びゲーム装置
CN100478995C (zh) * 2003-07-31 2009-04-15 新加坡国立大学 梯形阴影映像
US7164430B2 (en) * 2003-09-25 2007-01-16 Via Technologies, Inc. Anti-aliasing line pixel coverage calculation using programmable shader
CN1278282C (zh) * 2003-12-04 2006-10-04 北京金山数字娱乐科技有限公司 场景动态光影实现方法
US7030878B2 (en) * 2004-03-19 2006-04-18 Via Technologies, Inc. Method and apparatus for generating a shadow effect using shadow volumes
US7567248B1 (en) * 2004-04-28 2009-07-28 Mark William R System and method for computing intersections between rays and surfaces
US20060017729A1 (en) * 2004-07-22 2006-01-26 International Business Machines Corporation Method to improve photorealistic 3D rendering of dynamic viewing angle by embedding shading results into the model surface representation
WO2006049870A1 (en) * 2004-10-27 2006-05-11 Pacific Data Images Llc Volumetric shadows for computer animation
JP4563266B2 (ja) * 2005-06-29 2010-10-13 株式会社コナミデジタルエンタテインメント ネットワークゲームシステム、ゲーム装置、ゲーム装置の制御方法及びプログラム
JP4833674B2 (ja) 2006-01-26 2011-12-07 株式会社コナミデジタルエンタテインメント ゲーム装置、ゲーム装置の制御方法及びプログラム
JP4948218B2 (ja) * 2007-03-22 2012-06-06 キヤノン株式会社 画像処理装置及びその制御方法

Also Published As

Publication number Publication date
WO2009087936A1 (ja) 2009-07-16
JP2009169508A (ja) 2009-07-30
TWI393069B (zh) 2013-04-11
TW200947345A (en) 2009-11-16
CN101911127A (zh) 2010-12-08
US20100277474A1 (en) 2010-11-04
CN101911127B (zh) 2012-07-04
KR101146660B1 (ko) 2012-05-23
KR20100090719A (ko) 2010-08-16
EP2234068A1 (en) 2010-09-29

Similar Documents

Publication Publication Date Title
JP4226639B1 (ja) 画像処理装置、画像処理方法、ならびに、プログラム
JP4948218B2 (ja) 画像処理装置及びその制御方法
US6580430B1 (en) Method and apparatus for providing improved fog effects in a graphics system
US20110306417A1 (en) 2d imposters for simplifying processing of plural animation objects in computer graphics generation
JP4852555B2 (ja) 画像処理装置、画像処理方法、ならびに、プログラム
US20090309872A1 (en) Object Selecting Device, Object Selecting Method, Information Recording Medium, And Program
CN117590928A (zh) 一种三维空间中的多窗口处理方法、设备及系统
JP2006092177A (ja) 画像処理装置、画像処理方法、ならびに、プログラム
JP4575937B2 (ja) 画像生成装置、画像生成方法、ならびに、プログラム
WO2017002483A1 (ja) プログラム、情報処理装置、深度定義方法及び記録媒体
JP6062589B1 (ja) プログラム、情報処理装置、影響度導出方法、画像生成方法及び記録媒体
WO2024093610A1 (zh) 阴影渲染方法、装置、电子设备及可读存储介质
JP2000339499A (ja) テクスチャマッピング・テクスチャモザイク処理装置
JP4750085B2 (ja) 画像表示装置、画像表示方法、ならびに、プログラム
JP4637205B2 (ja) 表示装置、表示方法、ならびに、プログラム
Zheng et al. Interactive Design and Optics-Based Visualization of Arbitrary Non-Euclidean Kaleidoscopic Orbifolds
US12524929B2 (en) Content generation system and method
Orbifolds AN ABSTRACT OF THE DISSERTATION OF
JP4589517B2 (ja) 情報記憶媒体及び画像生成装置
WO2023119715A1 (ja) 映像生成方法及び画像生成プログラム
Gustafsson Automatic Technical Illustration Based on Cartoon Shading Principles
Reiner Interactive Modeling with Distance Fields
Frisvad et al. Lighting effects for mobile games
Sudarsanam A view-based deformation tool-kit, Master's Thesis, August 2006
Kim et al. Using relief texture for interactive and tangible virtual environments

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090925

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20111018

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111024

R150 Certificate of patent or registration of utility model

Ref document number: 4852555

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141028

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250