JP3748545B2 - プログラム、情報記憶媒体及び画像生成装置 - Google Patents

プログラム、情報記憶媒体及び画像生成装置 Download PDF

Info

Publication number
JP3748545B2
JP3748545B2 JP2002274158A JP2002274158A JP3748545B2 JP 3748545 B2 JP3748545 B2 JP 3748545B2 JP 2002274158 A JP2002274158 A JP 2002274158A JP 2002274158 A JP2002274158 A JP 2002274158A JP 3748545 B2 JP3748545 B2 JP 3748545B2
Authority
JP
Japan
Prior art keywords
image
brush
program
dimensional object
retouched
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.)
Expired - Fee Related
Application number
JP2002274158A
Other languages
English (en)
Other versions
JP2004110598A (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.)
Namco Ltd
Original Assignee
Namco 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
Application filed by Namco Ltd filed Critical Namco Ltd
Priority to JP2002274158A priority Critical patent/JP3748545B2/ja
Priority to US10/661,645 priority patent/US7327364B2/en
Publication of JP2004110598A publication Critical patent/JP2004110598A/ja
Application granted granted Critical
Publication of JP3748545B2 publication Critical patent/JP3748545B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/02Non-photorealistic rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/60Shadow generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/80Shading
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/66Methods for processing data by generating or executing the game program for rendering three dimensional images
    • A63F2300/6692Methods for processing data by generating or executing the game program for rendering three dimensional images using special effects, generally involving post-processing, e.g. blooming

Description

