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

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

Info

Publication number
JP2008059582A
JP2008059582A JP2007217021A JP2007217021A JP2008059582A JP 2008059582 A JP2008059582 A JP 2008059582A JP 2007217021 A JP2007217021 A JP 2007217021A JP 2007217021 A JP2007217021 A JP 2007217021A JP 2008059582 A JP2008059582 A JP 2008059582A
Authority
JP
Japan
Prior art keywords
lod
value
fragments
polygon
fragment
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.)
Pending
Application number
JP2007217021A
Other languages
English (en)
Inventor
Seok-Yun Jeong
鄭 錫 潤
Sang Deok Kim
相 徳 金
Woo-Chan Park
祐 贊 朴
Takuton Kan
鐸 敦 韓
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.)
Samsung Electronics Co Ltd
Industry Academic Cooperation Foundation of Yonsei University
Original Assignee
Samsung Electronics Co Ltd
Industry Academic Cooperation Foundation of Yonsei University
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 Samsung Electronics Co Ltd, Industry Academic Cooperation Foundation of Yonsei University filed Critical Samsung Electronics Co Ltd
Publication of JP2008059582A publication Critical patent/JP2008059582A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping
    • 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
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/10Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/02Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the way in which colour is displayed
    • G09G5/026Control of mixing and/or overlay of colours in general
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39Control of the bit-mapped memory
    • G09G5/393Arrangements for updating the contents of the bit-mapped memory

Abstract

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

Description

