JP2001067491A - 再分割多角形を用いる画像表示方法及び装置 - Google Patents

再分割多角形を用いる画像表示方法及び装置

Info

Publication number
JP2001067491A
JP2001067491A JP24340299A JP24340299A JP2001067491A JP 2001067491 A JP2001067491 A JP 2001067491A JP 24340299 A JP24340299 A JP 24340299A JP 24340299 A JP24340299 A JP 24340299A JP 2001067491 A JP2001067491 A JP 2001067491A
Authority
JP
Japan
Prior art keywords
polygon
interpolation
image display
vertex data
subdivision
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.)
Withdrawn
Application number
JP24340299A
Other languages
English (en)
Inventor
Takeshi Takano
豪 高野
Masanobu Yanagisako
正信 柳迫
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.)
Sega Corp
Original Assignee
Sega Corp
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 Sega Corp filed Critical Sega Corp
Priority to JP24340299A priority Critical patent/JP2001067491A/ja
Priority to KR1020000050650A priority patent/KR20010050259A/ko
Publication of JP2001067491A publication Critical patent/JP2001067491A/ja
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/28Indexing scheme for image data processing or generation, in general involving image processing hardware

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Architecture (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Image Generation (AREA)
  • Image Processing (AREA)

Abstract

(57)【要約】 【課題】ハードウエアに大きな負担をかけることがな
く、NURBS面と同等の表現力を持ちながら、高速の
画像表示を可能とする再分割多角形を用いる画像表示装
置を提供することにある。 【解決手段】n(≧3)の頂点を有して構成される多角
形を制御形状とし、該制御形状の頂点データと、該頂点
データに基づき補間を行なう補間コマンドを予め生成
し、プログラムの進行に応じ、前記補間コマンドに従い
前記頂点データに基づき前記制御形状を再分割すること
を特徴とする再分割多角形を用いる。ついで、再分割に
より得られる複数の多角形にテクスチャを貼り付け、画
像表示を行なう。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、再分割多角形を用
いる画像表示方法及び装置に関する。
【0002】
【従来の技術】近年、リアルタイム三次元コンピュータ
グラフィック技術を用いた画像表示装置において、表示
ポリゴン数や表現力の著しい向上が図られている。
【0003】しかし、一般にハードウェア上でアニメー
ション表示や、表示画像の変形を行なおうとする場合、
表示ポリゴンや表現力の向上に比例して変形に必要とな
るCPUの演算量や、演算結果を表示処理部に転送する
際のデータ量が増加してしまうという問題がある。
【0004】一方、従来のコンピュータグラフックの技
術として、頭部、腕、衣服等複雑な形状を表現する場
合、u,v方向に格子状の制御点を有する自由曲面とし
てのNURBS面を用いることが広く行なわれている。
【0005】そして、より複雑な表面画像を表示する場
合、トリムNURBS(Trimmed NURBS)によりパッチ
ワークが用いられる。しかし、このトリムNURBSを
利用する場合は、トリミング処理のためのハードウエア
コストが上昇し、且つ数的なエラーを生じる傾向があ
る。また、表示されるモデルの動きに合わせて滑らかな
画像表示を行なうことが困難である。
【0006】これに対し、ポリゴンメッシュの小分割
(Subdivision)を繰り返し行なうことで複雑な形状の
滑らかな表示を可能とする技術(Subdivision Surface
s:以下再分割多角形面を用いた技術と呼ぶ)が知られて
いる。
【0007】図10は、例として4×4のメッシュで表
される図形に対し、中央部に詳細な形状表現を施す例を
想定した時のNURBS面による場合図10Aと、再分
割多角形面による場合図10Bを比較する図である。
【0008】図10Aに示すNURBS面による場合で
は、u方向,v方向に等しく制御点を生成するので、詳
細な形状表現を施すためには複数の制御点を必要としデ
ータ量が大きくなる。
【0009】一方、図10Bに示す再分割多角形面によ
る場合では、n(≧3)角形の形状を定義することが可
能である。したがって、精密さは不連続であって、複雑
な構造を持った有機的形状を表示する場合などに適して
いる。そして、NURBS面による場合と比べデータ量
を数分の1とすることが可能である。
【0010】しかし、このような特徴を持った再分割多
角形面を利用して、ビデオゲーム装置等の画像表示装置
を構成しようとする場合、再分割多角形演算処理により
ゲーム等のプログラムを実行するCPUの負荷が大きく
なるという問題が生じる。
【0011】
【発明が解決しようとする課題】したがって、本発明の
目的は、ハードウエアに大きな負担をかけることがな
く、NURBS面と同等の表現力を持ちながら、高速の
画像表示を可能とする再分割多角形を用いる画像表示装
置を提供することにある。
【0012】さらに、本発明の目的は、高精度の物体変
形アニメーションや人物あるいは、有機的形状を持つ物
体の表情や毛髪、衣服等の表現をハードウエアに負荷を
かけることなく実現可能とする再分割多角形を用いる画
像表示方法及び装置を提供することにある。
【0013】また、本発明の目的は、再分割処理を適用
して、直線形状から曲線描画を得る画像表示方法及び装
置を提供することにある。
【0014】
【課題を達成するための手段】上記本発明の課題を達成
する画像表示方法及び装置の特徴は、基本的概念とし
て、高精細なポリゴンで表示を行なう場合、表示する物
体をそのまま変形するのではなく、荒いポリゴンで構成
された物体を変形し、表示段階で高精細なポリゴンに再
分割及び、補間を行ない画像表示を行なう様に構成され
る。
【0015】そして、好ましくは、本発明に従う再分割
多角形を用いる画像表示方法は、n(≧3)の頂点を有
して構成される多角形を制御形状とし、前記制御形状の
頂点データと、該頂点データに基づき補間を行なう補間
コマンドを予め生成する。そして、プログラムの進行に
応じ、前記補間コマンドに従い前記頂点データに基づき
前記制御形状を再分割する。
【0016】また、好ましくは前記再分割により得られ
る複数の多角形にテクスチャを張り付け画像表示を行な
うことを特徴とする。
【0017】さらに、好ましくは前記において、前記分
割は、前記制御形状の中心点を生成する。そして、前記
制御形状の頂点データにおける2つの頂点間を結ぶ稜線
の中間に中点を生成し、前記中心点と前記多角形の稜線
の中点とを結んで新たな稜線を生成し、前記新たな稜線
を有する新たな独立の多角形を生成することを特徴とす
る。
【0018】また、好ましくは、前記再分割は、表示さ
れる形状の滑らかさに応じて繰り返されることを特徴と
する。
【0019】さらにまた好ましくは、前記再分割の繰り
返し数は、画像表示の詳細度(LevelOf Detail)に対応し
て決められることを特徴とする。
【0020】さらに、原点を共有する2つの稜線に属す
る中点と、丸め度又は強度に基づき該原点を再補間する
補間コマンドを予め用意し、プログラムの進行に応じ、
前記補間コマンドに従い前記原点を補間して、曲線を得
ることが可能である。
【0021】本発明の更なる特徴は以下の図面に従う、
発明の実施の形態の説明から明らかになる。
【0022】
【発明の実施の形態】以下図面に従い本発明の実施の形
態を説明する。図において、同一又は類似のものには、
同一の参照数字又は参照記号を付して説明する。
【0023】ここで、具体的実施例の説明に先立って、
本発明に適用される上記した再分割多角形面を用いた技
術の原理について説明する。図1は、再分割多角形を形
成していく過程における形状の変化の一例を示す図であ
る。
【0024】先ず、それぞれn(≧3)個の頂点を有し
て構成される複数の多角形を有し、1つの頂点をm(≧
1)個の多角形で共有する様に構成された多面体を単一
の制御形状として考える。
【0025】なお、上記でm=1の場合は、単一の制御
形状として1つの多角形面を対象とする。
【0026】図1の例は、図1Aに示されるように、単
一の制御形状は立方体であり、n=4個の頂点を有する
4角形が6個あり、1つの頂点をm=3個の4角形で共
有する場合である。
【0027】この単一の制御形状において、先ず各々の
4角形の中心点を求める。次いで、各稜線の中点を求
め、先に求めた4角形の中心点と各稜線の求められた中
点を結ぶことにより、分割されて新たな独立した4角形
が得られる(図1B参照)。さらに各頂点に重み付けを
行ないながら(これを丸め処理と呼ぶ)、上記の分割を
必要な回数分行なうことにより、図1Cから図1Eに示
すように、滑らかな形状図形が得られる。
【0028】図2は、かかる再分割多角形面を用いた技
術を適用する本発明に従う画像表示装置の構成例ブロッ
ク図である。画像表示装置として、ゲーム装置を想定す
ると、図2において、補助記憶装置4は、前処理として
得られる単一の制御形状を基にして、再分割を実行する
ための、制御形状の頂点データ、補間コマンドのリス
ト、ディスプレイリスト、プログラム及びテクスチャデ
ータを格納している。したがって、補助記憶装置4は、
ゲーム装置本体に付属の外部記憶装置が該当し、メモリ
カセット、CD−ROM等の記録媒体が相当する。
【0029】図3は、本発明に従う画像表示方法の動作
フローである。図3において、本発明の特徴として、ジ
オメトリプロセッサ5による再分割処理のための補間コ
マンドを生成する前処理を実行する(ステップS1)。
したがって、この前処理(ステップS1)によりジオメ
トリプロセッサ5による再分割処理を想定して補間コマ
ンドリストが生成される。
【0030】かかる前処理により生成された補間コマン
ドリストとともに、ディスプレイリスト、ゲームプログ
ラム及びテクスチャデータが補助記憶装置4に格納され
る(ステップS2)。
【0031】ついで、ゲーム実行中において、CPU1
により実行制御されるゲームプログラムに従い、前記補
間コマンドを実行する再分割(サブディビション)処理
がジオメトリプロセッサ5により行なわれる(ステップ
S3)。
【0032】そして、このジオメトリプロセッサ5によ
り行なわれる再分割処理(ステップS3)の詳細手順は
次の通りである。
【0033】<1>多角形の場合 (1)3頂点以上の多角形の中心点の補間を行なう。 (2)2つの頂点間を結ぶ稜線の中点の補間を行なう。 (3)稜線の中点の再補間を行なう。 (4)頂点の再補間を行なう。 (5)次のレベルになる(1)〜(4)を行なう。 (6)稜線の中点と多角形の中心点を結んで新たな稜線を
生成、各々独立の多角形を生成する。 (7)多角形の描画を行なう。
【0034】<2>曲線の場合 (1)2つの頂点間を結ぶ稜線の中点を生成する。 (2)頂点の再補間を行なう。 (3)次のレベルになる(1)〜(2)を行なう (4)曲線の描画を行なう。
【0035】次に、上記ステップS3の再分割処理の詳
細手順における各処理を図4に示す多角形の場合を例に
して、手順毎に対応づけて説明する。
【0036】今、単一の制御形状を、図4Aに示すよう
な立方体であると考えると、頂点p1〜p8のそれぞれの
頂点に対応する8個の頂点データを有する。
【0037】(1)3点以上の多角形の中心点を補間す
る。 これにより図4Bに示す6個の多角形面のそれぞれの中
心点 cc1〜cc6が得られる。例えば、図4Bにおいて、
図4Aにおける頂点p1、p3、p7、p5を有する4角形
に中心点cc2 が得られる。
【0038】(2)2つの頂点間を結ぶ稜線の中点を補間
する。 これにより図4Cに示す12個の中点c1〜c12が得られ
る。例えば、図4Cにおいて、図4Aにおける頂点p1及
びp5を結ぶ稜線上に中点c5が得られる。
【0039】(3) 稜線の中点の再補間を行なう。これ
は、稜線の中点の丸めを意味する。 これにより図4Dに示す12個の補間点c1' 〜 c12'が
得られる。例えば、図4Dにおいて、図4Aにおける頂
点p1と頂点p5及び、図4Bにおける中心点cc2と中心点c
c3から補間して補間点c5'が得られる。
【0040】(4) 頂点の再補間を行なう。これは、頂点
の丸めを意味する。 これにより図4Eに示す8個の補間点p1'〜p8'が得られ
る。例えば、図4Eにおいて、図4Aにおける頂点p1及
び、図4Dにおける中点の補間点c1', c2', c5'から再
補間して補間点p1'が得られる。また、図4Eにおい
て、図4Aにおける頂点p1、図4Dにおける中点の再補
間点c1', c2', c5' 及び、図4Bにおける中心点cc1, c
c2, cc3から再補間して補間点p1'を得ることも可能であ
る。
【0041】(5) 次のレベルに対して、上記(1)〜(4)を
行なう。 なお、図4に示す例は、レベル1であるので、次のレベ
ルになる処理は行なわれない。ただし、レベル2以上に
なると、レベル2について同様に上記の(1)〜(4)の処理
が行なわれる。したがって、その時のサブディビジョン
時のジオメトリプロセッサ5の主な処理と流れは、次の
様である。 [1]レベル1に対する上記(1)〜(4)の処理を行なう。 [2]レベル2に対する上記(1)〜(4)の処理を行なう。 [3]多角形を生成し、描画する。 これにより分割と補間が行なわれた形状が表示される。
【0042】上記の内容は、曲線の場合に対しても、多
角形の場合と同様に行なうことができる。
【0043】ここで、本発明は上記例に限定されないの
で、ステップS3の処理を指令する補間コマンドの、一
般的な多面体への適用を更に説明する。
【0044】補間コマンド( interpolate ) は次の様に
示される。 interpolate(bl, nv, ve, ne, te, ce, div, d, s0, s
1, s2 ) この補間コマンド中の各フラグ及び、パラメータの意味
は次の通りである。 bl : ブレンドフラグ nv : 法線の正規化フラグ ve :頂点の計算フラグ ne :法線の計算フラグ te :テクスチャ計算フラグ ce :カラーの計算フラグ div :割る数 d :決定先(Dest.) ID s0〜s2 :ソース(Source) ID ここで、ve, ne, te, ceの計算フラグのうち、いずれか
がenableの場合は、ソースs0〜s2の補間値v は、v = (s
0+s1+s2 )÷divである。ブレンドフラグblがdisable
の場合は、d = vである。ブレンドフラグblがenableの
場合は、d = d×( 1−blend ) + v×blendである。
【0045】上記blendは丸め度に対応し、interpolate
命令で使用され、別命令set rate(rate )でセットする
レジスタである。セットする際に、rateにMODEL LODの
値が掛けられblendレジスタに格納される。すなわち、b
lend =MODEL LOD×rate となる。MODEL LODは別命令se
t lod(LOD )でセットするレジスタである。なお、MODEL
LOD =LOD(Level of Detail)の小数部である。rateと
LODについては、次の丸め補間の説明と関連して更に詳
しく説明する。さらに、ne, nvともにenableの場合は、
dの正規化を行なう。
【0046】上記補間コマンドの内容に従い、図5によ
り補間コマンドの計算式と計算順序を考察する。計算式
と順序は図5A〜図5Eである。
【0047】図5Aは、多角形の中心点の計算を説明す
る図である。 p :頂点(補間前の値) q :多角形の中心点 n :頂点数(n角形) とすると、多角形の中心点q = 1/n
×Σ( pi ) で表される。
【0048】図5B、図Cは、稜線の中点または補間と
ブレンド(中点の再補間)の計算を説明する図である。
ここで、ブレンドとは上記補間コマンドで説明したblen
d のことである。 P : 頂点(補間前の値) e : 稜線の中点 e': 稜線の補間とブレンド n : 稜線の多角形共有数 q : 多角形の中心点 sharp flag : 稜線をとがらせるフラグ(鋭さ) blend : Edge Weight× MODEL LOD とすると、稜線の場合のblendにはMODEL LODと稜線の強
度(又は丸め度)を掛けて blend=MODEL LOD×rate rate=Edge Weight :稜線の強度(又は丸め度) とする。
【0049】したがって、図5Bに示すように、頂点間
の中点を求める計算式は、n = 1またはsharp flagがena
bleの時、中点e = (p0 +p1 )/2 で表される。
【0050】図5Cは、2つの多角形が稜線を共有する
場合の補間であり、 中点 : e = (p0 +p1 )/2 補間 : v = (e +e +q0 +q1 )/4 ブレンド: e' = e * (1 -blend ) + v *blend により計算される。
【0051】すなわち、2つの頂点の中点を計算し、多
角形の中心点と頂点から稜線の補間を行ない中点と補間
値でブレンドを行なう。
【0052】図5D、図5Eは、頂点(原点)の補間
(再補間)を説明する図である。 p :頂点(補間前の値) p' : 頂点(補間後の値) q :多角形の中心点 e :稜線の中点 e' : 稜線の補間とブレンド en : 頂点の稜線共有数 pn : 頂点の多角形共有数 sharp flag: 稜線をとがらせるフラグ(鋭さ) t :ファンクションパラメータ lend : <1> blend = Vertex Weight× MODEL LOD <2> blend =t× Vertex Weight× MODEL LOD とし、頂点(原点の再補間)の補間には以下のよう3つ
の方法を用いる。 <i>2つの稜線を使って(平面での)頂点補間(原点の
再補間) <ii>ファンクションを選択して行なう頂点補間(原点の
再補間) <iii>頂点補間(原点の再補間)無し 図5Dは、en=2又は、sharp flagが立っている数が2
の時である。
【0053】v = (2×p +e0 +e1)/4 p' = p×(1−blend) + v×blend により補間値が求められる。
【0054】ここでのblendは、上記<1> blend = Verte
x Weight× MODEL LODであり、稜線の場合と同様にblen
dにはMODEL LODと頂点の強度(又は丸め度)を掛けて、 blend=MODEL LOD×rate rate=Vertex Weight Vertex Weight :頂点の強度(又は丸め度) とする。
【0055】図5Eは、en=pn又は、中点に対しsharp
flagが立っている数が1又は0の時である。 n = en =pn p' =A× (1-blend) + B×blend により補間値が求められる。
【0056】ここでのblendは、上記<2> blend=t× Ve
rtex Weight× MODEL LODであり、MODEL LODと頂点の強
度(又は丸め度)とファンクションのパラメータtを掛
けて blend = LOD×rate rate =t×Vertex Weight Vertex Weight :頂点の強度(又は丸め度) とする。ここで、丸め補間に使うパラメータtは、種々
の方法により与えることが可能である。例えば、次の例
の如きファンクション1〜4により定義することが可能
である。 ファンクション1: A =p B = 1/(2n) ×Σ( qi + e'i ) t = 2/n ファンクション2: A =p B = 1/n×Σ( e'i ) t = 2n/(1+2n) ファンクション3: A =p B = 1/n×Σ( e'i ) t = n/(1+n) ファンクション4: A = p B = 1/n×Σ( e'i ) t = 2n/((n−2)2 +2n) 上記ファンクションパラメータtは、ファンクション1
〜4以外の方法で、丸め補間に使うパラメータとして与
えてもかまわない。丸めが滑らかに補間されるならどん
な方法でもパラメータtを与えられる。
【0057】ここで、上記第3の補間の方法として、<i
ii>頂点補間(原点の再補間)無しの場合は、sharp fla
gの立っている数が3以上の時であり、p'= p(補間無
し)で表される。
【0058】次に分割レベルが整数でない場合を考え
る。分割レベルが整数でない値を取ることにより、再分
割多角形が極端に増加し、データ量が増大するのを防ぐ
ことができる。
【0059】図6は、分割レベル1.5の場合の補間を
示す図であり、図6Aは、分割レベル1とレベル1.5
の場合の分割を比較する例である。図6Bは、分割レベ
ル1.5の場合のポリゴンの中心点qを生成する例であ
る。
【0060】分割レベル 1. 5 は分割レベル 1と同様に
上記補間コマンドを用いて行なわれ、式 q = (p0 +p1+
3×p2 +p3 )/6 により求められる。
【0061】ここで、中心点qを頂点p2側にシフトする
べく、頂点p2に3倍の重み付けを行なっている。
【0062】図6Cは、分割レベル1.5の場合の稜線
中点の生成の例である。式 e = ( p0 +2×p1 )/3
により求められる。ここでは、頂点p1側に2倍の重み付
けを行なっている。
【0063】図6Dは、分割レベル1.5の場合の稜線
補間の例である。式 e = (p0 +2×p1+q0+q1 )/5
により求められる。同様に、頂点p1側に2倍の重み付け
を行なっている。
【0064】図6Eは、分割レベル1.5の場合の頂点
を共有する2本の稜線を使った平面での補間の例であ
る。式 p = (3×p + e0+ e1)/5 により求められ
る。頂点pに3倍の重み付けを行なっている。
【0065】次に、上記に説明した補間コマンドによる
再分割処理を、図4を具体例として更に説明する。 p :頂点 p':頂点の補間(頂点の補間点(再補間)) q :多角形の中心点 e :稜線の中点 e' :稜線の中点の補間とブレンド(中点の補間点(再補
間)) とする。
【0066】この再分割処理は、図2におけるジオメト
リプロセッサ5による補間処理(図3のステップS3の
多角形の場合)に対応する。順に応じて説明する。
【0067】(1)図4Bに示す6個の中心点cc1 〜cc6を
生成する中心点補間コマンドは、図5Aに示したように
4頂点を用いて次の式で表される。 中心点q=(p0+p1+p2+p3)÷4 例えば、図4Bにおいて、中心点cc2を生成する場合、
中心点cc2=(p5+p1+p3+p7 )÷4 となる。
【0068】(2)図4Cに示す12個の中点c1〜 c12を
生成する中点補間コマンドは、図5Bに示したように2
頂点を用いて次の式で表される。 中点e=(p0+p1)÷2 例えば、図4Cにおいて、中点c5を生成する場合、中点
c5=(p5+p1)÷2 となる。
【0069】(3)図4Dに示す12個の中点の補間点c1'
〜 c12'を生成する中点補間(再補間)の補間コマンド
は、図5Cに示したように3頂点を用いて表される。 中点の補間点e'=(2×e+q0+q1)÷4 例えば、図4Dにおいて、中点の補間点c5'を生成する
場合、中点の補間点c5'=(2×c5+cc2+cc3)÷4 であ
る。
【0070】(4)図4Eに示す8個の頂点の補間点p1'〜
p8'を生成する頂点補間(再補間)の補間コマンドは図
5Eに示したように8頂点を用いて次の式で表される。 tmp=(e0'+e1'+e2'+e3'+q0+q1+q2+q3)÷8 p' =p×( 1−blend)+tmp×blend 例えば、図4Eにおいて、頂点の補間点p1' を生成す
る場合、 tmp=(c1'+c2'+c5'+cc1+cc2+cc3 )÷6 頂点の補間点p1' =p1 x ( 1−blend )+tmp×blend また4頂点用いて行なう場合もある。それは次の式で表
される。 tmp=( e0'+e1'+e2'+e3')÷4 p'=p×( 1−blend )+tmp×blend 例えば、図4(E)において、頂点の補間点p1'を生成
する場合、 tmp = (c1'+c2'+c5' )÷3 頂点の補間点p1'=p1×( 1−blend )+tmp×blend ここで上記の各パラメータである、 稜線の強度(または丸め度)Edge Weigth、 頂点の強度(または丸め度)Vertex Weight、 レベルの小数部MODEL LOD、 は、プログラムの進行に対して、CPU1の制御により
ジオメトリプロセッサ5に送られる。
【0071】上記のように、 稜線の強度(または丸め度)Edge Weigth、 頂点の強度(または丸め度)Vertex Weight、 レベルの小数部MODEL LOD、 をCPU1の制御により変更することにより図1に示す
ような画像の変形が容易である。
【0072】上記前提で、今、図7に示す補間コマンド
の使用例を説明する。
【0073】図7Aは、3角形ポリゴンの中心点補間の
例である。補間コマンドはinterpolate(……,3,5,2,3,
4)である。この補間コマンドにより、分割数div=3、
決定先の頂点バッファID=5、ソースIDのs0, s1,
s2は、それぞれ2,3,4である。したがって、上記v
= (s0+s1+s2 )÷divから、中心点補間値は、5=(2
+3+4)/3 で求められる。
【0074】図7Bは、4角形ポリゴンの中心点補間の
例である。例えば、図4Bにおける多角形面の中心cc1
〜cc6を求める場合に対応する。補間コマンドは、inter
polate(……,1,6,2,3,4)、interpolate(……,4,6,6,5,
0) である。かかるコマンドにより、先ず6=(2+3
+4)/1を計算する。次いで、6=(6+5+0)/
4を計算する。
【0075】図7Cは、稜線の中点を補間により求める
例である。例えば、図4(C)における多角形面の稜線
の中点c1〜 c12を求める場合に対応する。補間コマンド
は、interpolate(……,2,6,2,3,0)である。したがっ
て、6=(2+3+0)/2を計算して中点が求められ
る。
【0076】図7Dは、稜線の補間(再補間)の例であ
る。2つ多角形により稜線が共有される例である。例え
ば、図4Dにおける多角形面の稜線の補間(再補間)c
1'〜c12'を求める場合に対応する。補間コマンドは、in
terpolate(……,2,6,2,3,0)、interpolate(……,1,1,2,
3,4)、interpolate(enable,……,4,6,1,5,0)である。し
たがって、6=(2+3+0)/2 1=(2+3+4)/1が求められる。ここで、ブレン
ドフラグが立っているので、 6=6×(1−blend)+(1+5+0)/4×blend が演算される。
【0077】図7Eは、頂点を共有する2本の稜線を使
った平面での頂点の補間(再補間)の例である。補間コ
マンドは、interpolate(……,1,1,2,3,4)、interpolate
(enable,……,4,2,1,2,0)である。したがって、1=
(2+3+4)/1 2=2×(1−blend)+(1+2+0)/4×blend により求められる。かかる図7Eに示す補間により、2
本の稜線からこれを丸め補間して曲線図形を得ることが
できる。
【0078】図5(F)は、頂点を再補間する例であ
り、例えば、図4(E)に示す多角形面の頂点p1' 〜p
8' を求める場合に対応する。
【0079】補間コマンドその1 頂点、稜線の中点または稜線の中点を補間(再補間)し
た点、多角形の中心点を用いて補間を行なう場合interp
olate(......,1, 1, 3, 4, 5)、interpolate(......,1,
1, 1, 6, 0)、interpolate(......,1, 1, 1, 7, 8)、i
nterpolate(enable,......,8, 2, 1, 9, 10) で示され
る。従って、次の様に演算される。 1 = (3+4+5 )÷1 1 = (1+6+0 )÷1 1 = (1+7+8 )÷1 2 =2×( 1−blend )+(1+9+10 )÷8×blend 補間コマンドその2 頂点、稜線の中点または稜線の中点を補間(再補間)し
た点を用いて補間を行なう場合、interpolate(......,
1, 1, 3, 4, 5)、interpolate(enable,......, 4, 2,
1, 6, 0) で示される。従って、次の様に演算される。 1 = (3+4+5 )÷1 2 = 2×(1−blend )+(1+6+0 )÷4×blend ここで、図3に戻ると上記のような制御形状の頂点デー
タと、前処理(ステップS1)によって補間コマンドが
得られる。これら制御形状の頂点データと前処理により
得られた補助コマンドが、補助記憶装置4に格納され
る。
【0080】補助記憶装置4に格納されたこれらのデー
タは、CPUの制御に従いプログラムデータとともに主
記憶装置3にCPU1の制御に基づき主記憶装置3に格
納される(ステップS2)。
【0081】ここで、プログラムデータのCPU1によ
る実行に従い、コントローラ2を通して単一の制御形状
の頂点データが、主記憶装置3からローカルバッファメ
モリ6に転送記憶される。
【0082】さらに、プログラムの進行に従いCPU1
により、主記憶装置3から順次補間コマンドがジオメト
リプロセッサ5に送られる。ジオメトリプロセッサ5で
は、送られた補間コマンドに従い、図3の動作フローに
おける先に説明したステップS3の処理が行われる。
【0083】この時、ジオメトリプロセッサ5は、図4
を用いて説明したように、単一の制御形状(A)の頂点
データに基づき、中心点ccの生成(図4(B))、中点
の生成(図4(C))、中点の補間(再補間)(図4
(D))、頂点の補間(再補間)(図4(E))を行な
う。
【0084】図8は、ジオメトリプロセッサ5における
補間コマンドに従う処理により生成されるポリゴンデー
タ列の一例を説明する図である。図8において、レベル
1は、レベル0の制御形状例えば(図4A)を1回分割
して得られる形状(図4C)のポリゴンの頂点データに
対応する。
【0085】レベル0の頂点データ番号1〜8は、図4
Aの単一の制御形状の頂点p1〜p88に対応し、夫々頂
点データ(頂点座標、法線べクトル、テクスチャ、色情
報等を含む意味を“x,y,z,nx,ny,nz,u,v,r,g,b,a"で表
している)を有している。
【0086】すなわち、図8において、頂点データ番号
9〜20は、図4Cに示す各頂点間を結ぶ稜線の12個
の中点c1〜c12に対応している。また、頂点データ番号
21〜26は、図4Bの6個の中心点cc1〜cc6に対応し
ている。
【0087】図8に示されるように、1回の分割(レベ
ル1)で番号1〜26の頂点データが得られる。更に再
分割を必要とする場合は、このレベル1の番号1〜26
の頂点データを原点データとしてステップS3で処理が
繰り返される。さらに、必要とするレベルまで同様の処
理が繰り返される。
【0088】ここで、本発明の特徴として、CPU1の
制御により、主記憶装置3からコントローラ2によりジ
オメトリプロセッサ5を通してローカルバッファ6に送
られる頂点データは、図8に示すレベル1の原点となる
レベル0の頂点データである。図4Aに示す制御形状で
は8個の頂点データのみである。
【0089】すなわち、レベル1の頂点データ部分は、
原点としてレベル0そのものを含み、レベル2の頂点デ
ータ部分には、原点としてレベル1そのものを含むよう
に、入れ子状に頂点データを共有する。
【0090】頂点データをこのようにレベル間で共有す
ることによって、30%程度のデータ量の削減ができ
る。補間時に必要なレベルまでの補間を行なう。これに
合わせた多角形物体データ列を生成し、この頂点を参照
して物体を表示する。
【0091】ここで図8に示すように、補間レベル繰り
返し回数を示すレベル値は小数部を有し、上記中点c補
間、中心点cc補間、中点再補間c'及び、原点再補間の繰
り返しが補間レベルの整数部の数だけ行なわれる。ただ
し、小数部が 0より大きければ即ち、整数でなければ1
回多く繰り返される。
【0092】さらに、小数部を丸め補間、すなわち中点
再補間、原点再補間のMODEL LOD のパラメータにするこ
とにより、レベル0からレベル1、レベル1からレベル
2、レベルnからレベルn+1と滑らかにレベル間どうし
をつなげることができる(図9参照)。
【0093】また、図9は、物体の3次元の表示におけ
る奥行き方向の距離に応じた画像表示の詳細度(LOD:L
evel Of Detail)を考慮した表示方法を説明する図であ
る。すなわち、1つの制御形状を分割レベル数分につい
て、全て同様に上記中点補間、中心点補間、中点再補間
及び、原点再補間を繰り返すことは、必ずしも得策では
ない。
【0094】したがって、LODに対応して、上記中点
補間、中心点補間即ち、分割処理と、中点再補間及び、
原点再補間即ち、丸め補間処理を交互に繰り返すように
する。これにより、処理の効率化に繋がるとともに、物
体が奥行き方向に移動する場合であっても、画像表示に
違和感を生じさせない。
【0095】さらに、図3に戻り説明すると、ジオメト
リプロセッサ5により、補間コマンドに従い、レベル0
の頂点データを基に補間処理を実行して得られるポリゴ
ンデータがデイスプレイプロセッサ7に送られる。
【0096】デイスプレイプロセッサ7では、既存の技
術により、ジオメトリプロセッサ5から送られるポリゴ
ンデータに対し、レンダリング処理が行われる(ステッ
プS4)。
【0097】すなわち、ポリゴンデータの頂点データを
基に、テクスチャバッファ8に格納されるテクスチャデ
ータを貼り付け、奥行き方向にポリゴンのソーティング
等を行ない、表示画像を形成する。
【0098】このようにして形成される表示画像はフレ
ームバッファメモリ9に書きこまれる。次いで、フレー
ムバッファメモリ9の内容が順次表示素子10に送られ
画像表示が行われる(ステップS5)。
【0099】なお、上記説明で頂点と法線ベクトルは、
変形により結果が変わるために、再計算を必要とする。
一方、テクスチャデータuvと、色データに付いては、
前処理の段階で補間データを確定することも可能であ
る。
【0100】
【発明の効果】以上図面に従い説明したように、本発明
により、これまで自由曲面として広く用いられてきたN
URBSに比べて同等の表現力と、より高速の曲面処理
を可能とする。さらに、NURBSに比べてはるかに単
純なハードウェアにより実現可能である。したがって、
数万〜数十万単位のポリゴン数でリアルタイム三次元コ
ンピュータグラフィック画像表示装置上で、高速に補間
処理可能な再分割多角形曲面を利用して高精度の物体変
形アニメーションや人物や有機物形状を持つ物体の表情
や毛髪、衣服等の従来では困難な表現も容易に可能とす
るものである。
【図面の簡単な説明】
【図1】再分割多角形を形成していく過程における形状
の変化の一例を示す図である。
【図2】再分割多角形面を用いた技術を適用する本発明
に従う画像表示装置の構成例ブロック図である。
【図3】本発明に従う画像表示方法の動作フローであ
る。
【図4】前処理の内容を説明する図である。
【図5】補間コマンドの計算式と計算順序を説明する図
である。
【図6】分割レベル1.5の場合の補間を示す図であ
る。
【図7】補間コマンドの使用例を説明する図である。
【図8】ジオメトリプロセッサ5における補間コマンド
に従う処理により生成されるデータ列を説明する図であ
る。
【図9】物体の3次元の表示における奥行き方向の距離
に応じた画像表示の詳細度(LOD:Level Of Detail)を
考慮した表示方法を説明する図である。
【図10】例として4×4のメッシュで表される図形に
対し、中央部に詳細な形状表現を施す事を想定した時
の、NURBS面と再分割多角形面による場合を比較す
る図である。
【符号の説明】
1 CPU 2 コントローラ 3 主記憶装置 4 補助記憶装置 5 ジオメトリプロセッサ 6 ローカルバッファメモリ 7 ディスプレイプロセッサ 8 テクスチャメモリ 9 フレームバッファ 10 表示素子
───────────────────────────────────────────────────── フロントページの続き Fターム(参考) 2C001 BC10 5B057 CA08 CA13 CA17 CB08 CB13 CB17 CC04 CE05 CE20 CF05 5B080 AA13 DA08 FA16 GA22 GA26

Claims (19)

    【特許請求の範囲】
  1. 【請求項1】n(≧3)の頂点を有して構成される多角
    形を制御形状とし、 該制御形状の頂点データと、該頂点データに基づき補間
    を行なう補間コマンドを予め生成し、 プログラムの進行に応じ、該補間コマンドに従い該頂点
    データに基づき該制御形状を再分割することを特徴とす
    る再分割多角形を用いる画像表示方法。
  2. 【請求項2】請求項1において、 前記再分割により得られる複数の多角形にテクスチャを
    張り付け画像表示を行なうことを特徴とする再分割多角
    形を用いる画像表示方法。
  3. 【請求項3】請求項1において、 前記分割は、前記制御形状の中心点を生成し、 該制御形状の頂点データにおける2つの頂点間を結ぶ稜
    線の中間に中点を生成し、 該中心点と該多角形の稜線の中点とを結んで新たな稜線
    を生成し、該新たな稜線を有する新たな独立の多角形を
    生成することを特徴とする再分割多角形を用いる画像表
    示方法。
  4. 【請求項4】請求項3において、 前記再分割は、表示される形状の滑らかさに応じて繰り
    返されることを特徴とする再分割多角形を用いる画像表
    示方法。
  5. 【請求項5】請求項4において、 前記再分割の繰り返し数は、画像表示の詳細度(Level O
    f Detail)に対応して決められることを特徴とする再分
    割多角形を用いる画像表示方法。
  6. 【請求項6】原点を共有する2つの稜線に属する中点
    と、丸め度又は強度に基づき該原点を再補間する補間コ
    マンドを予め用意し、 プログラムの進行に応じ、該補間コマンドに従い前記原
    点を補間して、曲線を得ることを特徴とする再分割を用
    いる画像表示方法。
  7. 【請求項7】それぞれn(≧3)の頂点を有して構成さ
    れる複数の多角形を有し、1つの頂点をm(≧2)個の
    多角形で共有する様に構成された多面体を単一の制御形
    状の頂点データと、該制御形状の頂点データに基づき補
    間を行なう補間コマンドを予め生成し、 プログラムの進行に応じ、該補間コマンドに従い該頂点
    データに基づき該制御形状を再分割し、 次いで、該再分割により得られる複数の多角形にテクス
    チャを貼り付け、画像表示を行なうことを特徴とする再
    分割多角形を用いる画像表示方法。
  8. 【請求項8】請求項7において、 前記再分割は、前記n(≧3)個以上の頂点からなる多
    角形の中心点を生成し、 前記制御形状の頂点データにおける2つの頂点間を結ぶ
    稜線の中間に中点を生成し、 該中心点と該多角形の稜線の中点とを結んで新たな稜線
    を生成し、該新たな稜線を有する新たな独立の多角形を
    生成することを特徴とする再分割多角形を用いる画像表
    示方法。
  9. 【請求項9】請求項7おいて、 前記再分割は、表示される形状の滑らかさに応じて繰り
    返されることを特徴とする再分割多角形を用いる画像表
    示方法。
  10. 【請求項10】請求項7において、 さらに、原点を共有する多角形の中心点と稜線に指定さ
    れる丸め度または強度に基づき中点の再補間を行ない、 原点を共有する稜線の各々に属する中点又は中点の再補
    間点と、丸め度又は強度に基づき該原点を再補間するこ
    とを特徴とする再分割多角形を用いる画像表示方法。
  11. 【請求項11】請求項7において、 さらに、原点を共有する多角形の中心点と稜線に指定さ
    れる丸め度または強度に基づき中点の再補間を行ない、 原点を共有する稜線の各々に属する中点又は中点の再補
    間点と、原点を共有する多角形の中心点と、丸め度又は
    強度に基づき該原点を再補間することを特徴とする再分
    割多角形を用いることを特徴とする画像表示方法。
  12. 【請求項12】予め生成された、n(≧3)の頂点を有
    して構成される多角形を制御形状とし、該制御形状の頂
    点データと、該頂点データに基づき補間を行なう補間コ
    マンドを入力し、プログラムの進行に応じ、該補間コマ
    ンドに従い該頂点データに基づき該制御形状を再分割演
    算する演算部と、 該再分割により得られる複数の多角形にテクスチャを貼
    り付けるレンダリング部と、 該レンダリング出力を画像表示を行なう表示素子を有す
    ることを特徴とする再分割多角形を用いる画像表示装
    置。
  13. 【請求項13】予め生成された、それぞれn(≧3)の
    頂点を有して構成される複数の多角形を有し、1つの頂
    点をm(≧2)個の多角形で共有する様に構成された多
    面体を単一の制御形状の頂点データと、該制御形状の頂
    点データに基づき補間を行なう補間コマンドを入力し、
    プログラムの進行に応じ、該補間コマンドに従い該頂点
    データに基づき該制御形状を再分割演算する演算部と、 該再分割により得られる複数の多角形にテクスチャを貼
    り付けるレンダリング部と、 該レンダリング出力を画像表示を行なう表示素子を有す
    ることを特徴とする再分割多角形を用いる画像表示装
    置。
  14. 【請求項14】請求項12又は、13において、 前記演算部における分割は、n(≧3)個以上の頂点か
    らなる多角形に中心点を生成し、前記制御形状の頂点デ
    ータにおける2つの頂点間を結ぶ稜線の中間に中点を生
    成し、該中心点と該多角形の稜線の中点とを結んで新た
    な稜線を生成し、該新たな稜線を有する新たな独立の多
    角形を生成することを特徴とする再分割多角形を用いる
    ことを特徴とする画像表示装置。
  15. 【請求項15】請求項14において、 前記再分割は、表示される形状の滑らかさに応じて繰り
    返されることを特徴とする再分割多角形を用いることを
    特徴とする画像表示装置。
  16. 【請求項16】請求項14において、 さらに、前記演算部は、原点を共有する多角形の中心点
    と稜線に指定される丸め度又は強度に基づき中点の再補
    間を行ない、 原点を共有する稜線の各々に属する中点又は中点の再補
    間点と、該丸め度又は強度に基づき該原点を再補間する
    ことを特徴とする画像表示装置。
  17. 【請求項17】請求項14において、 さらに、原点を共有する多角形の中心点と稜線に指定さ
    れる丸め度または強度に基づき中点の再補間を行ない、 原点を共有する稜線の各々に属する中点又は中点の再補
    間点と、原点を共有する多角形の中心点と、丸め度又は
    強度に基づき該原点を再補間することを特徴とする画像
    表示装置。
  18. 【請求項18】予め生成された、n(≧3)の頂点を有
    して構成される多角形を制御形状とし、該制御形状の頂
    点データと、該頂点データに基づき補間を行なう補間コ
    マンドと、 該補間コマンドに従い該頂点データに基づき該制御形状
    を再分割し、次いで、該再分割により得られる複数の多
    角形にテクスチャを貼り付け、画像表示を制御するプロ
    グラムとを格納した記録媒体。
  19. 【請求項19】予め生成された、それぞれn(≧3)の
    頂点を有して構成される複数の多角形を有し、1つの頂
    点をm(≧2)個の多角形で共有する様に構成された多
    面体を単一の制御形状の頂点データと、該制御形状の頂
    点データに基づき補間を行なう補間コマンドと、 該補間コマンドに従い該頂点データに基づき該制御形状
    を再分割し、次いで、該再分割により得られる複数の多
    角形にテクスチャを貼り付け、画像表示を制御するプロ
    グラムとを格納した記録媒体。
JP24340299A 1999-08-30 1999-08-30 再分割多角形を用いる画像表示方法及び装置 Withdrawn JP2001067491A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP24340299A JP2001067491A (ja) 1999-08-30 1999-08-30 再分割多角形を用いる画像表示方法及び装置
KR1020000050650A KR20010050259A (ko) 1999-08-30 2000-08-30 재분할 다각형을 이용하는 화상 표시 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP24340299A JP2001067491A (ja) 1999-08-30 1999-08-30 再分割多角形を用いる画像表示方法及び装置

Publications (1)

Publication Number Publication Date
JP2001067491A true JP2001067491A (ja) 2001-03-16

Family

ID=17103335

Family Applications (1)

Application Number Title Priority Date Filing Date
JP24340299A Withdrawn JP2001067491A (ja) 1999-08-30 1999-08-30 再分割多角形を用いる画像表示方法及び装置

Country Status (2)

Country Link
JP (1) JP2001067491A (ja)
KR (1) KR20010050259A (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005525645A (ja) * 2002-05-10 2005-08-25 イマジネイション テクノロジーズ リミテッド パラメトリックモデリングユニットとポリゴンベースレンダリングシステム間のインターフェースをとるインターフェース及びその方法
JP2007042114A (ja) * 2005-08-04 2007-02-15 Dassault Systemes 所要の幾何的連続を有するパラメトリック曲面を生成するプロセス
JP2007042113A (ja) * 2005-08-04 2007-02-15 Dassault Systemes パラメータ化された曲面のアイソトポロジックな集合をメッシュから生成する方法
US7737971B2 (en) 2004-07-01 2010-06-15 Panasonic Corporation Image drawing device, vertex selecting method, vertex selecting program, and integrated circuit
US9196090B2 (en) 2012-05-02 2015-11-24 Dassault Systemes Designing a 3D modeled object
US10108752B2 (en) 2015-02-02 2018-10-23 Dassault Systemes Engraving a 2D image on a subdivision surface
US10255381B2 (en) 2014-12-23 2019-04-09 Dassault Systemes 3D modeled object defined by a grid of control points

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005525645A (ja) * 2002-05-10 2005-08-25 イマジネイション テクノロジーズ リミテッド パラメトリックモデリングユニットとポリゴンベースレンダリングシステム間のインターフェースをとるインターフェース及びその方法
US7768511B2 (en) * 2002-05-10 2010-08-03 Imagination Technologies Limited Interface and method of interfacing between a parametric modelling unit and a polygon based rendering system
US7737971B2 (en) 2004-07-01 2010-06-15 Panasonic Corporation Image drawing device, vertex selecting method, vertex selecting program, and integrated circuit
JP2007042114A (ja) * 2005-08-04 2007-02-15 Dassault Systemes 所要の幾何的連続を有するパラメトリック曲面を生成するプロセス
JP2007042113A (ja) * 2005-08-04 2007-02-15 Dassault Systemes パラメータ化された曲面のアイソトポロジックな集合をメッシュから生成する方法
US9196090B2 (en) 2012-05-02 2015-11-24 Dassault Systemes Designing a 3D modeled object
US10255381B2 (en) 2014-12-23 2019-04-09 Dassault Systemes 3D modeled object defined by a grid of control points
US10108752B2 (en) 2015-02-02 2018-10-23 Dassault Systemes Engraving a 2D image on a subdivision surface
US11144679B2 (en) 2015-02-02 2021-10-12 Dassault Systemes Engraving a 2D image on a subdivision surface

Also Published As

Publication number Publication date
KR20010050259A (ko) 2001-06-15

Similar Documents

Publication Publication Date Title
JP4385524B2 (ja) ポリゴンデータの生成方法及び、これを用いた画像表示装置
JP5232358B2 (ja) アウトラインフォントのレンダリング
US5602979A (en) System and method for generating smooth low degree polynomial spline surfaces over irregular meshes
Gain et al. A survey of spatial deformation from a user-centered perspective
US6608631B1 (en) Method, apparatus, and computer program product for geometric warps and deformations
JP4355697B2 (ja) グラフィックモデル生成方法およびグラフィックモデル生成装置
MX2007014662A (es) Deformacion de engranaje sin limitaciones utilizando grafica volumetrica laplaciana.
US20020150287A1 (en) Image processor and image processing method, and recorded medium
US20010019333A1 (en) Methods and apparatus for transforming three-dimensional objects in video games
EP1808814A1 (en) Wrap deformation using subdivision surfaces
JP2001067491A (ja) 再分割多角形を用いる画像表示方法及び装置
EP2413288A2 (en) Collison free construction of animated feathers
JP2009070340A (ja) 骨格動作制御システム、プログラムおよび情報記憶媒体
US8009171B2 (en) Image processing apparatus and method, and program
US7015917B2 (en) Curved surface subdivision apparatus
JPH07282292A (ja) テクスチャマッピング方法及び画像処理装置
Seland et al. Real-time algebraic surface visualization
JP3511301B2 (ja) 曲面データ生成方法
JP2000251081A (ja) 内点判定方法、グラフィック描画装置およびプログラム記憶媒体
JP2565051B2 (ja) コンピュータグラフイックスのデータ処理方法及び装置
JPH0766451B2 (ja) コンピュータ・グラフィック装置
JP3071495B2 (ja) 物体モデル編集装置
JPH1139512A (ja) 図形処理装置及び図形処理方法
JPS62125470A (ja) 図形処理方法
JPH044625B2 (ja)

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20061107