説明

省エネのためのLOD値計算方法とこれを利用した3次元レンダリングシステム

【課題】 省エネのためのLOD値計算方法とこれを利用した3次元レンダリングシステムを提供する。
【解決手段】 ポリゴンを構成するフラグメントのうち、所定のポリゴンの頂点に相当するフラグメントそれぞれのLOD値を計算し、該LOD値から頂点に相当するフラグメントを除外した残りのフラグメントそれぞれのLOD値を補間するLOD値計算方法とこれを利用した3次元レンダリングシステムである。これにより、LOD値計算過程での演算量を大幅減少させ、その結果として、3次元レンダリングシステム全体の電力消耗を減少させることができる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ある物体(object)を3次元にレンダリングするシステムに係り、特に、3次元レンダリング過程のうち、テクスチャマッピングに使われるLOD(Level Of Detail)値を計算する方法及び装置に関する。
【背景技術】
【0002】
ある物体に対する3次元グラフィック処理過程のうち、3次元レンダリング過程は、該物体に対する幾何学的処理段階、該物体を構成する単位に相当する所定のポリゴンを、光源モデルによってその内部をモニターのスクリーンのピクセルに対応するフラグメント単位でフラグメントそれぞれの値を決定するスパン変換段階、予め保存された2次元イメージに相当するテクスチャを該物体に貼り付けるテクスチャマッピング段階、及び以上の過程で決定された値をブレンディングすることでピクセルそれぞれの最終値を決定するカラーブレンディング段階で構成される。
【0003】
図1は、一般的なポリゴンに相当する三角形を構成するそれぞれのフラグメントを示す図である。
【0004】
物体に対する幾何学的処理過程を通じて物体が所定のポリゴン、例えば、三角形に分割される。図1には、物体を構成する三角形のうちいずれか一つが示されている。特に、三角形を構成する一つの単位をフラグメントと呼び、これは、モニターのスクリーン上のピクセルに対応する概念である。3次元レンダリング過程におけるフラグメントの値が直ぐピクセル値ではないが、3次元レンダリング過程を通じて、フラグメントの値は継続的に修正され、最終的にフラグメントの値がピクセルの値となる。また、スパンは、三角形の両エッジに相当するフラグメントそれぞれを終端点とするフラグメントの横集合を意味し、前記のスパン変換段階での処理単位である。
【0005】
ミップマップ(Mipmap)方式によるテクスチャマッピング段階では、一般的に、三角形を構成するあらゆるフラグメントそれぞれに対して物体表現の詳細程度を示すLOD値を次の式(1)を利用して計算し、該LOD値によってさまざまな解像度のテクスチャのうちいずれか一つをフラグメントそれぞれにマッピングする。LODは、次のように一般的にラムダ(λ)で表記される。
【0006】
【数1】

