(57)【要約】【課題】精度を低下させることなく高速なグラフィックス処理を行うことのできるグラフィックス処理装置およびグラフィックス処理方法の提供を図る。【解決手段】複数のラインを１単位として、ｘ方向およびｙ方向の画素走査を所定の規則に従って行う走査手段１３，１４，１６と、該画素走査によって得られた第１画素の色もしくは濃淡に関する第１パラメータと、当該第１画素に隣接する第２画素の色もしくは濃淡に関する第２パラメータとの差分を取って当該第１画素のシェーディングを行うシェーディング手段１１，１２，１５と、を備えるように構成する。【選択図】図８
2009129275.tif 000002
【特許請求の範囲】
【請求項１】
複数のラインを１単位として、ｘ方向およびｙ方向の画素走査を所定の規則に従って行う走査手段と、
該画素走査によって得られた第１画素の色もしくは濃淡に関する第１パラメータと、当該第１画素に隣接する第２画素の色もしくは濃淡に関する第２パラメータとの差分を取って当該第１画素のシェーディングを行うシェーディング手段と、を備えることを特徴とするグラフィックス処理装置。
【請求項２】
請求項１に記載のグラフィックス処理装置において、前記シェーディング手段は、
前記走査手段からの画像データをシェーディングするシェーダと、
該シェーダからの１つ前の画素のテクスチャデータを格納する前画素情報保持用メモリと、
該前画素情報保持用メモリからの１つ前の画素のテクスチャデータと、前記シェーダからの現在の画素のテクスチャデータとの差分値を計算する差分値計算部と、
該差分値計算部の出力からＬＯＤ値を計算するＬＯＤ値計算部と、を備え、前記シェーダは、前記ＬＯＤ値計算部の出力に応じて前記画像データのシェーディングを行うことを特徴とするグラフィックス処理装置。
【請求項３】
請求項１または２のグラフィックス処理装置において、
前記１単位とされた複数ラインでジグザグまたは蛇行の走査を行うことを特徴とするグラフィックス処理装置。
【請求項４】
複数のラインを１単位として規定し、
該１単位として規定された複数のラインにおけるｘ方向およびｙ方向の画素走査を所定の規則に従って行い、
該画素走査によって得られた第１画素の色又は濃淡に関する第１パラメータと、当該第１画素に隣接する第２画素の色又は濃淡に関する第２パラメータとの差分を取って前記第１画素のシェーディング処理を行うことを特徴とするグラフィックス処理方法。
【請求項５】
コンピュータに、
複数のラインを１単位として規定させる手順と、
該１単位として規定された複数のラインにおけるｘ方向およびｙ方向の画素走査を所定の規則に従って行わせる手順と、
該画素走査によって得られた第１画素の色又は濃淡に関する第１パラメータと、当該第１画素に隣接する第２画素の色又は濃淡に関する第２パラメータとの差分を取って前記第１画素のシェーディング処理を行わせる手順と、を実行させることを特徴とするグラフィックス処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、グラフィックス処理装置およびグラフィックス処理方法に関し、特に、シェーダを有するコンピュータグラフィックス処理装置に関する。
【背景技術】
【０００２】
従来、コンピュータグラフィックス処理において、ポリゴンにテクスチャを貼り付ける際の処理として「ミップマップ」と呼ばれる手法がある。このミップマップとは、同じ画像を徐々に低解像度にした、連続したテクスチャデータを用意し、視点から近いポリゴンには、高解像度のテクスチャ画像が使用され、ポリゴンが遠ざかるに従って、低解像度のテクスチャ画像が使用されるという処理である。
【０００３】
ミップマップでは、どの解像度のテクスチャを使用するかを決定するパラメータとして、ＬＯＤ（level of detail）という値を用いる。
【０００４】
図１はＬＯＤと解像度の関係を説明するための図であり、また、図２はＬＯＤとテクスチャ座標の関係を説明するための図である。
【０００５】
図１に示されるように、ＬＯＤが０の場合は、最も高解像度の画像を用い、ＬＯＤが大きくなるに従って低解像度の画像を用いる。すなわち、ＬＯＤ値が１増えるに従って、画像の解像度が半分になっていく。
【０００６】
図２に示されるように、ＬＯＤは、通常（ｘ，ｙ）座標がそれぞれ１増える場合のテクスチャ座標（ｓ，ｔ）の変化値、ｄｓ／ｄｘ，ｄｓ／ｄｙ，ｄｔ／ｄｘ，ｄｔ／ｄｙの４つのパラメータによって求められる。
【０００７】
従来のグラフィックス処理において、上記４つのパラメータは、通常のグラフィックス処理で行われる線形補間の過程で求めることが可能であった。
【０００８】
ところで、近年「プログラマブルシェーダ（以下、シェーダとも称する）」と呼ばれる回路がグラフィックス処理回路に搭載されるようになり、このシェーダによってテクスチャ座標がユーザープログラムにより自由に変更が可能なものとなった。
【０００９】
ここで、シェーダとは、グラフィックス処理を行うための演算器であり、画素の色調や濃淡をつける処理を行い、固定ハードで決まった処理しかできなかったのを、ユーザープログラムで自由に頂点や画素の処理を行えるようにするものである。
【００１０】
図３は従来のグラフィックス処理装置の一例を示すブロック図である。図３において、参照符号１０１はグラフィックス処理装置，１０２はラスタライザ，そして，１０３はテクスチャメモリを示している。
【００１１】
図３に示されるように、グラフィックス処理装置１０１は、ラスタライザ１０２からのラスタデータを受け取るピクセルシェーダ１１１、および、ピクセルシェーダ１１１からのデータを受け取ると共にテクスチャメモリ１０３との間でデータの授受を行ってＬＯＤ値を計算するＬＯＤ値計算部１１２を備える。ここで、画素間の差分値は、ピクセルシェーダ１１１の内部で計算するようになっている。
【００１２】
そして、ピクセルシェーダ１１１は、ＬＯＤ値検出部１１２からのテクスチャデータを受け取って処理を行い、その処理が行われた画像データを出力する。
【００１３】
図４はシェーダによる処理を概念的に説明するための図である。
図４（ａ）に示されるように、従来、シェーダを持たないコンピュータによるグラフィックス処理では、例えば、回転および平行移動しか行うことができなかったのに対して、シェーダを有するコンピュータによるグラフィックス処理では、図４（ｂ）に示されるように、図形の形を変形することが可能になった。
【００１４】
さらに、図４（ｃ）に示されるように、従来は単色または線形補間での色表現しか行うことができなかったのが、シェーダにより画素の位置により色を設定するといったじゆう名表現を行うことが可能になった。
【００１５】
ここで、シェーダ内部では、ＬＯＤの値を求めるために、テクスチャ座標を求めるのに用いる変数全ての変化量ｄ／ｄｘ，ｄ／ｄｙの情報からテクスチャ座標の変化値を求める必要があるため、演算量の増加とシェーダへのデータ転送量の増大という問題を招いている。
【００１６】
具体的に、例えば、テクスチャ座標（ｓ，ｔ）は、シェーダによりパラメータＡ，Ｂ，Ｃ，Ｄから以下の様に計算される。
ｓ＝Ａ2＋Ｃ
ｔ＝Ｂ2＋Ｄ
【００１７】
この場合、テクスチャ座標の変化値は、
ｄｓ／ｄｘ＝｛（Ａ＋ｄＡ／ｄｘ）2＋（Ｃ＋ｄＣ／ｄｘ）｝−（Ａ2＋Ｃ）
ｄｓ／ｄｙ＝｛（Ａ＋ｄＡ／ｄｙ）2＋（Ｃ＋ｄＣ／ｄｙ）｝−（Ａ2＋Ｃ）
ｄｔ／ｄｘ＝｛（Ｂ＋ｄＢ／ｄｘ）2＋（Ｄ＋ｄＤ／ｄｘ）｝−（Ｂ2＋Ｄ）
ｄｔ／ｄｙ＝｛（Ｂ＋ｄＢ／ｄｙ）2＋（Ｄ＋ｄＤ／ｄｙ）｝−（Ｂ2＋Ｄ）
という計算によって求めることができ、多くの演算量に加えて、ｄＡ／ｄｘ，ｄＡ／ｄｙ，ｄＢ／ｄｘ，ｄＢ／ｄｙ，ｄＣ／ｄｘ，ｄＣ／ｄｙ，ｄＤ／ｄｘ，ｄＤ／ｄｙという８つものパラメータを必要とする。
【００１８】
ここで、テクスチャ座標（ｓ，ｔ）を求めるために必要なパラメータが多ければ多いほど、テクスチャ座標の変化量を求めるための演算量も増加し、必要なパラメータの変化量も増大することになる。
【００１９】
ところで、従来、テクスチャ座標の変化量を求めるための演算量を低減してシェーダ処理の高速化を行うものとして、４画素を１単位とし、４画素中での隣接画素の差分を計算することで変化量を求めるようにしたグラフィックス処理装置が提案されている（例えば、特許文献１および２参照）。
【００２０】
【特許文献１】特開２００６−２４４４２６号公報
【特許文献２】特開２００６−２９３６２７号公報
【発明の開示】
【発明が解決しようとする課題】
【００２１】
図５は従来のグラフィックス処理装置の他の例を示すブロック図であり、上述した４画素を１単位として処理を行うものを示している。図５において、参照符号２０１はグラフィックス処理装置，２０２はラスタライザ，そして，２０３はテクスチャメモリを示している。
【００２２】
図５に示されるように、グラフィックス処理装置２０１は、ピクセルシェーダ２１１、ＬＯＤ値計算部２１２、２×２単位画素保持用ＲＡＭ２１３、２×２画素情報保持用ＲＡＭ２１４、および、差分値計算部２１５を備える。
【００２３】
２×２単位画素保持用ＲＡＭ２１３は、ラスタライザ２０２からのラスタデータを受け取って保持し、また、ピクセルシェーダ２１１は、ＲＡＭ２１３から２×２画素データを読み出し、さらに、２×２画素情報保持用ＲＡＭ２１４は、ピクセルシェーダ２１１からの２×２画素データを保持する。そして、差分値検出部２１５は、２×２画素情報保持用ＲＡＭ２１４に保持された２×２画素データと、ピクセルシェーダ２１１からの２×２画素データとを取り込んで差分値を検出し、また、ＬＯＤ値検出部２１２は、差分値検出部２１５からの差分値データを受け取ると共にテクスチャメモリ２０３との間でデータの授受を行ってＬＯＤ値を計算する。
【００２４】
ピクセルシェーダ２１１は、ＬＯＤ値検出部２１２からのテクスチャデータを受け取って処理を行い、その処理が行われた画像データを出力する。
【００２５】
図６は図５のグラフィックス処理装置における処理を説明するための図である。
図６に示されるように、図５に示す従来のグラフィックス処理装置は、４画素（２×２画素）を１単位とし、その４画素ごとにテクスチャ座標（ｓ，ｔ）を求め、４画素中での隣接画素の差分を計算して変化量を求めることで、演算量を削減するようになっている。
【００２６】
しかしながら、図５に示す従来のグラフィックス処理装置は、確かに演算量を低減して高速な処理を行うことはできるが、２×２画素内でのテクスチャ座標の変化量しか求めることができない。すなわち、図５に示す従来のグラフィックス処理装置は、テクスチャ座標の値が急激に変化する場合でも、それを認識できず、適切でないＬＯＤが算出される可能性がある。
【００２７】
図７は図５のグラフィックス処理装置におけるテクスチャ座標の変化量を理想値と比較して示す図であり、例として、Ｓ＝ｓｉｎ（ｘ／１０）とした場合のテクスチャ座標の変化量を示している。
【００２８】
図７から明らかなように、図５に示す従来のグラフィックス処理装置において、画像データ出力（テクスチャ座標）は、４画素単位で座標の変化量を求めることになるため階段状となり、理想値（微分値）との間に大きな誤差（２画素単位での階段状の誤差）が発生することになる。
【００２９】
本発明は、上述した従来技術が有する課題に鑑み、精度を低下させることなく高速なグラフィックス処理を行うことのできるグラフィックス処理装置およびグラフィックス処理方法の提供を目的とする。
【課題を解決するための手段】
【００３０】
本発明の第１の形態によれば、複数のラインを１単位として、ｘ方向およびｙ方向の画素走査を所定の規則に従って行う走査手段と、該画素走査によって得られた第１画素の色もしくは濃淡に関する第１パラメータと、当該第１画素に隣接する第２画素の色もしくは濃淡に関する第２パラメータとの差分を取って当該第１画素のシェーディングを行うシェーディング手段と、を備えることを特徴とするグラフィックス処理装置が提供される。
【００３１】
本発明の第２の形態によれば、複数のラインを１単位として規定し、該１単位として規定された複数のラインにおけるｘ方向およびｙ方向の画素走査を所定の規則に従って行い、該画素走査によって得られた第１画素の色又は濃淡に関する第１パラメータと、当該第１画素に隣接する第２画素の色又は濃淡に関する第２パラメータとの差分を取って前記第１画素のシェーディング処理を行うことを特徴とするグラフィックス処理方法が提供される。
【００３２】
本発明の第３の形態によれば、コンピュータに、複数のラインを１単位として規定させる手順と、該１単位として規定された複数のラインにおけるｘ方向およびｙ方向の画素走査を所定の規則に従って行わせる手順と、該画素走査によって得られた第１画素の色又は濃淡に関する第１パラメータと、当該第１画素に隣接する第２画素の色又は濃淡に関する第２パラメータとの差分を取って前記第１画素のシェーディング処理を行わせる手順と、を実行させることを特徴とするグラフィックス処理プログラムが提供される。
【発明の効果】
【００３３】
本発明によれば、精度を低下させることなく高速なグラフィックス処理を行うことのできるグラフィックス処理装置およびグラフィックス処理方法を提供することができる。
【発明を実施するための最良の形態】
【００３４】
以下、本発明に係るグラフィックス処理装置およびグラフィックス処理方法の実施例を、添付図面を参照して詳述する。
【実施例】
【００３５】
図８は本発明に係るグラフィックス処理装置の一実施例を示すブロック図である。図８において、参照符号１はグラフィックス処理装置，２０２はラスタライザ，そして，２０３はテクスチャメモリを示している。
【００３６】
図８に示されるように、グラフィックス処理装置１は、ピクセルシェーダ１１、ＬＯＤ値計算部１２、出力順序変更回路１３、前画素情報保持用ＲＡＭ１４、差分値計算部１５、および、画素位置記憶判別ユニット１６を備える。
【００３７】
出力順序変更回路１３は、ラスタライザ２からの画像データを格納する画像データ保持用ＲＡＭ１３１と、１単位として規定された複数のライン（例えば、２ラインまたは３ライン）中のどの位置の画素かを判別するライン位置判別部１３２と、ライン位置判別部１３２の出力を受け取り、上記１単位として規定された複数のラインにおけるｘ方向およびｙ方向の画素走査を所定の規則に従って行うためのアドレスを生成するアドレス生成部１３２と、を備える。
【００３８】
前画素情報保持用メモリ１４は、ピクセルシェーダ１１からの１つ前の画素のテクスチャデータを格納するものであり、差分値計算部１５は、前画素情報保持用メモリ１４からの１つ前の画素のテクスチャデータと、ピクセルシェーダ１１からの現在の画素のテクスチャデータとの差分値を計算する。
【００３９】
画素位置記憶判別ユニット１６は、ピクセルシェーダ１１から１画素単位のテクスチャ座標処理終了信号を受け取ってカウントする座標カウンタ１６１と、その座標カウンタ１６１からライン中のｙ座標の値を受け取ってアドレス（前画素情報保持用メモリ１４におけるアドレス）を生成するアドレス生成部１６２と、を備える。なお、前画素情報保持用メモリ１４から差分値計算部１５へ供給されるデータは、アドレス生成部１６２で生成されたアドレスに対応したテクスチャ座標のデータである。
【００４０】
ＬＯＤ値計算部１２は、差分値計算部１５の出力からＬＯＤ値を計算するもので、得られたＬＯＤ値は、ピクセルシェーダ１１へテクスチャデータとして供給され、ピクセルシェーダ１１は、そのテクスチャデータ（ＬＯＤ値）に応じて画像データのシェーディングを行うことになる。
【００４１】
すなわち、本実施例のグラフィックス処理装置においては、２ラインまたはそれ以上のラインを１セットとしてシェーディング処理を行い、ｘ方向のテクスチャの変化値ｄ（ｓ，ｔ）／ｄｘ＝（対象画素のテクスチャ座標）−（対象画素の右側または左側の画素（隣接画素）のテクスチャ座標、または、右側と左側の画素（隣接画素）のテクスチャ座標平均値）とし、且つ、ｙ方向のテクスチャの変化値ｄ（ｓ，ｔ）／ｄｙ＝（対象画素のテクスチャ座標）−（対象画素の上側または下側の画素（隣接画素）のテクスチャ座標、または上側と下側の画素（隣接画素）のテクスチャ座標平均値）としてテクスチャの変化値を求めるようになっている。
【００４２】
図９は図８のグラフィックス処理装置における２ライン単位での処理を説明するための図であり、図１０は図９のグラフィックス処理装置における処理の一例を詳細に説明するための図である。
【００４３】
図９に示されるように、本実施例のグラフィックス処理装置における２ライン単位での処理としては、例えば、２ラインのうち、上ライン１画素（ｐ１）→下ライン１画素（ｐ２）→上ライン１画素（ｐ３）→…というようにジグザグ（図９（ａ）参照）に、或いは、上ライン１画素→下ライン１画素→下ライン１画素→上ライン１画素→…というように蛇行（図９（ｂ）参照）してテクスチャ座標を求めてテクスチャの傾き値を計算する。
【００４４】
例えば、２ラインでジグザグの走査を行う場合、図１０（ａ）〜図１０（ｆ）のような処理を行う。具体的に、図１０（ｃ）に示されるように、例えば、画素ｐ１のｄ（ｓ，ｔ）／ｄ（ｘ，ｙ）が求められる。なお、図１０（ｅ）に示されるように、例えば、画素ｐ３の左右に画素ｐ１，ｐ５が存在する場合、その左右の画素ｐ１，ｐ５の差分の半分を使用する。
【００４５】
すなわち、テクスチャ傾きを、ｄ（ｓ，ｔ）／ｄｘ＝｛（対象画素の右側の画素のテクスチャ座標）−（対象画素の左側の画素のテクスチャ座標）｝／２、並びに、ｄ（ｓ，ｔ）／ｄｙ＝（対象画素のテクスチャ座標）−（対象画素の上側または下側の画素のテクスチャ座標）として計算する。
【００４６】
図１１は図８のグラフィックス処理装置における３ライン単位での処理を説明するための図であり、図１２は図１１のグラフィックス処理装置における処理の一例を詳細に説明するための図である。
【００４７】
図１１に示されるように、本実施例のグラフィックス処理装置における３ライン単位での処理としても、例えば、ジグザグ（図１１（ａ）参照）に、蛇行（図１１（ｂ）参照）して、或いは、逆Ｔ字型（図１１（ｃ）参照）にテクスチャ座標を求めてテクスチャの傾き値を計算することができる。
【００４８】
例えば、３ラインのうち、上ライン１画素（Ｐ１）→下ライン１画素（Ｐ２）→下ライン１画素（Ｐ３）→上ライン１画素（Ｐ４）→…というようにジグザグの走査を行う場合、図１２（ａ）〜図１０（ｆ）のような処理を行う。具体的に、図１２（ｄ）に示されるように、例えば、画素Ｐ１のｄ（ｓ，ｔ）／ｄ（ｘ，ｙ）が求められる。なお、図１０（ｅ）に示されるように、例えば、画素Ｐ２の上下に画素Ｐ１，Ｐ３が存在する場合、その上下の画素Ｐ１，Ｐ３の差分の半分を使用し、また、図１０（ｆ）に示されるように、例えば、画素Ｐ４の左右に画素Ｐ１，Ｐ７が存在する場合、その左右の画素Ｐ１，Ｐ７の差分の半分を使用する。
【００４９】
すなわち、テクスチャ傾きを、ｄ（ｓ，ｔ）／ｄｘ＝｛（対象画素の右側の画素のテクスチャ座標）−（対象画素の左側の画素のテクスチャ座標）｝／２、並びに、３ラインのうち中央のラインの画素の場合にはｄ（ｓ，ｔ）／ｄｙ＝｛（対象画素の上側の画素のテクスチャ座標）−（対象画素の下側の画素のテクスチャ座標）｝／２、および、３ラインのうち上端および下端の画素の場合にはｄ（ｓ，ｔ）／ｄｙ＝（対象画素のテクスチャ座標）−（対象画素の上側または下側の画素のテクスチャ座標）として計算する。
【００５０】
図１３は図８のグラフィックス処理装置におけるテクスチャ座標の変化量を理想値および従来例と比較して示す図である。
【００５１】
図１３から明らかなように、本実施例のグラフィックス処理装置によれば、画素のｘ方向においては左右端の画素を除いて常に左右の画素を処理に用いることが可能なため、前述した図５の従来例における誤差が発生せず、ほぼ理想値（微分値）に一致させることができる。
【００５２】
図１４は本発明に係るグラフィックス処理方法の一例の全体的な処理を示すフローチャートである。
【００５３】
図１４に示されるように、グラフィックス処理が開始すると、ステップＳＴ１において、対象画素の座標ｙ＝０（ｘ＝０）としてステップＳＴ２に進み、座標ｙ（ｘ）がその最大値ｙmax（ｘmax）よりも小さいかどうかｙ＜ｙmax？（ｘ＜ｘmax？）を判別する。
【００５４】
ステップＳＴ２において、座標ｙ（ｘ）がその最大値ｙmax（ｘmax）よりも小さいと判別されるとステップＳＴ３に進んで、座標位置移動処理を行い、さらに、ステップＳＴ４に進んで、座標ｙ＝ｙ＋単位ライン数（ｘ＝ｘ＋１）として、ステップＳＴ２に戻り、座標ｙ（ｘ）がその最大値ｙmax（ｘmax）よりも小さくないと判別されるまで同様の処理を繰り返す。そして、ステップＳＴ２において、座標ｙ（ｘ）がその最大値ｙmax（ｘmax）よりも小さくないと判別されると処理を終了する。
【００５５】
図１５は図１４のフローチャートにおける座標位置移動処理を説明するためのフローチャートである。
【００５６】
図１５に示されるように、座標位置移動処理（ステップＳＴ３）が開始されると、ステップＳＴ３１において、移動内容（例えば、ジグザグ，蛇行，逆Ｔ字型等）に応じてｘ，ｙ座標を変化（±１）させ、さらに、ステップＳＴ３２に進んで、座標および傾き計算処理を行う。
【００５７】
図１６は図１５のフローチャートにおける座標および傾き計算処理を説明するためのフローチャートである。
【００５８】
図１６に示されるように、座標および傾き計算処理（ステップＳＴ３２）が開始されると、ステップＳＴ３２０において、ｘ座標は左端かどうかを判別する。ステップＳＴ３２０において、ｘ座標が左端であると判別されると、ステップＳＴ３２１に進んで、注目画素の右側の画素のみを用いて、ｄｓ／ｄｘおよびｄｔ／ｄｘを計算し、さらに、ステップＳＴ３２５に進む。一方、ステップＳＴ３２０において、ｘ座標は左端ではないと判別されると、ステップＳＴ３２２に進んで、ｘ座標は右端かどうかを判別する。
【００５９】
ステップＳＴ３２２において、ｘ座標が右端であると判別されると、ステップＳＴ３２３に進んで、注目画素の左側の画素のみを用いて、ｄｓ／ｄｘおよびｄｔ／ｄｘを計算し、さらに、ステップＳＴ３２５に進む。一方、ステップＳＴ３２２において、ｘ座標は右端ではないと判別されると、ステップＳＴ３２４に進んで、注目画素の左右の画素を用いて、ｄｓ／ｄｘおよびｄｔ／ｄｘを計算（ｄ（ｓ，ｔ）／ｄｘ＝｛（対象画素の右側の画素のテクスチャ座標）−（対象画素の左側の画素のテクスチャ座標）｝／２）し、さらに、ステップＳＴ３２５に進む。
【００６０】
ステップＳＴ３２５では、ｙ座標は上端かどうかを判別する。ステップＳＴ３２５において、ｙ座標が上端であると判別されると、ステップＳＴ３２６に進んで、注目画素の下側の画素のみを用いて、ｄｓ／ｄｙおよびｄｔ／ｄｙを計算して処理を終了する。一方、ステップＳＴ３２５において、ｙ座標は上端ではないと判別されると、ステップＳＴ３２７に進んで、ｙ座標は下端かどうかを判別する。
【００６１】
ステップＳＴ３２７において、ｙ座標が下端であると判別されると、ステップＳＴ３２８に進んで、注目画素の上側の画素のみを用いて、ｄｓ／ｄｙおよびｄｔ／ｄｙを計算して処理を終了する。一方、ステップＳＴ３２７において、ｙ座標は下端ではないと判別されると、ステップＳＴ３２９に進んで、注目画素の上下の画素を用いて、ｄｓ／ｄｙおよびｄｔ／ｄｙを計算（ｄ（ｓ，ｔ）／ｄｙ＝｛（対象画素の上側の画素のテクスチャ座標）−（対象画素の下側の画素のテクスチャ座標）｝／２）して処理を終了する。
【００６２】
以上の説明においては、処理を行う１つの単位としてのライン数を２および３とし、また、ｘ方向およびｙ方向の画素走査をジグザグ，蛇行および逆Ｔ字型とした場合を例として説明したが、１単位としてのライン数は２および３に限定されず複数であればよく、また、ｘ方向およびｙ方向の画素走査も様々に変更することができる。
【００６３】
図１７は本発明が適用されるグラフィックス処理プログラムを記録した媒体の例を説明するための図である。図１７において、参照符号３１０はグラフィックス処理装置（コンピュータ）、３２０はプログラム（データ）提供者、そして、３０は可搬型記録媒体を示している。
【００６４】
本発明は、例えば、図１７に示すような処理装置３１０に対するプログラム（データ）として与えられ、処理装置３１０により実行される。処理装置３１０は、プロセッサを含む演算処理装置本体３１１、および、演算処理装置本体３１１に対してプログラム（データ）を与え或いは処理された結果を格納する処理装置側メモリ（例えば、ＲＡＭ（Random Access Memory）やハードディスク）３１２等を備える。処理装置３１０に提供されたプログラムは、ローディングされて処理装置３１０のメインメモリ上で実行される。
【００６５】
プログラム提供者３２０は、プログラムを格納する手段（回線先メモリ：例えば、ＤＡＳＤ（Direct Access Storage Device））３２１を有し、例えば、インターネット等の回線を介してプログラムを処理装置３１０に提供し、或いは、ＣＤ−ＲＯＭやＤＶＤ等の光ディスクまたは磁気ディスクや磁気テープといった可搬型記録媒体３３０を介して処理装置３１０に提供する。本発明に係るグラフィックス処理プログラムを記録した媒体は、上記の処理装置側メモリ３１２、回線先メモリ３２１、および、可搬型記録媒体３３０等の様々なものを含むのはいうまでもない。なお、グラフィックス処理装置は、グラフィックボードとして提供され得るのはいうまでもない。
【産業上の利用可能性】
【００６６】
本発明は、例えば、グラフィックス処理装置および半導体集積回路装置に関するものであり、特に、シェーダを有するグラフィックス処理装置に対して幅広く適用することができる。
【図面の簡単な説明】
【００６７】
【図１】ＬＯＤと解像度の関係を説明するための図である。
【図２】ＬＯＤとテクスチャ座標の関係を説明するための図である。
【図３】従来のグラフィックス処理装置の一例を示すブロック図である。
【図４】シェーダによる処理を概念的に説明するための図である。
【図５】従来のグラフィックス処理装置の他の例を示すブロック図である。
【図６】図５のグラフィックス処理装置における処理を説明するための図である。
【図７】図５のグラフィックス処理装置におけるテクスチャ座標の変化量を理想値と比較して示す図である。
【図８】本発明に係るグラフィックス処理装置の一実施例を示すブロック図である。
【図９】図８のグラフィックス処理装置における２ライン単位での処理を説明するための図である。
【図１０】図９のグラフィックス処理装置における処理の一例を詳細に説明するための図である。
【図１１】図８のグラフィックス処理装置における３ライン単位での処理を説明するための図である。
【図１２】図１１のグラフィックス処理装置における処理の一例を詳細に説明するための図である。
【図１３】図８のグラフィックス処理装置におけるテクスチャ座標の変化量を理想値および従来例と比較して示す図である。
【図１４】本発明に係るグラフィックス処理方法の一例の全体的な処理を示すフローチャートである。
【図１５】図１４のフローチャートにおける座標位置移動処理を説明するためのフローチャートである。
【図１６】図１５のフローチャートにおける座標および傾き計算処理を説明するためのフローチャートである。
【図１７】本発明が適用されるグラフィックス処理プログラムを記録した媒体の例を説明するための図である。
【符号の説明】
【００６８】
１，１０１，２０１    グラフィックス処理装置
１１，１１１，２１１    ピクセルシェーダ
１２，１１２、２１２    ＬＯＤ値計算部
１３    出力順序変更回路
１４    前画素情報保持用メモリ（ＲＡＭ）
１５，２１５    差分値計算部
１６    画素位置記憶判別ユニット
２１３    ２×２単位画素保持用ＲＡＭ
２１４    ２×２画素情報保持用ＲＡＭ
３１０    処理装置
３１１    演算処理装置本体
３１２    処理装置側メモリ
３２０    プログラム（データ）提供者
３２１    プログラムを格納する手段（回線先メモリ）
３３０    可搬型記録媒体
【図１】
2009129275.tif 000003
【図２】
2009129275.tif 000004
【図３】
2009129275.tif 000005
【図５】
2009129275.tif 000006
【図６】
2009129275.tif 000007
【図７】
2009129275.tif 000008
【図８】
2009129275.tif 000009
【図９】
2009129275.tif 000010
【図１０】
2009129275.tif 000011
【図１１】
2009129275.tif 000012
【図１２】
2009129275.tif 000013
【図１３】
2009129275.tif 000014
【図１４】
2009129275.tif 000015
【図１５】
2009129275.tif 000016
【図１６】
2009129275.tif 000017
【図１７】
2009129275.tif 000018
【図４】
2009129275.tif 000019