JPWO2016151790A1 - テクスチャマッピング装置、テクスチャマッピング方法及びプログラム - Google Patents
テクスチャマッピング装置、テクスチャマッピング方法及びプログラム Download PDFInfo
- Publication number
- JPWO2016151790A1 JPWO2016151790A1 JP2017507238A JP2017507238A JPWO2016151790A1 JP WO2016151790 A1 JPWO2016151790 A1 JP WO2016151790A1 JP 2017507238 A JP2017507238 A JP 2017507238A JP 2017507238 A JP2017507238 A JP 2017507238A JP WO2016151790 A1 JPWO2016151790 A1 JP WO2016151790A1
- Authority
- JP
- Japan
- Prior art keywords
- texture
- coordinates
- polygon
- pixel
- information
- 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.)
- Granted
Links
- 238000013507 mapping Methods 0.000 title claims description 70
- 238000000034 method Methods 0.000 title claims description 50
- 238000006243 chemical reaction Methods 0.000 claims abstract description 61
- 238000012545 processing Methods 0.000 claims description 56
- 239000000284 extract Substances 0.000 claims description 9
- 239000003086 colorant Substances 0.000 claims description 6
- 230000009466 transformation Effects 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 24
- 239000012634 fragment Substances 0.000 description 15
- 230000006870 function Effects 0.000 description 10
- 238000004891 communication Methods 0.000 description 7
- 230000000694 effects Effects 0.000 description 3
- 238000009877 rendering Methods 0.000 description 3
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 238000010422 painting Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/04—Texture mapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2219/00—Indexing scheme for manipulating 3D models or images for computer graphics
- G06T2219/20—Indexing scheme for editing of 3D models
- G06T2219/2012—Colour editing, changing, or manipulating; Use of colour codes
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)
Abstract
Description
ポリゴンにテクスチャをマッピングする場合、使用するメモリ量を小さくするため、サイズの小さいテクスチャを繰り返したり、テクスチャの端を引き延ばしたりしてマッピングする技術がある。これらの技術は、一般的なGPU(Graphics Processing Unit)において、テクスチャラップモードと呼ばれ、繰り返してマッピングするモードをリピート、端を引き延ばしてマッピングするモードをクランプと呼ぶ。
多角形領域であるポリゴンへの描画に用いる描画用テクスチャを含む複数のテクスチャを結合してテクスチャアトラスを生成すると共に、前記テクスチャアトラスにおける前記描画用テクスチャの配置を示す配置情報を生成するテクスチャアトラス生成部と、
複数のピクセルからなる出力画像における前記ポリゴンの頂点の位置を示す頂点座標と、前記描画用テクスチャに基づいて前記ポリゴンに描画される画像における前記頂点座標に対応する位置を示す頂点テクスチャ座標とが設定されたポリゴン情報を記憶するポリゴン情報記憶部と、
前記ポリゴン情報に基づいて、前記出力画像において前記ポリゴンが対応するピクセルを表すピクセル座標を検出し、前記ポリゴンに描画される画像において前記ピクセル座標に対応する座標をピクセル対応テクスチャ座標として算出するピクセル座標算出部と、
前記配置情報に基づいて、前記ピクセル対応テクスチャ座標を、前記テクスチャアトラスに結合された前記描画用テクスチャを含む範囲内の座標に変換し、変換した座標を変換座標として出力する座標変換部とを備える。
***構成の説明***
図1は、本実施の形態に係るテクスチャマッピング装置100のブロック構成を示す図である。
図1に示すように、テクスチャマッピング装置100は、テクスチャアトラス生成部10、描画部20、メインメモリ30、VRAM(Video Random Access Memory)40、出力部50を備える。
描画部20は、頂点処理部21、ピクセル座標算出部22、座標変換部23、テクスチャフェッチ部24を備える。
VRAM40には、テクスチャアトラス41、出力画像42が記憶される。
なお、テクスチャはテクスチャ画像とも称される。
図1,5,7,8を用いて、テクスチャアトラス生成部10について簡単に説明する。
テクスチャアトラス生成部10は、多角形領域であるポリゴンへの描画に用いる描画用テクスチャ3110を含む複数のテクスチャ311を結合してテクスチャアトラス41を生成する。また、テクスチャアトラス生成部10は、テクスチャアトラス41における描画用テクスチャ3110の配置を表す配置情報32を生成する。配置情報32はテクスチャ配置情報とも称される。
テクスチャアトラス生成部10は、メインメモリ30に格納されたテクスチャ群31を取得し、テクスチャ群31に含まれる複数のテクスチャ311を結合し、テクスチャアトラス41を生成する。
そして、テクスチャ配置部12は、生成したテクスチャアトラス41をVRAM40に格納する。
また、テクスチャ配置部12は、テクスチャアトラス41における描画用テクスチャ3110の配置を示す配置情報32を生成する。テクスチャ配置部12は、テクスチャアトラス41内における各テクスチャ311の配置を表す配置情報32をメインメモリ30に格納する。
ポリゴン情報33は、メインメモリ30が有するポリゴン情報記憶部330に記憶される。
ポリゴン情報記憶部330は、複数のピクセルからなる出力画像42におけるポリゴンの頂点の位置を示す頂点座標V1と、描画用テクスチャ3110に基づいてポリゴンに描画される画像である描画画像3111において、頂点座標V1に対応する位置を示す頂点テクスチャ座標T1とが設定されたポリゴン情報33を記憶する。
ここで、ポリゴンに描画される画像である描画画像3111とは、描画用テクスチャ3110に基づいてポリゴンに描画されると想定される仮想的な画像である。すなわち、頂点テクスチャ座標T1は、描画用テクスチャ3110に基づいてポリゴンに描画すると想定される描画画像3111上の頂点座標である。
ポリゴン情報33には、テクスチャラップモードとして、リピートあるいはクランプが設定される。
テクスチャラップモードがリピートの場合、ポリゴン情報33には、描画用テクスチャ3110をリピートすることによりポリゴンに描画すると想定される描画画像3111における頂点テクスチャ座標T1が設定される。
テクスチャラップモードがクランプの場合、ポリゴン情報33には、描画用テクスチャ3110をクランプすることによりポリゴンに描画すると想定される描画画像3111における頂点テクスチャ座標T1が設定される。
座標変換部23は、ピクセル対応テクスチャ座標T2を、描画用テクスチャ3110が拡張された範囲内の変換座標T21に変換する。
座標変換部23は、テクスチャラップモードに応じた変換式を用いて、ピクセル対応テクスチャ座標T2を変換座標T21に変換する。
テクスチャフェッチ部24は、色情報411に基づいてピクセルを塗りつぶすことにより、出力画像42を描画する。テクスチャフェッチ部24は、描画した出力画像42をVRAM40に出力する。
テクスチャマッピング装置100は、プロセッサ901、補助記憶装置902、メモリ903、通信装置904、入力インタフェース905、ディスプレイインタフェース906といったハードウェアを備える。
プロセッサ901は、信号線910を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
入力インタフェース905は、入力装置907に接続されている。
ディスプレイインタフェース906は、ディスプレイ908に接続されている。
プロセッサ901は、例えば、CPU(Central Processing Unit)、DSP(Digital Signal Processor)、GPU(Graphics Processing Unit)である。
補助記憶装置902は、例えば、ROM(Read Only Memory)、フラッシュメモリ、HDD(Hard Disk Drive)である。
メモリ903は、例えば、RAM(Random Access Memory)である。
通信装置904は、データを受信するレシーバー9041及びデータを送信するトランスミッター9042を含む。
通信装置904は、例えば、通信チップ又はNIC(Network Interface Card)である。
入力インタフェース905は、入力装置907のケーブル911が接続されるポートである。
入力インタフェース905は、例えば、USB(Universal Serial Bus)端子である。
ディスプレイインタフェース906は、ディスプレイ908のケーブル912が接続されるポートである。
ディスプレイインタフェース906は、例えば、USB端子又はHDMI(登録商標)(High Definition Multimedia Interface)端子である。
入力装置907は、例えば、マウス、キーボード又はタッチパネルである。
ディスプレイ908は、例えば、LCD(Liquid Crystal Display)である。
このプログラムは、メモリ903にロードされ、プロセッサ901に読み込まれ、プロセッサ901によって実行される。
そして、OSの少なくとも一部がメモリ903にロードされ、プロセッサ901はOSを実行しながら、「部」の機能を実現するプログラムを実行する。
図2では、1つのプロセッサ901が図示されているが、テクスチャマッピング装置100が複数のプロセッサ901を備えていてもよい。
そして、複数のプロセッサ901が「部」の機能を実現するプログラムを連携して実行してもよい。
また、「部」の処理の結果を示す情報やデータや信号値や変数値が、メモリ903、補助記憶装置902、又は、プロセッサ901内のレジスタ又はキャッシュメモリにファイルとして記憶される。
また、「部」を「回路」又は「工程」又は「手順」又は「処理」に読み替えてもよい。また、「処理」を「回路」又は「工程」又は「手順」又は「部」に読み替えてもよい。
「回路」及び「サーキットリー」は、プロセッサ901だけでなく、ロジックIC又はGA(Gate Array)又はASIC(Application Specific Integrated Circuit)又はFPGA(Field−Programmable Gate Array)といった他の種類の処理回路をも包含する概念である。
図3を用いて、本実施の形態に係るテクスチャマッピング装置100のテクスチャマッピング方法及びテクスチャマッピング処理S100について説明する。
図3に示すように、テクスチャマッピング処理S100は、テクスチャアトラス生成処理S110、描画処理S120、出力処理S130を備える。
まず、図4を用いて、本実施の形態に係るテクスチャマッピング装置100のテクスチャアトラス生成処理S110について説明する。
テクスチャアトラス生成部10は、描画用テクスチャ3110を含む複数のテクスチャ311を結合してテクスチャアトラス41を生成する。また、テクスチャアトラス生成部10は、テクスチャアトラス41における描画用テクスチャ3110の配置を表す配置情報32を生成するテクスチャアトラス生成処理S110を実行する。
例えば、テクスチャ群31には、4つのテクスチャ311a,311b,311c,311dが含まれるものとする。
テクスチャ拡張部11は、テクスチャ群31から4つのテクスチャ311a,311b,311c,311dを取得する。
テクスチャ拡張部11は、取得した4つのテクスチャ311a,311b,311c,311dの各々をXY軸正方向にそれぞれ1ピクセルずつ拡張する。このとき、テクスチャ拡張部11は、拡張するピクセルに対し、画像内において反対側の端にあるピクセルの色を与える。ここで、テクスチャ拡張部11により拡張されたテクスチャ311を拡張テクスチャ312と称するものとする。
図6に、テクスチャ拡張部11により拡張された拡張テクスチャ312a,312b,312c,312dを示す。
テクスチャ配置処理S112は、配置処理S1121と配置情報生成処理S1122とを有する。
テクスチャ配置部12は、拡張テクスチャ312a,312b,312c,312dを結合し、テクスチャアトラス41を生成する。このとき、テクスチャアトラス41に拡張テクスチャ312を配置する方法は任意である。テクスチャアトラス41に拡張テクスチャ312を配置する方法の例として、2次元のビンパッキング問題を解くことなどの方法がある。
図7は、テクスチャ配置部12により生成されたテクスチャアトラス41の例である。図7に示すように、テクスチャ配置部12は、拡張テクスチャ312a,312b,312c,312dが6×6ピクセルの画像となるように結合し、テクスチャアトラス41を生成する。
テクスチャ配置部12は、生成したテクスチャアトラス41をVRAM40に格納する。
テクスチャ配置部12は、各テクスチャ311の配置情報を表した配置情報32を生成する。テクスチャ配置部12は、生成した配置情報32をメインメモリ30に格納する。
配置情報32には、テクスチャ311の各々に対して、配置情報(x,y,width,height)が設定される。配置情報32は、少なくともテクスチャ311が格納された位置(x、y)と、テクスチャ311がテクスチャ拡張部11によって拡大される前の幅と高さ(width,height)で表される。
具体的には、テクスチャ311d、すなわち描画用テクスチャ3110の配置情報32は、(3,3,2,2)である。つまり、テクスチャアトラス41において、テクスチャ311dの位置は(3,3)であり、拡張される前のテクスチャ311dの幅と高さは(2,2)であることを示している。
次に、図9を用いて、本実施の形態に係るテクスチャマッピング装置100の描画処理S120について説明する。
頂点処理部21は、メインメモリ30のポリゴン情報記憶部330から、描画するポリゴン情報33を取得する。
図10に示すように、ポリゴン情報33は、少なくともポリゴンにマッピングするテクスチャ311を指定する情報と、ポリゴンの各頂点情報と、テクスチャラップモードとから構成される。
ポリゴンの頂点情報には、少なくともポリゴンを構成する各頂点の位置を表す頂点座標V1と、頂点座標V1に対応づけるテクスチャ311dの位置を表す頂点テクスチャ座標T1とが設定される。
テクスチャラップモードは、リピートまたはクランプのいずれかを示す情報である。
すなわち、描画画像3111とは、描画用テクスチャ3110を用いてポリゴンに描画されると想定される画像を意味する。
図10に示すポリゴン情報33は、16×16ピクセルのポリゴンに、4×4ピクセルで表された仮想的な描画画像3111を描写することを意味している。
図10のポリゴン情報33を使用する場合、頂点処理部21は、テクスチャ311dの配置情報32d(3,3,2,2)を取得する。
ピクセル座標算出部22は、ポリゴン情報33に基づいて、出力画像42においてポリゴンが対応するピクセル、すなわち、ポリゴンが塗りつぶすピクセルを検出する。また、ピクセル座標算出部22は、描画画像3111において、検出したピクセルの位置を表すピクセル座標V2に対応する座標をピクセル対応テクスチャ座標T2として算出するピクセル座標算出処理S122を実行する。ピクセル座標算出処理S122は、ラスタライズ処理とも称される。
図11は、32×24ピクセルの出力画像42の中で、図10に示すポリゴン情報33により塗りつぶされるピクセルの範囲を斜線領域で示している。
ピクセル座標算出部22は、ピクセル座標V2と、このピクセルに対応するピクセル対応テクスチャ座標T2とをフラグメント情報として算出する。
ピクセル座標算出部22は、ピクセルの位置に応じて頂点情報を補間することにより、各ピクセルのフラグメント情報を算出する。補間方法は任意であるが、例えば、3角形ポリゴンの2辺上で頂点情報を線形補間し、さらに2辺間で線形補間することで算出される。
座標変換部23は、配置情報32dに基づいて、ピクセル対応テクスチャ座標T2を、テクスチャアトラス41の座標であってテクスチャアトラス41に結合された描画用テクスチャ3110を含む範囲内の座標に変換する。描画用テクスチャ3110を含む範囲内とは、テクスチャアトラス41における拡張テクスチャ312の範囲内である。すなわち、変換座標T21がとり得る座標は、描画用テクスチャ3110に基づいて求められる描画用テクスチャ3110を含む範囲である拡張テクスチャ312dからはみ出さない範囲となる。そして、座標変換部23は、変換した座標を変換座標T21として出力する座標変換処理S123を実行する。
xt’=Xt+frac((xt+Wt−0.5)/Wt)*Wt+0.5 (1)
yt’=Yt+frac((yt+Ht−0.5)/Ht)*Ht+0.5 (2)
(1)(2)式において、frac(a)は、実数aの小数部分を取り出す演算である。
Xt’=Xt+min(max(0.5,xt),Wt−0.5) (3)
Yt’=Yt+min(max(0.5,yt),Ht−0.5) (4)
(3)(4)式において、min(a,b)およびmax(a,b)は、実数a、bの小さい方および大きい方を選ぶ演算である。
図7では、変換座標T21の範囲は、拡張テクスチャ312dの周縁、すなわち他の拡張テクスチャ312との境界から、0.5ピクセル離れた範囲となっている。
このように、変換座標T21の範囲を他の拡張テクスチャ312との境界から離れた範囲とするのは、GPUが色を補間するときに、隣接するテクスチャの色が混ざらないようにするためである。
xt’=Xt+frac((xt+0.5)/Wt)*Wt−0.5 (5)
同様に、Y軸負方向に拡張した場合、(2)式の代わりに次の(6)式を用いる。
yt’=Yt+frac((yt+0.5)/Ht)*Ht−0.5 (6)
xt’=Xt+frac(xt/Wt)*Wt (7)
yt’=Yt+frac(yt/Ht)*Ht (8)
XY方向正負それぞれに1ピクセル拡張した場合、テクスチャアトラスのサイズが大きくなり、メモリ使用量が増加する反面、(7)(8)式を用いることで計算量を少なくできる。
また、拡張するピクセル数は、XY軸の正負方向それぞれ2ピクセル以上であってもよい。
テクスチャフェッチ部24は、座標変換部23により出力された変換座標T21に基づいて、テクスチャアトラス41から色情報411を抽出し、抽出した色情報411に基づいてピクセルを塗りつぶす。
テクスチャフェッチ部24は、各フラグメント情報について、テクスチャアトラス41から座標変換部23が補正した変換座標T21の位置にある色を取り出す。このとき、変換座標T21はテクスチャアトラス41のピクセルの中心を指すとは限らたないため、テクスチャフェッチ部24は、変換座標T21の位置の近傍のピクセルの色から補間した色を算出して取り出す。補間方法は任意であるが、例えば、周囲4ピクセル分の色に対するバイリニア補間が利用できる。そして、テクスチャフェッチ部24は、取得した色でフラグメント情報に対応するピクセルを塗りつぶす。
また、図14は、図10のポリゴン情報33のテクスチャラップモードがクランプの場合での描画結果の一例を示している。
以上で、描画処理S120についての説明を終わる。
最後に、出力部5は、VRAM40上に格納された出力画像42をモニタなどの映像表示装置に出力する出力処理S130を実行する。
本実施の形態に係るテクスチャマッピング装置は、複数のテクスチャをそれぞれ異なるポリゴンにマッピングして描画する場合に、マッピングするテクスチャをポリゴンごとに指定する処理を必要としない。よって、本実施の形態に係るテクスチャマッピング装置によれば、高速に描画することができ、かつ、元となったテクスチャをリピートまたはクランプさせてマッピングする場合と同様の結果を得ることができる。
本実施の形態では、主に、実施の形態1との差異点について説明する。
実施の形態1では、テクスチャ拡張部11がテクスチャ311をXY軸方向それぞれに少なくとも1ピクセルずつ拡張する必要があった。その結果、テクスチャアトラス41のサイズが大きくなり、VRAM40の使用量が増加していた。
そこで、本実施の形態では、テクスチャフェッチ部24が、変換座標T21が示す位置近傍のピクセルの色を補間するのではなく、変換座標T21が示す位置の最接近傍にあるピクセルの色を使用する。このような処理とすることで、テクスチャ311の拡張は不要となり、VRAM40の使用量の増大を防ぐことができる。
図15は、本実施の形態に係るテクスチャマッピング装置100aのブロック構成を示す図である。図15は、実施の形態1で説明した図1に対応する図である。
本実施の形態において、実施の形態1で説明した構成部と同様の機能を有する構成部については同一の符号を付し、その説明を省略する場合がある。
図15は、図1に比べるとテクスチャ拡張部11を備えていない。
そして、描画部20は、出力画像42上のポリゴンにテクスチャアトラス41aの一部をリピートまたはクランプしてマッピングして描画し、出力画像42としてVRAM40に出力する。このとき、テクスチャフェッチ部24は、変換座標T21が示す位置に最も近いピクセルの色を表す情報を色情報411として抽出する。すなわち、テクスチャフェッチ部24は、変換座標T21が示す位置の最接近傍にあるピクセルの色を使用する。
変換座標T21は、テクスチャアトラス41において描画用テクスチャ3110を含む範囲内となる。本実施の形態において、テクスチャアトラス41において描画用テクスチャ3110を含む範囲とは、描画用テクスチャ3110そのものの範囲となる。
図16,17を用いて、テクスチャアトラス生成部10の処理について説明する。
テクスチャ配置部12の動作は実施の形態1におけるテクスチャ配置部12と同様である。例として、図5のテクスチャ311a,311b,311c,311dからテクスチャアトラス41aを生成した結果を図16に示す。また、図16に示すテクスチャアトラス41aの配置情報32を図17に示す。
図16に示すように、テクスチャ311a,311b,311c,311dは、拡張されずに、元のサイズのままで結合されている。実施の形態1と同様に、描画用テクスチャ3110をテクスチャ311dとすると、テクスチャ311dの配置情報は、(2,2,2,2)となる。
テクスチャラップモードがリピートの場合の変換式は、次の(9)(10)式となる。
xt’=Xt+frac(xt/Wt)*Wt (9)
yt’=Yt+frac(yt/Ht)*Ht (10)
このとき、ピクセル対応テクスチャ座標T2(xt,yt)、頂点処理部21が読み出した配置情報32(Xt,Yt,Wt,Ht)、変換座標T21(xt’,yt’)とする。また、(9)(10)式において、frac(a)は、実数aの小数部分を取り出す演算である。
Xt’=Xt+min(max(0,xt),Wt) (11)
Yt’=Yt+min(max(0,yt),Ht) (12)
(11)(12)式において、min(a,b)およびmax(a,b)は、実数a、bの小さい方および大きい方を選ぶ演算である。
本実施の形態に係るテクスチャマッピング装置によれば、複数のテクスチャを複数のポリゴンにマッピングして描画する場合に、テクスチャを切り替える処理を必要としないため高速に描画することができる。さらに、本実施の形態に係るテクスチャマッピング装置によれば、元となったテクスチャをリピートまたはクランプさせてマッピングする場合と同様の描画結果を得ることができる。さらには、本実施の形態に係るテクスチャマッピング装置によれば、テクスチャアトラスを生成する際にテクスチャを拡張する必要も無いため、使用メモリ量の増大を抑えることができる。
本実施の形態では、実施の形態1,2と異なる点について説明する。
実施の形態1では、テクスチャ拡張部11がテクスチャ311をXY軸方向それぞれに少なくとも1ピクセルずつ拡張する必要があった。その結果、テクスチャアトラス41のサイズが大きくなり、VRAM40の使用量が増加していた。
本実施の形態では、利用するテクスチャラップモードがクランプのみの場合に、テクスチャの拡張は不要となり、メモリ使用量の増大を防ぐことができるテクスチャマッピング装置について説明する。
本実施の形態に係るテクスチャマッピング装置100bの構成は、実施の形態2で説明した図15の構成と同様である。
本実施の形態において、実施の形態1,2で説明した構成部と同様の機能を有する構成部については同一の符号を付し、その説明を省略する場合がある。
テクスチャアトラス生成部10の処理は、実施の形態2と同様である。
頂点処理部21、ピクセル座標算出部22の動作は、実施の形態1および2と同様であり、検出されるピクセルと生成されるフラグメント情報も実施の形態1および2と同様である。
ただし、本実施の形態に係るポリゴン情報33では、テクスチャラッピングモードはクランプのみであるため、テクスチャラッピングモードは不要である。
テクスチャフェッチ部24の処理は、実施の形態1と同様である。
最後に、出力部50は、VRAM40上に格納された出力画像をモニタなどの映像表示装置に出力する。
本実施の形態に係るテクスチャマッピング装置によれば、複数のテクスチャを複数のポリゴンにマッピングして描画する場合に、テクスチャを切り替える処理を必要としないため高速に描画することができる。さらに、本実施の形態に係るテクスチャマッピング装置によれば、元となったテクスチャをクランプさせてマッピングする場合と同様の描画結果を得ることができる。さらには、本実施の形態に係るテクスチャマッピング装置によれば、テクスチャアトラスを生成する際にテクスチャを拡張する必要も無いため、使用メモリ量の増大を抑えることができる。
例えば、テクスチャ拡張部11とテクスチャ配置部12とを1つの機能ブロックとし、頂点処理部21とピクセル座標算出部22と座標変換部23とテクスチャフェッチ部24とを1つの機能ブロックとしてもよい。テクスチャマッピング装置の機能ブロックは、上記の実施の形態で説明した機能を実現することができれば、任意である。これらの機能ブロックを、他のどのような組み合わせ、あるいは任意のブロック構成で通信装置を構成しても構わない。
また、テクスチャマッピング装置は、1つの装置でなく、複数の装置から構成された通信システムでもよい。
なお、上記の実施の形態は、本質的に好ましい例示であって、本発明、その適用物や用途の範囲を制限することを意図するものではなく、必要に応じて種々の変更が可能である。
Claims (11)
- 多角形領域であるポリゴンへの描画に用いる描画用テクスチャを含む複数のテクスチャを結合してテクスチャアトラスを生成すると共に、前記テクスチャアトラスにおける前記描画用テクスチャの配置を示す配置情報を生成するテクスチャアトラス生成部と、
複数のピクセルからなる出力画像における前記ポリゴンの頂点の位置を示す頂点座標と、前記描画用テクスチャに基づいて前記ポリゴンに描画される画像における前記頂点座標に対応する位置を示す頂点テクスチャ座標とが設定されたポリゴン情報を記憶するポリゴン情報記憶部と、
前記ポリゴン情報に基づいて、前記出力画像において前記ポリゴンが対応するピクセルを表すピクセル座標を検出し、前記ポリゴンに描画される画像において前記ピクセル座標に対応する座標をピクセル対応テクスチャ座標として算出するピクセル座標算出部と、
前記配置情報に基づいて、前記ピクセル対応テクスチャ座標を、前記テクスチャアトラスに結合された前記描画用テクスチャを含む範囲内の座標に変換し、変換した座標を変換座標として出力する座標変換部と
を備えるテクスチャマッピング装置。 - 前記テクスチャマッピング装置は、
前記座標変換部により出力された前記変換座標に基づいて、前記テクスチャアトラスから色情報を抽出し、抽出した色情報に基づいて前記ピクセル座標により表されるピクセルを塗りつぶすテクスチャフェッチ部を備える請求項1に記載のテクスチャマッピング装置。 - 前記テクスチャアトラス生成部は、
前記複数のテクスチャの各テクスチャを拡張するテクスチャ拡張部と、
前記テクスチャ拡張部により拡張されたテクスチャを結合して前記テクスチャアトラスを生成すると共に、前記テクスチャアトラスにおける前記描画用テクスチャの配置を表す配置情報を生成するテクスチャ配置部と
を備え、
前記座標変換部は、
前記配置情報に基づいて、前記ピクセル対応テクスチャ座標を、前記描画用テクスチャを含む範囲であって前記描画用テクスチャが拡張された範囲内の座標である前記変換座標に変換する請求項2に記載のテクスチャマッピング装置。 - 前記テクスチャ拡張部は、
前記複数のテクスチャの各テクスチャをX軸方向及びY軸方向に1ピクセルずつ拡張する請求項3に記載のテクスチャマッピング装置。 - 前記テクスチャフェッチ部は、
前記変換座標が示す位置のピクセルの周囲の複数のピクセルの色を補間することにより、前記色情報を抽出する請求項3または4に記載のテクスチャマッピング装置。 - 前記ポリゴン情報には、前記描画用テクスチャをリピートすることにより前記ポリゴンに描画される画像における前記頂点テクスチャ座標が設定される請求項1から5のいずれか1項に記載のテクスチャマッピング装置。
- 前記ポリゴン情報には、前記描画用テクスチャをクランプすることにより前記ポリゴンに描画される画像における前記頂点テクスチャ座標が設定される請求項1から5のいずれか1項に記載のテクスチャマッピング装置。
- 前記座標変換部は、テクスチャラップモードに応じた変換式を用いて、前記ピクセル対応テクスチャ座標を前記変換座標に変換する請求項1から7のいずれか1項に記載のテクスチャマッピング装置。
- 前記テクスチャフェッチ部は、
前記変換座標が示す位置のピクセルの色を表す情報を前記色情報として抽出する請求項2に記載のテクスチャマッピング装置。 - 多角形領域であるポリゴンに描画用テクスチャを用いて描画するテクスチャマッピング装置のテクスチャマッピング方法において、
前記テクスチャマッピング装置は、複数のピクセルからなる出力画像における前記ポリゴンの頂点の位置を示す頂点座標と、前記描画用テクスチャに基づいて前記ポリゴンに描画される画像における前記頂点座標に対応する位置を示す頂点テクスチャ座標とが設定されたポリゴン情報を記憶するポリゴン情報記憶部を有し、
テクスチャアトラス生成部は、前記描画用テクスチャを含む複数のテクスチャを結合してテクスチャアトラスを生成すると共に、前記テクスチャアトラスにおける前記描画用テクスチャの配置を示す配置情報を生成し、
ピクセル座標算出部は、前記ポリゴン情報に基づいて、前記出力画像において前記ポリゴンが対応するピクセルを表すピクセル座標を検出し、前記ポリゴンに描画される画像において前記ピクセル座標に対応する座標をピクセル対応テクスチャ座標として算出し、
座標変換部は、前記配置情報に基づいて、前記ピクセル対応テクスチャ座標を、前記テクスチャアトラスの座標であって前記テクスチャアトラスに結合された前記描画用テクスチャを含む範囲内の座標に変換し、変換した座標を変換座標として出力するテクスチャマッピング方法。 - 多角形領域であるポリゴンに描画用テクスチャを用いて描画するテクスチャマッピング装置のプログラムにおいて、
前記テクスチャマッピング装置は、複数のピクセルからなる出力画像における前記ポリゴンの頂点の位置を示す頂点座標と、前記描画用テクスチャに基づいて前記ポリゴンに描画される画像における前記頂点座標に対応する位置を示す頂点テクスチャ座標とが設定されたポリゴン情報を記憶するポリゴン情報記憶部を有し、
前記描画用テクスチャを含む複数のテクスチャを結合してテクスチャアトラスを生成すると共に、前記テクスチャアトラスにおける前記描画用テクスチャの配置を示す配置情報を生成するテクスチャアトラス生成処理と、
前記ポリゴン情報に基づいて、前記出力画像において前記ポリゴンが対応するピクセルを表すピクセル座標を検出し、前記ポリゴンに描画される画像において前記ピクセル座標に対応する座標をピクセル対応テクスチャ座標として算出するピクセル座標算出処理と、
前記配置情報に基づいて、前記ピクセル対応テクスチャ座標を、前記テクスチャアトラスの座標であって前記テクスチャアトラスに結合された前記描画用テクスチャを含む範囲内の座標に変換し、変換した座標を変換座標として出力する座標変換処理と
をコンピュータに実行させるプログラム。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2015/059083 WO2016151790A1 (ja) | 2015-03-25 | 2015-03-25 | テクスチャマッピング装置、テクスチャマッピング方法及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2016151790A1 true JPWO2016151790A1 (ja) | 2017-06-15 |
JP6320624B2 JP6320624B2 (ja) | 2018-05-09 |
Family
ID=56978097
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017507238A Active JP6320624B2 (ja) | 2015-03-25 | 2015-03-25 | テクスチャマッピング装置、テクスチャマッピング方法及びプログラム |
Country Status (5)
Country | Link |
---|---|
US (1) | US20180033185A1 (ja) |
JP (1) | JP6320624B2 (ja) |
CN (1) | CN107430783A (ja) |
DE (1) | DE112015006360T5 (ja) |
WO (1) | WO2016151790A1 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107463398B (zh) * | 2017-07-21 | 2018-08-17 | 腾讯科技(深圳)有限公司 | 游戏渲染方法、装置、存储设备及终端 |
JP6861910B2 (ja) * | 2018-12-20 | 2021-04-21 | 三菱電機株式会社 | 情報処理装置、プログラム及び情報処理方法 |
US11823421B2 (en) * | 2019-03-14 | 2023-11-21 | Nokia Technologies Oy | Signalling of metadata for volumetric video |
JP7312040B2 (ja) * | 2019-06-28 | 2023-07-20 | Biprogy株式会社 | テクスチャマッピング装置およびテクスチャマッピング用プログラム |
CN114565941A (zh) * | 2021-08-24 | 2022-05-31 | 商汤国际私人有限公司 | 纹理生成方法、装置、设备及计算机可读存储介质 |
CN115830091B (zh) * | 2023-02-20 | 2023-05-12 | 腾讯科技(深圳)有限公司 | 纹理图像的生成方法、装置、设备、存储介质及产品 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006095481A1 (ja) * | 2005-03-07 | 2006-09-14 | Sony Computer Entertainment Inc. | テクスチャ処理装置、描画処理装置、およびテクスチャ処理方法 |
-
2015
- 2015-03-25 DE DE112015006360.9T patent/DE112015006360T5/de not_active Withdrawn
- 2015-03-25 CN CN201580077771.3A patent/CN107430783A/zh not_active Withdrawn
- 2015-03-25 US US15/549,940 patent/US20180033185A1/en not_active Abandoned
- 2015-03-25 JP JP2017507238A patent/JP6320624B2/ja active Active
- 2015-03-25 WO PCT/JP2015/059083 patent/WO2016151790A1/ja active Application Filing
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006095481A1 (ja) * | 2005-03-07 | 2006-09-14 | Sony Computer Entertainment Inc. | テクスチャ処理装置、描画処理装置、およびテクスチャ処理方法 |
Non-Patent Citations (1)
Title |
---|
櫻井智史,根岸博康: "テクスチャリピートシェーダを用いた高速な3次元モデル群描画", 電子情報通信学会2014年総合大会講演論文集 情報・システム2, vol. D-11-37, JPN6018008064, March 2014 (2014-03-01), JP, pages p37 * |
Also Published As
Publication number | Publication date |
---|---|
JP6320624B2 (ja) | 2018-05-09 |
WO2016151790A1 (ja) | 2016-09-29 |
CN107430783A (zh) | 2017-12-01 |
US20180033185A1 (en) | 2018-02-01 |
DE112015006360T5 (de) | 2017-12-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6320624B2 (ja) | テクスチャマッピング装置、テクスチャマッピング方法及びプログラム | |
JP6563048B2 (ja) | スクリーンの位置によって異なる解像度のターゲットの複数レンダリングのテクスチャ・マッピングの傾き調整 | |
JP6678209B2 (ja) | 非正規直交グリッドへのテクスチャマッピングのためのグラデーションの調整 | |
JP6652257B2 (ja) | 複数のレンダーターゲット内でアクティブカラーサンプルカウントを変更することによりスクリーンの位置によって有効解像度を変動させること | |
EP3180773B1 (en) | Bandwidth reduction using texture lookup by adaptive shading | |
US9818170B2 (en) | Processing unaligned block transfer operations | |
JPH05307610A (ja) | テクスチャマッピング方法およびその装置 | |
KR20160051154A (ko) | 렌더링 방법, 렌더링 장치 및 전자 장치 | |
KR102482874B1 (ko) | 렌더링 장치 및 방법 | |
US9019284B2 (en) | Input output connector for accessing graphics fixed function units in a software-defined pipeline and a method of operating a pipeline | |
US20160314615A1 (en) | Graphic processing device and method for processing graphic images | |
KR101227155B1 (ko) | 저해상도 그래픽 영상을 고해상도 그래픽 영상으로 실시간 변환하는 그래픽 영상 처리 장치 및 방법 | |
KR100917887B1 (ko) | 라인 가속 기능을 지원하는 그래픽 처리 방법 및 장치 | |
KR101663023B1 (ko) | 그래픽 처리 장치 및 방법 | |
JP6174873B2 (ja) | 画像処理装置、画像処理装置の制御方法及びプログラム | |
KR20080012104A (ko) | 3d 그래픽 가속기를 이용한 패턴 생성 장치 | |
JP2011180904A (ja) | 描画処理装置、描画処理方法及びプログラム | |
Tao | Triangle Rasterizer Based on the Barycentric Arithmetic | |
US20150029191A1 (en) | Gradation drawing device | |
JP2002342777A (ja) | 画像処理装置および画像処理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170208 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170208 |
|
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: 20180306 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180403 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6320624 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
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 |