前記された式(1)に示すように、従来のLOD値計算技法は、多数の乗算演算及び除算演算を必要とし、これにより、LOD値の計算過程で多くの電力が消費されるという問題点があった。
【発明の開示】
【発明が解決しようとする課題】
【0007】
本発明が解決しようとする技術的課題は、ポリゴンを構成するフラグメント単位でLOD値を計算する方式の3次元レンダリングシステムによるLOD値計算過程での演算量を減少させることにより、3次元レンダリングシステム全体の電力消費を減少させる方法及び装置を提供するところにある。また、前記方法をコンピュータで実行させるためのプログラムを記録したコンピュータで読み取り可能な記録媒体を提供するところにある。
【0008】
本発明が解決しようとする技術的課題は、前記のような技術的課題に限定されず、他の技術的課題が存在しうる。これは、当業者であれば、下記の記載から明確に理解しているはずである。
【課題を解決するための手段】
【0009】
前記技術的課題を解決するための本発明によるLOD値計算方法は、所定のポリゴンを構成するフラグメントのうち、前記ポリゴンの頂点に相当するフラグメントそれぞれのLOD値を計算する段階と、前記計算されたLOD値から前記頂点に相当するフラグメントを除外した残りのフラグメントそれぞれのLOD値を補間する段階とを含む。
【0010】
前記他の技術的課題を解決するために、本発明は、前記のLOD値計算方法をコンピュータで実行させるためのプログラムを記録したコンピュータで読み取り可能な記録媒体を提供する。
【0011】
前記さらに他の技術的課題を解決するための本発明によるLOD値計算装置は、所定のポリゴンを構成するフラグメントのうち、前記所定のポリゴンの頂点に相当するフラグメントそれぞれのLOD値を計算するポリゴン処理部と、前記ポリゴン処理部によって計算されたLOD値を利用して、前記ポリゴンのエッジに相当するフラグメントそれぞれのLOD値を計算するエッジ処理部と、前記エッジ処理部によって計算されたLOD値を利用して、前記ポリゴンを構成する各スパンに対して前記各スパンを構成するフラグメントそれぞれのLOD値を計算するスパン処理部とを備える。
【0012】
前記さらに他の技術的課題を解決するための本発明によるレンダリング方法は、所定のポリゴンを構成するフラグメントのうち、前記ポリゴンの頂点に相当するフラグメントそれぞれのLOD値から前記頂点に相当するフラグメントを除外した残りのフラグメントそれぞれのLOD値を補間する段階と、前記補間されたLOD値に基づいて、さまざまな解像度のテクスチャのうちいずれか一つを前記フラグメントそれぞれにマッピングする段階とを含むことを特徴とする。
【0013】
前記さらに他の技術的課題を解決するために、本発明は、前記のレンダリング方法をコンピュータで実行させるためのプログラムを記録したコンピュータで読み取り可能な記録媒体を提供する。
【0014】
前記さらに他の技術的課題を解決するための本発明によるレンダリング装置は、所定のポリゴンを構成するフラグメントのうち、前記ポリゴンの頂点に相当するフラグメントそれぞれのLOD値から前記頂点に相当するフラグメントを除外した残りのフラグメントそれぞれのLOD値を補間するスパン変換部と、前記スパン変換部によって補間されたLOD値に基づいて、さまざまな解像度のテクスチャのうちいずれか一つを前記フラグメントそれぞれにマッピングするテクスチャマッピング部とを備える。
【発明の効果】
【0015】
本発明によれば、ポリゴンの頂点に相当するフラグメントそれぞれのLOD値を計算し、該LOD値から残りのフラグメントそれぞれのLOD値を補間することで、LOD値計算過程での演算量を大幅減少させることが可能であり、その結果、3次元レンダリングシステム全体の電力消耗を減少させることができる。特に、本発明によれば、既存のパラメータ値を補間する技法と同じ技法でLOD値を補間することで、LOD値計算に必要な回路素子の追加を最小化することができる。
【発明を実施するための最良の形態】
【0016】
以下では、図面を参照して本発明の望ましい実施形態を詳細に説明する。
【0017】
図2は、本発明の望ましい一実施形態によるラスタライザ2の構成図である。図2を参照するに、本実施形態によるラスタライザ2は、スパン変換部21、テクスチャマッピング部22、アルファテスト部23、深さテスト部24、及びカラーブレンディング部25から構成される。一般的に、ラスタライザ2は、モニターのスクリーン上にある物体を3次元グラフィックにレンダリングする3次元レンダリングシステムの一部であって、スクリーン上のピクセルそれぞれの値を決定する装置を意味する。
【0018】
このラスタライザ2の処理前に物体に対する幾何学的処理が先行されなければならないが、この幾何学的処理過程を通じて物体が所定のポリゴンに分割され、このポリゴンを構成するフラグメントそれぞれのパラメータが決定される。このフラグメントそれぞれのパラメータは、所定のポリゴンの単位で分割された客体を3次元グラフィックにレンダリングするためのフラグメント単位情報であり、ポリゴンを構成するフラグメントそれぞれの深さ値(z)とカラー値(r、g、b、a)及びフラグメントそれぞれにマッピングされるテクスチャの座標値(s、t)などを含む。ここで、rは赤色、gは緑色、bは青色、aは透明度を意味する。また、sとtは、テクスチャの正規化された座標値を意味し、0または1である。
【0019】
一般的に、レンダリング計算量を減らすために、さまざまな形態のポリゴンのうち最も単純な形態の三角形が主に利用される。以下では、ポリゴンを三角形と特定し、本実施形態を説明する。但し、当業者であれば、三角形以外の他の形態のポリゴンも本実施形態に適用できるということを理解できるであろう。
【0020】
スパン変換部21は、三角形を構成するフラグメントそれぞれのパラメータの値を決定する。さらに詳細に説明すれば、スパン変換部21は、頂点バッファ1から三角形を構成するフラグメントのうち、三角形の三つの頂点の座標値を入力され、前記の式(1)を利用して該三角形の三つの頂点に相当するフラグメントそれぞれのパラメータ値を計算する。また、スパン変換部21は、該パラメータ値から三角形の頂点に相当するフラグメントを除外した残りのフラグメントそれぞれのパラメータ値を補間する。
【0021】
特に、本実施形態によれば、スパン変換部21は、三角形を構成するフラグメントのうち。三角形の三つの頂点に相当するフラグメントそれぞれのLOD値を計算し、前記した既存のパラメータ値を補間する技法と同じ技法で該LOD値から三角形の頂点に相当するフラグメントを除外した残りのフラグメントそれぞれのLOD値を補間する。すなわち、スパン変換部21は、前記した既存のパラメータ値を補間する技法によって三角形の三つの頂点に相当するフラグメントそれぞれのLOD値の変化度を計算し、該LOD値の変化度を利用してフラグメントそれぞれのLOD値を補間する。このように、スパン変換部21は、従来のスパン変換過程とは違って、既存のパラメータと共にLOD値の計算も行う。従来にはLOD値計算をテクスチャマッピング段階で行った。
【0022】
図3は、図2に示すスパン変換部21の詳細構成図である。図3を参照するに、図2に示すスパン変換部21は、ポリゴン処理部31、エッジ処理部32、及びスパン処理部33から構成される。
【0023】
ポリゴン処理部31は、三角形の三つのエッジのうち、y座標値が最小である頂点を初めとする両エッジに対して、三角形の三つの頂点に相当するフラグメントそれぞれのパラメータ値から三角形のx軸上のパラメータ値の変化度と、y軸上のパラメータ値の変化度とを計算する。特に、本実施形態によれば、ポリゴン処理部31は、このような既存のパラメータに対するポリゴン処理技法と同じ技法でフラグメントそれぞれのLOD値を計算する。すなわち、ポリゴン処理部31は、三角形を構成するフラグメントのうち、三角形の三つの頂点に相当するフラグメントそれぞれのLOD値を計算し、三角形の三エッジのうち、y座標の値が最小である頂点を初めとする両エッジに対して、三角形の三つの頂点に相当するフラグメントそれぞれのLOD値から三角形のx軸上のLOD値の変化度と、y軸上のLOD値の変化度とを計算する。
【0024】
例えば、ポリゴン処理部31は、次のような過程を通じて、三角形のx軸上のLOD値の変化度とy軸上のLOD値の変化度とを計算できる。
【0025】
Emaj_dλ=Vmax−Vmin;
Ebot_dλ=Vmid−Vmin;
dλ/dx=(Emaj_dλ*Ebot_dy−Emaj_dy*Ebot_dλ)/
(Emaj_dx*Ebot_dy−Emaj_dy*Ebot_dx);
dλ/dy=(Emaj_dx*Ebot_dλ−Emaj_dλ*Ebot_dx)/
(Emaj_dx*Ebot_dy−Emaj_dy*Ebot_dx);
前記の例からポリゴン処理過程の(+,−,*,/)演算回数は、それぞれ(0,4,4,0)であることが分かる。ここで、“Vmax”は、y座標値が最大である頂点のLOD値であり、“Vmid”は、y座標値が中間である頂点のLOD値であり、“Vmin”は、y座標値が最小である頂点のLOD値である。また、“dλ/dx”は、三角形のx軸上のLOD値の変化度であり、“dλ/dy”は、三角形のy軸上のLOD値の変化度である。
【0026】
エッジ処理部32は、三角形を構成する各スパンに対してポリゴン処理部31により計算されたx軸上のパラメータ値の変化度とy軸上のパラメータ値の変化度とを利用して、三角形の両エッジに相当するフラグメントそれぞれのパラメータ値を計算し、各スパンを構成するフラグメント間のパラメータ値差を計算する。ここで、スパンは、三角形の両エッジに相当するフラグメントそれぞれを終端点とするフラグメントの横集合を意味する。
【0027】
特に、本実施形態によれば、エッジ処理部32は、このような既存のパラメータに対するエッジ処理技法と同じ技法で、三角形の両エッジに相当するフラグメントそれぞれのLOD値を計算し、各スパンを構成するフラグメント間のLOD値差を計算する。すなわち、エッジ処理部32は、三角形を構成する各スパンに対して、ポリゴン処理部31によって計算されたx軸上のLOD値変化度とy軸上のLOD値変化度とを利用して、ポリゴンのエッジに相当するフラグメントそれぞれのLOD値を計算し、各スパンを構成するフラグメント間のLOD値差を計算する。
【0028】
例えば、エッジ処理部32は、次のような過程を通じて、三角形のエッジに相当するフラグメントそれぞれのLOD値を計算し、各スパンを構成するフラグメント間のLOD値差を計算する。
【0029】
三角形を構成する各スパンに対して
{Compare;
fλ=λ0+adjx*dλ/dx+adjy*dλ/dy;
fdλOuter=dλ/dy+fdxOuter*dλ/dx;
}
fdλInner=fdλOuter+dλ/dx;
前記の例からエッジ処理過程の(+,−,*,/)演算回数は、それぞれスパン数*{(3,0,3,0)+Compare}+(1,0,0,0)であることが分かる。ここで、“Compare”は、三角形の三つのエッジうち、どのエッジを選択するかを示す比較文であり、これによりVmin、Vmid、Vmaxのうちいずれか一つが、フラグメントそれぞれのLOD値補間の開始頂点として選択される。また、“λ0”は、前記“Compare”過程によって選択された開始頂点のLOD値を意味する。また、“adjx”は、x軸に対する開始頂点に相当するフラグメントの中心座標値と開始頂点の実際座標値との差を意味する。また、“adjy”は、y軸に対する開始頂点に相当するフラグメントの中心座標値と開始頂点の実際座標値との差を意味する。したがって、“fλ”は、開始頂点に相当するフラグメント中心のLOD値となる。これは、開始頂点の実際座標が必ずしもフラグメントの正中央に位置することではないという点を考慮して、別途に開始頂点に相当するフラグメント中心のLOD値を計算したのである。
【0030】
また、“fdxOuter”は、現在計算中のエッジの変化度dx/dyを意味する。したがって、“fdλOuter”は、2*dλ/dyとなり、“fdλInner”は、2*dλ/dy+dλ/dxとなる。この二値は、現在計算中のスパンに対してLOD計算を終了し、他のスパンに対してLOD値計算を始めようとする時、下記のスパン処理過程で利用される。
【0031】
スパン処理部33は、三角形を構成する各スパンに対してエッジ処理部32によって計算されたエッジに相当するフラグメントそれぞれのパラメータ値、及び各スパンを構成するフラグメント間のパラメータ値差を利用して、各スパンを構成するフラグメントそれぞれのパラメータ値を計算する。特に、本実施形態によれば、スパン処理部33は、このような既存のパラメータに対するスパン処理技法と同じ技法で、各スパンを構成するフラグメントそれぞれのLOD値を計算する。すなわち、スパン処理部33は、三角形を構成する各スパンに対してエッジ処理部32によって計算されたエッジに相当するフラグメントそれぞれのLOD値、及び各スパンを構成するフラグメント間のLOD値差を利用して、各スパンを構成するフラグメントそれぞれのLOD値を計算する。
【0032】
例えば、スパン処理部33は、次のような二つの過程を通じて、各スパンを構成するフラグメントそれぞれのLOD値を計算する。1番目の過程は、現在スパンから次のスパンにLOD値計算が移動する時に行われる過程を意味し、2番目の過程は、三角形を構成する各スパンに対して行われる過程を意味する。
【0033】
現在スパンから次のスパンにLOD値計算が移動する時
{ffλend=fdλ+(Right−Left−1)*dλ/dx;
fλ=fλ+fdλOuterまたはfλ=fλ+fdλInner;
fλ=fλ−ffλend;
}
三角形を構成する各スパンに対して
{fλ=fλ+dλ/dx}
前記の例からスパン処理過程の(+,−,*,/)演算回数は、それぞれスパン数*(3,0,1,0)+フラグメント数*(1,0,0,0)であることが分かる。1番目の過程において、“Right−Left”は、現在スパンを構成するフラグメントの総数を意味する。したがって、ffλendは、現在スパンを構成するフラグメントのうち最後のフラグメントのLOD値となる。“fλ”に“fdλOuter”及び“fdλInner”のうちどれを加算するかは、“fdλOuter”及び“fdλInner”のうちどれが大きいかによって決定される。すなわち、この二値からx軸上のLOD値の変化度及びy軸上のLOD値の変化度のうち、いずれが大きいかが分かり、x軸上のLOD値の変化度がより大きければ、“fdλOuter”を加算し、y軸上のLOD値の変化度がより大きければ、“fdλInner”を加算する。このような選択的加算過程を通じて、次のスパンのエッジに相当するフラグメントのLOD値“fλ”が計算される。“fλ=fλ−ffλend”過程は、“fλ”値がオーバーフローである時、すなわち、LOD値に割り当てられた所定ビット量を超える時に行われる過程である。
【0034】
2番目の過程は、y値を1ずつ増加させながらfλに単位変化量に相当する“dλ/dx”を加算することによって、いずれか一つのスパンを構成するフラグメントそれぞれのLOD値を計算する過程を意味する。本実施形態が属する技術分野で通常の知識を持つ者であれば、前記の内容に基づいてx値を1ずつ増加させながら、fλに単位変化量に相当する“dλ/dy”を加算することによって、フラグメントそれぞれのLOD値を計算する方式を容易に具現できるということが理解できるであろう。
【0035】
テクスチャマッピング部22は、ミップマップ(Mipmap)方式により、スパン変換部21によって計算または補間されたフラグメントそれぞれのLOD値によって、さまざまな解像度のテクスチャのうちいずれか一つをフラグメントそれぞれにマッピングする。さらに詳細に説明すれば、テクスチャマッピング部22は、あるフラグメントのLOD値が高ければ、さまざまな解像度のテクスチャのうち、高解像度のテクスチャを該フラグメントにマッピングし、あるフラグメントのLOD値が低ければ、さまざまな解像度のテクスチャのうち、低解像度のテクスチャを該フラグメントにマッピングする。このようなテクスチャマッピング過程を通じて、物体の表面にテクスチャに該当するイメージが貼り付けられる。
【0036】
アルファテスト部23は、スパン変換部21によって計算または補間されたフラグメントそれぞれのパラメータ値のうち、アルファ値aを所定の基準値と比較し、この比較結果に基づいて、各フラグメントが透明であるか否かを決定する。
【0037】
深さテスト部24は、スパン変換部21によって計算または補間されたフラグメントそれぞれのパラメータ値のうち、深さ値zが深さバッファ(図示せず)に保存された深さ値より小さな場合に、この深さ値zで深さバッファの値を更新する。
【0038】
カラーブレンディング部25は、スパン変換部21によって計算または補間されたフラグメントそれぞれのパラメータ値と、ピクセルバッファ(図示せず)に保存されたカラー値とを混ぜることによって、フラグメントそれぞれに対応するスクリーン上のピクセルそれぞれの最終値を出力する。特に、カラーブレンディング部25は、テクスチャマッピング部22によってマッピングされたテクスチャ、アルファテスト部23によって決定された透明度、及び深さテスト部24によって更新された深さ値が反映されたピクセルそれぞれの最終値をフレームバッファ3に出力する。
【0039】
図4は、本発明の望ましい一実施形態による3次元レンダリング方法のフローチャートである。図4を参照するに、本実施形態による3次元レンダリング方法は、図2に示すラスタライザ2で経時的に処理される段階で構成される。したがって、以下に省略された内容であっても、図2に示すラスタライザに関して前述した内容は、本実施形態による3次元レンダリング方法にも適用される。
【0040】
41段階において、ラスタライザ2は、頂点バッファ1から三角形を構成するフラグメントのうち、三角形の三つの頂点の座標値を入力され、前記の式(1)を利用して該三角形の三つの頂点に相当するフラグメントそれぞれのパラメータ値及びLOD値を計算する。また、41段階において、ラスタライザ2は、該パラメータ値及びLOD値から三角形の頂点に相当するフラグメントを除外した残りのフラグメントそれぞれのパラメータ値及びLOD値を補間する。
【0041】
42段階において、ラスタライザ2は、ミップマップ方式により、41段階で計算または補間されたフラグメントそれぞれのLOD値によって、さまざまな解像度のテクスチャのうちいずれか一つをフラグメントそれぞれにマッピングする。
【0042】
43段階において、ラスタライザ2は、41段階で計算または補間されたフラグメントそれぞれのパラメータ値のうち、アルファ値aを所定の基準値と比較し、この比較結果に基づいて、各フラグメントが透明であるか否かを決定する。
【0043】
44段階において、ラスタライザ2は、41段階で計算または補間されたフラグメントそれぞれのパラメータ値のうち、深さ値zが深さバッファに保存された深さ値より小さな場合に、該深さ値zで深さバッファの値を更新する。
【0044】
45段階において、ラスタライザ2は、41段階で計算または補間されたフラグメントそれぞれのパラメータ値と、ピクセルバッファに保存されたカラー値とを混ぜることによって、42段階でマッピングされたテクスチャ、43段階で決定された透明度、及び44段階で更新された深さ値が反映されたピクセルそれぞれの最終値をフレームバッファ3に出力する。
【0045】
図5は、本発明の望ましい一実施形態によるスパン変換方法のフローチャートである。図5を参照するに、本実施形態によるスパン変換方法は、図5に示すスパン変換方法で経時的に処理される段階で構成される。したがって、以下に省略された内容であっても、図3に示すスパン変換部21に関して前述した内容は、本実施形態によるスパン変換方法にも適用される。
【0046】
51段階において、スパン変換部21は、三角形を構成するフラグメントのうち、三角形の三つの頂点に相当するフラグメントそれぞれのLOD値を計算する。
【0047】
52段階において、スパン変換部21は、三角形の三エッジのうち、y座標値が最小である頂点を初めとする両エッジに対して、三角形の三つの頂点に相当するフラグメントそれぞれのパラメータ値及びLOD値から三角形のx軸上のパラメータ値の変化度及びLOD値の変化度、y軸上のパラメータ値の変化度及びLOD値の変化度を計算する。
【0048】
53段階において、スパン変換部21は、三角形を構成する各スパンに対して、52段階で計算されたx軸上のパラメータ値の変化度及びLOD値の変化度、y軸上のパラメータ値の変化度及びLOD値の変化度を利用して、三角形の両エッジに相当するフラグメントそれぞれのパラメータ値及びLOD値を計算し、各スパンを構成するフラグメント間のパラメータ値差及びLOD値差を計算する。
【0049】
54段階において、スパン変換部21は、三角形を構成する各スパンに対して、53段階で計算されたエッジに相当するフラグメントそれぞれのパラメータ値及びLOD値、各スパンを構成するフラグメント間のパラメータ値差及びLOD値差を利用して、各スパンを構成するフラグメントそれぞれのパラメータ値及びLOD値を計算する。
【0050】
図6は、従来のLOD計算技法による総演算回数を示す図である。図6に示す“s”と“t”は、テクスチャの正規化された座標値を意味し、0または1である。また、図6に示す“q”は、遠近による校正データを意味し、“invQ”は、1/qである。また、図6に示す“width”と”height“は、テクスチャの横サイズ及び縦サイズを意味する。
【0051】
図6を参照するに、従来のLOD値計算技法による総演算回数は、三角形を構成するフラグメント数*{(10,4,12,4)、ルート2回、比較1回、ログ1回}となる。(10,4,12,4)は、フラグメント当たり(+,−,*,/)演算回数を意味する。
【0052】
図7は、従来の他のLOD値計算技法による総演算回数を示す図である。図7を参照するに、従来のLOD値計算技法による総演算回数は、三角形を構成するフラグメント数*{(8,4,6,4)、ABS4回、比較3回、ログ1回}となる。(8,4,6,4)は、フラグメント当たり(+,−,*,/)演算回数を意味する。
【0053】
図6に示すLOD値計算技法と図7に示すLOD値計算技法とを比較してみれば、図6に示すLOD値計算技法に比べて図7に示すLOD値計算技法の演算量が少ない。したがって、以下では、図7に示すLOD計算技法と本実施形態によるLOD値計算過程での演算量とを比較する。
【0054】
図8は、本発明の望ましい一実施形態によるLOD値計算過程での総演算回数を示す図である。図8を参照するに、本発明の望ましい一実施形態によるLOD値計算過程での総演算回数は、前記のポリゴン処理過程、エッジ処理過程、及びスパン処理過程それぞれでの演算回数をいずれも合わせた値であり、(131,16,58,0)、ABS12回、比較18回、ログ3回となる。
【0055】
図9は、図7に示すLOD計算技法と本実施形態によるLOD値計算過程での演算量の比較表を示す図である。図9で“V”は、ポリゴンを構成する頂点の数を意味し、“F”は、ポリゴンを構成するフラグメント数を意味し、“S”は、ポリゴンを構成するスパン数を意味する。
【0056】
図10は、図9に示す比較表でフラグメント数を25と仮定した場合の総演算回数を示す図である。
【0057】
図9に示す比較表にフラグメント数“F”を25と仮定すれば、従来のLOD値計算技法による総演算回数は、(200,100,150,100)、比較75回、ログ25回、絶対値100回となる。また、図9に示す比較表に頂点の数“V”を3と、スパン数“S”を6と、フラグメント数“F”を25と過程すれば、本実施形態によるLOD値計算過程での総演算回数は、(86,12,42,16)、比較15回、ログ3回、絶対値12回となる。したがって、従来のLOD値計算技法に比べて、本実施形態によるLOD値計算過程での演算量が大幅減少することが分かる。
【0058】
一方、前述した本発明の実施形態は、コンピュータで実行できるプログラムで作成可能であり、コンピュータで読み取り可能な記録媒体を利用して前記プログラムを動作させる汎用デジタルコンピュータで具現できる。また、前述した本発明の実施形態で使われたデータの構造は、コンピュータで読み取り可能な記録媒体にいろいろな手段を通じて記録できる。
【0059】
前記コンピュータで読み取り可能な記録媒体は、マグネチック記録媒体(例えば、ROM、フロッピー(登録商標)ディスク、ハードディスクなど)、光学的判読媒体(例えば、CD−ROM、DVDなど)及びキャリアウェーブ(例えば、インターネットを通じた伝送)のような記録媒体を含む。
【0060】
これまで本発明についてその望ましい実施形態を中心に説明した。当業者ならば本発明が本発明の本質的な特性から逸脱しない範囲で変形された形態に具現されるということを理解できる。したがって、開示された実施形態は限定的な観点ではなく説明的な観点で考慮されねばならない。本発明の範囲は、前述した説明ではなく特許請求の範囲に現れており、それと同等な範囲内にあるあらゆる差異点は本発明に含まれていると解釈されねばならない。
【産業上の利用可能性】
【0061】
本発明は、3次元にレンダリング関連の技術分野に好適に用いられる。
【図面の簡単な説明】
【0062】
【図1】一般的なポリゴンに相当する三角形を構成するそれぞれのフラグメントを示す図である。
【図2】本発明の望ましい一実施形態によるラスタライザの構成図である。
【図3】図2に示すスパン変換部の詳細構成図である。
【図4】本発明の望ましい一実施形態による3次元レンダリング方法のフローチャートである。
【図5】本発明の望ましい一実施形態によるスパン変換方法のフローチャートである。
【図6】従来のLOD計算技法による総演算回数を示す図である。
【図7】従来の他のLOD値計算技法による総演算回数を示す図である。
【図8】本発明の望ましい一実施形態によるLOD値計算過程での総演算回数を示す図である。
【図9】図7に示すLOD計算技法と本実施形態によるLOD値計算過程での演算量の比較表を示す図である。
【図10】図9に示す比較表でフラグメント数を25と仮定した場合の総演算回数を示す図である。
【符号の説明】
【0063】
1 頂点バッファ
2 ラスタライザ
3 フレームバッファ
21 スパン変換部
22 テクスチャマッピング部
23 アルファテスト部
24 深さテスト部
25 カラーブレンディング部
31 ポリゴン処理部
32 エッジ処理部
33 スパン処理部

