(57)【特許請求の範囲】
【請求項１】
複数のタイルで構成されたフレームに含まれた少なくとも１つのオブジェクトを対象とし、前記複数のタイルそれぞれをプレビニングするプレビニング部と、
前記プレビニングされたオブジェクトを対象とし、タイルごとに頂点シェーディングを実行する頂点シェーディング部と、
前記頂点シェーディングされたオブジェクトを対象として、タイル内のすべての頂点ごとにビューポートマッピングを実行するビューポートマッピング部と、
前記ビューポートマッピングされたオブジェクトを対象として、タイル内の頂点をプリミティブで構成するプリミティブ処理部と、
前記プリミティブを対象としてタイルビニングを実行するタイルビニング部と、
を含み、
前記タイルビニング部は、前記タイルビニングが実行されたオブジェクトにビニングフラグを設定し、
前記ビニングフラグが設定されたオブジェクトには、前記頂点シェーディング部、前記ビューポートマッピング部、前記プリミティブ処理部及び前記タイルビニング部による幾何学処理が実行されない、
ことを特徴とするレンダリング装置。
【請求項２】
前記プレビニング部は、
前記複数のタイルで構成されたフレームに含まれた少なくとも１つのオブジェクトに対応するバウンディングボリュームを生成し、前記生成されたバウンディングボリュームを用いて前記複数のタイルそれぞれをプレビニングする請求項１に記載のレンダリング装置。
【請求項３】
前記プレビニング部は、
前記少なくとも１つのオブジェクトが含まれるように前記バウンディングボリュームを生成する請求項２に記載のレンダリング装置。
【請求項４】
前記プレビニング部は、
前記複数のタイルのうちから選択された少なくとも１つのタイルに前記生成されたバウンディングボリュームの一部または全体がオーバラップするか否かを判別して前記プレビニングを実行する請求項２に記載のレンダリング装置。
【請求項５】
前記ビニングフラグが設定されたオブジェクトには、前記頂点シェーディング、前記ビューポートマッピング、前記プリミティブ構成、および前記タイルビニングが実行されないことを特徴とする請求項１に記載のレンダリング装置。
【請求項６】
前記タイルビニングを実行したオブジェクトに対して、プリミティブからフラグメントを生成するフラグメント生成部と、
前記生成されたフラグメントを対象としてピクセルシェーディングを実行するピクセルシェーディング部と、
前記シェーディングされたフラグメントを対象としてラスター演算を実行するラスター演算部と、
をさらに含む請求項１に記載のレンダリング装置。
【請求項７】
前記ラスター演算部は、
前記オブジェクトに対してラスター演算が実行されれば、前記オブジェクトのタイルビニング情報および前記頂点シェーディング部、前記ビューポートマッピング部、前記プリミティブ処理部及び前記タイルビニング部による幾何学処理結果を削除することを特徴とする請求項６に記載のレンダリング装置。
【請求項８】
複数のタイルで構成されたフレームに含まれた少なくとも１つのオブジェクトを対象とし、前記複数のタイルそれぞれをプレビニングするステップと、
前記プレビニングされたオブジェクトを対象として、タイルごとに頂点シェーディングを実行するステップと、
前記頂点シェーディングされたオブジェクトを対象として、タイル内のすべての頂点ごとにビューポートマッピングを実行するステップと、
前記ビューポートマッピングされたオブジェクトを対象として、タイル内の頂点をプリミティブで構成するステップと、
前記プリミティブを対象としてタイルビニングを実行するステップと、
を含み、
前記タイルビニングを実行するステップは、前記タイルビニングが実行されたオブジェクトにビニングフラグを設定し、
前記ビニングフラグが設定されたオブジェクトには、前記頂点シェーディング、前記ビューポートマッピング、前記プリミティブ構成、および前記タイルビニングによる幾何学処理が実行されない、
コンピュータ・ソフトウェアによるレンダリング方法。
【請求項９】
前記プレビニングするステップは、
前記複数のタイルで構成されたフレームに含まれた少なくとも１つのオブジェクトに対応するバウンディングボリュームを生成し、前記生成されたバウンディングボリュームを用いて前記複数のタイルそれぞれをプレビニングする請求項８に記載のレンダリング方法。
【請求項１０】
前記プレビニングするステップは、
前記少なくとも１つのオブジェクトが含まれるように前記バウンディングボリュームを生成する請求項９に記載のレンダリング方法。
【請求項１１】
前記プレビニングするステップは、
前記複数のタイルのうちから選択された少なくとも１つのタイルに前記生成されたバウンディングボリュームの一部または全体がオーバラップするか否かを判別して前記プレビニングを実行する請求項９に記載のレンダリング方法。
【請求項１２】
前記ビニングフラグが設定されたオブジェクトには、前記頂点シェーディング、前記ビューポートマッピング、前記プリミティブ構成、および前記タイルビニングが実行されないことを特徴とする請求項８に記載のレンダリング方法。
【請求項１３】
前記タイルビニングを実行したオブジェクトに対して、プリミティブからフラグメントを生成するステップと、
前記生成されたフラグメントを対象としてピクセルシェーディングを実行するステップと、
前記シェーディングされたフラグメントを対象としてラスター演算を実行するステップと、
をさらに含む請求項８に記載のレンダリング方法。
【請求項１４】
前記ラスター演算が実行されれば、前記オブジェクトのタイルビニング情報および前記頂点シェーディング、前記ビューポートマッピング、前記プリミティブ構成、および前記タイルビニングによる幾何学処理結果を削除することを特徴とする請求項１３に記載のレンダリング方法。
【請求項１５】
前記プリミティブは、三角形、四角形、または多角形を含む請求項１４に記載のレンダリング方法。
【請求項１６】
コンピューターに、請求項８〜１５のうちのいずれか一項の方法を実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
下記の実施形態は、多数のグラフィックス演算を用いてフレームに含まれたオブジェクトをレンダリングする技術に関する。
【背景技術】
【０００２】
３次元グラフィックスを用いれば、２次元で表示される表示装置でもよりリアルに３次元モデルを表現できるという効果があるため、３次元グラフィックスを用いて情報を提供する研究が進められている。
【０００３】
特に、３次元グラフィックスで３次元モデルを表現する場合にも、ユーザが確認することができる表示装置は２次元画面であるため、３次元モデルをユーザの視点から見た２次元画面に変換する過程が必要となる。このように、３次元モデルを２次元画面に変換する過程中に、多数のグラフィックス演算が用いられる。
【０００４】
このとき、画面をタイルという小さな基本単位に分けてレンダリングするタイルベースレンダリング方法は、幾何学処理（Ｇｅｏｍｅｔｒｙ  Ｐｒｏｃｅｓｓｉｎｇ）に必要なメモリ空間を予測することが困難である。さらに、幾何学処理に対する結果の量が多く、内部メモリだけではなく外部メモリにも格納せざるを得ない。さらに、タイルの大きさが小さい場合には格納すべき幾何学処理結果量が増加し、外部メモリの使用量が増加するようになる。
【０００５】
これにより、レンダリング実行のために要求される内部および外部メモリ空間の使用量を減少させるための研究が活発に進められている。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明は、上述した従来技術の問題点を解決するために案出されたものであって、幾何学処理を実行する前にプレビニング（Ｐｒｅ−Ｂｉｎｎｉｎｇ）を実行することにより、メモリ使用量を減少させることを目的とする。
【０００７】
また、本発明は、ビニングフラグ（Ｂｉｎｎｉｎｇ  Ｆｌａｇ）を用いて既に幾何学処理が完了したオブジェクトに対しては幾何学処理を実行しないことにより、プレビニングによって発生することがある重複演算を防ぎ、性能低下を最小化することを他の目的とする。
【課題を解決するための手段】
【０００８】
本発明の一実施形態に係るレンダリング装置は、複数のタイルで構成されたフレームに含まれた少なくとも１つのオブジェクト（Ｏｂｊｅｃｔ）を対象とし、複数のタイルそれぞれをプレビニングするプレビニング部と、プレビニングされたオブジェクトを対象とし、タイルごとに頂点シェーディングを実行する頂点シェーディング部と、頂点シェーディングされたオブジェクトを対象とし、タイル内のすべての頂点（Ｖｅｒｔｅｘ）ごとにビューポートマッピングを実行するビューポートマッピング部と、ビューポートマッピングされたオブジェクトを対象とし、タイル内の頂点をプリミティブ（Ｐｒｉｍｉｔｉｖｅ）で構成するプリミティブ処理部と、プリミティブを対象としてタイルビニングを実行するタイルビニング部とを含むことができる。
【０００９】
このとき、複数のタイルで構成されたフレームに含まれた少なくとも１つのオブジェクトに対応するバウンディングボリューム（Ｂｏｕｎｄｉｎｇ  Ｖｏｌｕｍｅ）を生成し、生成されたバウンディングボリュームを用いて複数のタイルのそれぞれをプレビニングすることができる。ここで、プレビニング部は、少なくとも１つのオブジェクトが含まれるようにバウンディングボリュームを生成することができる。
【００１０】
また、タイルビニング部は、タイルビニングが実行されたオブジェクトにビニングフラグを設定することができる。このとき、ビニングフラグが設定されたオブジェクトには、幾何学処理が実行されなくてもよい。さらに、ビニングフラグが設定されたオブジェクトには、頂点シェーディング、ビューポートマッピング、プリミティブ構成、およびタイルビニングが実行されなくてもよい。
【００１１】
また、タイルビニングを実行したオブジェクトに対して、プリミティブからフラグメントを生成するフラグメント処理部と、生成されたフラグメントを対象としてピクセルシェーディングを実行するピクセルシェーディング部と、シェーディングされたフラグメントを対象としてラスター演算を実行するラスター演算部とをさらに含むことができる。
【００１２】
本発明の一実施形態に係るレンダリング方法は、複数のタイルで構成されたフレームに含まれた少なくとも１つのオブジェクトを対象として、前記複数のタイルそれぞれをプレビニングするステップと、プレビニングの実行後、前記複数のタイルのうちから選択された少なくとも１つのタイルに含まれた少なくとも１つのオブジェクトを対象として幾何学処理を実行するステップとを含むことができる。
【発明の効果】
【００１３】
本発明の実施形態に係るレンダリング装置および方法は、幾何学処理を実行する前にプレビニングを実行することにより、メモリ使用量を減少させることができる。
【００１４】
また、本発明の実施形態に係るレンダリング装置および方法は、ビニングフラグを用いて予め幾何学処理が完了したオブジェクトに対しては幾何学処理を実行しないことにより、プレビニングによって発生することがある重複演算を防ぎ、性能低下を最小化することができる。
【図面の簡単な説明】
【００１５】
【図１】プレビニングを実行するレンダリング装置を示す構成図である。
【図２】プレビニングを説明するために示す図である。
【図３】タイルビニングを説明するために示す図である。
【図４】プレビニングの動作を説明するために示すフローチャートである。
【発明を実施するための形態】
【００１６】
以下、本発明に係る実施形態について、添付の図面を参照しながら詳細に説明する。ただし、本発明の説明において、関連する公知技術あるいは構成に対する具体的な説明が本発明の要旨を不必要に不明瞭にすると判断される場合には、それに対する詳細な説明を縮約したり省略する。
【００１７】
図１は、プレビニングを実行するレンダリング装置を示す構成図である。以下では、説明の便宜のために、１つのフレームに複数のオブジェクトが含まれた場合を例示して説明する。
【００１８】
図１を参照すれば、レンダリング装置１００は、プレビニング部１１０と、頂点シェーディング部１２０と、ビューポートマッピング部１３０と、プリミティブ処理部１４０と、タイルビニング部１５０と、ラスター処理部１６０と、格納部１７０とを含むことができる。
【００１９】
まず、プレビニング部１１０は、フレームを複数のタイルに分割し、フレームに含まれたオブジェクトの一部または全体とオーバラップ（ｏｖｅｒｌａｐ）するタイルを判別するために、分割したタイルそれぞれをプレビニングすることができる。すなわち、プレビニング部１１０は、フレームを構成する複数のタイルそれぞれに対してプレビニングを実行することができる。
【００２０】
このとき、プレビニング部１１０は、フレームに含まれた複数のオブジェクトそれぞれに対応するバウンディングボリュームを生成することができる。これにより、プレビニング部１１０は、生成されたバウンディングボリュームの一部または全体を含むタイルを判別するために、分割したタイルそれぞれに対してプレビニングを実行することができる。
【００２１】
すなわち、図２によれば、プレビニング部１１０は、第１〜７バウンディングボリューム２１０〜２７０を生成することができる。ここで、プレビニング部１１０は、各バウンディングボリュームに該当するオブジェクトが含まれるように、オブジェクトよりもバウンディングボリュームを大きく生成することができる。
【００２２】
一例として、図２のように、１つのフレームが２４個のタイルで構成された場合、プレビニング部１１０は、２４個のタイルのうちから選択されたタイルに７個のバウンディングボリュームの一部または全体がオーバラップするか否かをそれぞれプレビニングすることができる。
【００２３】
このようなプレビニング過程を２４個のタイル全体に実行することにより、プレビニング部１１０は２４個のタイルそれぞれのオブジェクトビニング情報（Ｏｂｊｅｃｔ  Ｂｉｎｎｉｎｇ  Ｉｎｆｏｒｍａｔｉｏｎ）を取得し、取得されたオブジェクトビニング情報を格納部１７０に格納することができる。ここで、オブジェクトビニング情報は、タイル番号、タイルに含まれるオブジェクトの種類、およびオブジェクトそれぞれに該当する文脈情報（Ｒｅｎｄｅｒｉｎｇ  Ｃｏｎｔｅｘｔ）を含むことができる。
【００２４】
すなわち、図２を参照すれば、タイル８が選択された場合を例示すれば、プレビニング部１１０は、タイル８に含まれる第１および第２オブジェクト２１０、２２０と、第１および第２オブジェク２１０、２２０それぞれの文脈情報（Ｃｏｎｔｅｘｔ  Ａ、Ｃｏｎｔｅｘｔ  Ｂ）をタイル８のオブジェクトビニング情報として格納部１７０に格納することができる。このとき、プレビニング部１１０は、フレームを構成する２４個のタイルをＺ方向、上、下、左、右、対角線方向、無作為方向、および予め設定された方向で選択することができる。
【００２５】
同じ方法により、プレビニング部１１０は、タイル０〜７およびタイル９〜２３それぞれに対応するオブジェクトビニング情報を取得して格納部１７０に格納することができる。
【００２６】
頂点シェーディング部１２０は、プレビニングされたオブジェクトを対象とし、タイルごとに頂点シェーディングを実行することができる。
【００２７】
ビューポートマッピング部１３０は、頂点シェーディングされたオブジェクトが表示（図示せず）上のビューポート（図示せず）にマッピングするように頂点シェーディングされたオブジェクトを対象とし、タイル内のすべての頂点ごとにビューポートマッピングを実行することができる。ここで、頂点シェーディングおよびビューポートマッピングは周知の技術であるため、詳しい説明は省略する。
【００２８】
このとき、頂点シェーディング部１２０およびビューポートマッピング部１３０は、タイル内のすべての頂点ごとに実行された幾何学処理結果を格納部１７０に格納することができる。すなわち、頂点シェーディングおよびビューポートマッピングされたオブジェクトに該当する幾何学処理結果を格納部１７０に格納することができる。
【００２９】
プリミティブ処理部（Ｐｒｉｍｉｔｉｖｅ  Ａｓｓｅｍｂｌｙ  Ｕｎｉｔ）１４０は、ビューポートマッピングされたオブジェクトを対象とし、タイル内の頂点をプリミティブで構成することができる。一例として、プリミティブは、三角形を含むことができる。
【００３０】
タイルビニング部（Ｔｉｌｅ  ｂｉｎｎｉｎｇ)１５０は、頂点ごとにビューポートマッピングされたオブジェクト内のプリミティブを対象とし、タイルビニングを実行することができる。
【００３１】
このとき、タイルビニング部１５０は、プリミティブ処理によって選択されたタイルそれぞれに対してプリミティブ単位でタイルビニングを実行することができる。ここで、タイルビニング部１５０は、フレームを構成するタイルをＺ方向、上、下、左、右、対角線方向、無作為方向、および予め設定された方向で選択してタイルビニングを実行することができる。
【００３２】
また、タイルビニング部１５０は、プリミティブを用いて幾何学処理されたオブジェクトの一部または全体を含むタイルを判別してタイルビニング情報を取得し、取得したタイルビニング情報を格納部１７０に格納することができる。ここで、タイルビニング情報は、タイル番号、タイルに含まれるプリミティブそれぞれに対応するオブジェクトの種類、およびオブジェクトそれぞれに対応する文脈情報を含むことができる。一例として、プリミティブは、三角形（Ｔｒｉａｎｇｌｅ）、四角形（ｑｕａｄ）、または多角形（Ｐｏｌｙｇｏｎ）を含むことができる。ここで、三角形は、ｔｒｉａｎｇｌｅ  ｔｙｐｅ、ｔｒｉａｎｇｌｅ  ｓｔｒｉｐ  ｔｙｐｅ、およびｔｒｉａｎｇｌｅ  ｆａｎ  ｔｙｐｅを含むことができる。
【００３３】
このとき、図３を参照すれば、タイルビニング部１５０は、タイル８に含まれる第１〜４プリミティブ（Ｔｒｉ０〜Ｔｒｉ３）、第１〜４プリミティブそれぞれが含む第１および第２オブジェクト２１０、２２０、または第１および第２オブジェクト２１０、２２０それぞれの文脈情報（Ｃｏｎｔｅｘｔ  Ａ、Ｃｏｎｔｅｘｔ  Ｂ）をタイル８のタイルビニング情報として格納部１７０に格納することができる。同じ方法により、タイルビニング部１５０は、タイル０〜７およびタイル９〜２３それぞれに対応するタイルビニング情報を格納部１７０に格納することができる。
【００３４】
また、タイルビニング部１５０は、タイルビニングが実行されたオブジェクトに対してビニングフラグを設定することができる。ここで、ビニングフラグは、フレームに含まれたオブジェクトのうち幾何学処理（Ｇｅｏｍｅｔｒｙ  Ｐｒｏｃｅｓｓｉｎｇ）が既に実行されたオブジェクトに設定することができる。このとき、幾何学処理は、頂点シェーディング、ビューポートマッピング、プリミティブ構成、およびタイルビニングを含むことができる。
【００３５】
これにより、プレビニングされたオブジェクトにビニングフラグが設定されている場合、ビニングフラグが設定されたオブジェクトに対して幾何学処理が実行されなくてもよい。同様に、プレビニングされたオブジェクトにビニングフラグが設定されていない場合、プレビニングされたオブジェクトに対して幾何学処理を実行してもよい。
【００３６】
一例として、図２を参照すれば、タイル８およびタイル９はそれぞれ同じ第１および第２オブジェクト２１０、２２０を含むことができる。このとき、タイル８に含まれた第１および第２オブジェクト２１０、２２０は、頂点シェーディング、ビューポートマッピング、プリミティブ処理、およびタイルビニングのような幾何学処理が実行されたため、タイルビニング部１５０は、第１および第２オブジェクト２１０、２２０にビニングフラグを設定することができる。
【００３７】
この後、プレビニング部１１０でタイル９が選択されてプレビニングが完了すれば、タイル９に含まれた第１および第２オブジェクト２１０、２２０にビニングフラグが設定されているため、第１および第２オブジェクト２１０、２２０に対して幾何学処理が実行されなくてもよい。すなわち、プレビニングされた第１および第２オブジェクト２１０、２２０に対して、頂点シェーディング、ビューポートマッピング、プリミティブ処理、およびタイルビニングが実行されなくてもよい。これにより、既に幾何学処理されたオブジェクトの幾何学処理結果は、格納部１７０に格納されなくてもよい。
【００３８】
ラスター処理部（Ｒａｓｔｅｒｉｚａｔｉｏｎ  Ｕｎｉｔ）１６０は、フラグメント処理部１６１と、ピクセルシェーディング部１６３と、ラスター演算部１６５とを含むことができる。
【００３９】
フラグメント処理部（Ｆｒａｇｍｅｎｔ  Ｇｅｎｅｒａｔｏｒ）１６１は、プリミティブから画面上のフラグメントあるいはピクセルを生成することができる。
【００４０】
ピクセルシェーディング部１６３は、生成されたフラグメントを対象としてピクセルシェーディング（Ｐｉｘｅｌ  Ｓｈａｄｉｎｇ）を実行することができる。
【００４１】
ラスター演算部（Ｒａｓｔｅｒ  Ｏｐｅｒａｔｉｏｎ  Ｐｒｏｃｅｓｓｏｒ：ＲＯＰ）１６５は、シェーディングされたフラグメントを対象としてラスター演算を実行し、ラスター演算の実行結果を格納部１７０に格納することができる。
【００４２】
また、ラスター演算部１６５は、複数のタイルで構成されたフレームに含まれたオブジェクトのラスター処理（Ｒａｓｔｅｒｉｚａｔｉｏｎ）が完了すれば、タイルビニング情報および幾何学処理結果を格納部１７０から削除することができる。
【００４３】
このとき、画面上の一点をピクセル（ｐｉｘｅｌ）とすれば、フラグメントは、ピクセルの色を決定するためにレンダリング装置内で管理する単位とすることができる。ここで、フラグメント、ピクセルシェーディング、およびラスター演算は周知の技術であるため、詳しい説明は省略する。
【００４４】
図４は、プレビニングの動作を説明するために示すフローチャートである。
【００４５】
まず、プレビニング部１１０は、フレームに含まれたオブジェクトそれぞれに該当するバウンディングボリュームを生成することができる（Ｓ４１０）。ここで、バウンディングボリュームは、該当するオブジェクトが含まれるようにオブジェクトよりも大きく生成することができる。
【００４６】
次に、プレビニング部１１０は、生成されたバウンディングボリュームを用いて複数のタイルで構成されたフレームに含まれたオブジェクトを対象としてプレビニングを実行することができる（Ｓ４２０）。
【００４７】
具体的に、プレビニング部１１０は、複数のタイルのうちから選択されたタイルに生成されたバウンディングボリュームの一部あるいは全体がオーバラップするか否かを判別するプレビニングを実行することができる。このとき、プレビニング部１１０は、フレームを構成する複数のタイル全体に対してプレビニングを実行することにより、取得したオブジェクトビニング情報を格納部１７０に格納することができる。
【００４８】
ここで、オブジェクトビニング情報は、タイル番号、タイルに含まれるオブジェクトの種類、およびオブジェクトそれぞれに該当する文脈情報を含むことができる。このとき、プレビニング部１１０は、Ｚ方向、上、下、左、右、対角線方向、無作為方向、予め設定された方向でタイルを選択することができる。
【００４９】
そして、プレビニング実行後、タイルビニング部１５０は、幾何学処理を実行したオブジェクトに対してビニングフラグを設定することができる（Ｓ４３０）。ここで、幾何学処理は、頂点シェーディング、ビューポートマッピング、プリミティブ構成、およびタイルビニングを含むことができる。
【００５０】
これにより、プレビニングされたオブジェクトにビニングフラグが設定された場合、幾何学処理が実行されなくてもよい（Ｓ４４０）。すなわち、プレビニングされたオブジェクトを対象として、頂点シェーディング、ビューポートマッピング、プリミティブ構成、およびタイルビニングが実行されなくてもよい。
【００５１】
同様に、プレビニングされたオブジェクトにビニングフラグが設定されていない場合、ビニングフラグが設定されていないオブジェクトを対象として幾何学処理を実行してもよい。すなわち、プレビニングされたオブジェクトを対象として、頂点シェーディング、ビューポートマッピング、プリミティブ構成、およびタイルビニングを実行してもよい。このとき、頂点シェーディングおよびビューポートマッピングは頂点単位で実行することができ、プリミティブおよびタイルビニングはプリミティブ単位で実行することができる。
【００５２】
これにより、ラスター処理部１６０は、タイルビニングが実行されたオブジェクトに対してラスター処理を実行することができる（Ｓ４５０）。ここで、ラスター処理は、フラグメント処理、ピクセルシェーディング、およびラスター演算を含むことができる。このとき、フラグメント処理はプリミティブ単位で実行することができ、ピクセルシェーディングおよびラスター演算はフラグメント単位で実行することができる。
【００５３】
これにより、ラスター演算部１６５は、複数のタイルで構成されたフレームに含まれたオブジェクトに対してラスター処理が完了すれば、タイルビニング情報および幾何学処理結果を格納部１７０から削除することができる（Ｓ４６０）。
【００５４】
以上では、１つのフレームに複数のオブジェクトが含まれた場合を例示して説明したが、これは実施形態に過ぎず、１つのフレームが１つのオブジェクトのみを含んでもよい。
【００５５】
また、フレームを構成するタイルのうちから選択されたタイルそれぞれとオーバラップするバウンディングボリュームを判別するプレビニングを説明したが、これは実施形態に過ぎず、タイルを選択せずにフレーム全体を対象として入力されるバウンディングボリュームそれぞれとオーバラップするタイルを判別してプレビニングを実行してもよい。
【００５６】
また、以上では、選択されたタイルにビニングフラグが設定されたオブジェクトとビニングフラグが設定されないオブジェクトが共に含まれた場合、ビニングフラグが設定されないオブジェクトを頂点単位として幾何学処理およびプリミティブ処理を実行し、プリミティブ単位でタイルビニングを実行することができる。
【００５７】
また、ビニングフラグが設定された場合、幾何学処理、プリミティブ処理、およびタイルビニングを実行しないものと説明したが、これは実施形態に過ぎず、選択されたタイルに含まれた複数のオブジェクトのうちでビニングフラグが設定されていないオブジェクトが存在する場合には、タイルに含まれたオブジェクト全体を対象として幾何学処理、プリミティブ処理、およびタイルビニングを実行することができる。
【００５８】
また、上述したオブジェクトは、ＡＰＩのｄｒａｗ  ｃａｌｌ、またはグラフィックＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）のｄｒａｗ  ｐｒｉｍｉｔｉｖｅ  ｃａｌｌに対応することができる。一例として、グラフィックＡＰＩは、ＯｐｅｎＧＬ、またはＯｐｅｎＧＬ｜ＥＳ、またはＤｉｒｅｃｔ３Ｄを含むことができる。
【００５９】
また、上述したレンダリング装置において、幾何学処理は頂点単位、タイルビニングおよびフラグメントはプリミティブ単位、ピクセルシェーディングおよびラスター演算はフラグメント単位で実行することができる。
【００６０】
なお、本発明の実施形態に係る方法は、コンピュータにより実現される多様な動作を実行するためのプログラム命令を含むコンピュータ読取可能な記録媒体を含む。当該記録媒体は、プログラム命令、データファイル、データ構造などを単独または組み合わせて含むこともでき、記録媒体およびプログラム命令は、本発明の目的のために特別に設計されて構成されたものでもよく、コンピュータソフトウェア分野の技術を有する当業者にとって公知であり使用可能なものであってもよい。コンピュータ読取可能な記録媒体の例としては、ハードディスク、フロッピー（登録商標）ディスク及び磁気テープのような磁気媒体、ＣＤ−ＲＯＭ、ＤＶＤのような光記録媒体、フロプティカルディスクのような磁気−光媒体、およびＲＯＭ、ＲＡＭ、フラッシュメモリなどのようなプログラム命令を保存して実行するように特別に構成されたハードウェア装置が含まれる。また、記録媒体は、プログラム命令、データ構造などを保存する信号を送信する搬送波を含む光または金属線、導波管などの送信媒体でもある。プログラム命令の例としては、コンパイラによって生成されるような機械語コードだけでなく、インタプリタなどを用いてコンピュータによって実行され得る高級言語コードを含む。前記したハードウェア要素は、本発明の動作を実行するために一以上のソフトウェアモジュールとして作動するように構成することができ、その逆もできる。
【００６１】
これにより、以上のような実施形態に係るレンダリング装置および方法は、幾何学処理を実行する前にプレビニングを実行することにより、メモリ使用量を減少させることができる。
【００６２】
また、ビニングフラグを用いて既に幾何学処理が完了したオブジェクトに対しては幾何学処理を実行しないことにより、プレビニングによって発生することがある重複演算を防ぐことができ、性能低下を最小化することができる。
【００６３】
上述したように、本発明の好ましい実施形態を参照して説明したが、該当の技術分野において熟練した当業者にとっては、特許請求の範囲に記載された本発明の思想および領域から逸脱しない範囲内で、本発明を多様に修正および変更させることができることを理解することができるであろう。すなわち、本発明の技術的範囲は、特許請求の範囲に基づいて定められ、発明を実施するための最良の形態により制限されるものではない。
【符号の説明】
【００６４】
１００：レンダリング装置
１１０：プリビニング部
１２０：頂点シェーディング部
１３０：ビューポートマッピング部
１４０：プリミティブ処理部
１５０：タイルビニング部
１６０：ラスター処理部
１６１：フラグメント処理部
１６３：ピクセルシェーディング部
１６５：ラスター演算部
１７０：格納部
【図１】
0005634104.tif 000002
【図２】
0005634104.tif 000003
【図３】
0005634104.tif 000004
【図４】
0005634104.tif 000005