【0001】
【発明の属する技術分野】
本発明は、所与の視点から見た立体物の画像を生成し、生成した画像の色情報を描画バッファに書き込むことによって前記立体物を描画するためのプログラム等に関する。
【0002】
【従来の技術】
近年のコンピュータ・グラフィックス(以下、適宜「CG」という。)の技術の多くは、より写実的な画像を得るためのものであるが、絵画風の画像(以下、適宜「NPR画像(ノン・フォトリアリスティック・レンダリング画像)」と言う)を得るための研究も種々成されている。
【0003】
絵画風の画像の内、特にセルアニメ調の画像を得るための技術開発が盛んである。セルアニメ調の画像は、いわゆるベタ塗りと言われる、階調の少ない画像であるが、単調な色彩の上に縁取られる輪郭によって、キャラクタの豊かな表情が表現される。セルアニメ調の画像を得るための技術として、3次元CGのレンダリング処理を利用してセルアニメ調の彩色を決定する技術(特許文献1)や、輪郭を生成するための技術が知られている(特許文献2)。
【0004】
一方、セルアニメ調でない絵画風の画像として、油絵のような手書き風の画像を生成する技術研究も行われている。実写画像から手書き風画像に変換する技術として、エッジ検出フィルタを用いてエッジ強度とその傾きを検出し、タッチ(本願におけるブラシ画像)の形状を決定する技術が知られている(特許文献3)。
【0005】
【特許文献1】
特許第3231029号公報
【特許文献2】
特許第3253020号公報
【特許文献3】
特許第2862080号公報
【0006】
【発明が解決しようとする課題】
しかしながら、手書き風の画像を生成する技術においては、画像処理に関するコスト(特に時間)が膨大であり、より短時間で効果的な手書き風の画像を得る技術が求められている。特許文献3の技術も、より短時間に手書き風の画像を得ることを目的とするものであるが、実写画像にエッジ検出フィルタをかけることによって検出された輪郭線方向にタッチを書き込んでいくものであるため、必ずしも輪郭を正確に検出できるわけではない。従って、実写画像の中から正確にモデルの部分を抽出できず、誤った方向にタッチを書き込むといった事象が起こり得た。
【0007】
3次元CGにおいては、オブジェクト空間に複数のプリミティブ面(例えばポリゴン)から成る立体物を配置し、レンダリングを行うことによって所与の視点から見た2次元の画像を生成する。このため、立体物の輪郭部分等は、オブジェクト空間の座標系で特定することができる。また、座標系が定義されたオブジェクト空間に立体物を配置するため、演算によって所望の部位の座標を正確に求めることができる。但し、これらの座標計算は、コスト(特に時間)に相反する問題である。特に、ゲーム機等において、リアルタイムに画像を生成する(1フレーム毎に画像を生成する)ような場合においては、コスト(特に時間)の問題は切実である。
【0008】
本発明の課題は、オブジェクト空間に立体物を配置する場合において、絵画風の画像をより高速に作成することである。
【0009】
【課題を解決するための手段】
以上の課題を解決するため、第1の発明の画像生成情報は、所与の視点から見た立体物の画像を生成し、生成した画像の色情報を描画バッファ(例えば、図1の描画バッファ1324)に書き込むことによって前記立体物を描画するコンピュータに類する装置(例えば、図1のゲーム装置1300)を、前記視点に基づいて前記立体物を投影することによって得られる前記立体物の描画域に、ブラシ画像を一部重畳するように複数配置することにより前記立体物のレタッチ画像(例えば、図2のハイライトレタッチ画像746、シャドーレタッチ画像747)を少なくとも1枚生成するレタッチ画像生成手段(例えば、図3のレタッチ演算部246)、前記視点に基づいて前記立体物を投影した投影画像(例えば、図2のペイント画像749)を生成する投影画像生成手段(例えば、図3の画像生成演算部24)、前記レタッチ画像と前記投影画像とを合成することにより、前記レタッチ画像の透いた部分に前記投影画像の色情報が表れるように前記立体物の画像を描画する描画手段(例えば、図3の画像合成部26)、として機能させることを特徴とする。
【0010】
また、第21の発明は、所与の視点から見た立体物の画像を生成し、生成した画像の色情報を描画バッファに書き込むことによって前記立体物を描画する画像生成装置(例えば、図1のゲーム装置1300)であって、前記視点に基づいて前記立体物を投影することによって得られる前記立体物の描画域に、ブラシ画像を一部重畳するように複数配置することにより前記立体物のレタッチ画像を少なくとも1枚生成するレタッチ画像生成手段と、前記視点に基づいて前記立体物を投影した投影画像を生成する投影画像生成手段と、前記レタッチ画像と前記投影画像とを合成することにより、前記レタッチ画像の透いた部分に前記投影画像の色情報が表れるように前記立体物の画像を描画する描画手段と、を備えることを特徴とする。
【0011】
ここで、本明細書において「描画する」とは、描画バッファ(例えばフレームバッファ)に色情報を書き込むことを意味する。また、画像生成情報とは、コンピュータに類する装置(例えば、画像生成装置や電子計算機)によって実行可能なプログラムに準じた情報の意味である。
描画域とは、画像中における立体物が描画されている領域のことである。
【0012】
この第1又は第21の発明によれば、レタッチ画像生成手段は、ブラシ画像を複数配置してレタッチ画像を生成するため、重畳するブラシ画像の数などによって、レタッチ画像に濃淡を表すことができる。ただし、ブラシ画像が配置されていなかったり、重畳している数が少なかったりする部分は、ブラシ画像の色情報が反映されず、透けた部分となる。しかし、レタッチ画像に投影画像を合成することによって、透けた部分には立体物表面の色情報が反映されることとなる。従って、ブラシ画像を敷き詰めてレタッチ画像を生成する必要はなく、例えば、立体物表面の一部についてブラシ画像を配置したレタッチ画像とすることでレタッチ画像生成のコスト(処理時間)を低減する一方、立体物全体の画像に対して、絵画調の風合いを持たせることができる。
【0013】
なお、投影画像生成手段によって生成される投影画像は、陰影付け(シェーディング処理)を施した画像であってもよいし、施していない画像であってもよい。また色情報を減色したセルアニメ調の画像であってもよい。
【0014】
また、第2の発明は、第1の発明の画像生成情報であって、前記視点に基づく前記立体物の輪郭画像(例えば、図2の輪郭線画像748)を生成する輪郭画像生成手段(例えば、図3の画像生成演算部24)として前記装置を機能させるための情報を更に含み、前記描画手段は、前記レタッチ画像と前記投影画像と前記輪郭画像とを合成することにより前記立体物の画像を描画することを特徴とする。
【0015】
この第2の発明によれば、立体物の画像には、輪郭画像生成手段によって生成される輪郭画像が合成される。このため、絵画調の立体物の画像に、セルアニメ調の趣を与えることができる。なお、レタッチ画像と投影画像と輪郭画像との合成割合や合成順序は、任意に設定することとしてよく、例えば、輪郭画像の色情報を優先的に着色するような合成割合としたり、輪郭画像の色情報を最後に上書きするような処理とすることにより、輪郭をより強調させることとしてもよい。
【0016】
また、第3の発明は、第1又は第2の発明の画像生成情報であって、前記立体物が配置されるオブジェクト空間の光源設定を行う空間光源設定手段(例えば、図3のゲーム演算部22)として前記装置を機能させるための情報と、前記視点及び前記空間光源設定手段により設定された光源に基づく所定のレンダリング処理を行うことにより、前記立体物の陰影情報を算出する陰影情報算出手段(例えば、図3の画像生成演算部24、図16のステップS102)として前記装置を機能させるための情報と、前記レタッチ画像生成手段は、前記陰影情報算出手段により算出された陰影情報に基づいて、前記ブラシ画像を配置する位置を決定する(例えば、図19のサンプリング点設定処理)、ことを特徴とする。
【0017】
この第3の発明によれば、レタッチ画像生成手段は、オブジェクト空間の光源が作用して施される立体物の陰影の情報に基づいて、ブラシ画像の配置位置を決定する。ブラシ画像を配置する際、重畳して配置すればするほど、ブラシ画像の色が濃く反映されることとなる。したがって、例えば、第4の発明のように、第3の発明の画像生成情報のレタッチ画像生成手段は、前記陰影情報算出手段によって算出された陰影情報に基づいて、高輝度部分に対して低輝度部分の方がブラシ画像の密集度が高くなるようにブラシ画像の配置位置を決定する(例えば、図10の(d)ランダムタイプiii、(e)ランダムタイプiv)こととしてもよい。
【0018】
また、第5の発明のように、第3又は第4の発明の画像生成情報におけるレタッチ画像生成手段を、前記陰影情報算出手段によって算出された陰影情報に基づいて、前記描画域の内、所定の輝度条件を満たす位置にブラシ画像を配置する(例えば、図10の(d)ランダムタイプiii、(e)ランダムタイプiv)こととしてもよい。
【0019】
この第5の発明によれば、例えば、一定の輝度以下の部分にのみブラシ画像を配置することとすれば、その輝度よりも高輝度の部分には、投影画像の色情報が表出されることとなる。従って、立体物の画像に表される陰影(明暗)の内、視覚的に効果のある部分を輝度情報に基づいて判別することで、様々な状況に適用して効果的な絵画調の画像をより高速に生成することができる。
【0020】
また、第6の発明のように、第5の発明の画像生成情報であって、前記レタッチ画像生成手段は、前記陰影情報算出手段によって算出された陰影情報に基づいて、前記描画域の内、第1の輝度条件を満たす位置にブラシ画像を配置して第1のレタッチ画像(例えば、図3のハイライトレタッチ画像746)を生成し、第2の輝度条件を満たす位置にブラシ画像を配置して第2のレタッチ画像(例えば、図3のシャドーレタッチ画像747)をすることしても良よい。
【0021】
第6の発明によれば、第5の発明と同様の効果を奏するとともに、陰影の状態に応じた異なるレタッチ画像を生成することによって、より効果的な絵画調の画像を生成できる。
【0022】
第7の発明は、第3〜第6の何れかの発明の画像生成情報であって、前記レタッチ画像生成手段は、ブラシ画像の配置位置の陰影情報に基づいて当該ブラシ画像の輝度情報を可変してレタッチ画像を生成する(例えば、図17のステップS218〜S220)ことを特徴とする。
【0023】
この第6の発明によれば、輝度の低い部分のブラシ画像の輝度を低くし、輝度の高い部分のブラシ画像の輝度を高くすることによって、オブジェクト空間における立体物の陰影をより正確に表現することができる。
【0024】
第8の発明は、第1〜第7の何れかの発明の画像生成情報であって、前記レタッチ画像生成手段は、前記立体物表面の法線を演算する法線演算手段(例えば、図3のレタッチ演算部246、図17のステップS208)と、
前記ブラシ画像の配置位置に対応する前記立体物表面の位置の、前記法線演算手段によって演算された法線に基づいて、当該ブラシ画像の配置角度を決定し、この決定した配置角度で当該ブラシ画像を配置する処理を、配置する各ブラシ画像について行うブラシ配置手段(例えば、図3のレタッチ演算部246、図17のステップS210〜S214)と、を有することを特徴とする。
【0025】
ここで法線演算手段は、第9の発明のように法線の演算を実現することとしても良い。すなわち第9の発明は、第8の発明の画像生成情報であって、前記法線演算手段は、前記視点の視線方向に直交する第1方向を光線方向とする第1光源(例えば、図6の赤色平行光源Lr−1、Lr−2)と、前記視点の視線方向に直交する第2方向を光線方向とする第2光源(例えば、図6の緑色平行光源Lg−1、Lg−2)とを設定し、前記第1光源及び第2光源の光線を前記立体物に当てて、前記視点に基づく所定のレンダリング処理を実行して、当該立体物表面の法線を色情報で表した法線画像を生成することにより、前記立体物表面の法線を演算し、前記ブラシ配置手段は、前記ブラシ画像の配置位置に対応する前記法線画像の位置の色情報に基づいて、当該ブラシ画像の配置角度を決定し、この決定した配置角度で当該ブラシ画像を配置する処理を、配置する各ブラシ画像について行うことを特徴とする。
【0026】
この第9の発明によれば、法線演算手段によって生成される法線画像は、立体物表面の法線が色情報として表現された画像であるため、例えば、立体物の表面に沿った配置角度でブラシ画像を配置するといったレタッチ画像生成手段によるレタッチ画像の生成を簡単に実現することができる。具体的には、第1光源と第2光源とによって、視線方向に直交する2方向から、立体物に光が当てられるため、その2方向からの光によって表される立体物表面の色情報が、そのまま法線に相当する情報となる。すなわち、視点から見れば、第1光源の光線の色情報に基づけば、立体物表面の第1方向に対する角度を推定することができ、第2光源の光線の色情報に基づけば、立体物表面の第2方向に対する角度を推定することができる。よって、法線画像には、視点からみて、立体物表面の法線の方向が、色情報となって表されることとなる。法線演算手段によって実行されるレンダリング処理自体は、公知のレンダリング処理と同様であって、一般的な画像生成装置に実装される、所謂レンダリング・エンジンと称されるDSP等のハードウェアによって実行可能な処理である。こういったハードウェアを実装した画像生成装置においては、本発明は一層有効である。
【0027】
また、ブラシ配置手段によるブラシ画像の配置処理は、例えば、ブラシ画像に基準方向及び回転中心点を定義付けておき、ブラシ画像の基準方向及び回転基準点と、配置角度とに基づいて、ブラシ画像の配置方向を決めることとしてもよい。
【0028】
この第9の発明の画像生成情報においては、より高速な処理を実現する発明として、第10の発明がある。即ち、第10の発明は、第9の発明の画像生成情報であって、前記描画バッファは、画素毎にRGB値を格納可能に形成されており、前記法線演算手段は、前記第1光源の光線色をRGBの内の何れか1色とし、前記第2光源の光線色をRGBの残る2色の内の1色として前記レンダリング処理を行って、画素毎のRGB値を演算することにより前記法線画像を生成し、前記ブラシ配置手段は、前記法線画像のRGB値の内、前記第1光源の光線色の値と前記第2光源の光線色の値とに基づいて当該ブラシ画像の配置位置の法線相当方向を演算することにより、当該配置位置における前記ブラシ画像の配置角度を決定する、ことを特徴とする。
【0029】
この第10の発明によれば、描画バッファは、画素毎にRGB(本明細書において、RGBとは、赤、緑、青の色の3原色のことを意味する。)値を格納する。このため、第1光源の光線色を例えばR(赤)とし、第2光源の光線色を例えばG(緑)とすれば、法線画像はRとGとの各色の値で表現されることとなる。このため、描画手段による法線相当方向の演算において、法線画像のRとGとの色の値を読み出せば演算を実行できるため、容易に法線相当方向を演算することができる。
【0030】
なお、第1光源の光線方向と第2光源の光線方向とを直交する方向とすることにより、更に法線相当方向の演算を簡単にすることができる。
【0031】
第11の発明は、第9又は第10の発明の画像生成情報であって、前記法線演算手段によって生成された法線画像の所与の位置(例えば、図7の画像中心Ob)から前記ブラシ画像の各配置位置それぞれへの方向を演算する方向演算手段(例えば、図3のレタッチ演算部246、図17のS208)を前記装置に機能させるための情報を更に含み、前記ブラシ配置手段は、前記法線画像の色情報に基づいて求まる方向に前記方向演算手段によって演算された方向を合成することによって前記ブラシ画像の配置角度を決定する、ことを特徴とする。
【0032】
例えば、視点が立体物を直視している場合には、画像の中心部分に立体物が描画される。一方、視点が立体物を斜視している場合には、画像の中心部分には立体物が描画されない。すなわち、画像の中心位置は、視点の視線方向となる。ところで、1つの立体物を絵画表現する場合、立体物の略中央を中心して、円弧状にブラシ画像を配置することができれば、より立体感のある表現を実現することができる。この第11の発明によれば、例えば、法線画像の所与の位置を、法線画像における立体物の中心とすることにより、この表現を実現することができる。
【0033】
また、所与の位置を、注視点の位置とすることにより、注視点を中心とした円弧状にブラシ画像を配置するように、ブラシ画像の配置角度を補正するといったこともできる。この場合には、注視点を中心した、画像の柄(ブラシ画像の模様)が表現されるため、観者の視線を誘引することができる。なお、方向演算手段によって演算された方向を合成する際の合成割合については適宜設定可能であり、例えば、所与の位置を注視点の位置とした場合、観者の視線をどの程度注視点に向けさせたいかによって、合成割合を可変することとしてもよい。例えば、注視点に対する注視度といったものを予め設定し、その注視度に応じて、合成割合を可変することとしてもよい。
【0034】
また、第12の発明は、第8〜第11の何れかの発明の画像生成情報であって、前記立体物が配置されるオブジェクト空間の光源設定を行う空間光源設定手段(例えば、図3のゲーム演算部22)として前記装置を機能させるための情報を更に含み、前記ブラシ配置手段は、前記立体物表面の法線の方向に前記空間光源設定手段により設定された光源の光線方向を合成することによって前記ブラシ画像の配置角度を決定する(例えば、図17のステップS208)、ことを特徴とする。
【0035】
この第12の発明によれば、立体物が配置されるオブジェクト空間の光源の光線方向が加味されて、ブラシ画像の配置角度が決定されることとなる。従って、オブジェクト空間の光源に考慮した、矛盾のない画像を生成することができる。
【0036】
より詳細に説明する。例えば、立体物の表面に沿ってブラシ画像を配置する場合を考える。この第12の発明を適用しなかった場合には、ブラシ画像の模様が立体物の表面形状に沿って表れた画像となるが、オブジェクト空間の光の当たり具合によっては、その画像は矛盾するものとなり得る。より具体的に説明する。画像においては、光源は非常に重要な要素であるため、明るい部分を明るく、暗い部分を暗い色調で表現するのが通常である。しかし、光の明暗に関係なく、立体物の表面に沿ってブラシ画像を配置した場合には、ブラシ画像の模様によって、光の明暗とは無関係な柄が立体物表面に描かれることとなる。これは観者に違和感を与えるものである。第12の発明によれば、オブジェクト空間に設定される光源の光線方向によって、ブラシ画像の配置角度が、いわば補正されることとなるため、この違和感を取り除き、オブジェクト空間の光源に考慮した、矛盾のない画像を生成することができる。
【0037】
また、第13の発明は、第1〜第12の何れかの発明の画像生成情報であって、前記レタッチ画像生成手段は、所与の条件に応じて配置するブラシ画像の数を可変してレタッチ画像を生成する(例えば、図19のステップS318、S320〜S326)ことを特徴とする。
【0038】
この第13の発明によれば、種々の条件に応じて配置するブラシ画像の数を変えることができる。例えば、立体物表面の輝度に応じてブラシ画像の数を可変したりすることができる。即ち、コスト(処理時間や、絵画調に見える度合)を考慮した条件に設定することにより、絵画調の画像の生成速度をより高速化できる。
【0039】
また、第14の発明は、第1〜第13の何れかの発明の画像生成情報であって、前記レタッチ画像生成手段は、所与の条件に応じて配置するブラシ画像の大きさを可変してレタッチ画像を生成することを特徴とする。
【0040】
この第14の発明によれば、種々の条件に応じて配置するブラシ画像の大きさを変えることができる。例えば、立体物の描画域の内、中心からの距離に応じて配置するブラシ画像の大きさを可変したり(例えば、遠くなるほど大きくするように比例させる。)、立体物表面の輝度に応じてブラシ画像の大きさを可変したり(例えば、輝度が低くなる程小さくなるように比例させる。)することができる。即ち、コスト(処理時間や、絵画調に見える度合)を考慮した条件に設定することにより、絵画調の画像の生成速度をより高速化できる。
【0041】
また、第15の発明は、第1〜第14の何れかの発明の画像生成情報であって、複数のブラシ画像の情報(例えば、図15のブラシ画像734)を更に含み、前記レタッチ画像生成手段は、前記複数のブラシ画像の内、所与の条件に応じてブラシ画像を択一的に選択することによって、配置するブラシ画像を可変してレタッチ画像を生成することを特徴とする。
【0042】
この第15の発明によれば、ブラシ画像を可変して立体物の描画を行うことができるため、多種多様なタッチの立体物の画像を作成することができる。レタッチ画像生成手段によるブラシ画像の選択の条件としては、例えば、オブジェクト空間における立体物の輝度に応じたものであってもよい。即ち、輝度が閾値に達している位置(サンプリング位置)には第1のブラシ画像を選択し、閾値に達していない位置(サンプリング位置)には第2のブラシ画像を選択する。第2のブラシ画像に比べて第1のブラシ画像の方を、輝度の高い画像或いは大きさの大きい画像とすることにより、オブジェクト空間における立体物の陰影をより正確に表現することができる。
【0043】
また、第16の発明は、第1〜第15の何れかの発明の画像生成情報であって、前記レタッチ画像生成手段は、ブラシ画像を配置する際に、当該ブラシ画像の配置位置から所与の方向に向けて、一部重畳するように当該ブラシ画像を所定数配置する(例えば、図18のS238)ことを特徴とする。
【0044】
この第16の発明によれば、例えば、1つのブラシ画像配置位置に対して、ブラシ画像を複数、一部重畳するように配置できるため、絵画調の画像の生成をより高速に実現することができる。また、ブラシ画像配置位置の法線相当方向を求めることができるならば、その法線相当方向にブラシ画像を一部重畳するように複数配置してもよい。この場合には、高速な描画と、立体物の表面に沿った違和感の生じ難い画像の生成とを実現することができる。
【0045】
なお、第17の発明として第16の発明の画像生成情報におけるレタッチ画像生成手段、ブラシ画像を配置する際に、当該ブラシ画像の配置角度に基づいた所与の方向に向けて、一部重畳するように当該ブラシ画像を所定数配置することとしてもよい。この場合には、高速な描画と、より違和感の少ない画像の生成とを実現することができる。
【0046】
また、第18の発明は、第1〜第17の何れかの発明の画像生成情報であって、前記レタッチ画像生成手段は、配置したブラシ画像の配置位置を時間経過に応じてずらしてレタッチ画像を生成する(例えば、図18のステップS232〜S236)ことを特徴とする。
【0047】
この第18の発明によれば、立体物や視点が動いていない場合であっても、ブラシ画像の配置位置のずらしによって、絵画調な立体物が存在しているという感覚(立体物表面がざわざわしたような感覚)を与えることができる。
【0048】
また、第19の発明は、第1〜第18の何れかの発明の画像生成情報であって、前記レタッチ画像生成手段は、配置したブラシ画像の配置角度を時間経過に応じてずらしてレタッチ画像を生成することを特徴とする。
【0049】
この第19の発明によれば、立体物や視点が動いていない場合であっても、ブラシ画像の配置角度のずらしによって、絵画調な立体物が存在しているという感覚(立体物表面がざわざわしたような感覚)を与えることができる。
【0050】
また、第20の発明のように、第1〜第19の何れかの発明の画像生成情報を記憶したコンピュータ読取可能な情報記憶媒体を構成することとしてもよい。
【0051】
【発明の実施の形態】
図1〜図20を参照して、本発明を適用した一実施の形態について説明する。本実施の形態では、リアルタイムで3DCG(3次元コンピュータ・グラフィックス)をレンダリングするビデオゲームにおいて、手書き風のタッチの入ったNPR画像を用いてゲーム画面を構成する場合を例に挙げて説明する。尚、本発明の適用はゲーム画面に限らず、3DCGによる動画を生成する場合について同様に適用できる。
【0052】
[構成の説明]
図1は、本発明を適用した業務用のゲーム装置1300の外観の一例を示す図である。同図に示すように、ゲーム装置1300は、ゲーム画面を画像表示するディスプレイ1302と、ゲームの効果音やBGMを出力するスピーカ1304と、前後左右方向への操作を入力するジョイスティック1306及びプッシュボタン1308と、演算処理によって装置を統合的に制御して所与のゲームを実行する制御ユニット1320とを備える。
【0053】
制御ユニット1320には、ゲームの実行に必要なプログラムやデータ、及び手書き風のNPR画像を生成するためのプログラムやデータが格納されたICメモリ1322と、ディスプレイ1302へ画像表示する情報を記憶する描画バッファ1324とが搭載されている。
【0054】
プレーヤは、ディスプレイ1302に表示されたゲーム画面を見ながら、ジョイスティック1306で操作を入力し、プッシュボタン1308で各種コマンドを入力してゲームを楽しむ。
【0055】
[手書き風タッチ入りNPR画像の生成方法の説明]
図2は、本実施の形態におけるゲーム画面の生成についての概要を説明する図である。ゲーム画面の動画は、例えば1秒間に8枚のフレーム画像750が連続的にディスプレイ1302に表示されることによって、動く画として見える。
【0056】
本実施の形態では、一のフレーム画像750は、ペイント画像749にハイライトレタッチ画像746とシャドーレタッチ画像747及び輪郭線画像748を合成して生成される。
【0057】
ペイント画像749は、陰影が無い状態のオブジェクトのカラー画像である。
輪郭線画像748は、オブジェクトのエッジを示す線画であって、セルアニメやマンガの線画に相当する。
ハイライトレタッチ画像746及びシャドーレタッチ画像747は、タッチに相当する濃淡が描画されたグレースケール画像である(後述するようにカラー画像であっても良い)。ハイライトレタッチ画像746及びシャドーレタッチ画像747は、陰影画像740とインテンスノーマルベクトル画像744とに基づいて生成される。インテンスノーマルベクトル画像744は、更にノーマルベクトル画像742に基づいて生成される。
【0058】
生成順の概要を説明すると、先ずゲーム装置1300は、陰影画像740とノーマルベクトル画像742とを生成する。
【0059】
陰影画像740は、シェード画像とも呼ばれ、本実施の形態では光源から光をうけている面を高輝度(明)、陰部分を低輝度(暗)とするグレースケール画像である。ノーマルベクトル画像742は、オブジェクトAを構成するポリゴン面の法線情報をピクセルの色情報であるRGB値(赤緑青の3原色の輝度値)として有するカラー画像であって、法線マップや法線画像とも呼ばれる。
【0060】
ノーマルベクトル画像742からノーマルベクトルVNが求められる。ノーマルベクトルVNは、オブジェクトを構成するポリゴン面のスクリーン座標XY平面に投影された各座標に対応した法線ベクトルである。ゲーム装置1300は、ノーマルベクトルVNを光線の方向と視線の方向とに基づいて補正し、インテンスノーマルベクトルVIとする。インテンスノーマルベクトルVIのベクトル値をピクセルの色情報であるRGB値として記憶するのがインテンスノーマルベクトル画像744である。
【0061】
そして、ゲーム装置1300は、インテンスノーマルベクトル画像744の色情報からインテンスノーマルベクトルVIを求める。そして、インテンスノーマルベクトルVIの方向にブラシ画像734を回転し、陰影画像740の輝度に応じた濃淡で所与のサンプリング点Pに描画して、ハイライトレタッチ画像746及びシャドーレタッチ画像747を生成する(図8参照)。
【0062】
ハイライトレタッチ画像746及びシャドーレタッチ画像747は、陰影画像740の輝度の比較的明るい領域、比較的暗い領域(描画域)にそれぞれブラシ画像734を描画することによって生成される。
【0063】
そして、例えばペイント画像749にハイライトレタッチ画像746を乗算合成することによってハイライトを手書き風に描画する。またシャドーレタッチ画像747をスクリーン合成することによってシャドー(陰影)を手書き風に描画する。そして、輪郭線画像748をペイント合成する。以上によって、オブジェクト合成画像752が生成される。オブジェクト合成画像752が一のフレーム画像750となる。
【0064】
こうした合成をリアルタイムで繰り返すことによって、手書き風のNPR画像による複数のフレーム画像750を連続的に生成しゲーム画面の動画を作り出すことが出来る。
【0065】
尚、ここで言う「乗算合成」とは、被合成画像の色情報(基本色)に合成画像の色情報(合成色)を掛け合わせる合成方法であって、合成色が黒の場合は合成結果は暗くとなり、合成色が白の場合は基本色がそのまま残る。
また「スクリーン合成」とは、被合成画像の色情報(基本色)に合成画像の色情報(合成色)をそれぞれ反転したカラーを掛け合わせる合成方法であって、合成色が黒の場合は基本色がそのまま残り、合成色が白の場合は合成結果は明るくなる。
【0066】
[機能ブロックの説明]
図3は、本実施の形態における機能構成の一例を示す機能ブロック図である。同図に示すように、ゲーム装置1300は、操作入力部10と、処理部20と、画像表示部30と、音出力部40と、記憶部70とを有する。
【0067】
操作入力部10は、利用者による操作入力を受けつける。例えば、スイッチやレバー、トラックパッド、ダイヤル、タブレットなどによって実現される。図1のジョイスティック1306及びプッシュボタン1308がこれに該当する。
【0068】
処理部20は、所定のプログラムに基づいて種々の演算処理を実行し、ゲーム装置1300の機能を統合的に制御するとともに、ゲーム演算と画像生成及び画像処理を実行する。その機能は、例えば、CPU(CISC型、RISC型)、或いはASIC(ゲートアレイ等)などのハードウェア及び関連するプログラム等により実現される。図1の制御ユニット1320がこれに該当する。
【0069】
本実施の形態では、ゲーム演算をするゲーム演算部22と、ゲーム演算の結果に基づいて各種画像データを生成する画像生成演算部24と、画像生成演算部24で生成された画像を合成しフレーム画像750を生成する画像合成部26と、ゲーム音の信号を生成する音生成部28とを含む。
【0070】
ゲーム演算部22は、仮想空間(オブジェクト空間)にオブジェクト(例えば、キャラクタや背景など)・光源・仮想視点を配置してゲーム空間を形成する。そして、操作入力部10からの操作入力信号に基づいて所与のゲームルールに従ってオブジェクトを再配置させる。また、衝突判定やゲーム結果の演算なども実行する。即ち、ゲーム演算部22によって、ゲームのルールに掛かる演算と仮想空間におけるオブジェクトのジオメトリ演算が実行される。
【0071】
画像生成演算部24は、ゲーム演算部22によって演算された結果に基づいてシェーディング処理とレンダリング処理を実行する。そして、ペイント画像749・ハイライトレタッチ画像746・シャドーレタッチ画像747・輪郭線画像748・ノーマルベクトル画像742・陰影画像740などの各種画像データを生成する。
【0072】
陰影画像740・ペイント画像749・輪郭線画像748は、何れも公知の3DCGソフト等によって実現されるシェーディング及びレンダリング機能によって適宜作成できる。何れの場合もフルカラーの写実的なシェーディングを経てレンダリングする必要は無く、限定された光源や限定された色情報のみを処理対象とするので、少ない演算処理で速やかに生成できる。
【0073】
ノーマルベクトル画像742は、法線マップとも呼ばれ、オブジェクトを構成する面の法線情報XYZベクトル値を色情報であるRGB値として記憶するカラー画像である。
図6は、本実施の形態におけるノーマルベクトル画像742の生成方法の概念を説明する図である。例えば、オブジェクトAのマテリアル属性を、アンビエント成分をRGB全て1.0(100%)、ディフューズ成分もRGB全てを1.0(100%)と設定する。そして、同図に示すように、仮想視点のローカル座標を基準に、X軸プラス方向に+50%の輝度の赤色平行光源Lr−1を設定し、マイナス方向に−50%の輝度の赤色平行光源Lr−2を設定する。同様にしてY軸プラス方向に+50%の輝度の緑色平行光源Lg−1を設定し、マイナス方向に−50%の輝度の緑色平行光源Lg−2を設定する。
【0074】
そして、この状態でシェーディング及びレンダリングする。X方向及びY方向からオブジェクトAに当った光は、各平行光源に対して正反射方向(真正面)に一番強く反射してその方向からずれるに従って弱くなる。即ち、正反射方向のピクセルの輝度値は「127」(「255」の50%)となり、平行光線に対して直角になるとピクセルの輝度値は「0」になる。各軸マイナス方向に向いた位置では、輝度値には「−(マイナス)」が付く。従って、レンダリングされた画像のピクセルは「−127〜127(幅255)」の輝度値を有することになる。そして、この輝度値に等しく「127」を加え「0〜255」の値に補正して、ノーマルベクトル画像742のピクセルの色情報R値とG値に格納する。
【0075】
ここでノーマルベクトルVNを考えると、ノーマルベクトルVNはオブジェクトを構成するポリゴン面の法線ベクトルなのでその大きさは「1」である。よって、輝度値「255」=ベクトル値「1」、輝度値「127」=ベクトル値「0」、輝度値「0」=ベクトル値「−1」と対応づけることによって、レンダリングされた画像の各ピクセルが持つR値とG値から、XY平面に投影されたの法線方向を算出できる。例えば、X軸プラス方向に向いたXY平面に垂直な面のRG値は、(255,127)となりベクトル値は(1,0)となる。従って、ノーマルベクトルVNはXY成分の2次元ベクトルである。
【0076】
ノーマルベクトル画像742の生成において、本実施の形態では色情報B値を演算対象としない。これは後述するハイライトレタッチ画像746・シャドーレタッチ画像747の生成において、スクリーン座標XY平面に投影されたベクトル値のみで演算するためである。従って、ノーマルベクトル画像742の生成は、X軸とY軸方向に平行光源を設定する単純な条件で、且つ色情報のB値を演算対象外とすることにより簡単に実行できる。α値にはオブジェクトが描画されているか否かを識別するためのマスク情報として、オブジェクトが描画されているピクセルに「255」、描画されていないピクセルには「0」を格納するものとする。
尚、ノーマルベクトル画像742は上記の方法によって生成するとは限らず、適宜オブジェクトのポリゴンデータから算出するとしても良いのは勿論である。
【0077】
本実施の形態における画像生成演算部24には、ノーマルベクトル補正部244と、レタッチ演算部246とを含む。
【0078】
ノーマルベクトル補正部244は、ノーマルベクトル画像742の各ピクセルの色情報のR値とG値として記憶されているノーマルベクトルVNを、▲1▼仮想空間に設定された光源の光線の方向、及び▲2▼画像中心Obと各ピクセルの位置関係、に応じて補正し、インテンスノーマルベクトル画像744を生成する。
【0079】
図7は、本実施の形態におけるノーマルベクトルの補正の概念を説明する図であり、スクリーン座標上にある。
同図に示すように、先ずオブジェクトAを描画する全ピクセルについて、ノーマルベクトル画像742のピクセルの色情報R値及びG値からノーマルベクトルVNを求める。更に光源Lの設定位置座標XY成分からXY平面における光の方向を示す光線ベクトルVL2を求める。また、例えばノーマルベクトル画像742の画像中心Obから処理対象のピクセルまでのベクトルである視線ベクトルVEを求める。そして、ノーマルベクトルVN、光線ベクトルVL2及び視線ベクトルVEとをそれぞれ単位ベクトル化して合成し、合成結果を更に単位ベクトル化する。
【0080】
この最終的に求められたXY2次元の単位ベクトルをインテンスノーマルベクトルVIと言う。インテンスノーマルベクトルVIの2次元ベクトル成分のX値とY値を、それぞれピクセルのR値とG値として有する画像をインテンスノーマルベクトル画像744と言う。インテンスノーマルベクトル画像744の生成においても、上述のノーマルベクトル画像742の生成時と同様の理由によって、ピクセルの色情報B値を演算対象外としている。従って、ベクトルの合成や単位ベクトル化などの処理が簡単になる。
【0081】
レタッチ演算部246は、ノーマルベクトル補正部244で求められたインテンスノーマルベクトル画像744を参照し、インテンスノーマルベクトルVIに基づいてブラシ画像734を描画してハイライトレタッチ画像746とシャドーレタッチ画像747とを生成する。
【0082】
図8は、本実施の形態におけるレタッチ画像の生成の概念を説明する図である。本実施の形態では、インテンスノーマルベクトルVIの方向にブラシ画像734の方向を合わせて描画する。
【0083】
より具体的には、同図(a)に示すように、レタッチ演算部246がスクリーン座標上に所定数のサンプリング点Pの座標を設定する。サンプリング点Pの設定方法は、例えばランダムでも良いし所定の格子状に沿って設定するとしても良い。そして、同図(b)に示すように、インテンスノーマルベクトル画像744から各サンプリング点Pの位置の色情報R値とG値とを参照してインテンスノーマルベクトルVIを求め、X軸との交差角度θを求める。
【0084】
同図(c)に示すように、ブラシ画像734は筆先によって着色される形状と着色の濃淡を輝度によって表すグレースケール画像である。ブラシ画像734はそれぞれ基準となるブラシ方向VSを有している。そして、同図(d)に示すように、レタッチ演算部226は、このブラシ方向VS(XYの2次元ベクトル)をインテンスノーマルベクトルVIの方向に一致するようにブラシ画像734を交差角度(90−θ)だけ時計方向に回転させ、レタッチ画像(ハイライトレタッチ画像746のサンプリング点Pに描画する(同図(e))。
描画時の描画色は、陰影画像740のサンプリング点Pの位置におけるグレースケール値に応じて決定される。多数のサンプリング点Pについてブラシ画像734を描画することによって、あたかも筆を何度も置いてタッチを付けたような画像を得ることができる。
【0085】
前述のように本実施の形態においてはレタッチ画像は、その目的によってハイライトを表現するためのハイライトレタッチ画像746と、シャドーを表現するためのシャドーレタッチ画像747とが有る。そして、適当な合成方法でペイント画像749に画像合成することによって、ペイント画像749に目的のタッチを表現することができる。
【0086】
画像合成部26は、画像生成演算部24によって生成された画像を演算処理によって合成してゲーム画面をバッファリングする。画像合成の方法は、公知の手法によって実現できる。何れの合成方法を使用するかは適宜選択する。画像合成部26は、DSPなどのLSIのハードウェア、フレームバッファによって実現できる。CPUに所定の画像処理プログラムを実行させることによって実現しても良い。
【0087】
音生成部28は、ゲーム音や効果音、BGMなどの音を生成し、音出力部40に出力させる制御をする。音生成部28は、例えばDSPなどのLSIのハードウェアに実現できる。また、CPUに所定の音生成プログラムを実行させることによって実現しても良い。
【0088】
画像表示部30は、画像合成部26で構成されたフレーム画像750を画像表示する手段であって、例えば、CRT、LCD、PDP、ELDなどの画像表示装置及びドライバによって実現される。図1の例ではディスプレイ1302がこれに該当する。
【0089】
音出力部40は、音生成部28からの音信号に基づいて効果音やBGM等を音出力する。図1の例ではスピーカ1304がこれに該当する。
【0090】
記憶部70は、処理部20で演算処理を実行するのに必要なプログラムや各種データを記憶する手段であって、例えば、各種ICメモリ、ハードディスク、MO、DVD、CD−ROMなどによって実現される。図1の例では、ICメモリ1322がこれに該当する。
【0091】
記憶部70には、実施の形態におけるゲームを実行させるためのプログラム及びデータを格納する画像生成情報72を記憶する。
画像生成情報72に含まれるプログラムとして、処理部20をゲーム演算部22として機能させるためのゲーム演算プログラム720と、画像生成演算部24として機能させるための画像生成演算プログラム722と、画像合成部26として機能させるための画像合成プログラム728とを記憶する。
画像生成演算プログラム722には、処理部20をノーマルベクトル補正部244として機能させるためのノーマルベクトル補正プログラム724と、レタッチ演算部246として機能させるためのレタッチ演算プログラム726とが含まれる。
【0092】
また、画像生成情報72に含まれる設定データとして、オブジェクトデータ710と、ライティング設定730と、仮想視点設定732と、ブラシ画像734と、レコード情報736とを記憶する。
【0093】
オブジェクトデータ710は、オブジェクトのモデリングの3次元データやオブジェクトの色情報などを格納するモデリングデータ712と、オブジェクトに施されるタッチの位置に当るサンプリング点Pを決定するための情報を格納するサンプリング設定情報714と、サンプリング点Pへのブラシ画像734の描画方法についての情報を設定するレタッチ設定情報716と、画像生成演算部24によって生成された各種画像の合成方法についての情報を設定する情報である合成条件設定718とを含む。オブジェクトデータ710は、ゲームに登場する全てのオブジェクトについてそれぞれ予め設定される。
【0094】
図4は、サンプリング設定情報714のデータ構成の一例を示す図である。
オブジェクトID714aは、サンプリング設定情報714の識別情報であって、例えばオブジェクトの名称やファイル名が格納される。
サンプリングイメージ714bは、ブラシ画像734を描画する際に、オブジェクトの面のスクリーン座標XY平面における向きを表すベクトルの情報を何れの画像データから取得するかを指定する。本実施の形態では、インテンスノーマルベクトルVIの方向に基づいてブラシ画像734を描画するので、インテンスノーマルベクトル画像744がデフォルトとなっているが、適宜ノーマルベクトル画像742を設定できる。
【0095】
サンプリングタイプ714cは、サンプリング点Pをどの様に配置するかを設定する。本実施の形態では格子状に設定するグリッドタイプとランダムに設定するランダムタイプとが選択できる。設定するサンプリング点Pの総数は、サンプリング数714gに格納される。
【0096】
図9は、サンプリングタイプの異なるシャドーレタッチ画像747の例を示す図である。尚、便宜的に輪郭線を付加してある。同図(a)はランダムタイプの場合であり、タッチが不規則に描画されている。一方(b)は、グリッドタイプの場合であり、タッチが規則的に描画されている。タッチによってカンバスのように比較的規則正しい肌目の画材の感じを表現する際に効果的である。
【0097】
図4のサンプリングタイプ714cがランダムタイプに設定される場合は、更にランダムパタン714dによってサンプリング点Pを設定する範囲を設定できる。
【0098】
図10は、本実施の形態におけるランダムパタン714dを説明する概念図である。同図に示すように、例えば同図(a)のグリッドタイプでは、格子状にサンプリング点Pを設定する。同図(b)のランダムタイプiでは、スクリーン座標全体にランダムにサンプリング点Pを設定する。同図(c)のランダムタイプiiでは、スクリーン座標のうちオブジェクトAが描画されている部分にのみランダムにサンプリング点Pを設定する。オブジェクトAが描画されている部分の識別は、例えばノーマルベクトル画像742のα値を参照して判断する。
【0099】
同図(d)のランダムタイプiiiではスクリーン座標のうちオブジェクトAが描画されている部分にのみランダムにサンプリング点Pを設定し、更に陰影画像740からサンプリング点Pの位置の輝度値を参照して(目安として等輝度線を破線表示)、輝度値が所定の条件(例えば、サンプリング輝度閾値733の以上或いは以下など)を満たすサンプリング点Pを有効とする。同図(e)のランダムタイプivでは、陰影画像740のサンプリング点Pの位置における輝度値を事前に参照し、輝度値が所定の条件を満たす範囲に全サンプリング点Pを設定する。
【0100】
図4のサンプリングカーブ714eは、ランダムパタン714dのランダムタイプiii及びivにおいて、陰影画像740の輝度を参照する際に使用するサンプリング関数(フィルタ)の種類を設定する。
【0101】
図11は、サンプリングカーブ714eで設定されるサンプリング関数の概念を説明する図である。サンプリング関数は、陰影画像740から読み出した輝度を入力とし、所定の関数によって算出される値を出力する。
同図(a)では、陰影画像740より取得できる輝度の値をより低く出力する。従って、陰影画像740の比較的明るい場所にもサンプリング点Pが設定されてタッチが入る。同図(b)では反対に輝度をより高く出力する。従って陰影画像740の比較的暗い場所にサンプリング点Pが設定されてタッチが入ることになる。その他同図(c)や(d)のように設定しても良い。(d)は関数の特性が更にランダムに変化する設定を示している。
前記ランダムパタン714dのランダムタイプiii及びivにおいて、陰影画像740の輝度に基づく判定をする場合には、サンプリング関数の出力値によって判定されることになる。
【0102】
本実施の形態では、サンプリングカーブ714eで設定できるサンプリング関数を予め複数用意しておき、オブジェクトの特性や環境条件(例えば、キャラクタのイメージや登場する環境の光の状態など)に応じて適宜選択される。
【0103】
サンプリングカーブオフセット量714fは、サンプリング関数のオフセット量OFを設定する(図11参照)。例えば、プラス方向のオフセットした場合、陰影画像740のある輝度以上或いは以下を「0」で出力する。
図12は、同じ陰影画像740を元にしたサンプリングカーブオフセット量714fの異なるシャドーレタッチ画像747の例を示す図である。尚、便宜的に輪郭線を付加してある。同図(a)はオフセット量=0の場合、(b)はオフセット量=3の場合をそれぞれ示す。同図(b)は、プラス方向にオフセットしたことによって、相対的に入力値より高い値が出力される。従って、同じ輝度を境にサンプリング点Pを設定する/しないを判定するならば、(b)のようにタッチが減少して明るい調子の手書き風NPR画像を生成できる。
【0104】
図5は、本実施の形態におけるレタッチ設定情報716のデータ構成の一例を示す図である。レタッチ設定情報716は、生成するレタッチ画像毎に設定される。本実施の形態では、ハイライトレタッチ画像746とシャドーレタッチ画像747用にそれぞれ設定されるものとする。
【0105】
オブジェクトID716aは、サンプリング設定情報714の識別情報であって、例えばオブジェクトの名称やファイル名が格納される。
使用ブラシ716bは、タッチとして描画するブラシ画像734を指定する。ブラシサイズ716cは、ブラシ画像734を描画する際の拡大/縮小率を設定する。
【0106】
ブラシロール716dは、レタッチ演算部246がブラシ画像734をインテンスノーマルベクトルVI(サンプリングイメージ714bの設定によってはノーマルベクトルVN)の方向にブラシ画像734の方向を合わせる際の、ブラシ画像734の回転量のオフセット値として設定する。
【0107】
図13は、ブラシロール716dの概念を説明する図である。同図(a)に示すように、ブラシ画像734のブラシ方向VSがオフセット量だけインテンスノーマルベクトルVIの方向からずれる。ブラシロール716dを適当に設定することによって、例えば平筆を縦に使う状態(b)や横に使う状態(c)など、複数のタッチ表現が可能になる。
【0108】
図5のブラシリピート数716eは、一のサンプリング点Pにブラシ画像734を描画する数を設定する。その際、どの程度ブラシ画像734をずらして描画するかは、ブラシ移動範囲716fに設定される範囲内に、ブラシリピート数716eが収まるように、適宜描画位置座標を増減する。図5の場合、一のサンプリング点Pについて、サンプリング点Pの位置座標を始点にインテンスノーマルベクトルVIの方向に15ピクセルの範囲にブラシ画像734を3回描画するように、且つ一部が重畳するように描画位置が変更されて描画される。
【0109】
図14は、ブラシリピートの概念を説明する図である。同図に示すように、一箇所のサンプリング点Pに対して一部重畳するようにしてブラシ画像734を描画する。一度に複数のブラシ画像734を描画できるので、処理を高速化できるとともに、サンプリング数714gをむやみに多く設定しなくとも十分なタッチを表現できる。
【0110】
本実施の形態では、図5のランダム設定方式716g・位置オフセット範囲716h・位置オフセット量716j・回転オフセット範囲716kによって、サンプリング点Pに対するブラシ画像734を描画する相対位置を時間経過に応じてランダムに可変する(ずらす)ことが出来る。
【0111】
ランダム設定方式716gは、一の乱数発生関数が連続的に使用される条件を設定する。本実施の形態では、レタッチ画像の生成の都度異なる乱数発生関数を使用する「EVERYモード」と、同一フレームでは同じ乱数発生関数を使用する「FRAMEモード」と、1シーンの間同じ乱数発生関数を使用する「SCENEモード」を設定できる。尚、ここで必要とされるフレーム数やシーン数のカウントは、レコード情報736に適宜カウントされる。
【0112】
位置オフセット範囲716hは、サンプリング点Pに対するブラシ画像734を描画する位置に関するXY軸共通のオフセット範囲を指定する。同図の場合、サンプリング点Pの位置をXY軸方向プラス・マイナス5ピクセルの範囲でオフセットした位置に描画される。位置オフセット変化量716jは、更に1フレーム毎のオフセット量を設定する。回転オフセット範囲716kは、サンプリング点Pに対するブラシ画像734の相対角度のオフセット範囲を指定する。即ち、ブラシロール716dにランダムな変化をつける。
【0113】
従って、フレーム毎にブラシ画像734の描画される位置が微妙に異なる状態とすることによって、観者にとってあたかも手書き故の描画位置のズレや揺らぎを表現することができる。
従って、位置オフセット範囲716h、位置オフセット変化量716j、回転オフセット範囲716kを大きくすると、フレーム間におけるタッチの位置ズレが大きくなり、勢いの有る荒削りな感じを受ける手書き風タッチを作り出すことができる。逆に値を小さくすると、フレーム間におけるタッチの位置ズレが小さくなるので、穏やかな緻密な感じを受けるタッチを作り出せる。
【0114】
また、本実施の形態では、ブラシ画像734の描画の色情報を設定することができる。
カラーサンプリング素材716mは、ブラシ画像734をサンプリング点Pに描画する場合の濃淡を何れの画像データを参照して決定するかを指定する。本実施の形態では、陰影画像740をサンプリング素材とする「NONE」がデフォルトであるが、例えば所定の紙や布のテクスチャ画像データを指定することによって、手書き風のタッチのなかに擦れた感じを表現することもできる。
【0115】
カラーサンプリングカーブ716nは、カラーサンプリング素材716mで指定された画像データから取得された色情報を可変するサンプリング関数を設定する。例えば、取得された色情報を所定の関数で補正し、明暗の強調や平均化などが成される。サンプリング関数は、図11で示したのと同様の特性を有する。
カーブオフセット716pは、カラーサンプリングカーブ716nで設定されたサンプリング関数のオフセット値を設定する。
【0116】
ブラシカラー716rは、ブラシ画像734に与える特定の色情報を設定する。デフォルトは黒であるが、例えば赤を設定すると赤色でタッチをいれることできる。
【0117】
色数716sは、ブラシ画像734の色階調を設定する。即ち、カラーサンプリングカーブ716nで設定されたサンプリング関数によって得られた色情報は、更に指定された色階調に変換される。
【0118】
合成条件設定718は、ペイント画像749、ハイライトレタッチ画像746、シャドーレタッチ画像747、輪郭線画像748について、それぞれどの合成方法で合成するかを指定する。
例えば、ハイライトレタッチ画像746の場合、ハイライトのタッチを入れたい部分を明色とし、入れない場所を暗色とするグレースケール画像なので、ペイント画像749にスクリーン合成すると、明色の部分のみペイント画像749のもともとの色(基本色)が明色にシフトする。従って、基本色の色相を残しつつ明るいハイライトのタッチが合成される。
【0119】
シャドーレタッチ画像747の場合、シャドーのタッチを入れたい場所を暗色とし入れたくない場所を明色とするグレースケール画像なので、ペイント画像749に乗算合成する。従って、明色の部分はペイント画像749の基本色がそのまま残り、暗色部分の輝度が落ちる。従って、基本色の色相を残しつつ暗いシャドーのタッチが合成される。輪郭線画像も同様に設定できる。
【0120】
ライティング設定730は、仮想空間に配置する光源の設定情報を格納する。
仮想視点設定732は、仮想空間内における仮想視点Cの位置、回転角度、画角などの設定を格納する。
【0121】
ブラシ画像734は、絵筆やペンなどの画材を紙に置いたときに付く彩色される濃淡パターンに相当するグレースケール画像である。図15は、ブラシ画像734の一例を示す図である。所望するタッチを実現できるように適宜パターンを予め用意する。また,その大きさも、例えば64×64ピクセル、128×128ピクセルなどの様に所望するタッチに応じて適宜設定する。
【0122】
また、記憶部70には、画像データとして陰影画像740と、ノーマルベクトル画像742と、インテンスノーマルベクトル画像744と、ハイライトレタッチ画像746と、シャドーレタッチ画像747と、輪郭線画像748と、ペイント画像749と、ペイント画像にハイライトレタッチ画像746・シャドーレタッチ画像747・輪郭線画像748が合成されたオブジェクト合成画像752とが一時的に記憶される。
記憶部70の一部は描画用フレームバッファとして機能し、フレーム画像750を記憶する。
【0123】
[処理の説明]
次に、図16〜図19を参照して、本実施の形態における処理の流れについて説明する。ここでは、ゲーム演算に関する処理は従来と同様に実施されるものとして省略し、ゲーム演算部22の演算結果(ジオメトリ演算の結果)に基づいて画像の生成から画像合成、画像表示までを説明する。
【0124】
図16は、本実施の形態における画像生成表示処理の流れを説明するためのフローチャートである。同図に示すように、先ず画像生成演算部24は、ゲーム画面に描画されるオブジェクトについて、手書き風のタッチの入ったNPR画像であるオブジェクト合成画像を生成するためのループ処理▲1▼を実行する(ステップS101)。
【0125】
ループ処理では、画像生成演算部24は先ず陰影画像740を生成し(ステップS102)、次いでノーマルベクトル画像742を生成する(ステップS104)。
【0126】
次に、ノーマルベクトル補正部244が、サンプリング設定情報を参照し(ステップS106)、サンプリングイメージ714bがインテンスノーマルベクトル画像744に設定されている場合(ステップS108のYES)、ノーマルベクトル画像742からインテンスノーマルベクトル画像744を求める(ステップS110)。より具体的には、ノーマルベクトル画像742からノーマルベクトルVNが求められる。ノーマルベクトルVNは、オブジェクトを構成するポリゴン面のスクリーン座標XY平面に投影された場合の方向を示す法線ベクトルである。ゲーム装置1300は、ノーマルベクトルVNを光線の方向と視線の方向とに基づいて補正し、インテンスノーマルベクトルVIとする。インテンスノーマルベクトルVIのベクトル値をインテンスノーマルベクトル画像744のピクセルの色情報であるRGB値として記憶する。
【0127】
次に、レタッチ演算部246は、レタッチ設定情報716を参照して(ステップS112)レタッチ画像生成処理を実行して、ハイライトレタッチ画像746を生成する(ステップS114)。
【0128】
図17及び図18は、本実施の形態におけるレタッチ画像生成処理の流れを説明するためのフローチャートである。
先ず、タッチを施す位置に当るサンプリング点Pを決定する。
レタッチ演算部246は、サンプリング設定情報714を参照して、サンプリング点設定処理を実行してスクリーン座標上にサンプリング点Pを設定する(ステップS202)。サンプリング点Pの位置座標は記憶部70に記憶される。
【0129】
図19は、本実施の形態におけるサンプリング点設定処理の流れを説明するための図である。同図に示すように、レタッチ演算部246は、サンプリングタイプ714cが「グリッド」に指定されている場合(ステップS302のYES)、スクリーン座標上にサンプリング数714gだけサンプリング点Pを所定の格子上に設定する(ステップS304)。
【0130】
サンプリングタイプ714cが「ランダム」に指定されている場合(ステップS302のNO)、更にランダムパタン714dを参照する(ステップS306)。
【0131】
ランダムパタン714dがランダムパタンiの場合、サンプリング点Pを条件に従ってスクリーン座標全域に対してランダムにサンプリング点Pを設定する(ステップS308)。
【0132】
ランダムパタン714dがランダムパタンiiの場合、オブジェクトの描画されている範囲内にのみサンプリング点Pを設定する(ステップS310)。範囲は、例えばノーマルベクトルVNのα値を参照して判定する。
【0133】
ランダムパタン714dがランダムパタンiiiの場合、オブジェクトの描画されている範囲内にのみサンプリング点Pを設定し(ステップS311)、陰影画像740の各サンプリング点Pの輝度を取得する(ステップS312)。取得したサンプリング点Pの輝度をサンプリングカーブ714eに指定されたサンプリング関数をサンプリングカーブオフセット量714fに従ってオフセットし(ステップS314)、オフセット後のサンプリング関数で陰影画像740から取得した輝度を補正した値を算出する(ステップS316)。そして、該補正値が所定条件(例えば、輝度閾値より以上/以下など)を満さないサンプリング点Pを削除する(ステップS318)。
【0134】
ランダムパタン714dがランダムパタンivの場合、陰影画像740からオブジェクトが描画されている範囲の輝度を取得し(ステップS320)、サンプリングカーブ714eに指定されたサンプリング関数をサンプリングカーブオフセット量714fに従ってオフセットし(ステップS322)、オフセット後のサンプリング関数で陰影画像740から取得した輝度を補正した値を算出する(ステップS324)。該補正値が所定条件を満たす範囲にサンプリング点Pを設定する(ステップS326)。
【0135】
サンプリング点Pを設定したならば、サンプリング設定処理を終了し図17のフローに戻る。
【0136】
図17において、サンプリング点設定処理によって設定された全てのサンプリング点Pについて以下のループ処理▲2▼を実行する(ステップS204)。
【0137】
ループ処理▲2▼では、先ずタッチを描画するブラシ画像734を用意する。
レタッチ演算部246は、使用ブラシ716bを参照してブラシ画像734を読み出す(ステップS206)。次に、サンプリングイメージ714bで指定される画像(この場合インテンスノーマルベクトル画像)を参照してサンプリング点Pの位置の色情報を読出しインテンスノーマルベクトルVIを求める(ステップS208)。
【0138】
インテンスノーマルベクトルVIが求められたならば、レタッチ演算部246は、ブラシ方向VSをインテンスノーマルベクトルVIと合わせるようにブラシ画像734を回転させる(ステップS210)。この際、ブラシロール716dを加算して回転させる(ステップS212)。これで、基本的なブラシの方向が決定されたことになる。
【0139】
次に、ブラシ画像734を描画する色(描画色)を決定する。
ブラシカラー716rが指定されている場合(ステップS214のYES)、ブラシ画像734のグレースケールをブラシカラー716rのカラースケールに変換する(ステップS216)。例えば、ブラシカラー716rで黄色が指定されている場合、ブラシ画像734は、指定された黄色の明暗によるカラースケールとなる。このスケール変換後のブラシ画像734で描画すると、黄色を帯びた明暗によるタッチとなる。
【0140】
ブラシカラー716rが指定されず(ステップS218のNO)、カラーサンプリング素材716mが指定されていない(「NONE」)場合(ステップS218のYES)、陰影画像740からサンプリング点Pの位置の輝度を参照し(ステップS219)、ブラシ画像734のグレースケールを参照した輝度に基づいて変換する(ステップS220)。即ち、ブラシ画像734はグレースケール画像のままであるが、陰影画像740におけるサンプリング点Pの位置の輝度に応じてグレースケールにシフトされる。この輝度変換後のブラシ画像734で描画すると、陰影画像740に応じた明暗を有するタッチとなる。
【0141】
カラーサンプリング素材716mが特定の画像を指定している場合(ステップS218のNO)、指定されている画像からのサンプリング点Pの位置の色情報を取得し(ステップS222)、カラーサンプリングカーブ716nに指定されたサンプリング関数をカーブオフセット716pに従ってオフセットし(ステップS224)、ブラシ画像734のグレースケールをオフセット後のサンプリング関数で該色情報を補正した値に基づいてカラースケールに変換する(ステップS226)。
【0142】
ここで、色数716sで描画可能な色数が指定されている場合(ステップS228のYES)、ブラシ画像734の輝度のスケールを指定された色数に段階化する(ステップS230)。即ち、ブラシ画像734は段階的な輝度のスケールとなる。このスケール変換後のブラシ画像734で描画すると、あたかも色数の限定されたセルアニメ調のタッチとなる。
【0143】
次に、描画色が決定されたブラシ画像734について、描画の大きさとサンプリング点Pへの描画位置のずらしを決定し、ブラシ画像734を描画する(図18)。先ずブラシサイズ716cを参照して、ブラシ画像734を拡大或いは縮小する(ステップS232)。次に、ランダム設定方式716gの条件に従って乱数発生関数を決定して乱数を発生する(ステップS234)。この乱数に基づいて、回転オフセット範囲716kに従ってブラシ画像734を回転させ(ステップS236)、位置オフセット範囲716h及び位置オフセット変化量716jに従ってサンプリング点Pの位置座標からのXYのオフセット量を算出して、描画位置をオフセットする(ステップS238)。
【0144】
描画位置が決定されたならば、ブラシ移動範囲716fとブラシリピート数716eを参照し(ステップS240)、ブラシリピート数716eのブラシ画像734がブラシ移動範囲716fに納まるように、描画位置を段階的に変更しながらブラシ画像734をハイライトレタッチ画像746上に描画する(ステップS242)。
以上のループ処理を全サンプリング点Pに実行し(ステップS244)、図16のフローに戻る。
【0145】
図16において、次に画像生成演算部24は、ペイント画像749を生成する(ステップS116)。そして、画像合成部26が、ペイント画像749とハイライトレタッチ画像746とを、合成条件設定718で指定された合成方法によって画像合成する(ステップS118)。
【0146】
次に画像生成演算部24は、輪郭線画像748を生成する(ステップS120)。そして、画像合成部26が先に画像合成された画像に更に合成条件設定718で指定された合成方法によって輪郭線画像748を画像合成する(ステップS122)。この状態で、ペイント画像749にハイライトのタッチと、輪郭線が合成されたNPR画像が出来あがったことになる。そして、ノーマルベクトル画像742のα値を当該NPR画像に格納する(ステップS124)。
【0147】
次に、レタッチ演算部246は、レタッチ画像生成処理を実行して、シャドーレタッチ画像747を生成する(ステップS126)。
シャドーレタッチ画像747が生成されたならば、画像合成部26は合成条件設定718で指定された合成方法で、ペイント画像749にハイライトのタッチと、輪郭線が合成されたNPR画像にシャドーレタッチ画像747を画像合成する(ステップS128)。そして、合成結果をオブジェクト合成画像752として記憶部70に記憶する(ステップS130)。
この状態で、ペイント画像749にハイライトのタッチと、シャドーのタッチと、輪郭線が合成されたNPR画像が出来あがったことになる。
【0148】
以上のループ処理をスクリーン画像に表示される全てのオブジェクトに実行したならば(ステップS132)、それらのオブジェクト合成画像752をα合成してフレーム画像750とする(ステップS134)。フレーム画像750は、描画用フレームバッファに格納され、画像表示部30にゲーム画面の動画の1フレームとして表示される(ステップS136)。
【0149】
以上の処理によって手書き風のタッチの入ったNPR画像の動画としてゲーム画面を表示することができる。
【0150】
[ハードウェアの構成]
図20は、本実施の形態におけるゲーム装置1300を実現できるハードウェア構成の一例を示す図である。ゲーム装置1300は、CPU1000と、ROM1002と、RAM1004と、情報記憶媒体1006と、音生成IC1008と、画像生成IC1010と、I/Oポート1012及び1014とを有し、システムバス1016により相互にデータの入出力可能に接続されている。
【0151】
CPU1000は、図3における処理部20に該当し、情報記憶媒体1006に格納されているプログラム、ROM1002に格納されているシステムプログラム、コントロール装置1022によって入力される操作入力信号等に従って、装置全体の制御や各種のデータ処理を行う。
【0152】
ROM1002、RAM1004及び情報記憶媒体1006は、図3における記憶部70に該当する。
ROM1002は、図1のICメモリ1322に該当し、図3の画像生成情報72、特に予め設定されているプログラムやデータを記憶する。RAM1004は、CPU1000の作業領域などとして用いられる記憶手段であり、情報記憶媒体1006やROM1002の所与の内容、或いはCPU1000の演算結果が格納される。情報記憶媒体1006は、ICメモリカードや着脱自在なハードディスクユニット、MOなどによって実現され、図3のゲーム演算部22によって求められるゲームプレイ情報(図示略)などを主に記憶する。
【0153】
音生成IC1008は、情報記憶媒体1006やROM1002に記憶される情報に基づいて操作音等を生成する集積回路であり、生成された音はスピーカ1020によって出力される。スピーカ1020は、図1のスピーカ1304に該当する。
【0154】
画像生成IC1010は、RAM1004、ROM1002、情報記憶媒体1006等から出力される画像情報にもとづいて表示装置1018に画像を出力するための画素情報を生成する集積回路である。なお、表示装置1018は、図3における画像表示部30、図1におけるディスプレイ1302に該当する。
【0155】
I/Oポート1012には、コントロール装置1022が接続され、I/Oポート1014には、通信装置1024が接続されている。
コントロール装置1022は、図3における操作入力部10に該当し、操作パネルや図1のジョイスティック1306やプッシュボタン1308等に相当するものであり、プレーヤがゲームの進行に応じて種々のゲーム操作を入力するための装置である。
【0156】
通信装置1024は、ゲーム装置内部で利用される各種の情報を外部とやり取りするものであり、他のゲーム装置と接続されてゲームプログラムに応じた所与の情報を送受信したり、通信回線を介して、ゲームプログラム等の情報を送受信することなどに利用される。例えば図1における制御ユニット1320に内蔵される。
【0157】
尚、画像生成IC1010、音生成IC1008等で行われる処理はCPU1000、或いは汎用のDSP等によってソフトウェア的に実行されても良い。
【0158】
以上の構成によれば、レタッチ演算部246は、ブラシ画像734を複数配置してハイライトレタッチ画像746及びシャドーレタッチ画像747を生成するため、重畳するブラシ画像734の数などによって、レタッチ画像に濃淡を表すことができる。ただし、ブラシ画像734が配置されていなかったり、重畳している数が少なかったりする部分は、ブラシ画像734の色情報が反映されず、透けた部分となる。しかし、レタッチ画像にペイント画像749を合成することによって、透けた部分にはオブジェクトの表面の色情報が反映されることとなる。
【0159】
従って、ブラシ画像734を敷き詰めてハイライトレタッチ画像746及びシャドーレタッチ画像747を生成する必要はなく、レタッチ画像生成のコスト(処理時間)を低減する一方、オブジェクトの画像に対して、絵画調の風合いを持たせることができる。
【0160】
以上、本発明の一実施の形態について説明したが、本発明の適用がこれに限定されるものではなく、本発明の趣旨を逸脱しない限りにおいて適宜構成要素の追加・変更・削除を行っても良い。
【0161】
例えば、ゲーム装置1300は、家庭用ゲーム装置や携帯用ゲーム装置、PDA、多機能計算機などそのほかの装置であっても良いのは勿論である。また、ゲーム装置1300はスタンドアローンの装置に限らず、ネットワーク接続された複数の装置で機能を分散して実現する構成であっても良い。
【0162】
また、サンプリング数714gは固定に限らず適宜可変するとしても良い。より具体的には、例えばサンプリング点設定処理の実行時最初に、オブジェクトAの画像中心Obから仮想視点Cまでの距離を算出し当該距離に比例してサンプリング数714gを可変する。
これによって、オブジェクトAが仮想視点Cから遠くに離れた位置に配置され、画面におけるオブジェクトAが描画されている面積が小さい場合、多数のタッチを施してもタッチ同士が重なって意味をなさなくなるのでサンプリング数714gを距離に応じて適切な数に削減して処理負荷を軽減する。逆に、オブジェクトAが仮想視点Cの近くに配置され、画面におけるオブジェクトAが描画されている面積が大きくなる場合、サンプリング数714gを増加してタッチの不足を補うことができる。
【0163】
また、ブラシサイズ716cは固定に限らず可変するとしても良い。例えば、レタッチ画像生成処理(図18)のステップS232において、オブジェクトAの画像中心Obから仮想視点Cまでの距離を算出し当該距離に比例してブラシサイズ716cを可変する。これによって、仮想視点Cから離れたオブジェクトAのタッチを細かく、近くのオブジェクトAのタッチを大きく設定できる。
【0164】
また、各種画像データの生成については、ペイント画像749・ハイライトレタッチ画像746・シャドーレタッチ画像747・輪郭線画像748・ノーマルベクトル画像742・陰影画像740は、必ずしも画像生成演算部24で生成するに限らず、複雑なモデルなど生成に時間を要する場合には、適宜予め画像を用意しておいて使用するとしても構わない。
【0165】
また、インテンスノーマルベクトルVIは、ノーマルベクトル画像742より求めるに限らず、例えば適宜オブジェクトのポリゴンデータからノーマルベクトルVNを読み出して使用するとしても良いのは勿論である。
【0166】
【発明の効果】
本発明によれば、ブラシ画像を複数配置してレタッチ画像を生成するため、重畳するブラシ画像の数などによって、レタッチ画像に濃淡を表すことができる。そして、レタッチ画像に投影画像を合成することによって、立体物表面の色情報が反映された手書き風の画像を生成する。ブラシ画像を敷き詰めてレタッチ画像を生成する必要はなく、例えば、立体物表面の一部についてブラシ画像を配置したレタッチ画像とすることでレタッチ画像生成のコスト(処理時間)を低減する一方、立体物全体の画像に対して、絵画調の風合いを持たせることができる
【図面の簡単な説明】
【図1】本発明を適用した業務用のゲーム装置の外観の一例を示す図。
【図2】ゲーム画面の生成についての概要を説明する図。
【図3】機能構成の一例を示す機能ブロック図。
【図4】サンプリング設定情報のデータ構成の一例を示す図。
【図5】レタッチ設定情報のデータ構成の一例を示す図。
【図6】ノーマルベクトル画像の生成方法の概念を説明する図。
【図7】ノーマルベクトルの補正の概念を説明する図。
【図8】レタッチ画像の生成の概念を説明する図。
【図9】サンプリングタイプの異なるシャドーレタッチ画像の例を示す図。
【図10】ランダムパタンの例を説明する概念図。
【図11】サンプリングカーブで設定されるサンプリング関数の概念を説明する図。
【図12】同じ陰影画像を元にしたサンプリングカーブオフセット量の異なるレタッチ画像の例を示す図。
【図13】ブラシロールの概念を説明する図。
【図14】ブラシリピートの概念を説明する図。
【図15】ブラシ画像の例を示す図。
【図16】画像生成表示処理の流れを説明するためのフローチャート。
【図17】レタッチ画像生成処理の流れを説明するためのフローチャート。
【図18】レタッチ画像生成処理の流れを説明するためのフローチャート。
【図19】サンプリング点設定処理の流れを説明するための図。
【図20】ゲーム装置を実現するハードウェア構成の一例を示す図。
【符号の説明】
20 処理部
22 ゲーム演算部
24 画像生成演算部
244 ノーマルベクトル補正部
246 レタッチ演算部
26 画像合成部
70 記憶部
72 画像生成情報
710 オブジェクトデータ
712 モデリングデータ
714 サンプリング設定情報
716 レタッチ設定情報
718 合成条件設定
720 ゲーム演算プログラム
722 画像生成演算プログラム
724 ノーマルベクトル補正プログラム
726 レタッチ演算プログラム
728 画像合成プログラム
734 ブラシ画像
740 陰影画像
742 ノーマルベクトル画像
744 インテンスノーマルベクトル画像
746 ハイライトレタッチ画像
747 シャドーレタッチ画像
748 輪郭線画像
749 ペイント画像
750 フレーム画像
752 オブジェクト合成画像
1300 ゲーム装置
1302 ディスプレイ
1320 制御ユニット
1324 描画バッファ
A オブジェクト
C 仮想視点
L 光源
Lg 緑色平行光源
Lr 赤色平行光源
Ob 画像中心
P サンプリング点
VE 視線ベクトル
VI インテンスノーマルベクトル
VL2 光線ベクトル
VN ノーマルベクトル
VS ブラシ方向

Claims (21)

  1. 所与の視点から見た立体物の画像を生成し、生成した画像の色情報を描画バッファに書き込むことによって前記立体物を描画するコンピュータに類する装置を、
    前記視点に基づいて前記立体物を投影することによって得られる前記立体物の描画域に、ブラシ画像を一部重畳するように複数配置することにより前記立体物のレタッチ画像を少なくとも1枚生成するレタッチ画像生成手段、
    前記視点に基づいて前記立体物を投影した投影画像を生成する投影画像生成手段、
    前記レタッチ画像と前記投影画像とを合成することにより、前記レタッチ画像の透いた部分に前記投影画像の色情報が表れるように前記立体物の画像を描画する描画手段、
    として機能させるためのプログラム
  2. 請求項1に記載のプログラムであって、
    前記視点に基づく前記立体物の輪郭画像を生成する輪郭画像生成手段として前記装置を機能させ
    前記描画手段が、前記レタッチ画像と前記投影画像と前記輪郭画像とを合成することにより前記立体物の画像を描画するように前記装置を機能させるためのプログラム
  3. 請求項1又は2に記載のプログラムであって、
    前記立体物が配置されるオブジェクト空間の光源設定を行う空間光源設定手段
    前記視点及び前記空間光源設定手段により設定された光源に基づく所定のレンダリング処理を行うことにより、前記立体物の陰影情報を算出する陰影情報算出手段
    として前記装置を機能させ、
    前記レタッチ画像生成手段が、前記陰影情報算出手段により算出された陰影情報に基づいて、前記ブラシ画像を配置する位置を決定するように前記装置を機能させるためのプログラム
  4. 請求項3に記載のプログラムであって、
    前記レタッチ画像生成手段が、前記陰影情報算出手段によって算出された陰影情報に基づいて、高輝度部分に対して低輝度部分の方がブラシ画像の密集度が高くなるようにブラシ画像の配置位置を決定するように前記装置を機能させるためのプログラム
  5. 請求項3又は4に記載のプログラムであって、
    前記レタッチ画像生成手段が、前記陰影情報算出手段によって算出された陰影情報に基づいて、前記描画域の内、所定の輝度条件を満たす位置にブラシ画像を配置するように前記装置を機能させるためのプログラム
  6. 請求項5に記載のプログラムであって、
    前記レタッチ画像生成手段が、前記陰影情報算出手段によって算出された陰影情報に基づいて、前記描画域の内、第1の輝度条件を満たす位置にブラシ画像を配置して第1のレタッチ画像を生成し、第2の輝度条件を満たす位置にブラシ画像を配置して第2のレタッチ画像をするように前記装置を機能させるためのプログラム
  7. 請求項3〜6の何れか一項に記載のプログラムであって、
    前記レタッチ画像生成手段が、ブラシ画像の配置位置の陰影情報に基づいて当該ブラシ画像の輝度情報を可変してレタッチ画像を生成するように前記装置を機能させるためのプログラム
  8. 請求項1〜7の何れか一項に記載のプログラムであって、
    前記レタッチ画像生成手段が、
    前記立体物表面の法線を演算する法線演算手段、
    前記ブラシ画像の配置位置に対応する前記立体物表面の位置の、前記法線演算手段によって演算された法線に基づいて、当該ブラシ画像の配置角度を決定し、この決定した配置角度で当該ブラシ画像を配置する処理を、配置する各ブラシ画像について行うブラシ配置手段、
    を有するように前記装置を機能させるためのプログラム
  9. 請求項8に記載のプログラムであって、
    前記法線演算手段が、前記視点の視線方向に直交する第1方向を光線方向とする第1光源と、前記視点の視線方向に直交する第2方向を光線方向とする第2光源とを設定し、前記第1光源及び第2光源の光線を前記立体物に当てて、前記視点に基づく所定のレンダリング処理を実行して、当該立体物表面の法線を色情報で表した法線画像を生成することにより、前記立体物表面の法線を演算するように前記装置を機能させ、
    前記ブラシ配置手段が、前記ブラシ画像の配置位置に対応する前記法線画像の位置の色情報に基づいて、当該ブラシ画像の配置角度を決定し、この決定した配置角度で当該ブラシ画像を配置する処理を、配置する各ブラシ画像について行うように前記装置を機能させるためのプログラム
  10. 請求項9に記載のプログラムであって、
    前記描画バッファは、画素毎にRGB値を格納可能に形成されており、
    前記法線演算手段が、前記第1光源の光線色をRGBの内の何れか1色とし、前記第2光源の光線色をRGBの残る2色の内の1色として前記レンダリング処理を行って、画素毎のRGB値を演算することにより前記法線画像を生成するように前記装置を機能させ、
    前記ブラシ配置手段が、前記法線画像のRGB値の内、前記第1光源の光線色の値と前記第2光源の光線色の値とに基づいて当該ブラシ画像の配置位置の法線相当方向を演算することにより、当該配置位置における前記ブラシ画像の配置角度を決定するように前記装置を機能させるためのプログラム
  11. 請求項9又は10に記載のプログラムであって、
    前記法線演算手段によって生成された法線画像の所与の位置から前記ブラシ画像の各配置位置それぞれへの方向を演算する方向演算手段として前記装置を機能させ、
    前記ブラシ配置手段が、前記法線画像の色情報に基づいて求まる方向に前記方向演算手段によって演算された方向を合成することによって前記ブラシ画像の配置角度を決定するように前記装置を機能させるためのプログラム
  12. 請求項8〜11の何れか一項に記載のプログラムであって、
    前記立体物が配置されるオブジェクト空間の光源設定を行う空間光源設定手段として前記装置を機能させ、
    前記ブラシ配置手段が、前記立体物表面の法線の方向に前記空間光源設定手段により設定された光源の光線方向を合成することによって前記ブラシ画像の配置角度を決定するように前記装置を機能させるためのプログラム
  13. 請求項1〜12の何れか一項に記載のプログラムであって、
    前記レタッチ画像生成手段が、所与の条件に応じて配置するブラシ画像の数を可変してレタッチ画像を生成するように前記装置を機能させるためのプログラム
  14. 請求項1〜13の何れか一項に記載のプログラムであって、
    前記レタッチ画像生成手段が、所与の条件に応じて配置するブラシ画像の大きさを可変してレタッチ画像を生成するように前記装置を機能させるためのプログラム
  15. 請求項1〜14の何れか一項に記載のプログラムであって、
    複数のブラシ画像を記憶する記憶手段として前記装置を機能させ、
    前記レタッチ画像生成手段が、前記複数のブラシ画像の内、所与の条件に応じてブラシ画像を択一的に選択することによって、配置するブラシ画像を可変してレタッチ画像を生成するように前記装置を機能させるためのプログラム
  16. 請求項1〜15の何れか一項に記載のプログラムであって、
    前記レタッチ画像生成手段が、ブラシ画像を配置する際に、当該ブラシ画像の配置位置から所与の方向に向けて、一部重畳するように当該ブラシ画像を所定数配置するように前記装置を機能させるためのプログラム
  17. 請求項16に記載のプログラムであって、
    前記レタッチ画像生成手段が、ブラシ画像を配置する際に、当該ブラシ画像の配置角度に基づいた所与の方向に向けて、一部重畳するように当該ブラシ画像を所定数配置するように前記装置を機能させるためのプログラム
  18. 請求項1〜17の何れか一項に記載のプログラムであって、
    前記レタッチ画像生成手段が、配置したブラシ画像の配置位置を時間経過に応じてずらしてレタッチ画像を生成するように前記装置を機能させるためのプログラム
  19. 請求項1〜18の何れか一項に記載のプログラムであって、
    前記レタッチ画像生成手段が、配置したブラシ画像の配置角度を時間経過に応じてずらしてレタッチ画像を生成するように前記装置を機能させるためのプログラム
  20. 請求項1〜19の何れか一項に記載のプログラムを記憶したコンピュータ読取可能な情報記憶媒体。
  21. 所与の視点から見た立体物の画像を生成し、生成した画像の色情報を描画バッファに書き込むことによって前記立体物を描画する画像生成装置であって、
    前記視点に基づいて前記立体物を投影することによって得られる前記立体物の描画域に、ブラシ画像を一部重畳するように複数配置することにより前記立体物のレタッチ画像を少なくとも1枚生成するレタッチ画像生成手段と、
    前記視点に基づいて前記立体物を投影した投影画像を生成する投影画像生成手段と、
    前記レタッチ画像と前記投影画像とを合成することにより、前記レタッチ画像の透いた部分に前記投影画像の色情報が表れるように前記立体物の画像を描画する描画手段と、
    を備えることを特徴とする画像生成装置。
JP2002274158A 2002-09-19 2002-09-19 プログラム、情報記憶媒体及び画像生成装置 Expired - Fee Related JP3748545B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2002274158A JP3748545B2 (ja) 2002-09-19 2002-09-19 プログラム、情報記憶媒体及び画像生成装置
US10/661,645 US7327364B2 (en) 2002-09-19 2003-09-15 Method and apparatus for rendering three-dimensional images of objects with hand-drawn appearance in real time

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002274158A JP3748545B2 (ja) 2002-09-19 2002-09-19 プログラム、情報記憶媒体及び画像生成装置

Publications (2)

Publication Number Publication Date
JP2004110598A JP2004110598A (ja) 2004-04-08
JP3748545B2 true JP3748545B2 (ja) 2006-02-22

Family

ID=31986948

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002274158A Expired - Fee Related JP3748545B2 (ja) 2002-09-19 2002-09-19 プログラム、情報記憶媒体及び画像生成装置

Country Status (2)

Country Link
US (1) US7327364B2 (ja)
JP (1) JP3748545B2 (ja)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060283632A1 (en) * 2005-06-17 2006-12-21 Aps Technology, Inc. System and method for acquiring information during underground drilling operations
JP4816928B2 (ja) * 2006-06-06 2011-11-16 株式会社セガ 画像生成用のプログラム及び当該プログラムを記録したコンピュータ読み取り可能な記録媒体、画像処理装置、画像処理方法
JP4270264B2 (ja) * 2006-11-01 2009-05-27 セイコーエプソン株式会社 画像補正装置、プロジェクションシステム、画像補正方法、画像補正プログラム、および記録媒体
US7995060B2 (en) * 2007-08-01 2011-08-09 Disney Enterprises, Inc. Multiple artistic look rendering methods and apparatus
JP5078712B2 (ja) * 2008-04-01 2012-11-21 任天堂株式会社 画像処理プログラム、画像処理装置、画像処理システム及び画像処理方法
JP2010238110A (ja) * 2009-03-31 2010-10-21 Sega Corp 画像処理装置、画像処理方法および画像処理プログラム
JP5652097B2 (ja) * 2010-10-01 2015-01-14 ソニー株式会社 画像処理装置、プログラム及び画像処理方法
JP5741282B2 (ja) * 2011-07-26 2015-07-01 カシオ計算機株式会社 画像処理装置及び画像処理方法、並びにプログラム
EP2860973B1 (en) * 2012-06-08 2020-03-04 Sun Patent Trust Image encoding method, image decoding method, image encoding device, image decoding device, and image encoding and decoding device
EP2869554B1 (en) * 2012-06-27 2020-10-07 Sun Patent Trust Image coding method, image decoding method, image coding device, image decoding device, and image coding and decoding apparatus
US10565781B2 (en) * 2015-08-20 2020-02-18 Nvidia Corporation View-dependant shading normal adaptation
CN108475408A (zh) 2015-12-01 2018-08-31 索尼公司 图像处理设备和图像处理方法
GB2560306B (en) * 2017-03-01 2020-07-08 Sony Interactive Entertainment Inc Image processing
CN110084873B (zh) * 2018-01-24 2023-09-01 北京京东尚科信息技术有限公司 用于渲染三维模型的方法和装置
CN111489448A (zh) * 2019-01-24 2020-08-04 宏达国际电子股份有限公司 检测真实世界光源的方法、混合实境系统及记录介质
US11004253B2 (en) * 2019-02-21 2021-05-11 Electronic Arts Inc. Systems and methods for texture-space ray tracing of transparent and translucent objects
US11935203B2 (en) * 2022-06-30 2024-03-19 Snap Inc. Rotational navigation system in augmented reality environment

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5592597A (en) * 1994-02-14 1997-01-07 Parametric Technology Corporation Real-time image generation system for simulating physical paint, drawing media, and feature modeling with 3-D graphics
US5966134A (en) * 1996-06-28 1999-10-12 Softimage Simulating cel animation and shading
US6268865B1 (en) * 1998-01-13 2001-07-31 Disney Enterprises, Inc. Method and apparatus for three-dimensional painting
JP3231029B2 (ja) 1999-09-14 2001-11-19 株式会社スクウェア レンダリング方法及び装置、ゲーム装置、並びに立体モデルをレンダリングするためのプログラムを格納したコンピュータ読み取り可能な記録媒体
JP3352982B2 (ja) * 1999-09-14 2002-12-03 株式会社スクウェア レンダリング方法及び装置、ゲーム装置、並びに立体モデルをレンダリングするプログラムを格納するコンピュータ読み取り可能な記録媒体
JP3253020B2 (ja) 1999-09-28 2002-02-04 株式会社スクウェア レンダリング方法及び装置、ゲーム装置、並びに立体モデルをレンダリングするプログラムを格納するコンピュータ読み取り可能な記録媒体

Also Published As

Publication number Publication date
US7327364B2 (en) 2008-02-05
US20040056858A1 (en) 2004-03-25
JP2004110598A (ja) 2004-04-08

Similar Documents

Publication Publication Date Title
JP3748545B2 (ja) プログラム、情報記憶媒体及び画像生成装置
JP3777149B2 (ja) プログラム、情報記憶媒体及び画像生成装置
US6580430B1 (en) Method and apparatus for providing improved fog effects in a graphics system
US7583264B2 (en) Apparatus and program for image generation
JP5299173B2 (ja) 画像処理装置および画像処理方法、並びにプログラム
JP3705739B2 (ja) 情報記憶媒体及びゲーム装置
JP3626144B2 (ja) 立体オブジェクトデータからの漫画的表現の2次元画像の生成方法および生成プログラム
JP4075039B2 (ja) テクスチャマッピング方法、プログラム及び装置
JP3352982B2 (ja) レンダリング方法及び装置、ゲーム装置、並びに立体モデルをレンダリングするプログラムを格納するコンピュータ読み取り可能な記録媒体
US20090080803A1 (en) Image processing program, computer-readable recording medium recording the program, image processing apparatus and image processing method
US7133052B1 (en) Morph map based simulated real-time rendering
US5880735A (en) Method for and apparatus for transparency conversion, image processing system
US6712700B1 (en) Stereo model displaying method and apparatus in video game, game apparatus, and computer-readable recording medium stored with stereo model displaying program for video game
JP4161613B2 (ja) 画像処理方法
JPH09231405A (ja) 画像処理装置、およびその方法
US7710419B2 (en) Program, information storage medium, and image generation system
JP2001273519A (ja) ゲームシステム、ゲームシステムにおける画像描画方法およびゲーム用プログラムが記憶されたコンピュータ読み取り可能な記録媒体
JP3586253B2 (ja) テクスチャマッピングプログラム
JP2011215724A (ja) プログラム、情報記憶媒体及び画像生成システム
US7724255B2 (en) Program, information storage medium, and image generation system
JP4839760B2 (ja) 画像生成装置、画像生成方法等
JP4617501B2 (ja) テクスチャマッピング方法、プログラム及び装置
JP3740109B2 (ja) 情報記憶媒体及びゲーム装置
JP4693153B2 (ja) 画像生成システム、プログラム及び情報記憶媒体
CN117618893A (zh) 场景特效处理方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050705

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050719

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050920

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: 20051122

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20051128

R150 Certificate of patent or registration of utility model

Ref document number: 3748545

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20081209

Year of fee payment: 3

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

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

Free format text: PAYMENT UNTIL: 20081209

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20081209

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20091209

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20091209

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20091209

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20101209

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20101209

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20111209

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20111209

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20121209

Year of fee payment: 7

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20121209

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20121209

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20131209

Year of fee payment: 8

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

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

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

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R370 Written measure of declining of transfer procedure

Free format text: JAPANESE INTERMEDIATE CODE: R370

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

LAPS Cancellation because of no payment of annual fees