本発明は、ある物体(object)を3次元にレンダリングするシステムに係り、特に、3次元レンダリング過程のうち、テクスチャマッピングに使われるLOD(Level Of Detail)値を計算する方法及び装置に関する。
ある物体に対する3次元グラフィック処理過程のうち、3次元レンダリング過程は、該物体に対する幾何学的処理段階、該物体を構成する単位に相当する所定のポリゴンを、光源モデルによってその内部をモニターのスクリーンのピクセルに対応するフラグメント単位でフラグメントそれぞれの値を決定するスパン変換段階、予め保存された2次元イメージに相当するテクスチャを該物体に貼り付けるテクスチャマッピング段階、及び以上の過程で決定された値をブレンディングすることでピクセルそれぞれの最終値を決定するカラーブレンディング段階で構成される。
図1は、一般的なポリゴンに相当する三角形を構成するそれぞれのフラグメントを示す図である。
物体に対する幾何学的処理過程を通じて物体が所定のポリゴン、例えば、三角形に分割される。図1には、物体を構成する三角形のうちいずれか一つが示されている。特に、三角形を構成する一つの単位をフラグメントと呼び、これは、モニターのスクリーン上のピクセルに対応する概念である。3次元レンダリング過程におけるフラグメントの値が直ぐピクセル値ではないが、3次元レンダリング過程を通じて、フラグメントの値は継続的に修正され、最終的にフラグメントの値がピクセルの値となる。また、スパンは、三角形の両エッジに相当するフラグメントそれぞれを終端点とするフラグメントの横集合を意味し、前記のスパン変換段階での処理単位である。
ミップマップ(Mipmap)方式によるテクスチャマッピング段階では、一般的に、三角形を構成するあらゆるフラグメントそれぞれに対して物体表現の詳細程度を示すLOD値を次の式(1)を利用して計算し、該LOD値によってさまざまな解像度のテクスチャのうちいずれか一つをフラグメントそれぞれにマッピングする。LODは、次のように一般的にラムダ(λ)で表記される。
前記された式(1)に示すように、従来のLOD値計算技法は、多数の乗算演算及び除算演算を必要とし、これにより、LOD値の計算過程で多くの電力が消費されるという問題点があった。
本発明が解決しようとする技術的課題は、ポリゴンを構成するフラグメント単位でLOD値を計算する方式の3次元レンダリングシステムによるLOD値計算過程での演算量を減少させることにより、3次元レンダリングシステム全体の電力消費を減少させる方法及び装置を提供するところにある。また、前記方法をコンピュータで実行させるためのプログラムを記録したコンピュータで読み取り可能な記録媒体を提供するところにある。
本発明が解決しようとする技術的課題は、前記のような技術的課題に限定されず、他の技術的課題が存在しうる。これは、当業者であれば、下記の記載から明確に理解しているはずである。
前記技術的課題を解決するための本発明によるLOD値計算方法は、所定のポリゴンを構成するフラグメントのうち、前記ポリゴンの頂点に相当するフラグメントそれぞれのLOD値を計算する段階と、前記計算されたLOD値から前記頂点に相当するフラグメントを除外した残りのフラグメントそれぞれのLOD値を補間する段階とを含む。
前記他の技術的課題を解決するために、本発明は、前記のLOD値計算方法をコンピュータで実行させるためのプログラムを記録したコンピュータで読み取り可能な記録媒体を提供する。
前記さらに他の技術的課題を解決するための本発明によるLOD値計算装置は、所定のポリゴンを構成するフラグメントのうち、前記所定のポリゴンの頂点に相当するフラグメントそれぞれのLOD値を計算するポリゴン処理部と、前記ポリゴン処理部によって計算されたLOD値を利用して、前記ポリゴンのエッジに相当するフラグメントそれぞれのLOD値を計算するエッジ処理部と、前記エッジ処理部によって計算されたLOD値を利用して、前記ポリゴンを構成する各スパンに対して前記各スパンを構成するフラグメントそれぞれのLOD値を計算するスパン処理部とを備える。
前記さらに他の技術的課題を解決するための本発明によるレンダリング方法は、所定のポリゴンを構成するフラグメントのうち、前記ポリゴンの頂点に相当するフラグメントそれぞれのLOD値から前記頂点に相当するフラグメントを除外した残りのフラグメントそれぞれのLOD値を補間する段階と、前記補間されたLOD値に基づいて、さまざまな解像度のテクスチャのうちいずれか一つを前記フラグメントそれぞれにマッピングする段階とを含むことを特徴とする。
前記さらに他の技術的課題を解決するために、本発明は、前記のレンダリング方法をコンピュータで実行させるためのプログラムを記録したコンピュータで読み取り可能な記録媒体を提供する。
前記さらに他の技術的課題を解決するための本発明によるレンダリング装置は、所定のポリゴンを構成するフラグメントのうち、前記ポリゴンの頂点に相当するフラグメントそれぞれのLOD値から前記頂点に相当するフラグメントを除外した残りのフラグメントそれぞれのLOD値を補間するスパン変換部と、前記スパン変換部によって補間されたLOD値に基づいて、さまざまな解像度のテクスチャのうちいずれか一つを前記フラグメントそれぞれにマッピングするテクスチャマッピング部とを備える。
本発明によれば、ポリゴンの頂点に相当するフラグメントそれぞれのLOD値を計算し、該LOD値から残りのフラグメントそれぞれのLOD値を補間することで、LOD値計算過程での演算量を大幅減少させることが可能であり、その結果、3次元レンダリングシステム全体の電力消耗を減少させることができる。特に、本発明によれば、既存のパラメータ値を補間する技法と同じ技法でLOD値を補間することで、LOD値計算に必要な回路素子の追加を最小化することができる。
以下では、図面を参照して本発明の望ましい実施形態を詳細に説明する。
図2は、本発明の望ましい一実施形態によるラスタライザ2の構成図である。図2を参照するに、本実施形態によるラスタライザ2は、スパン変換部21、テクスチャマッピング部22、アルファテスト部23、深さテスト部24、及びカラーブレンディング部25から構成される。一般的に、ラスタライザ2は、モニターのスクリーン上にある物体を3次元グラフィックにレンダリングする3次元レンダリングシステムの一部であって、スクリーン上のピクセルそれぞれの値を決定する装置を意味する。
このラスタライザ2の処理前に物体に対する幾何学的処理が先行されなければならないが、この幾何学的処理過程を通じて物体が所定のポリゴンに分割され、このポリゴンを構成するフラグメントそれぞれのパラメータが決定される。このフラグメントそれぞれのパラメータは、所定のポリゴンの単位で分割された客体を3次元グラフィックにレンダリングするためのフラグメント単位情報であり、ポリゴンを構成するフラグメントそれぞれの深さ値(z)とカラー値(r、g、b、a)及びフラグメントそれぞれにマッピングされるテクスチャの座標値(s、t)などを含む。ここで、rは赤色、gは緑色、bは青色、aは透明度を意味する。また、sとtは、テクスチャの正規化された座標値を意味し、0または1である。
一般的に、レンダリング計算量を減らすために、さまざまな形態のポリゴンのうち最も単純な形態の三角形が主に利用される。以下では、ポリゴンを三角形と特定し、本実施形態を説明する。但し、当業者であれば、三角形以外の他の形態のポリゴンも本実施形態に適用できるということを理解できるであろう。
スパン変換部21は、三角形を構成するフラグメントそれぞれのパラメータの値を決定する。さらに詳細に説明すれば、スパン変換部21は、頂点バッファ1から三角形を構成するフラグメントのうち、三角形の三つの頂点の座標値を入力され、前記の式(1)を利用して該三角形の三つの頂点に相当するフラグメントそれぞれのパラメータ値を計算する。また、スパン変換部21は、該パラメータ値から三角形の頂点に相当するフラグメントを除外した残りのフラグメントそれぞれのパラメータ値を補間する。
特に、本実施形態によれば、スパン変換部21は、三角形を構成するフラグメントのうち。三角形の三つの頂点に相当するフラグメントそれぞれのLOD値を計算し、前記した既存のパラメータ値を補間する技法と同じ技法で該LOD値から三角形の頂点に相当するフラグメントを除外した残りのフラグメントそれぞれのLOD値を補間する。すなわち、スパン変換部21は、前記した既存のパラメータ値を補間する技法によって三角形の三つの頂点に相当するフラグメントそれぞれのLOD値の変化度を計算し、該LOD値の変化度を利用してフラグメントそれぞれのLOD値を補間する。このように、スパン変換部21は、従来のスパン変換過程とは違って、既存のパラメータと共にLOD値の計算も行う。従来にはLOD値計算をテクスチャマッピング段階で行った。
図3は、図2に示すスパン変換部21の詳細構成図である。図3を参照するに、図2に示すスパン変換部21は、ポリゴン処理部31、エッジ処理部32、及びスパン処理部33から構成される。
ポリゴン処理部31は、三角形の三つのエッジのうち、y座標値が最小である頂点を初めとする両エッジに対して、三角形の三つの頂点に相当するフラグメントそれぞれのパラメータ値から三角形のx軸上のパラメータ値の変化度と、y軸上のパラメータ値の変化度とを計算する。特に、本実施形態によれば、ポリゴン処理部31は、このような既存のパラメータに対するポリゴン処理技法と同じ技法でフラグメントそれぞれのLOD値を計算する。すなわち、ポリゴン処理部31は、三角形を構成するフラグメントのうち、三角形の三つの頂点に相当するフラグメントそれぞれのLOD値を計算し、三角形の三エッジのうち、y座標の値が最小である頂点を初めとする両エッジに対して、三角形の三つの頂点に相当するフラグメントそれぞれのLOD値から三角形のx軸上のLOD値の変化度と、y軸上のLOD値の変化度とを計算する。
例えば、ポリゴン処理部31は、次のような過程を通じて、三角形のx軸上のLOD値の変化度とy軸上のLOD値の変化度とを計算できる。
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値の変化度である。
エッジ処理部32は、三角形を構成する各スパンに対してポリゴン処理部31により計算されたx軸上のパラメータ値の変化度とy軸上のパラメータ値の変化度とを利用して、三角形の両エッジに相当するフラグメントそれぞれのパラメータ値を計算し、各スパンを構成するフラグメント間のパラメータ値差を計算する。ここで、スパンは、三角形の両エッジに相当するフラグメントそれぞれを終端点とするフラグメントの横集合を意味する。
特に、本実施形態によれば、エッジ処理部32は、このような既存のパラメータに対するエッジ処理技法と同じ技法で、三角形の両エッジに相当するフラグメントそれぞれのLOD値を計算し、各スパンを構成するフラグメント間のLOD値差を計算する。すなわち、エッジ処理部32は、三角形を構成する各スパンに対して、ポリゴン処理部31によって計算されたx軸上のLOD値変化度とy軸上のLOD値変化度とを利用して、ポリゴンのエッジに相当するフラグメントそれぞれのLOD値を計算し、各スパンを構成するフラグメント間のLOD値差を計算する。
例えば、エッジ処理部32は、次のような過程を通じて、三角形のエッジに相当するフラグメントそれぞれのLOD値を計算し、各スパンを構成するフラグメント間のLOD値差を計算する。
三角形を構成する各スパンに対して
{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値を計算したのである。
また、“fdxOuter”は、現在計算中のエッジの変化度dx/dyを意味する。したがって、“fdλOuter”は、2*dλ/dyとなり、“fdλInner”は、2*dλ/dy+dλ/dxとなる。この二値は、現在計算中のスパンに対してLOD計算を終了し、他のスパンに対してLOD値計算を始めようとする時、下記のスパン処理過程で利用される。
スパン処理部33は、三角形を構成する各スパンに対してエッジ処理部32によって計算されたエッジに相当するフラグメントそれぞれのパラメータ値、及び各スパンを構成するフラグメント間のパラメータ値差を利用して、各スパンを構成するフラグメントそれぞれのパラメータ値を計算する。特に、本実施形態によれば、スパン処理部33は、このような既存のパラメータに対するスパン処理技法と同じ技法で、各スパンを構成するフラグメントそれぞれのLOD値を計算する。すなわち、スパン処理部33は、三角形を構成する各スパンに対してエッジ処理部32によって計算されたエッジに相当するフラグメントそれぞれのLOD値、及び各スパンを構成するフラグメント間のLOD値差を利用して、各スパンを構成するフラグメントそれぞれのLOD値を計算する。
例えば、スパン処理部33は、次のような二つの過程を通じて、各スパンを構成するフラグメントそれぞれのLOD値を計算する。1番目の過程は、現在スパンから次のスパンにLOD値計算が移動する時に行われる過程を意味し、2番目の過程は、三角形を構成する各スパンに対して行われる過程を意味する。
現在スパンから次のスパンに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値に割り当てられた所定ビット量を超える時に行われる過程である。
2番目の過程は、y値を1ずつ増加させながらfλに単位変化量に相当する“dλ/dx”を加算することによって、いずれか一つのスパンを構成するフラグメントそれぞれのLOD値を計算する過程を意味する。本実施形態が属する技術分野で通常の知識を持つ者であれば、前記の内容に基づいてx値を1ずつ増加させながら、fλに単位変化量に相当する“dλ/dy”を加算することによって、フラグメントそれぞれのLOD値を計算する方式を容易に具現できるということが理解できるであろう。
テクスチャマッピング部22は、ミップマップ(Mipmap)方式により、スパン変換部21によって計算または補間されたフラグメントそれぞれのLOD値によって、さまざまな解像度のテクスチャのうちいずれか一つをフラグメントそれぞれにマッピングする。さらに詳細に説明すれば、テクスチャマッピング部22は、あるフラグメントのLOD値が高ければ、さまざまな解像度のテクスチャのうち、高解像度のテクスチャを該フラグメントにマッピングし、あるフラグメントのLOD値が低ければ、さまざまな解像度のテクスチャのうち、低解像度のテクスチャを該フラグメントにマッピングする。このようなテクスチャマッピング過程を通じて、物体の表面にテクスチャに該当するイメージが貼り付けられる。
アルファテスト部23は、スパン変換部21によって計算または補間されたフラグメントそれぞれのパラメータ値のうち、アルファ値aを所定の基準値と比較し、この比較結果に基づいて、各フラグメントが透明であるか否かを決定する。
深さテスト部24は、スパン変換部21によって計算または補間されたフラグメントそれぞれのパラメータ値のうち、深さ値zが深さバッファ(図示せず)に保存された深さ値より小さな場合に、この深さ値zで深さバッファの値を更新する。
カラーブレンディング部25は、スパン変換部21によって計算または補間されたフラグメントそれぞれのパラメータ値と、ピクセルバッファ(図示せず)に保存されたカラー値とを混ぜることによって、フラグメントそれぞれに対応するスクリーン上のピクセルそれぞれの最終値を出力する。特に、カラーブレンディング部25は、テクスチャマッピング部22によってマッピングされたテクスチャ、アルファテスト部23によって決定された透明度、及び深さテスト部24によって更新された深さ値が反映されたピクセルそれぞれの最終値をフレームバッファ3に出力する。
図4は、本発明の望ましい一実施形態による3次元レンダリング方法のフローチャートである。図4を参照するに、本実施形態による3次元レンダリング方法は、図2に示すラスタライザ2で経時的に処理される段階で構成される。したがって、以下に省略された内容であっても、図2に示すラスタライザに関して前述した内容は、本実施形態による3次元レンダリング方法にも適用される。
41段階において、ラスタライザ2は、頂点バッファ1から三角形を構成するフラグメントのうち、三角形の三つの頂点の座標値を入力され、前記の式(1)を利用して該三角形の三つの頂点に相当するフラグメントそれぞれのパラメータ値及びLOD値を計算する。また、41段階において、ラスタライザ2は、該パラメータ値及びLOD値から三角形の頂点に相当するフラグメントを除外した残りのフラグメントそれぞれのパラメータ値及びLOD値を補間する。
42段階において、ラスタライザ2は、ミップマップ方式により、41段階で計算または補間されたフラグメントそれぞれのLOD値によって、さまざまな解像度のテクスチャのうちいずれか一つをフラグメントそれぞれにマッピングする。
43段階において、ラスタライザ2は、41段階で計算または補間されたフラグメントそれぞれのパラメータ値のうち、アルファ値aを所定の基準値と比較し、この比較結果に基づいて、各フラグメントが透明であるか否かを決定する。
44段階において、ラスタライザ2は、41段階で計算または補間されたフラグメントそれぞれのパラメータ値のうち、深さ値zが深さバッファに保存された深さ値より小さな場合に、該深さ値zで深さバッファの値を更新する。
45段階において、ラスタライザ2は、41段階で計算または補間されたフラグメントそれぞれのパラメータ値と、ピクセルバッファに保存されたカラー値とを混ぜることによって、42段階でマッピングされたテクスチャ、43段階で決定された透明度、及び44段階で更新された深さ値が反映されたピクセルそれぞれの最終値をフレームバッファ3に出力する。
図5は、本発明の望ましい一実施形態によるスパン変換方法のフローチャートである。図5を参照するに、本実施形態によるスパン変換方法は、図5に示すスパン変換方法で経時的に処理される段階で構成される。したがって、以下に省略された内容であっても、図3に示すスパン変換部21に関して前述した内容は、本実施形態によるスパン変換方法にも適用される。
51段階において、スパン変換部21は、三角形を構成するフラグメントのうち、三角形の三つの頂点に相当するフラグメントそれぞれのLOD値を計算する。
52段階において、スパン変換部21は、三角形の三エッジのうち、y座標値が最小である頂点を初めとする両エッジに対して、三角形の三つの頂点に相当するフラグメントそれぞれのパラメータ値及びLOD値から三角形のx軸上のパラメータ値の変化度及びLOD値の変化度、y軸上のパラメータ値の変化度及びLOD値の変化度を計算する。
53段階において、スパン変換部21は、三角形を構成する各スパンに対して、52段階で計算されたx軸上のパラメータ値の変化度及びLOD値の変化度、y軸上のパラメータ値の変化度及びLOD値の変化度を利用して、三角形の両エッジに相当するフラグメントそれぞれのパラメータ値及びLOD値を計算し、各スパンを構成するフラグメント間のパラメータ値差及びLOD値差を計算する。
54段階において、スパン変換部21は、三角形を構成する各スパンに対して、53段階で計算されたエッジに相当するフラグメントそれぞれのパラメータ値及びLOD値、各スパンを構成するフラグメント間のパラメータ値差及びLOD値差を利用して、各スパンを構成するフラグメントそれぞれのパラメータ値及びLOD値を計算する。
図6は、従来のLOD計算技法による総演算回数を示す図である。図6に示す“s”と“t”は、テクスチャの正規化された座標値を意味し、0または1である。また、図6に示す“q”は、遠近による校正データを意味し、“invQ”は、1/qである。また、図6に示す“width”と”height“は、テクスチャの横サイズ及び縦サイズを意味する。
図6を参照するに、従来のLOD値計算技法による総演算回数は、三角形を構成するフラグメント数*{(10,4,12,4)、ルート2回、比較1回、ログ1回}となる。(10,4,12,4)は、フラグメント当たり(+,−,*,/)演算回数を意味する。
図7は、従来の他のLOD値計算技法による総演算回数を示す図である。図7を参照するに、従来のLOD値計算技法による総演算回数は、三角形を構成するフラグメント数*{(8,4,6,4)、ABS4回、比較3回、ログ1回}となる。(8,4,6,4)は、フラグメント当たり(+,−,*,/)演算回数を意味する。
図6に示すLOD値計算技法と図7に示すLOD値計算技法とを比較してみれば、図6に示すLOD値計算技法に比べて図7に示すLOD値計算技法の演算量が少ない。したがって、以下では、図7に示すLOD計算技法と本実施形態によるLOD値計算過程での演算量とを比較する。
図8は、本発明の望ましい一実施形態によるLOD値計算過程での総演算回数を示す図である。図8を参照するに、本発明の望ましい一実施形態によるLOD値計算過程での総演算回数は、前記のポリゴン処理過程、エッジ処理過程、及びスパン処理過程それぞれでの演算回数をいずれも合わせた値であり、(131,16,58,0)、ABS12回、比較18回、ログ3回となる。
図9は、図7に示すLOD計算技法と本実施形態によるLOD値計算過程での演算量の比較表を示す図である。図9で“V”は、ポリゴンを構成する頂点の数を意味し、“F”は、ポリゴンを構成するフラグメント数を意味し、“S”は、ポリゴンを構成するスパン数を意味する。
図10は、図9に示す比較表でフラグメント数を25と仮定した場合の総演算回数を示す図である。
図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値計算過程での演算量が大幅減少することが分かる。
一方、前述した本発明の実施形態は、コンピュータで実行できるプログラムで作成可能であり、コンピュータで読み取り可能な記録媒体を利用して前記プログラムを動作させる汎用デジタルコンピュータで具現できる。また、前述した本発明の実施形態で使われたデータの構造は、コンピュータで読み取り可能な記録媒体にいろいろな手段を通じて記録できる。
前記コンピュータで読み取り可能な記録媒体は、マグネチック記録媒体(例えば、ROM、フロッピー(登録商標)ディスク、ハードディスクなど)、光学的判読媒体(例えば、CD−ROM、DVDなど)及びキャリアウェーブ(例えば、インターネットを通じた伝送)のような記録媒体を含む。
これまで本発明についてその望ましい実施形態を中心に説明した。当業者ならば本発明が本発明の本質的な特性から逸脱しない範囲で変形された形態に具現されるということを理解できる。したがって、開示された実施形態は限定的な観点ではなく説明的な観点で考慮されねばならない。本発明の範囲は、前述した説明ではなく特許請求の範囲に現れており、それと同等な範囲内にあるあらゆる差異点は本発明に含まれていると解釈されねばならない。
本発明は、3次元にレンダリング関連の技術分野に好適に用いられる。
一般的なポリゴンに相当する三角形を構成するそれぞれのフラグメントを示す図である。 本発明の望ましい一実施形態によるラスタライザの構成図である。 図2に示すスパン変換部の詳細構成図である。 本発明の望ましい一実施形態による3次元レンダリング方法のフローチャートである。 本発明の望ましい一実施形態によるスパン変換方法のフローチャートである。 従来のLOD計算技法による総演算回数を示す図である。 従来の他のLOD値計算技法による総演算回数を示す図である。 本発明の望ましい一実施形態によるLOD値計算過程での総演算回数を示す図である。 図7に示すLOD計算技法と本実施形態によるLOD値計算過程での演算量の比較表を示す図である。 図9に示す比較表でフラグメント数を25と仮定した場合の総演算回数を示す図である。
符号の説明
1 頂点バッファ
2 ラスタライザ
3 フレームバッファ
21 スパン変換部
22 テクスチャマッピング部
23 アルファテスト部
24 深さテスト部
25 カラーブレンディング部
31 ポリゴン処理部
32 エッジ処理部
33 スパン処理部

Claims (14)

  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値に基づいて、さまざまな解像度のテクスチャのうちいずれか一つを前記フラグメントそれぞれにマッピングするテクスチャマッピング部と、を備えることを特徴とするレンダリングシステム。
JP2007217021A 2006-08-29 2007-08-23 省エネのためのlod値計算方法とこれを利用した3次元レンダリングシステム Pending JP2008059582A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060082498A KR100745768B1 (ko) 2006-08-29 2006-08-29 전력 소비를 감소시키기 위한 lod 값 계산 방법과이것을 이용한 3차원 렌더링 시스템

Publications (1)

Publication Number Publication Date
JP2008059582A true JP2008059582A (ja) 2008-03-13

Family

ID=38601791

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007217021A Pending JP2008059582A (ja) 2006-08-29 2007-08-23 省エネのためのlod値計算方法とこれを利用した3次元レンダリングシステム

Country Status (4)

Country Link
US (1) US20080055335A1 (ja)
JP (1) JP2008059582A (ja)
KR (1) KR100745768B1 (ja)
CN (1) CN101136107A (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102663801B (zh) * 2012-04-19 2015-07-01 北京天下图数据技术有限公司 一种提高三维模型渲染性能的方法
KR102329475B1 (ko) 2014-08-27 2021-11-19 삼성전자주식회사 렌더링 퀄리티 제어 장치 및 방법
KR102197064B1 (ko) 2014-10-10 2020-12-30 삼성전자 주식회사 Lod를 조절할 수 있는 그래픽스 프로세싱 유닛, 이의 작동 방법, 및 상기 그래픽스 프로세싱 유닛을 포함하는 장치들
KR102313020B1 (ko) 2014-11-27 2021-10-15 삼성전자주식회사 그래픽스 프로세싱 유닛과 이를 포함하는 장치
KR102477265B1 (ko) * 2015-09-24 2022-12-13 삼성전자주식회사 그래픽스 프로세싱 장치 및 그래픽스 파이프라인의 텍스쳐링을 위한 LOD(level of detail)를 결정하는 방법
US10643381B2 (en) * 2016-01-12 2020-05-05 Qualcomm Incorporated Systems and methods for rendering multiple levels of detail
US11043028B2 (en) * 2018-11-02 2021-06-22 Nvidia Corporation Reducing level of detail of a polygon mesh to decrease a complexity of rendered geometry within a scene
US10657699B1 (en) * 2018-12-08 2020-05-19 Arm Limited Performing texturing operations for sets of plural execution threads in graphics processing systems
CN112884873B (zh) * 2021-03-12 2023-05-23 腾讯科技(深圳)有限公司 虚拟环境中虚拟物体的渲染方法、装置、设备及介质

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09326035A (ja) * 1996-04-04 1997-12-16 Sony Corp テクスチャアドレス算出方法及び算出装置並びにレンダリング装置
US6005583A (en) * 1997-04-30 1999-12-21 Hewlett-Packard Company Precise gradient calculation system and method for a texture mapping system of a computer graphics system
JP2001092989A (ja) * 1999-07-21 2001-04-06 Sega Corp 画像処理方法及びその装置
US20010020948A1 (en) * 1998-04-16 2001-09-13 Piazza Thomas A. Method and apparatus for effective level of detail selection
JP2003515798A (ja) * 1998-08-20 2003-05-07 アップル コンピュータ インコーポレイテッド 進歩したディファード・シェーディング・グラフィクス・パイプライン・プロセッサ
US20040036692A1 (en) * 2002-08-23 2004-02-26 Byron Alcorn System and method for calculating a texture-mapping gradient
WO2005089403A2 (en) * 2004-03-17 2005-09-29 Seadragon Software, Inc. Methods and apparatus for navigating an image
US6987517B1 (en) * 2004-01-06 2006-01-17 Nvidia Corporation Programmable graphics processor for generalized texturing
US7079156B1 (en) * 2004-05-14 2006-07-18 Nvidia Corporation Method and system for implementing multiple high precision and low precision interpolators for a graphics pipeline
JP2006216059A (ja) * 2005-02-03 2006-08-17 Samsung Electronics Co Ltd グラフィックイメージ変換方法、グラフィックモデル生成方法、vrmlモデル生成方法、及びその装置、三角形崩壊方法、並びに、記録媒体

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IL72685A (en) * 1983-08-30 1988-08-31 Gen Electric Advanced video object generator
US4692880A (en) * 1985-11-15 1987-09-08 General Electric Company Memory efficient cell texturing for advanced video object generator
US4811245A (en) * 1985-12-19 1989-03-07 General Electric Company Method of edge smoothing for a computer image generation system
KR100313846B1 (ko) 1996-04-16 2001-12-28 윤종용 바이리니어밉매핑에서의상세도(lod)계산방법및장치
EP0923760B1 (en) * 1997-06-06 2005-11-16 Koninklijke Philips Electronics N.V. Noise reduction in an image
US6104407A (en) * 1997-09-23 2000-08-15 Ati Technologies, Inc. Method and apparatus for processing fragment pixel information in a three-dimensional graphics processing system
US6954204B2 (en) * 2002-07-18 2005-10-11 Nvidia Corporation Programmable graphics system and method using flexible, high-precision data formats
US7190366B2 (en) * 2004-05-14 2007-03-13 Nvidia Corporation Method and system for a general instruction raster stage that generates programmable pixel packets
US7538773B1 (en) * 2004-05-14 2009-05-26 Nvidia Corporation Method and system for implementing parameter clamping to a valid range in a raster stage of a graphics pipeline

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09326035A (ja) * 1996-04-04 1997-12-16 Sony Corp テクスチャアドレス算出方法及び算出装置並びにレンダリング装置
US6005583A (en) * 1997-04-30 1999-12-21 Hewlett-Packard Company Precise gradient calculation system and method for a texture mapping system of a computer graphics system
US20010020948A1 (en) * 1998-04-16 2001-09-13 Piazza Thomas A. Method and apparatus for effective level of detail selection
JP2003515798A (ja) * 1998-08-20 2003-05-07 アップル コンピュータ インコーポレイテッド 進歩したディファード・シェーディング・グラフィクス・パイプライン・プロセッサ
JP2001092989A (ja) * 1999-07-21 2001-04-06 Sega Corp 画像処理方法及びその装置
US20040036692A1 (en) * 2002-08-23 2004-02-26 Byron Alcorn System and method for calculating a texture-mapping gradient
US6987517B1 (en) * 2004-01-06 2006-01-17 Nvidia Corporation Programmable graphics processor for generalized texturing
WO2005089403A2 (en) * 2004-03-17 2005-09-29 Seadragon Software, Inc. Methods and apparatus for navigating an image
US7079156B1 (en) * 2004-05-14 2006-07-18 Nvidia Corporation Method and system for implementing multiple high precision and low precision interpolators for a graphics pipeline
JP2006216059A (ja) * 2005-02-03 2006-08-17 Samsung Electronics Co Ltd グラフィックイメージ変換方法、グラフィックモデル生成方法、vrmlモデル生成方法、及びその装置、三角形崩壊方法、並びに、記録媒体

Also Published As

Publication number Publication date
KR100745768B1 (ko) 2007-08-02
US20080055335A1 (en) 2008-03-06
CN101136107A (zh) 2008-03-05

Similar Documents

Publication Publication Date Title
TWI570665B (zh) 電腦圖形系統及圖形處理方法
JP2008059582A (ja) 省エネのためのlod値計算方法とこれを利用した3次元レンダリングシステム
RU2324978C2 (ru) Системы и способы для обеспечения управляемой дискретизации текстуры
US7884825B2 (en) Drawing method, image generating device, and electronic information apparatus
CN106408634B (zh) 纹理处理设备和方法
JP7096661B2 (ja) キューブマップをテクスチャリングするためのlodを決定する方法、装置、コンピュータプログラム及び記録媒体
TW201541403A (zh) 用於紋理映射至非正交網格的梯度調整
JP5050786B2 (ja) 描画処理装置、描画処理方法および描画処理プログラム
JP5060830B2 (ja) 遠近補正を行う3次元グラフィック処理方法及び装置
EP3355279A1 (en) Method and computer programs for identifying differences between 3-dimensional scenes
US10134171B2 (en) Graphics processing systems
JP2010092479A (ja) グラフィックス処理システム
GB2526359A (en) Graphics processing systems
US11087511B1 (en) Automated vectorization of a raster image using a gradient mesh with arbitrary topology
KR100723421B1 (ko) 포인트 보간에 의한 렌더링 방법, 포인트 보간에 의한 렌더링 장치 및 기록매체
JP2005301414A (ja) 画像生成装置および画像生成方法
JP7460641B2 (ja) 光強度画像を生成するための装置及び方法
JP5106992B2 (ja) 霧効果を考慮して3次元グラフィックスデータをレンダリングする方法及び装置
JP4042377B2 (ja) 画像処理装置、および画像処理方法、並びにコンピュータ・プログラム
JP4106719B2 (ja) 画像処理装置
JP4224887B2 (ja) 信号処理装置および画像処理装置
JP4635379B2 (ja) 画像処理装置
JP2006113909A (ja) 画像処理装置、画像処理方法及び画像処理プログラム
JP4554834B2 (ja) 画像処理装置及び方法並びにそのプログラム
KR100927131B1 (ko) 안티 알리어싱 방법 및 장치

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100816

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110803

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111115

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120410