JP5050786B2 - 描画処理装置、描画処理方法および描画処理プログラム - Google Patents

描画処理装置、描画処理方法および描画処理プログラム Download PDF

Info

Publication number
JP5050786B2
JP5050786B2 JP2007287908A JP2007287908A JP5050786B2 JP 5050786 B2 JP5050786 B2 JP 5050786B2 JP 2007287908 A JP2007287908 A JP 2007287908A JP 2007287908 A JP2007287908 A JP 2007287908A JP 5050786 B2 JP5050786 B2 JP 5050786B2
Authority
JP
Japan
Prior art keywords
value
unit
drawing processing
texture
change
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
JP2007287908A
Other languages
English (en)
Other versions
JP2009116550A (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.)
Fujitsu Semiconductor Ltd
Original Assignee
Fujitsu Semiconductor 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 Fujitsu Semiconductor Ltd filed Critical Fujitsu Semiconductor Ltd
Priority to JP2007287908A priority Critical patent/JP5050786B2/ja
Publication of JP2009116550A publication Critical patent/JP2009116550A/ja
Application granted granted Critical
Publication of JP5050786B2 publication Critical patent/JP5050786B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Image Generation (AREA)

Description

本発明は描画処理装置、描画処理方法および描画処理プログラムに関し、特に、ミップマップを格納したテクスチャ記憶部から最適なサイズのテクスチャを取得する描画処理装置、描画処理方法および描画処理プログラムに関する。
コンピュータグラフィックの3次元描画において写実的な描画を行うために、絵や写真の2次元画像(テクスチャ)を3次元図形の表面に貼り付けることで、質感等の表現力を向上させる手法であるテクスチャマッピング方法が知られている(例えば、特許文献1〜3、非特許文献1参照)。
3次元描画では、描画図形が遠くにあることを表現するために小さく描画したり傾いていることを表現したりするために、図形を変形させて描画する場合がある(例えば、特許文献1参照)。この場合、描画図形と貼り付けるテクスチャのサイズとが一致しないためエイリアシング(aliasing)が発生する。エイリアシングを防ぐために、もとのテクスチャのサイズを縦、横ともに1/2に縮小したテクスチャを繰り返し作成したミップマップ(Mip(Multum In Parvo) Map)を予めテクスチャ記憶部に格納して、最適なサイズのテクスチャを取得するためのLoD(Level of Detail:縮小率)演算を行う(例えば、非特許文献1参照)。
このテクスチャのLoDは、元の画像がテクスチャマッピングされるときにどの程度縮小しているかを示すものであり、元画像が1/1、1/2、1/4、・・・と縮小しているときLoDとの関係は、次式(1)のようになる(例えば、特許文献1参照)。
1/1:LoD=0
1/2:LoD=1
1/4:LoD=2
1/8:LoD=3