【特許請求の範囲】
【請求項1】
(a)所定のポリゴンを構成するフラグメントのうち、前記ポリゴンの頂点に相当するフラグメントそれぞれのLOD(Level Of Detail)値を計算する段階と、
(b)前記計算されたLOD値から前記頂点に相当するフラグメントを除外した残りのフラグメントそれぞれのLOD値を補間する段階と、を含むことを特徴とするLOD値計算方法。
【請求項2】
前記(b)段階は、前記頂点に相当するフラグメントそれぞれのLOD値の変化度を計算し、前記計算されたLOD値の変化度を利用して、前記フラグメントそれぞれのLOD値を補間することを特徴とする請求項1に記載のLOD値計算方法。
【請求項3】
前記(b)段階は、前記所定のポリゴンの単位で分割された物体をレンダリングするための情報に相当する、前記フラグメントそれぞれのパラメータ値を補間する技法と同じ技法で前記LOD値を補間することを特徴とする請求項1に記載のLOD値計算方法。
【請求項4】
前記パラメータ値は、前記所定のポリゴンを構成するフラグメントそれぞれの座標値、カラー値、及び前記各フラグメントにマッピングされるテクスチャの座標値を含むことを特徴とする請求項3に記載のLOD値計算方法。
【請求項5】
前記(b)段階は、
(b1)前記頂点に相当するフラグメントそれぞれのLOD値から前記ポリゴンのx軸上のLOD値変化度とy軸上のLOD値変化度とを計算する段階と、
(b2)前記計算されたx軸上のLOD値変化度とy軸上のLOD値変化度とを利用して、前記ポリゴンのエッジに相当するフラグメントそれぞれのLOD値を計算する段階と、
(b3)前記計算されたエッジそれぞれに相当するフラグメントのLOD値を利用して、前記ポリゴンを構成する各スパンに対して前記各スパンを構成するフラグメントそれぞれのLOD値を計算する段階と、を含むことを特徴とする請求項1に記載のLOD値計算方法。
【請求項6】
所定のポリゴンを構成するフラグメントのうち、前記ポリゴンの頂点に相当するフラグメントそれぞれのLOD値を計算する段階と、
前記計算されたLOD値から前記頂点に相当するフラグメントを除外した残りのフラグメントそれぞれのLOD値を補間する段階と、を含むことを特徴とするLOD値計算方法をコンピュータで実行させるためのプログラムを記録したコンピュータで読み取り可能な記録媒体。
【請求項7】
所定のポリゴンを構成するフラグメントのうち、前記所定のポリゴンの頂点に相当するフラグメントそれぞれのLOD値を計算するポリゴン処理部と、
前記ポリゴン処理部によって計算されたLOD値を利用して、前記ポリゴンのエッジに相当するフラグメントそれぞれのLOD値を計算するエッジ処理部と、
前記エッジ処理部によって計算されたLOD値を利用して、前記ポリゴンを構成する各スパンに対して前記各スパンを構成するフラグメントそれぞれのLOD値を計算するスパン処理部と、を備えることを特徴とするLOD値計算装置。
【請求項8】
前記ポリゴン処理部は、前記エッジに相当するフラグメントそれぞれのパラメータ値及びLOD値を計算し、
前記スパン処理部は、前記各スパンを構成するフラグメントそれぞれのパラメータ値及びLOD値を計算することを特徴とする請求項7に記載のLOD値計算装置。
【請求項9】
前記パラメータ値は、前記所定のポリゴンを構成するフラグメントそれぞれの座標値、カラー値、及び前記各フラグメントにマッピングされるテクスチャの座標値を含むことを特徴とする請求項8に記載のLOD値計算装置。
【請求項10】
(a)所定のポリゴンを構成するフラグメントのうち、前記ポリゴンの頂点に相当するフラグメントそれぞれのLOD値から前記頂点に相当するフラグメントを除外した残りのフラグメントそれぞれのLOD値を補間する段階と、
(b)前記補間されたLOD値に基づいて、さまざまな解像度のテクスチャのうちいずれか一つを前記フラグメントそれぞれにマッピングする段階と、を含むことを特徴とするレンダリング方法。
【請求項11】
前記(a)段階は、前記頂点に相当するフラグメントそれぞれのパラメータ値及びLOD値から、前記頂点に相当するフラグメントを除外した残りのフラグメントそれぞれのパラメータ値及びLOD値を補間することを特徴とする請求項10に記載のレンダリング方法。
【請求項12】
前記パラメータ値は、前記所定のポリゴンを構成するフラグメントそれぞれの座標値、カラー値、及び前記各フラグメントにマッピングされるテクスチャの座標値を含むことを特徴とする請求項11に記載のレンダリング方法。
【請求項13】
所定のポリゴンを構成するフラグメントのうち、前記ポリゴンの頂点に相当するフラグメントそれぞれのLOD値から前記頂点に相当するフラグメントを除外した残りのフラグメントそれぞれのLOD値を補間する段階と、
前記補間されたLOD値に基づいて、さまざまな解像度のテクスチャのうちいずれか一つを前記フラグメントそれぞれにマッピングする段階と、を含むことを特徴とするレンダリング方法をコンピュータで実行させるためのプログラムを記録したコンピュータで読み取り可能な記録媒体。
【請求項14】
所定のポリゴンを構成するフラグメントのうち、前記ポリゴンの頂点に相当するフラグメントそれぞれのLOD値から前記頂点に相当するフラグメントを除外した残りのフラグメントそれぞれのLOD値を補間するスパン変換部と、
前記スパン変換部によって補間されたLOD値に基づいて、さまざまな解像度のテクスチャのうちいずれか一つを前記フラグメントそれぞれにマッピングするテクスチャマッピング部と、を備えることを特徴とするレンダリングシステム。

【図2】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図1】
image rotate

【図3】
image rotate


【公開番号】特開2008−59582(P2008−59582A)
【公開日】平成20年3月13日(2008.3.13)
【国際特許分類】
【出願番号】特願2007−217021(P2007−217021)
【出願日】平成19年8月23日(2007.8.23)
【出願人】(390019839)三星電子株式会社 (8,520)
【氏名又は名称原語表記】Samsung Electronics Co.,Ltd.
【出願人】(507215161)延世大學校産學協力財団 (4)
【Fターム(参考)】