1/ρ:LoD=log2(ρ)・・・(1)
また、ρは、次式(2)で表される。
Figure 0005050786
ここで、「max[]」は、「括弧([])内のカンマで区切られた数式のうちの大きいほうを選択する」という意味であり、括弧内の(du/dx)、(dv/dx)、(du/dy)、(dv/dy)は、それぞれXY座標における画素(X,Y)に対するテクスチャ座標(U,V)の変化量(変位量)を示しており、例えば変化量(du/dx)は、画素(X,Y)の画素のX軸方向の辺素dxが、テクスチャ座標(U,V)では、U軸方向にuだけ変化していることを示している。従って、XY座標でのdxの変化量は、上記式(2)の括弧内のカンマで区切られた左側の数式となる。dyの変化量は、上記式(2)の括弧内のカンマで区切られた右側の数式となる。
特開2000−155850号公報 特開2001−195602号公報 特表2002−504251号公報 Mark Segal., Kurt Akeley., "The OpenGL Graphics System: A Specification". Version2.1- December1, 2006. P173, Scale Factor and Level of Detail. [retrieved on 2007/11/5] Retrieved from the Internet: <URL: http://www.opengl.org/registry/doc/glspec21.20061201.pdf>
しかしながら、式(2)では、括弧内の値がどちらかに切り替わる付近では正常なLoDが得られずに、描画した画像に歪みが生じるという問題があった。
画像に歪みが生じる例を示す。
図9は、従来の描画方法による図形を示す図である。
図9では、トンネル画像91の中心に視点がある図形を示している。トンネル画像91の中心に視点があるので中心からトンネル画像91の側面は等距離である。トンネル画像91の奥側(画像の中心)になるほど遠近法にて小さくなるためLoDが大きくなる。すなわち、トンネル画像91を構成するテクスチャ92の外側は、LoD=0のテクスチャであり、テクスチャ92は、LoD=1のテクスチャであり、テクスチャ93は、LoD=2のテクスチャであり、テクスチャ94は、LoD=3のテクスチャであり、テクスチャ95は、LoD=4のテクスチャである。
トンネルの側面は中心から等距離なのでLoDで選択されたミップマップの色は同心円を描くはずだが、式(2)に示す「max[]」での値がどちらかに切り替わる付近(図9中、太線で囲んだ部分)では歪みが生じてしまう。
また、式(1)、(2)では、平方根の演算があるため、ハードウェアでの処理が膨大になるという問題があった。
本発明はこのような点に鑑みてなされたものであり、歪みの少ない画像を得ることができる描画処理装置、描画処理方法および描画処理プログラムを提供することを目的とする。
また、他の目的として演算を容易にすることができる描画処理装置、描画処理方法および描画処理プログラムを提供することを目的とする。
本発明では上記問題を解決するために、下記の描画処理装置が提供される。
本発明に係る描画処理装置は、ミップマップを格納したテクスチャ記憶部から最適なサイズのテクスチャを取得する装置である。
第1の選択部は、画素(X,Y)に対するテクスチャ座標(U,V)の変化量(du/dx)と、変化量(dv/dy)とを比較し、大きい方の値を選択する。
第2の選択部は、前述した画素(X,Y)に対するテクスチャ座標(U,V)の変化量(du/dy)と、変化量(dv/dx)とを比較し、大きい方の値を選択する。
演算部は、第1の選択部によって選択された値と第2の選択部によって選択された値とをそれぞれ直角三角形の直角に交わる2辺とみなし、この直角三角形の斜辺の値を実質的に演算する。
このような描画処理装置によれば、第1の選択部により、変化量(du/dx)、変化量(dv/dy)の大きい方の値が選択される。また、第2の選択部により、変化量(du/dy)、変化量(dv/dx)の大きい方の値が選択される。そして、演算部により、第1の選択部によって選択された値と第2の選択部によって選択された値とがそれぞれ直角三角形の直角に交わる2辺とみなされ、この直角三角形の斜辺の値が実質的に演算される。
また、上記課題を解決するために、ミップマップを格納したテクスチャ記憶部から最適なサイズのテクスチャを取得するコンピュータが実行する描画処理方法において、画素(X,Y)に対するテクスチャ座標(U,V)の変化量(du/dx)、変化量(dv/dx),変化量(du/dy)、変化量(dv/dy)における、{(du/dx)2+(du/dy)21/2と{(dv/dx)2+(dv/dy)21/2とのうちの大きい方の値を選択する第1のステップと、{(du/dx)2+(dv/dx)21/2と{(du/dy)2+(dv/dy)21/2とのうちの大きい方の値を選択する第2のステップと、第1のステップによって選択された値と第2のステップによって選択された値とのうち大きい方の値を、テクスチャの画素サイズと描画画像の画素サイズとの比率とする第3のステップと、を実質的に含むことを特徴とする描画処理方法が提供される。
このような描画処理方法によれば、演算を容易にすることができる。
本発明によれば、歪みの少ない図形を描画することができる。また、演算を容易にすることができる。
以下、本発明の実施の形態を、図面を参照して詳細に説明する。
まず、本発明の概要について説明し、その後、実施の形態を説明する。
図1は、本発明の概要を示す図である。
描画処理装置1は、第1の選択部2と、第2の選択部3と、演算部4とを有している。
以下、テクスチャを貼り付ける図形が写像される座標をXY座標とする単位画素(X,Y)のX軸方向の辺素dxの、図形に貼り付けるテクスチャのUV座標系を構成するU軸方向の変化量を変化量(du/dx)、V軸方向の変化量を変化量(dv/dx)とし、単位画素(X,Y)のY軸方向の辺素dyの、U軸方向の変化量を変化量(du/dy)、V軸方向の変化量を変化量(dv/dy)とする。
第1の選択部2は、変化量(du/dx)と変化量(dv/dy)とを比較し、大きい方の値を選択する。
第2の選択部3は、変化量(du/dy)と変化量(dv/dx)とを比較し、大きい方の値を選択する。
演算部4は、第1の選択部2によって選択された値と第2の選択部3によって選択された値とをそれぞれ直角三角形の直角に交わる2辺とみなし、この直角三角形の斜辺の値を実質的に演算する。斜辺の値は、平方根の演算を行って求めてもよいが、近似式を用いて求めるのが好ましい。これにより容易に演算することができる。
このような描画処理装置1によれば、第1の選択部2により、変化量(du/dx)および変化量(dv/dy)の大きい方の値が選択される。また、第2の選択部3により、変化量(du/dy)および変化量(dv/dx)の大きい方の値が選択される。そして、演算部4により、第1の選択部2によって選択された値と第2の選択部3によって選択された値とがそれぞれ直角三角形の直角に交わる2辺とみなされ、この直角三角形の斜辺の値が実質的に演算される。
このような演算手段によって、演算された斜辺の値を用いてLoDを演算することによって、最適なサイズのテクスチャを容易に取得することができる。
以下、本発明の実施の形態を説明する。
図2は、描画装置の構成を示すブロック図である。
描画処理装置10は、CPU(Central Processing Unit)20と、GPU(Graphics Processing Unit)30と、外部メモリ40と、モニタ(スクリーン)50とを有している。
CPU20は、描画したい3次元の物体データの頂点座標(3次元座標)と対応するパラメータとをGPU30に送信する。
GPU30は、ジオメトリ31と、ラスタ化部32と、LoD演算部33と、テクスチャ取得用アドレス生成部34と、ピクセルブレンダ35とを有している。
ジオメトリ31は、CPU20からの頂点座標と対応するパラメータとを受信する。
ジオメトリ31では、視点の角度にて物体がモニタ50に投影される画像の頂点座標と対応するパラメータとを算出し、ラスタ化部32へ送信する。
ラスタ化部32は、受信した頂点座標に基づいてラスタライズ(rasterize)して各座標(XY座標およびUV座標)を求め、求めた座標のうち、XY座標およびUV座標をLoD演算部33に送信し、UV座標をテクスチャ取得用アドレス生成部34に送信し、XY座標をピクセルブレンダ35に送信する。
LoD演算部33は、XY座標およびUV座標からLoDを求め、テクスチャ取得用アドレス生成部34に送信する。
テクスチャ取得用アドレス生成部34は、UV座標とLoDとに基づいて、テクスチャを取得するためのアドレスを生成し、外部メモリ40に送信する。
外部メモリ40は、フレームバッファ41とテクスチャ記憶部42とを有している。
テクスチャ記憶部42は、アドレスを受信するとテクスチャを構成するテクセルを生成し、ピクセルブレンダ35に送信する。
ピクセルブレンダ35は、テクセルをさまざまな設定にて加工(色を変化させたり、他の色とブレンドしたり)することができ、加工したテクセルをXY座標に対応するフレームバッファ41に書き込む。
モニタ50はフレームバッファ41に記憶されている内容を画素表示する。これにより、画像が得られる。
以上のような構成によって、本実施の形態の処理機能を実現することができる。
次に、LoD演算部33の構成について詳しく説明する。
LoD演算部33は、従来の(正常なLoD演算が行われていない)式(2)の「max[]」の切り替わりを補うために、「max[]」内の2つの値の大きい方を選択するのではなく、2つの値を直交する2辺とする直角三角形の斜辺の値ρ1を求め、log2(ρ1)を本実施の形態のLoDとする演算を行う。すなわち、直交する2辺を次式(3)、(4)、
Figure 0005050786
Figure 0005050786
と定義すると、直角三角形の斜辺の値ρ1は次式(5)で表される。
Figure 0005050786
また、式(5)に、式(3)、(4)を代入すると次式(6)が得られる。
Figure 0005050786
このとき、図9に示したように、トンネル画像91の図形のように奥まっていくほど(紙面中央部に向かうほど)変化量が大きくなっていく。これに対して、筒状の外周面に沿う方向は変化量があまり大きくない。そこで、u,vのうち変化量の小さい方を無視することで式(6)から次式(7)、(8)が得られる。
Figure 0005050786
Figure 0005050786
式(7)と式(8)との大きい方の値を選択する。
ρuv=max[ρu,ρv]・・・(9)
式(2)を式(3)と式(4)とを使用して次式(10)とする。
ρxy=max[ρx,ρy]・・・(10)
従来の歪みはLoDが小さいことで生じている。次式(11)に示すように、式(9)と式(10)とにおいて、それぞれ大きい方の値を選択することで、歪みのない画像では式(10)が使用され、歪みがある画像では式(9)が使用されることで、歪みを補正することができる。
ρ1=max[ρxy,ρuv]・・・(11)
但し、ρxyとρuvとを求めて直接比較しなくても、変化量(du/dx)と変化量(dv/dy)との大小と、変化量(du/dy)と変化量(dv/dx)との大小を比較することで、式(3)、(4)、(7)、(8)のうち最も大きい値を判断することができるため、斜辺の値ρ1を容易に演算することができる。
図3は、LoD演算部の演算アルゴリズムを示すフローチャートである。
まず、変化量(du/dy)が変化量(dv/dx)より大きいか否かを判断する(ステップS1)。
変化量(du/dy)が変化量(dv/dx)より大きい場合(ステップS1のYes)、変化量(du/dx)が変化量(dv/dy)より大きいか否かを判断する(ステップS2)。
変化量(du/dx)が変化量(dv/dy)より大きい場合(ステップS2のYes)、ρ1=ρuとする(ステップS3)。
また、変化量(du/dx)が変化量(dv/dy)以下の場合(ステップS2のNo)、ρ1=ρyとする(ステップS4)。
一方、ステップS1にて変化量(du/dy)が変化量(dv/dx)以下の場合(ステップS1のNo)、変化量(du/dx)が変化量(dv/dy)より大きいか否かを判断する(ステップS5)。
変化量(du/dx)が変化量(dv/dy)より大きい場合(ステップS5のYes)、ρ1=ρxとする(ステップS6)。
また、変化量(du/dx)が変化量(dv/dy)以下の場合(ステップS5のNo)、ρ1=ρvとする(ステップS7)。
次に、このような演算アルゴリズムを実現するLoD演算部33の構成を説明する。
図4は、LoD演算部の構成を示すブロック図である。
LoD演算部33は、変化量測定部331と、比較部332、333と、大小比較部334と、演算部335と、対数演算部336とを有している。
変化量測定部331は、画素(X,Y)に対するテクスチャ座標(U,V)の変化量(du/dx)、変化量(dv/dx)、変化量(du/dy)、変化量(dv/dy)を求める。
比較部332は、変化量(du/dx)と変化量(dv/dy)とを比較し、大きい方の値(以下、値αと言う)を出力する。
比較部333は、変化量(du/dy)と変化量(dv/dx)とを比較し、大きい方の値(以下、値βと言う)を出力する。
これにより、図3に示すステップS1、S2およびステップS5に対応する動作が実行され、斜辺の値ρ1を求めるために必要な、変化量(du/dx)、変化量(dv/dx)、変化量(du/dy)、変化量(dv/dy)のいずれか2つに該当する値αおよび値βが求まる。
大小比較部334は、値αと値βとを比較し、大きい方の値(以下、値γと言う)と、小さい方の値(以下、値δと言う)とを区別してそれぞれ出力する。
演算部335は、大小比較部334にて定まった値γと値δとを入力として斜辺の値ρ1を求める。
対数演算部336は、演算部335にて求まった斜辺の値ρ1を用いてlog2(ρ1)を演算してLoDを求める。
次に、演算部335について詳しく説明する。まず、演算部335の演算方法を説明し、その後、演算部335の構成を説明する。
前述したように、斜辺の値ρ1の値は、ρu、ρy、ρx、ρvのいずれかの値になるが、このままでは、いずれの値を演算するにしても平方根の演算となる。そこで、演算部335は、演算を簡単にするために、値γを固定値とみなし、値δを変数とみなした一次式で構成される折れ線近似の演算を行う。具体的には、次式(12)の近似を行う。
Figure 0005050786
図5は、近似式における係数の求め方を説明する図である。
本実施の形態では、値γに対する値δの割合にて異なる係数1および係数2を選択し、式(12)に代入することで、斜辺の値ρ1を求める。具体的には、値γに対する値δの割合に応じた領域を用意する。次に、値γに対する値δの割合に応じて、値δが属する領域を判断する。そして、値δが属する領域毎に、最適な近似を行うための係数1および係数2を求める。
図5では、一例として領域を4つ(22)に区切り、値δが値γの1/4未満であれば、領域#1に属すると判断する。値δが値γの1/4以上、かつ、2/4未満であれば、領域#2に属すると判断する。値δが値γの2/4以上、かつ、3/4未満であれば、領域#3に属すると判断する。値δが値γの3/4以上、かつ、1未満であれば、領域#4に属すると判断する。そして、各領域の係数1および係数2を演算や予め用意されたテーブルからの選択等で求める。これにより、領域毎に、最適な近似式を選択することができる。
このように、値γに対する値δの割合に応じて異なる近似式を採用することにより、精度の高い近似を行うことができる。
次に、演算部335の構成を説明する。
図6は、演算部の構成を示すブロック図である。
演算部335は、係数選択部335aと、記憶部335bと、ρ1演算部335cとを有している。
なお、図6に示す演算部335は、図5に対応する構成をなしている。
係数選択部335aは、値γに対する値δの割合にて係数を選択するアドレス(選択アドレス)を生成する。本実施の形態では、値δが値γの1/4未満であれば、領域#1を指定する選択アドレスを生成する。値δが値γの1/4以上、かつ、2/4未満であれば、領域#2を指定する選択アドレスを生成する。値δが値γの2/4以上、かつ、3/4未満であれば、領域#3を指定する選択アドレスを生成する。値δが値γの3/4以上、かつ、1未満であれば、領域#4を指定する選択アドレスを生成する。
記憶部335bは、係数選択テーブル3351と、セレクタ3352とを有している。
係数選択テーブル3351は、領域毎に異なる値を備える係数1と係数2との組合せを一組とする係数ブロックb1〜b4を有している。すなわち、係数選択テーブル3351に記憶する係数ブロックの数は、区切られた領域の数に等しい。
ここで、係数ブロックb1〜b4は、係数1としてそれぞれ異なる値の係数1−1〜係数1−4を有し、係数2としてそれぞれ異なる値の係数2−1〜係数2−4を有している。
セレクタ3352は、選択アドレスに基づいて、係数ブロックb1〜b4のうち、いずれか1つを選択する。具体的には、領域#1を指定する選択アドレスであれば、係数ブロックb1を選択する。領域#2を指定する選択アドレスであれば、係数ブロックb2を選択する。領域#3を指定する選択アドレスであれば、係数ブロックb3を選択する。領域#4を指定する選択アドレスであれば、係数ブロックb4を選択する。
そして、選択した係数ブロックが有する係数1と係数2とをρ1演算部335cに出力する。
ρ1演算部335cは、得られた係数1、係数2および値γ、値δを用いて式(12)に代入して斜辺の値ρ1を求める。
次に、対数演算部336について詳しく説明する。まず、対数演算部336の演算方法を説明し、その後、対数演算部336の構成を説明する。
得られた斜辺の値ρ1は、次式(13)に置き換えることができる。
ρ1=(1+a)×2b・・・(13)
また、前述したように、LoDは、次式(14)にて求めることができる。
LoD=log2(ρ1)・・・(14)
ここで、式(14)に式(13)を代入すると、次式(15)のように表すことができる。
LoD=log2((1+a)×2b)=log2(1+a)+b・・・(15)
式(15)の「b」は、LoDの整数部であり、「log2(1+a)」は、LoDの小数部である。
対数演算部336は、式(15)のこの整数部と小数部とを求めることで、LoDを演算する。
次に、対数演算部336の構成について詳しく説明する。
図7は、対数演算部の構成を示すブロック図である。
対数演算部336は、桁上げ判定部336aと、記憶部336bと、加算部336cとを有している。
桁上げ判定部336aは、斜辺の値ρ1から式(13)に示す「a」と「b」とを求める。ここで、式(13)は2進数において、「(1+a)」を「b」で桁上げしていることを示しているので、桁上げ判定部336aは、何ビット桁上げしているかを判定する。そして、求めた「a」を記憶部336bに送り、「b」を加算部336cに送る。
ここで、これまでの斜辺の値ρ1の演算に固定小数点を使用している場合は、斜辺の値ρ1の、小数点から最上位の‘1’までのビット数が「b」となる。
一方、これまでの斜辺の値ρ1の演算に浮動小数点を使用している場合は、斜辺の値ρ1の指数部から容易に値が求まる。‘1’が検出されると、それ以降が「a」である。
記憶部336bは、定数記憶テーブル3361と、セレクタ3362とを有している。
定数記憶テーブル3361は、「a」の値に対応する「log2(1+a)」の値(定数)を複数記憶している。図7では、「log2(1+a)」として4つの値(「log2(1+a)#1」、「log2(1+a)#2」、「log2(1+a)#3」、「log2(1+a)#4」)を記憶している。なお、記憶する定数の数は、「a」のビット数と、実現する精度とに応じて決定することができる。例えば「a」が8ビットであれば、定数記憶テーブル3361が記憶する「log2(1+a)」の個数は、最大で28=256個になる。
セレクタ3362は、桁上げ判定部336aから送られてくる「a」に対応する、定数記憶テーブル3361が記憶している「log2(1+a)」を選択して加算部336cに送る。
加算部336cは、桁上げ判定部336aが出力する「b」と、記憶部336bが出力する「log2(1+a)」とを加算してLoDを求め、得られたLoDをテクスチャ取得用アドレス生成部34に出力する。
図8は、本実施の形態の描画装置による描画図形を示す図である。
以上述べたように、本実施の形態の描画処理装置10によれば、演算部335が、2つの値γおよび値δを直交する2辺とする直角三角形の斜辺の値ρ1を実質的に求める演算を行うようにしたので、図8に示すように、描画されたトンネル画像51のテクスチャ52〜55の歪みを補正することができる。また、演算部335では平方根の演算を行うことなく斜辺の値ρ1を求め、対数演算部336では対数の演算を行うことなくLoDを求めるようにしたので、LoD演算部33の小型化を図ることができる。
また、比較部332、333にて変化量を比較することで、演算を容易にすることができる。
また、記憶部335bが、領域毎の係数を予めテーブル化して記憶しておくことにより、容易にρ演算部335が演算を行うことができる。
また、係数ブロックの個数が少なければ、ROM(Read Only Memory)等を用いることなく、本実施の形態のように小規模なセレクタ3352で記憶部335bを構成することができる。
なお、図5では、領域を4つに区切った例について説明したが、本発明はこれに限らず、領域の数を増やすことで近似式の精度を高めることができる。領域の数を増やす場合、記憶部335bの構成を変更することで、容易に対応することができる。
また、区切る領域の数は特に限定されないが、2のべき乗であるのがより好ましい。これにより、LoD演算部33をハードウェアで構成した場合、ビットシフトで対応することができるため、装置の小型化を図ることができる。
以上、本発明の描画処理装置、描画処理方法および描画処理プログラムを、図示の実施の形態に基づいて説明したが、本発明はこれに限定されるものではなく、各部の構成は、同様の機能を有する任意の構成のものに置換することができる。また、本発明に、他の任意の構成物や工程が付加されていてもよい。
また、本発明は、前述した実施の形態のうちの、任意の2以上の構成(特徴)を組み合わせたものであってもよい。
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、描画処理装置10(特に、LoD演算部33)が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等が挙げられる。磁気記録装置としては、例えば、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープ等が挙げられる。光ディスクとしては、例えば、DVD(Digital Versatile Disc)、DVD−RAM(Random Access Memory)、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)等が挙げられる。光磁気記録媒体としては、例えば、MO(Magneto-Optical disk)等が挙げられる。
プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD、CD−ROM等の可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
描画処理プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送される毎に、逐次、受け取ったプログラムに従った処理を実行することもできる。
本発明の概要を示す図である。 描画装置の構成を示すブロック図である。 LoD演算部の演算アルゴリズムを示すフローチャートである。 LoD演算部の構成を示すブロック図である。 近似式における係数の求め方を説明する図である。 演算部の構成を示すブロック図である。 対数演算部の構成を示すブロック図である。 本実施の形態の描画装置による描画図形を示す図である。 従来の描画方法による図形を示す図である。
符号の説明
1、10 描画処理装置
2 第1の選択部
3 第2の選択部
4、335 演算部
20 CPU
30 GPU
31 ジオメトリ
32 ラスタ化部
33 LoD演算部
34 テクスチャ取得用アドレス生成部
35 ピクセルブレンダ
40 外部メモリ
41 フレームバッファ
42 テクスチャ記憶部
50 モニタ
331 変化量測定部
332、333 比較部
334 大小比較部
335a 係数選択部
335b、336b 記憶部
335c ρ1演算部
336 対数演算部
336a 桁上げ判定部
336c 加算部
3351 係数選択テーブル
3352、3362 セレクタ
3361 定数記憶テーブル
b1〜b4 係数ブロック

Claims (8)

  1. ミップマップを格納したテクスチャ記憶部から最適なサイズのテクスチャを取得する描画処理装置において、
    画素(X,Y)に対するテクスチャ座標(U,V)の変化量(du/dx)と、変化量(dv/dy)とを比較し、大きい方の値を選択する第1の選択部と、
    前記画素(X,Y)に対するテクスチャ座標(U,V)の変化量(du/dy)と、変化量(dv/dx)とを比較し、大きい方の値を選択する第2の選択部と、
    前記第1の選択部によって選択された値と前記第2の選択部によって選択された値とをそれぞれ直角三角形の直角に交わる2辺とみなし、前記直角三角形の斜辺の値を実質的に演算する演算部と、
    を有することを特徴とする描画処理装置。
  2. 前記演算部は、前記第1の選択部によって選択された値と前記第2の選択部によって選択された値との大小関係を決定する大小比較部を有することを特徴とする請求項1記載の描画処理装置。
  3. 前記演算部は、前記大小比較部によって決定された大きい方の値を固定値とみなし、小さい方の値を変数値とみなして一次式で構成される近似式を演算して前記斜辺の値を演算することを特徴とする請求項2記載の描画処理装置。
  4. 前記演算部は、前記固定値に対する前記変数値の割合に応じて前記近似式の係数を別個に選択することを特徴とする請求項3記載の描画処理装置。
  5. 前記係数を記憶する記憶部をさらに有することを特徴とする請求項4記載の描画処理装置。
  6. 小数部(log2(1+a))と整数部(b)との和で表される前記テクスチャの縮小率の演算式を求める際に、aに対応する前記小数部(log2(1+a))を予め記憶しておく記憶部と、
    前記演算部により演算された前記斜辺の値を((1+a)×2b)に当てはめて前記aと前記整数部(b)とを判定する判定部と、
    前記判定部によって判定された前記整数部(b)と、前記記憶部に記憶された前記小数部(log2(1+a))とを加算する加算部と、を備える対数演算部をさらに有することを特徴とする請求項1記載の描画処理装置。
  7. ミップマップを格納したテクスチャ記憶部から最適なサイズのテクスチャを取得するコンピュータが実行する描画処理方法において、
    画素(X,Y)に対するテクスチャ座標(U,V)の変化量(du/dx)、変化量(dv/dx),変化量(du/dy)、変化量(dv/dy)における、
    {(du/dx)2+(du/dy)21/2と{(dv/dx)2+(dv/dy)21/2とのうちの大きい方の値を選択する第1のステップと、
    {(du/dx)2+(dv/dx)21/2と{(du/dy)2+(dv/dy)21/2とのうちの大きい方の値を選択する第2のステップと、
    前記第1のステップによって選択された値と前記第2のステップによって選択された値とのうち大きい方の値を、前記テクスチャの画素サイズと描画画像の画素サイズとの比率とする第3のステップと、
    を実質的に含むことを特徴とする描画処理方法。
  8. ミップマップを格納したテクスチャ記憶部から最適なサイズのテクスチャを取得する描画処理プログラムにおいて、
    コンピュータを、
    画素(X,Y)に対するテクスチャ座標(U,V)の変化量(du/dx)と、変化量(dv/dy)とを比較し、大きい方の値を選択する第1の選択手段、
    前記画素(X,Y)に対するテクスチャ座標(U,V)の変化量(du/dy)と、変化量(dv/dx)とを比較し、大きい方の値を選択する第2の選択手段、
    前記第1の選択手段によって選択された値と前記第2の選択手段によって選択された値とをそれぞれ直角三角形の直角に交わる2辺とみなし、前記直角三角形の斜辺の値を実質的に演算する演算手段、
    として機能させることを特徴とする描画処理プログラム。
JP2007287908A 2007-11-05 2007-11-05 描画処理装置、描画処理方法および描画処理プログラム Expired - Fee Related JP5050786B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007287908A JP5050786B2 (ja) 2007-11-05 2007-11-05 描画処理装置、描画処理方法および描画処理プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007287908A JP5050786B2 (ja) 2007-11-05 2007-11-05 描画処理装置、描画処理方法および描画処理プログラム

Publications (2)

Publication Number Publication Date
JP2009116550A JP2009116550A (ja) 2009-05-28
JP5050786B2 true JP5050786B2 (ja) 2012-10-17

Family

ID=40783644

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007287908A Expired - Fee Related JP5050786B2 (ja) 2007-11-05 2007-11-05 描画処理装置、描画処理方法および描画処理プログラム

Country Status (1)

Country Link
JP (1) JP5050786B2 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9495790B2 (en) 2014-04-05 2016-11-15 Sony Interactive Entertainment America Llc Gradient adjustment for texture mapping to non-orthonormal grid
US9710957B2 (en) 2014-04-05 2017-07-18 Sony Interactive Entertainment America Llc Graphics processing enhancement by tracking object and/or primitive identifiers
US9836816B2 (en) 2014-04-05 2017-12-05 Sony Interactive Entertainment America Llc Varying effective resolution by screen location in graphics processing by approximating projection of vertices onto curved viewport
US11302054B2 (en) 2014-04-05 2022-04-12 Sony Interactive Entertainment Europe Limited Varying effective resolution by screen location by changing active color sample count within multiple render targets
US9652882B2 (en) * 2014-04-05 2017-05-16 Sony Interactive Entertainment America Llc Gradient adjustment for texture mapping for multiple render targets with resolution that varies by screen location
US9865074B2 (en) 2014-04-05 2018-01-09 Sony Interactive Entertainment America Llc Method for efficient construction of high resolution display buffers
US10068311B2 (en) 2014-04-05 2018-09-04 Sony Interacive Entertainment LLC Varying effective resolution by screen location by changing active color sample count within multiple render targets
US10783696B2 (en) 2014-04-05 2020-09-22 Sony Interactive Entertainment LLC Gradient adjustment for texture mapping to non-orthonormal grid
US9710881B2 (en) 2014-04-05 2017-07-18 Sony Interactive Entertainment America Llc Varying effective resolution by screen location by altering rasterization parameters

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000155850A (ja) * 1998-11-20 2000-06-06 Sony Corp テクスチャ・マッピング装置及びこれを具備したレンダリング装置、並びに情報処理装置
JP4660254B2 (ja) * 2005-04-08 2011-03-30 株式会社東芝 描画方法及び描画装置

Also Published As

Publication number Publication date
JP2009116550A (ja) 2009-05-28

Similar Documents

Publication Publication Date Title
JP5050786B2 (ja) 描画処理装置、描画処理方法および描画処理プログラム
JP6563048B2 (ja) スクリーンの位置によって異なる解像度のターゲットの複数レンダリングのテクスチャ・マッピングの傾き調整
JP5518967B2 (ja) グラフィック・パフォーマンス改善のための方法、装置およびコンピュータ・プログラム・プロダクト
US8319789B2 (en) Image generation device and image generation method
US10140750B2 (en) Method, display adapter and computer program product for improved graphics performance by using a replaceable culling program
KR102278147B1 (ko) 그래픽 프리미티브의 클립핑
EP3504685B1 (en) Method and apparatus for rendering object using mipmap including plurality of textures
JP5512217B2 (ja) グラフィックス処理システム
KR100745768B1 (ko) 전력 소비를 감소시키기 위한 lod 값 계산 방법과이것을 이용한 3차원 렌더링 시스템
US6947054B2 (en) Anisotropic filtering
JP2010092479A (ja) グラフィックス処理システム
WO2013005366A1 (ja) アンチエイリアス画像生成装置およびアンチエイリアス画像生成方法
US10460502B2 (en) Method and apparatus for rendering object using mipmap including plurality of textures
KR20170025099A (ko) 렌더링 방법 및 장치
EP3319046B1 (en) Texture processing method and unit
JP2006235926A (ja) 画像処理装置、画像処理方法および画像処理プログラム
US11030791B2 (en) Centroid selection for variable rate shading
JP2005332195A (ja) テクスチャユニット、画像描画装置、テクセル転送方法
US6570575B1 (en) Associated color texture processor for high fidelity 3-D graphics rendering
KR20050046775A (ko) 풋프린트의 분석 및 수정 방법
EP1988510B1 (en) Coordinate Computations for Non-Power of 2 Texture Maps
JP5151946B2 (ja) 描画装置
JP5106992B2 (ja) 霧効果を考慮して3次元グラフィックスデータをレンダリングする方法及び装置
JP4887419B2 (ja) 多解像度による幾何学的配置
JP2009129275A (ja) グラフィックス処理装置およびグラフィックス処理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100723

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120213

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120221

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120419

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

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

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20150803

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

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

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

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

LAPS Cancellation because of no payment of annual fees