JP2018129051A - スクリーンの位置によって異なる解像度のターゲットの複数レンダリングのテクスチャ・マッピングの傾き調整 - Google Patents

スクリーンの位置によって異なる解像度のターゲットの複数レンダリングのテクスチャ・マッピングの傾き調整 Download PDF

Info

Publication number
JP2018129051A
JP2018129051A JP2018024157A JP2018024157A JP2018129051A JP 2018129051 A JP2018129051 A JP 2018129051A JP 2018024157 A JP2018024157 A JP 2018024157A JP 2018024157 A JP2018024157 A JP 2018024157A JP 2018129051 A JP2018129051 A JP 2018129051A
Authority
JP
Japan
Prior art keywords
texture
slope
unit
pixel
pixel shader
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
Application number
JP2018024157A
Other languages
English (en)
Other versions
JP6563048B2 (ja
Inventor
エヴァン サーニー、マーク
Evan Cerny Mark
エヴァン サーニー、マーク
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.)
Sony Interactive Entertainment America LLC
Original Assignee
Sony Interactive Entertainment America LLC
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 Sony Interactive Entertainment America LLC filed Critical Sony Interactive Entertainment America LLC
Publication of JP2018129051A publication Critical patent/JP2018129051A/ja
Application granted granted Critical
Publication of JP6563048B2 publication Critical patent/JP6563048B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/40Filling a planar surface by adding surface attributes, e.g. colour or texture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • 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
    • G06T15/50Lighting effects
    • G06T15/80Shading
    • 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/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/363Graphics controllers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/36Level of detail
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2310/00Command of the display device
    • G09G2310/02Addressing, scanning or driving the display screen or processing steps related thereto
    • G09G2310/0232Special driving of display border areas
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2360/00Aspects of the architecture of display systems
    • G09G2360/08Power processing, i.e. workload management for processors involved in display operations, such as CPUs or GPUs
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2360/00Aspects of the architecture of display systems
    • G09G2360/12Frame memory handling
    • G09G2360/121Frame memory handling using a cache memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Image Generation (AREA)

Abstract

【課題】コンピュータ・グラフィックに関し、テクスチャ・マッピングに使用される傾きの調整の方法を提供する。【解決手段】シェーダ及びテクスチャ・ユニットを有するコンピュータ・グラフィック演算処理装置(GPU)において、ピクセル・シェーダは、ピクセル・サンプル位置毎のテクスチャ座標の1つまたは複数のセットを受信あるいは生成するように構成される。ピクセル・シェーダ及びテクスチャ・ユニットがそれらの間で、1つまたは複数の原形に関してテクスチャ空間の傾き値を計算し、傾き値を変更して、異なるピクセルの解像度を有するディスプレイ・デバイスの領域間で傾き値を滑らかに遷移させるように構成されたピクセル毎の傾きのスケール要素を生成及び適用するように構成される。【選択図】図1A

Description

[関連出願の相互参照]
本出願は、Tobias Berghoffによる、「METHOD FOR EFFICIENT CONSTRUCTION OF HIGH RESOLUTION DISPLAY BUFFERS(高解像度ディスプレイ・バッファの効果的な製造方法)」(代理人整理番号SCEA13055US00)と題され、本出願と同じ日に出願された、共通に付与され、同時係属中の米国特許出願番号第14/246,064号に関する。この文献は、参照することによりその全体が本明細書に組み込まれる。
本出願は、Tobias Berghoffによる、「GRAPHICS PROCESSING ENHANCEMENT BY TRACKING OBJECT AND/OR PRIMITIVE IDENTIFIERS(物体追跡及び/またはプリミティブ識別子によるグラフィック処理向上)」(代理人整理番号SCEA13056US00)と題され、2014年4月5日に出願された、共通に付与され、同時係属中の米国特許出願番号第14/246,067号に関する。この文献は、参照することによりその全体が本明細書に組み込まれる。
本出願は、Mark Evan Cernyによる、「GRADIENT ADJUSTMENT FOR TEXTURE MAPPING TO NON−ORTHONORMAL GRID(非正規直交性格子に対するテクスチャ・マッピングの傾き調整)」(代理人整理番号SCEA13057US00)と題され、2014年4月5日に出願された、共通に付与され、同時係属中の米国特許出願番号第14/246,068号に関する。この文献は、参照することによりその全体が本明細書に組み込まれる。
本出願は、Tobias Berghoffによる、「VARYING EFFECTIVE RESOLUTION BY SCREEN LOCATION BY CHANGING ACTIVE COLOR SAMPLE COUNT WITHIN MULTIPLE RENDER TARGETS(マルチプル・レンダリング目標でアクティブなカラーサンプル数を変更することによりスクリーンの位置によって変化する有効解像度)」(代理人整理番号SCEA13058US00)と題され、2014年4月5日に出願された、共通に付与され、同時係属中の米国特許出願番号第14/246,061号に関する。この文献は、参照することによりその全体が本明細書に組み込まれる。
本出願は、Mark Evan Cernyによる、「VARYING EFFECTIVE RESOLUTION BY SCREEN LOCATION BY ALTERING RASTERIZATION PARAMETERS(ラスタ化パラメータを変更することによりスクリーンの位置によって変化する有効解像度)」(代理人整理番号SCEA13059US00)と題され、2014年4月5日に出願された、共通に付与され、同時係属中の米国特許出願番号第14/246,063号に関する。この文献は、参照することによりその全体が本明細書に組み込まれる。
本出願は、Mark Evan Cernyによる、「VARYING EFFECTIVE RESOLUTION BY SCREEN LOCATION IN GRAPHICS PROCESSING BY APPROXIMATING PROJECTION OF VERTICES ONTO CURVED VIEWPORT(湾曲したビューポートに近似の頂点の投影によるグラフィック処理におけるスクリーンの位置によって変化する有効解像度)」(代理人整理番号SCEA13060US00)と題され、2014年4月5日に出願された、共通に付与され、同時係属中の米国特許出願番号第14/246,066号に関する。この文献は、参照することによりその全体が本明細書に組み込まれる。
[技術分野]
本開示の態様は、コンピュータ・グラフィックに関する。具体的には、本開示はテクスチャ・マッピングに使用される傾きの調整に関する。
グラフィック処理は通常、中央演算処理装置(CPU)とグラフィック演算処理装置(GPU)の2つのプロセッサの協同を伴う。GPUは、ディスプレイへの出力を意図したフレーム・バッファ内の画像の形成を促進するように設計された専門の電子回路である。GPUは、埋込型システム、携帯電話、パーソナル・コンピュータ、タブレット・コンピュータ、ポータブル・ゲーム・デバイス、ワークステーション、及びゲーム・コンソールに使用される。GPUは通常、コンピュータ・グラフィックの操作に効果的であるように設計されている。GPUはしばしば、GPUを、大きいブロックのデータの処理が並行して行われるアルゴリズムに関して多目的CPUよりも効果的とする、高度に並行な処理のアーキテクチャを有する。
CPUは、一般にドロー・コマンドと呼ばれ、GPUに特定のグラフィック処理タスクを実施するように(たとえば、画像の以前のフレームに対して変化した特定のテクスチャをレンダリングするように)指示するGPU指示を送る場合がある。これらドロー・コマンドは、特定のアプリケーションの仮想環境の状態に対応するグラフィック・レンダリング・コマンドを出すために、CPUにより、グラフィック・アプリケーション・プログラミング・インターフェース(API)と協同させられる場合がある。
特定のプログラム用のテクスチャをレンダリングするために、GPUは、「グラフィック・パイプライン」の一連の処理タスクを実施して、仮想環境における外観をディスプレイ上にレンダリングすることができる画像に変換することができる。通常のグラフィック・パイプラインは、仮想空間内の仮想対象への特定のレンダリングまたはシェーディング操作、出力ディスプレイに適切なピクセル・データを提供するための、そのシーンの仮想対称の変換及びラスタ化、ならびにディスプレイ上にレンダリングされた画像を出力する前のピクセル(またはフラグメント)上の追加のレンダリング・タスクを実施することを含み得る。
画像の仮想対象はしばしば、原形として知られる形状に関して仮想空間に記載され、ともに仮想シーンにおいて対称の形状を形成する。たとえば、レンダリングされる3次元の仮想世界における対称は、3次元空間で協同し、それによりそれらポリゴンが対称の表面を形成することに関して規定される頂点を有する一連の別個の3角形の原形に低減される。各ポリゴンは、グラフィック処理システムによって使用されて、所与のポリゴンを他のポリゴンから区別することができる、関連するインデックスを有する場合がある。同様に、各頂点は、所与の頂点を他の頂点から区別するのに使用することができる、関連するインデックスを有し得る。グラフィック・パイプラインは、それら原形に特定の操作を実施して、仮想シーンのための外見を与え、このデータをディスプレイ上のピクセルによって再現するのに適切な2次元フォーマットに変換することができる。本明細書において使用されるグラフィック原形情報(またはシンプルに「原形情報」)は、グラフィックの原形を示すデータに言及するのに使用される。そのようなデータには、それに限定されないが、頂点情報(たとえば、頂点位置または頂点インデックスを示すデータ)及びポリゴン情報、たとえばポリゴン・インデックス、ならびに、特定の頂点を特定のポリゴンに関連付ける情報が含まれる。
GPUは、一般にシェーダとして知られるプログラムを実行することにより、グラフィック・パイプラインのレンダリング・タスクを実行し得る。通常のグラフィック・パイプラインは、各頂点ベースで原形の特定の特性を操作し得る頂点シェーダ、及び、グラフィック・パイプラインにおける頂点シェーダから下流で作動し、ピクセル・データをディスプレイに伝達する前にピクセル毎ベースで特定の値を操作し得るピクセル・シェーダ(「フラグメント・シェーダ」としても知られる)を含み得る。フラグメント・シェーダは、テクスチャを原形に適用することに関する値を操作し得る。パイプラインは、頂点シェーダの出力を使用して、原形の新しいセットを生成する形状シェーダ、及び、GPUによって実施されて、特定の他の一般計算タスクを実施し得る計算シェーダ(CS)などの、パイプラインの様々なステージにおける他のシェーダをも含み得る。
テクスチャを原形にマッピングするプロセスの一部には、スクリーン空間のピクセル位置からテクスチャ空間の傾きを計算することが含まれる。傾きの計算ではしばしば、ピクセル位置が矩形の正規直交の格子に基づくと見なされる。
本開示が生じるのはこの文脈においてである。
本開示の教示は、以下の詳細な説明を添付図面と関連して考慮することにより、容易に理解することができる。
本開示の一態様に係るグラフィック処理システムのブロック図。 グラフィック処理パイプラインのブロック図。 本開示の一態様に係る様々な解像度の領域を有するディスプレイの一部分を示す図。 本開示の一態様に係る様々な解像度の領域を有するディスプレイの一部分を示す図。 本開示の一態様に係る様々な解像度の領域を有するディスプレイの一部分を示す図。 本開示の一態様に係る様々な解像度の領域を有するディスプレイの一部分を示す図。 本開示の一態様に係るピクセル毎の傾きスケールの訂正の一般化された例を示す図。
以下の詳細な説明には、説明の目的のために、多くの具体的詳細が含まれるが、当業者であれば誰でも、以下の詳細に対する多くの変形及び変更が本発明の範囲内にあることを理解するであろう。したがって、以下に記載の本発明の例示的実施形態は、請求される発明に対し一般性を失うことなく、かつ、請求される発明を限定することなく説明される。
イントロダクション
特定のグラフィック・アプリケーションでは、ビットマップで表示されたテクスチャがポリゴン上に「ペイント」される。そのような場合、出力デバイスによって抽出された各ピクセル値は、テクスチャからサンプリングされた1つまたは複数のピクセルから判定される。本明細書において使用される場合、ビットマップは概して、コンピュータのモニタ、紙、または他のディスプレイ・デバイス上の概ね矩形のピクセルの格子または色点を示すデータ・ファイルまたは構造に言及する。各ピクセルの色は個別に規定される。たとえば、色付けされたピクセルは、赤、緑、及び青に1バイトずつの、3バイトで規定され得る。ビットマップは通常、ビット用ビットをデバイス・テクスチャ・サンプリング・ユニットによって支持されるデータ・フォーマットに一致させる。デバイス・テクスチャ・サンプリング・ユニットは通常、たいていはディスプレイのビデオ・メモリに記憶されているのと同じか、デバイス個別のビットマップと同じ場合があるフォーマットで、チャンネル毎の様々なビット深度またはブロックの圧縮を含む任意選択範囲を含む。ビットマップは、ピクセルの画像の幅及び高さ、ならびに、表示できる色の数を判定するピクセル毎のビット数によって特徴付けられる。
テクスチャ・ビットマップを表面に伝達するプロセスにはしばしば、テクスチャMIPマップ(mipmapとしても知られる)の使用が含まれる。この名称の中の「MIP」との文字は、ラテン語のフレーズmultum in parvoの頭文字であり、「小さい空間内に多く」を意味する。そのようなmipmapは予め計算され、最適化されたビットマップ画像のコレクションである。このビットマップ画像のコレクションは、レンダリング速度を増大させ、エイリアシング・アーチファクトを低減することが意図されたメイン・テクスチャを伴う。
mipmapセットの各ビットマップ画像は、メイン・テクスチャのバージョンであるが、ディテールのレベル(LOD)がある程度低減されている。外観がフル・ディテールでレンダリングするのに十分である場合、メイン・テクスチャが依然として使用されることになるが、テクスチャが遠くから見られるか、小さいサイズである場合は、最終画像をレンダリングするグラフィック・ハードウェアが適切なmipmapレベルに切り換える(またはもっとも近い2つのレベルの間に差し込む)。レンダリング速度が上昇するが、この理由は、処理されるテクスチャ・ピクセル(「テクセル」)数をかなり少なくすることができ、メモリ内におけるテクスチャ・ピクセルの分配をシンプルなテクスチャに比べてより整合したものにできるためである。アーチファクトを低減できるが、この理由は、mipmap画像がすでに効果的にアンチエイリアシングされ、リアルタイムのレンダリング・ハードウェアから負荷がいくぶん除かれたためである。
mipmapレベル間の混合は通常、ある形態のテクスチャ・フィルタリングを伴う。本明細書で使用される場合は、テクスチャ・フィルタリングはテクセル(テクスチャのピクセル)を3D対象のポイントにマッピングするのに使用される方法に関する。シンプルなテクスチャ・フィルタリング・アルゴリズムは、対象上のポイントを取り、その位置にもっとも近いテクセルを探し出すことができる。次いで、結果として得られるポイントが、その1つのテクセルからその色を得る。このシンプルな技術は、ときには最近傍フィルタリングと呼ばれる。より洗練された技術では、ポイント毎に2つ以上のテクセルを合わせる。実際にもっとも頻繁に使用されるアルゴリズムは、mipmapを使用する2直線に関するフィルタリングと3直線に関するフィルタリングである。2次または3次のフィルタリングなどの、異方性のフィルタリング及び高位の方法により、さらにより高品質の画像が得られる。
テクスチャは通常、正方形であり、辺の長さは2の累乗に等しい。たとえば、テクスチャが256かける256ピクセルの基本寸法を有する場合、関連するmipmapセットは連続する8つの画像を含み得、それぞれのサイズは前のもののサイズの半分である。すなわち、128×128ピクセル、64×64、32×32、16×16、8×8、4×4、2×2、そして1×1(単一のピクセル)となる。たとえば、このテクスチャが、スクリーン空間の40×40ピクセルの部分にマッピングされると、64×64のmipmapと32×32のmipmapとの間への差込が使用されることになる。本明細書で使用される場合、「スクリーン空間」との用語は概して、グラフィック・パイプラインでディスプレイ・バッファによって使用される座標のセットに言及する。
適切なmipmapレベルを判定するプロセスにおける重要な操作には、スクリーン空間からのピクセル位置の対応するエリア(XY座標空間と呼ばれることもある)に関する、テクスチャ座標空間で覆われたエリア(UV座標空間と呼ばれることもある)を判定することを伴う。大まかにいえば、差し込まれた、または計算されたテクスチャUV座標のスクリーン空間の傾きは、シーンの関連する部分におけるXY空間のピクセル位置でサンプリングされるUとVの値から計算される。いくつかの実施態様では、テクスチャ座標の傾きは、スクリーンのY座標が固定でスクリーンのX座標が変化する場合(du_dx,dv_dxと呼ばれる場合もある)に生じるテクスチャ座標の変化と、スクリーンのX座標が固定でスクリーンのY座標が変化する場合(du_dy,dv_dyと呼ばれる場合もある)に生じるテクスチャ座標の変化とを計算することにより、各スクリーン空間の方向X及びYについて判定される。このテクスチャ座標の傾きの計算は、任意選択的にサンプル格子の非正規直交性に関する訂正をも含み得る。非異方性のテクスチャの検索に関して、これら2つの内のより大きい規模の傾きが、ディテールのレベル(LOD)を選択するために使用される。異方性テクスチャリングに関して、規模の小さい傾きが、LODを選択するために使用され、規模の大きい傾斜に対応する線においてテクスチャがサンプリングされる。
上述の計算は、1、2、3、またはそれ以上のテクスチャ座標の次元に一般化することができることにも留意されたい。通常のハードウェアは、テクスチャの次元数に応じて、U空間の1Dの傾き、またはUV空間の2Dの傾き、またはUVW空間の3Dの傾きを計算する。したがって、本開示の態様は、2つのテクスチャ座標の次元を伴う実施態様に限定されない。
しかし、適切なMIPのディテールのレベルを判定するプロセスは、テクスチャが適用される仮想空間の関連する部分がサンプルの正規配置である、すなわち、スクリーン・ピクセル内のサンプル・ポイントが、垂直方向及び水平方向で、スクリーン空間全体にわたって均等に離間しているとの推定に基づく。しかし、可視アーチファクトは、サンプル・パターンの不連続性、たとえば、スクリーン空間においてサンプルの空間の空け方が異なるスクリーン・エリア間の境界から生じ得る。そのような境界では、境界の一方の側における局所的に適正なテクスチャ・フィルタリングが、著しく異なるMIPのディテールのレベルにアクセスする場合があり、境界の両側の出力画像の表示に顕著な変化をもたらす。そのような状況では、傾きは、滑らかに変化するテクスチャ・フィルタリングを提供し、それによって境界の可視性を低減するために、境界の各側で調整されなければならない。
システム及び装置
本開示の態様には、テクスチャ・マッピングの傾き調整を実施するように構成されたグラフィック処理システムが含まれる。限定ではなく例として、図1Aは、本開示の態様に係るグラフィック処理を実施するために使用され得るコンピュータ・システム100のブロック図を示している。本開示の態様によれば、システム100は、埋込型システム、携帯電話、パーソナル・コンピュータ、タブレット・コンピュータ、ポータブル・ゲーム・デバイス、ワークステーション、及びゲーム・コンソールなどである。
システム100は通常、中央演算処理装置(CPU)102、グラフィック処理装置(GPU)104、及び、CPUとGPUとの両方にアクセス可能なメモリ108を含み得る。CPU102及びGPU104は各々が、1つまたは複数のプロセッサ・コア、たとえば単一のコア、2つのコア、4つのコア、8つのコア、またはそれ以上を含み得る。メモリ108は、アドレス可能メモリ、たとえばRAM、DRAMなどを提供する集積回路の形態であり得る。メモリ108は、グラフィック・リソースを記憶し得、グラフィック・レンダリング・パイプラインのためのデータのグラフィック・バッファ105を一時的に記憶し得るグラフィック・メモリ128を含み得る。グラフィック・バッファ105は、たとえば、強い頂点パラメータ値に関する頂点バッファ、頂点インデックスを保持するためのインデックス・バッファ、グラフィック・コンテンツの深度を記憶する深度バッファ(たとえばZバッファ)、ステンシル・バッファ、ディスプレイに送られる完全なフレームを記憶するフレーム・バッファ、及び他のバッファを含み得る。図1Aに示す例では、グラフィック・メモリ128がメイン・メモリの一部として示されている。代替的実施態様では、グラフィック・メモリは別の構成要素とすることができ、場合によってはGPU104に統合される。
限定ではなく例として、CPU102及びGPU104は、データ・バス109を使用してメモリ108にアクセスし得る。いくつかの場合では、システム100が2つ以上の異なるバスを含むことが有用であり得る。メモリ108は、CPU102及びGPU104によってアクセス可能なデータを含み得る。GPU104は、グラフィック処理タスクを並行して実施するように構成された複数の計算ユニットを含み得る。各計算ユニットは、ローカル・データ・シェアなどの、それ自体の専用のローカル・メモリ・ストアを含み得る。
CPUは、グラフィック、コンパイラ、及びグラフィックAPIを利用するアプリケーションを含む場合があるCPUコード103を実行するように構成され得る。グラフィックAPIは、ドロー・コマンドをGPUに実施されるプログラムに発するように構成され得る。CPUコード103は、物理シミュレーション及び他の機能をも実施し得る。GPU104は、上述のように動作するように構成され得る。具体的には、GPUは、上述のように計算シェーダCS、頂点シェーダVS、及びピクセル・シェーダPSなどのシェーダを実施し得るGPUコード103を実行し得る。計算シェーダCSと頂点シェーダVSとの間のデータのやり取りを促進するために、システムは、フレーム・バッファFBを含み得る1つまたは複数のバッファ105を含み得る。GPUコード103は任意選択的に、ピクセル・シェーダまたは形状シェーダなどの他のタイプのシェーダ(図示せず)をも実施し得る。各計算ユニットは、ローカル・データ・シェアなどの、それ自体の専用のローカル・メモリ・ストアを含み得る。GPU104は、グラフィック・パイプラインの一部として、テクスチャを原形に適用するための特定の操作を実施するように構成された、1つまたは複数のテクスチャ・ユニット106を含み得る。
本開示の態様によれば、ピクセル・シェーダPS及びテクスチャ・ユニット106は、1つまたは複数のテクスチャ座標UVを生成するように構成され、潜在的には、1つまたは複数の対応するピクセル・サンプル位置に関する各座標についてのテクスチャ空間の傾き値Grをも生成するように構成される。これら傾き値は、潜在的に、サンプル格子の非正規直交性に関して訂正され得る。これら傾き値Grにより、局所的に適正なテクスチャ・フィルタリングが提供されるが、いくつかの構成では、テクスチャ・フィルタリング表示の突然の変化として出力画像において視認可能になる場合がある様々なピクセル・サンプル構成を有するスクリーン・エリア間の突然の遷移が生じている場合がある。本開示の態様によれば、ピクセル・シェーダPSは、テクスチャ・ユニット106をスクリーン空間の傾きスケール要素Scとともに計算および供給し得る。傾きスケール要素Scは調整された傾き値Gr’を得るために、テクスチャ・ユニット106が、傾きGrに対し直線スクリーン軸と整列されたスケール変異として適用し得る。これら傾きスケール要素Scは、傾き値Grを変更し、異なるピクセル解像度を有するディスプレイ・デバイス116の領域間で傾きGrが滑らかに遷移するために、スクリーン・エリアの境界に漸次繋げるために使用され得る。
限定ではなく例として、テクスチャ・ユニット106は、特定用途の集積回路(ASIC)、フィールド・プログラマブル・ゲート・アレイ(FPGA)、またはチップ上のシステム(SoC若しくはSOC)などの特定目的のためのハードウェアとして実施され得る。
本明細書で使用される場合、及び、当業者に通常理解されているように、特定用途の集積回路(ASIC)は、多目的の使用を意図されているというよりは、特定の使用のためにカスタマイズされた集積回路である。
本明細書で使用される場合、及び、当業者に通常理解されているように、フィールド・プログラマブル・ゲート・アレイ(FPGA)は、カスタマまたは設計者によって製造の後に構成されるように設計された集積回路であり、したがって、「フィールド・プログラマブル」である。FPGA構成は通常、ASICに使用されるものと同様に、ハードウェア記載言語(HDL)を使用して特定される。
本明細書で使用される場合、及び、当業者に通常理解されているように、1つのチップ上のシステムまたはチップ上のシステム(SoCまたはSOC)は、コンピュータまたは他の電子システムの構成要素すべてを単一のチップに統合する集積回路(IC)である。この集積回路は、デジタル、アナログ、混合信号、及び、しばしばラジオ周波数機能を含み、すべて単一のチップ基板上にある。一般的な用途は、埋込型システムのエリア内にある。
一般的なSoCは、以下のハードウェア構成要素を含む。
1つまたは複数のプロセッサ・コア(たとえば、マイクロコントローラ、マイクロプロセッサ、またはデジタル信号プロセッサ(DSP)のコア)。
メモリ・ブロック、たとえば、リード・オンリ・メモリ(ROM)、ランダム・アクセス・メモリ(RAM)、電気的に消去可能なプログラマブル・リードオンリ・メモリ(EEPROM)、及びフラッシュメモリ。
発振器または位相ロック・ループなどのタイミング・ソース。
カウンタタイマ、リードタイム・タイマ、またはパワーオン・リセット・ジェネレータなどの周辺機器。
外部インターフェース、たとえば、ユニバーサル・シリアル・バス(USB)、ファイアワイア、イーサネット(登録商標)、汎用非同期式受信/送信回路(USART)、シリアル周辺インターフェース(SPI)バスなどの工業規格。
アナログ・デジタル・コンバータ(ADC)及びデジタル・アナログ・コンバータ(DAC)を含むアナログ・インターフェース。
電圧レギュレータ及びパワー・マネジメント回路。
これら構成要素は、専用または工業規格のバスによって接続されている。直接メモリ・アクセス(DMA)コントローラは、外部インターフェースとメモリとの間でデータを直接繋げ、プロセッサ・コアをバイパスし、それにより、SoCのデータ処理量を増大させる。
一般的なSoCは、上述のハードウェア構成要素と、プロセッサ・コア(複数の場合もある)、周辺機器、及びインターフェースを制御する実行可能な指示(たとえば、ソフトウェアまたはファームウェア)との両方を含む。
本開示の態様によれば、テクスチャ・ユニット106のいくつかまたはすべての機能は、代替的に、ソフトウェア・プログラマブル多目的コンピュータ・プロセッサによって実行される、適切に構成されたソフトウェア指示によって実施され得る。そのような指示は、コンピュータ可読媒体、たとえばメモリ108または記憶デバイス115内で実施され得る。
システム100は、たとえばバス109を介して、システムの他の構成要素と通信し得る周知のサポート機能110をも含み得る。そのようなサポート機能は、それに限定されないが、入力/出力(I/O)要素111、電源(P/S)112、クロック(CLK)113、及びキャッシュ114を含み得る。キャッシュ114に加え、GPU104は、それ自体のGPUキャッシュ114Gを含む場合があり、GPUは、GPU104上で実行されるプログラムがGPUキャッシュ114Gをリードスルーまたはライトスルー可能であるように構成され得る。
システム100は、任意選択的に、プログラム及び/またはデータを記憶するディスク・ドライブ、CD−ROMドライブ、フラッシュメモリ、テープ・ドライブなどのマス・ストレージ・デバイス115を含み得る。システム100は任意選択的に、レンダリングされたグラフィック117をユーザに提供するディスプレイ・デバイス116と、システム100とユーザとの間の相互作用を促進するユーザ・インターフェース・ユニット118をも含み得る。ディスプレイ・デバイス116は、可読テキスト、数字、グラフィカル・シンボル、または画像を表示可能であるフラット・パネル・ディスプレイ、ヘッド・マウント・ディスプレイ(HMD)、ブラウン管(CRT)スクリーン、プロジェクタ、または他のデバイスの形態をとり得る。ディスプレイ116は、本明細書に記載の様々な技術に従って処理された、レンダリングされたグラフィック画像117を表示し得る。ユーザ・インターフェース118は、グラフィカル・ユーザ・インターフェース(GUI)と関連して使用され得るキーボード、マウス、ジョイスティック、ライト・ペン、ゲーム・コントローラ、または他のデバイスを含み得る。システム100は、デバイスがネットワーク122を越えて他のデバイスと通信することを可能にするネットワーク・インターフェース120をも含み得る。ネットワーク122は、たとえば、ローカル・エリア・ネットワーク(LAN)、インターネットなどの広域ネットワーク、Bluetooth(登録商標)ネットワークなどのパーソナル・エリア・ネットワーク、または他のタイプのネットワークなどである場合がある。これら構成要素は、ハードウェア、ソフトウェア、若しくはファームウェア、またはこれらの内の2つ以上のある組合せの中で実施され得る。
グラフィック・パイプライン
本開示の態様によれば、システム100は、グラフィック・レンダリング・パイプラインの各部分を実施するように構成される。図1Bは、本開示の態様に係るグラフィック・レンダリング・パイプライン130の例を示している。
レンダリング・パイプライン130は、グラフィックを、2次元、好ましくは、仮想空間(本明細書において「世界空間(world space)」と呼ばれる場合もある)における3次元形状のシーンを表示する画像としてレンダリングするように構成され得る。パイプラインの初期のステージには、シーンがラスタ化され、ディスプレイ・デバイス116上の出力に適切な別個のピクチャ要素のセットとしてスクリーン空間に変換される前に、仮想空間で実施される操作が含まれ得る。パイプラインを通して、グラフィック・メモリ128に含まれる様々なリソースがパイプラインの各ステージにおいて利用され得、画像の最終的な値が判定される前に、各ステージへの入力及び出力が一時的に、グラフィック・メモリに含まれるバッファ内に記憶され得る。
レンダリング・パイプラインは、仮想空間でセットアップされ、シーンの座標に関して規定された形状を有する頂点のセットによって規定された1つまたは複数の仮想対象を含み得るデータ入力132上で作動し得る。パイプラインの初期のステージには、図1Bの頂点処理ステージ134として広く分類されるものが含まれ得、このことは、仮想空間における対象の頂点を処理するための様々な計算を含み得る。このことは、位置値(たとえば、X−Y座標及びZ深度)、色値、ライティング値、テクスチャ座標などの、シーンの頂点の様々なパラメータ値を操作し得る頂点シェーディング計算136が含まれ得る。好ましくは、頂点シェーディング計算136は1つまたは複数のプログラム可能な頂点シェーダによって実施される。頂点処理ステージは任意選択的に、仮想空間に新たな頂点及び新たな形状を生成するのに任意選択的に使用され得るモザイク及び形状シェーダ計算138などの、追加の頂点処理計算を含み得る。頂点計算134と呼ばれるステージが完了すると、パイプラインのこのステージにおいて、各々が頂点パラメータ値139のセットを有する頂点のセットによってシーンが規定される。
次いで、パイプライン130は、シーンの形状をスクリーン空間及び別個のピクチャ要素のセット、すなわちピクセルに変換することに関連するラスタ化処理ステージ140に進むことができる。仮想空間の形状は、スクリーン空間形状に、対象及び頂点の仮想空間からシーンのビューイング・ウインドウ(または「ビューポート」)への投影を効果的に計算し得る操作を通して変換される場合がある。頂点は、原形のセットを規定する場合がある。
図1Bに示すラスタ化処理ステージ140は、シーンの頂点の各セットによって規定される原形をセットアップし得る原形アセンブリ操作142を含む場合がある。各頂点はインデックスによって規定される場合があり、各原形は、グラフィック・メモリ128内のインデックス・バッファ内に記憶され得るこれら頂点のインデックスに関して規定される場合がある。原形は好ましくは、各々が3つの頂点によって規定された3角形を少なくとも含むが、点の原形、線の原形、及び他の多角形形状をも含み得る。原形アセンブリステージ142の間は、特定の原形が任意選択的に集められ得る。たとえば、頂点が特定の巻込み順を示すそれら原形は、後ろ向きと見なされる場合があり、また、シーンから集められる場合がある。
限定ではなく例として、原形が、3次元の仮想空間の頂点によって規定される三角形の形態である場合、原形アセンブリは、ディスプレイ116のスクリーン上の、各トライアングルが位置する場所を判定する。クリッピング及びスクリーン空間の変換操作は、通常、原形アセンブリ・ユニット142によって実施される。
原形が組み立てられた後に、ラスタ化処理ステージは、各ピクセルの原形をサンプリングし、サンプルが原形で覆われている場合には、さらなる処理のために、原形からフラグメント(ピクセルと呼ばれる場合もある)を生成し得る、スキャン変換操作144を含む場合がある。スキャン変換操作には、スクリーン空間座標に変換された原形を取り、どのピクセルがその原形の一部であるかを判定する操作が含まれる。いくつかの実施態様では、スキャン変換操作144の間、各ピクセルについて複数のサンプルが原形内に取られ、このことは、アンチエイリアシング目的のために使用され得る。特定の実施態様では、様々なピクセルが別様にサンプリングされ得る。たとえば、ヘッド・マウント・ディスプレイ(HMD)などの特定のタイプのディスプレイ・デバイス116についてレンダリングする特定の態様を最適化するために、いくつかのエッジ・ピクセルが、中心のピクセルよりも低いサンプリング密度を含み得る。スキャン変換144の間に原形から生じるフラグメント(または「ピクセル」)は、それらを形成した原形の頂点の頂点パラメータ値139からピクセルの位置に差し込まれ得るパラメータ値を有する場合がある。ラスタ化ステージ140は、パイプラインの後のステージにおいてさらに処理するための入力として使用され得る、これら差し込まれたフラグメント・パラメータ値149を計算するためのパラメータ差込操作146のステージを含む場合がある。
パイプライン130は、差込パラメータ値149をさらに操作し、フラグメントがディスプレイのための最終ピクセル値にどのように寄与するかを判定するさらなる操作を実施するための、図1Bにおいては概して150で示されるさらなるピクセル処理操作を含み得る。これらピクセル処理タスクのいくつかは、フラグメントの差込パラメータ値149をさらに操作するのに使用され得るピクセル・シェーディング計算152を含む場合がある。ピクセル・シェーディング計算は、プログラマブル・ピクセル・シェーダによって実施され得、ピクセル・シェーダ実施148は、ラスタ化処理ステージ140の間に原形のサンプリングに基づき開始され得る。ピクセル・シェーディング計算152は、グラフィック・メモリ128内の1つまたは複数のバッファ105に値を出力し得る。このことは、レンダリング目標、または、複数の場合には、マルチプル・レンダリング目標(MRT)と呼ばれる場合がある。
MRTにより、ピクセル・シェーダが、各々が同じスクリーン形状を有するが、潜在的に異なるピクセル・フォーマットの、2つ以上のレンダリング目標に任意選択的に出力することが可能になる。レンダリング目標のフォーマットの制限はしばしば、いずれか1つのレンダリング目標が4つもの個別の出力値(チャネル)を許容することのみ可能であり、これら4つのチャネルのフォーマットがしっかりと相互に結び付けられていることを意味している。MRTにより、単一のピクセル・シェーダが、様々なフォーマットが混合されている中に、多くのさらなる値を出力することが可能になる。レンダリング目標のフォーマットは「テクスチャ状」であり、その中では、フォーマットには、スクリーン空間・ピクセル毎に値を記憶しているが、様々なパフォーマンス上の理由から、レンダリング目標のフォーマットは、近年のハードウェアの世代ではより特殊化されるようになってきており、(常にではないが)ときには、テクスチャ・ユニット106に読み込まれるように互換性を有する前に、データをフォーマットし直す「分解(resolve)」と呼ばれるものを要求する。
ピクセル処理150は通常、一般にラスタ化操作(ROP)として知られるものを含む場合があるレンダリング出力操作156で完結し得る。ラスタ化操作(ROP)は単に、複数のレンダリング目標(MRT)の中の各レンダリング目標について1回ずつ、ピクセル毎に複数回実行する。出力操作156の間、最終ピクセル値159はフレーム・バッファ内で判定され得る。このことは任意選択的に、フラグメントの結合、ステンシルの適用、深度テスト、及び特定のサンプル毎の処理タスクを含み得る。最終ピクセル値159には、すべてのアクティブなレンダリング目標(MRT)に対する集められた出力が含まれる。GPU104は、最終ピクセル値159を使用して、最終フレーム160を形成する。最終フレーム160は任意選択的に、リアルタイムでディスプレイ・デバイス116のピクセル上に表示され得る。
出力操作150は、1つまたは複数のピクセル・シェーダPSによって幾分実施され、テクスチャ・ユニット106によって幾分実施され得る、テクスチャ・マッピング操作154をも含む場合がある。ピクセル・シェーディング計算152は、テクスチャ座標UVをスクリーン空間座標XYから計算することと、テクスチャ座標をテクスチャ操作154に送ることと、テクスチャ・データTXを受信することと、を含む。テクスチャ座標UVは、スクリーン空間座標XYから任意の方式で計算することができるが、通常は差し込まれた入力値から計算されるか、ときには前のテクスチャ操作の結果から計算される。傾きGrはしばしば、テクスチャ・ユニット106(テクスチャ操作ハードウェア・ユニット)により、テクスチャ座標のカッドから直接計算されるが、任意選択的に、ピクセル・シェーディング計算152によって明示的に計算され得、テクスチャ・ユニット106に頼るというよりはむしろ、テクスチャ操作154に渡して、標準的な計算を実施する。
テクスチャ操作154は通常、ピクセル・シェーダPSとテクスチャ・ユニット106とのいくつかの組合せによって実施され得る以下のステージを含む。最初に、ピクセル位置XY毎の1つまたは複数のテクスチャ座標UVが生成され、各テクスチャ・マッピング操作について座標セットを提供するように使用される。次いで、潜在的にサンプル格子の非正規直交性に関する訂正を含み、ピクセル・サンプル位置に関するテクスチャ空間の傾き値Grが生成される。最後に、テクスチャ・フィルタリング操作に使用される最終的なテクスチャ空間の傾きGr’を提供するために、傾きGrが、ピクセル・シェーダPSによって供給される、ピクセル毎のスクリーン空間の傾きスケール要素Scによって変更される。傾きスケール要素Scは、様々なピクセルの解像度またはサンプル分布を有するディスプレイ・デバイス116の領域間で滑らかに遷移する傾き値Gr’を提供するために選択され得る。
いくつかの実施態様では、ピクセル・シェーダPSは、ピクセル位置XY毎にテクスチャ座標UV及び傾きスケール要素Scを生成し、テクスチャ・ユニット106に各テクスチャ・マッピング操作のための座標セットを提供することができる。これにより、テクスチャ空間の傾き値Grを生成し、訂正されたテクスチャ空間の傾き値Gr’を提供するためにそれらを変更し得る。
他の実施態様では、ピクセル・シェーダPSがテクスチャ空間座標UV、ピクセル位置XYからの十分な差異Gr、及び傾きスケール要素Scを計算し、これら値すべてをテクスチャ・ユニット606に渡し、テクスチャ・ユニット606に、依然としてあらゆる訂正を標準的に非正規直交性について実施し、次いで傾きスケール要素Scを適用して調整された傾き値Gr’を得なければならないことを示すことができる。
他の代替的な実施態様では、ピクセル・シェーダPSは、テクスチャ空間座標UV及び十分に訂正された傾きGr’を計算し、それらをテクスチャ・ユニットに渡し、テクスチャ・ユニット106に、あらゆる必要な訂正がすでにソフトウェア内で適用されたこと、及び、訂正された傾きGr’を、LODを選択するように使用されるものとすることを示すことができる。
ピクセル毎の傾き調整
本開示の態様は、テクスチャ・ユニット106に使用されて、グラフィック・パイプラインにおいて原形に適用されるテクスチャに関するmipmapレベル(LOD)を判定する傾きGrの調整を対象としている。基本的なコンセプトは図2Eに示されている。図2Eは、2つの直角のカッド(E0及びE1)の4つのピクセル・サンプルのテクスチャUV座標を示している。カッドE0では、XY空間内のすべてのサンプル・ポイントが、水平方向および垂直方向に1つのスクリーン・ピクセルの間隔を伴って直交格子上にある。
カッドE0では、UV空間内のテクスチャの傾きGrが、テクスチャ座標UVから瑣末に計算される。テクスチャの傾きGrは、左上、右上、及び左下のピクセルのテクスチャ座標UV、それぞれ(u0,v0)、(u1,v1)、及び(u2,v2)に関して、以下のように数学的に表現され得る。
du_dx = u1−u0
dv_dx = v1−v0
du_dy = u2−u0
dv_dy = v2−v0
du_dx = u1−u0などのこれら計算は、ピクセル・シェーダPSが、ソフトウェアが計算した値でそれらをオーバーライドすることを選択しない場合に、テクスチャ・ユニット・ハードウェア106によって実施され得る。テクスチャの傾きGrは次いで、テクスチャ・ユニット106によって使用されて、サンプルに対するmipmapLODレベルを判定する。
本開示の態様によれば、傾きGr du_dx、dv_dx、du_dy、dv_dyは、ピクセル毎ベースで調整されて、ディスプレイにわたるピクセル解像度の不連続性に対処する。たとえば、特定のディスプレイ構成(たとえば、ヘッド・マウント・ディスプレイ(HMD)の用途)では、ディスプレイの異なる部分には異なる解像度を使用することが有利である。そのような場合、ピクセル毎ベースで傾きをスケーリングして、異なる解像度の隣接する領域間の境界またはその付近においてテクスチャ・フィルタリングで変化を平滑化することが非常に有利である。基本的なコンセプトは図2A〜2Cに記載されている。
図2A及び図2Bに示すように、表示エリアは、様々なピクセルの解像度の2つ以上の領域201、202、203、204、205、206、207、208、及び209に分けられ得る。各領域は、たとえばヘッド・マウント・ディスプレイ(HMD)の場合に、ディスプレイの領域に沿っている立体角に関連する解像度を有し得る。限定ではなく例として、中央領域205は名目または基準ピクセル解像度R0を有し得る。エッジ領域202、204、206、208は、基準解像度の半分である1/2R0を有し得る。たとえば、これら領域のピクセルの半分が「オフにされて」いるか、ディスプレイ上にレンダリングされていない。コーナ領域201、203、207、及び209は、基準解像度の4分の1である1/4R0を有し得る。たとえば、これら領域のピクセルの4分の3が「オフにされて」いるか、ディスプレイ上にレンダリングされていない。図2Bは、各領域の解像度に応じた様々なサイズに引き出された、これら様々な領域を示している。
傾きは、隣接する領域間の境界付近のピクセルについて調整される必要がある場合がある。たとえば、図2Cでは、セクション間の境界をマークする線が移動された。しかし、隣り合う領域間のテクスチャ・フィルタリングにおける不連続性により境界が視認可能になる。GPUは、領域間の境界付近のピクセルについて傾きを調整して、不連続性を滑らかにして、境界をより視認しにくくするように構成することができる。たとえば、図2Dに示すように、図2Cにおける列D−D’の全解像度の中央領域205における選択されたピクセル211、212に関する水平方向の傾きは、半解像度のエッジ領域204、206に向かって漸次ぼやけていくテクスチャ・フィルタリングを提供するようにスケーリングすることができ、それにより、境界の両側ですぐ隣接する2つのピクセルがほぼ同じMIP LODレベルにアクセスするようになっている。
代替的には、半解像度のエッジ領域204、206の傾きは、全解像度の中央領域205に向かって漸次シャープになるようにスケーリングすることもできる。
異なる解像度に対処するための傾きの一般化された調整は、図2Eを参照して理解することができる。図2Eは、UV空間において、水平スクリーン・エリアにおける境界の両側の2つの隣接するピクセルのカッドE0及びE1に関するテクスチャ座標を示している。図2Cのスクリーン空間において対応して分類された長方形でも示されている。図2Eでは、E0とE1の間のサンプルの水平方向の密度を半分にすることで、E0について計算される(du_dx,dv_dx)の長さの約2倍の、E1に関する(du_dx,dv_dx)が得られる。このことはとりわけ、E0に関するよりも低い、E1に関するディテールのレベルを選択することに繋がり得る。なお、カッドE0及びカッドE1に関するこれら傾きの計算は、約1つのテクスチャ・ピクセル(「テクセル」)を有する各スクリーン・ピクセルをカバーするmipmap LODを各々が正確に選択することにおいて、局所的には正確であるが、テクスチャ・フィルタリングにおけるこの突然の変化により、E0と同様のサンプル・パターンのカッドと、E1と同様のサンプル・パターンのカッドとの間の境界の両側において出力画像の表示における視認可能な変化を生じ得る。この境界の視認性は、滑らかに変化するmipmap LODの選択を提供するために、境界付近のピクセルの傾き値の調整を選択することによって低減され得る。
UV空間における傾き(du_dx,dv_dx)、(du_dy,dv_dy)は、通常は各カッドについて計算される。このことは、いくつかの他の場合では、ローカル・サンプル分布の非正規直交性についての訂正を含む場合がある。傾きは次いで、ピクセル毎ベースで、ピクセル毎の傾きのスケール要素scaleX、scaleYで乗算されて、テクスチャ・ユニットが使用して適切なmipmapレベルを判定する、最終的な調整された傾き(du_dx’,dv_dx’)、(du_dy’,dv_dy’)を提供する。
du_dx’ = du_dx * scaleX
du_dy’ = du_dy * scaleY
dv_dx’ = dv_dx * scaleX
dv_dy’ = dv_dy * scaleY
傾きのスケール要素scaleX及びscaleYは、ピクセル・シェーダPSによって計算され、テクスチャ・ユニット106に渡される。テクスチャ・ユニット106は、それらを使用して最終的な調整された傾きを計算する。
上述の傾きのスケーリングの訂正は、各テクスチャ座標U及びVに同一に適用されるものであり、このため、1次元の座標(U)、2次元の座標(UV)、または3次元の座標(UVW)に瑣末に延ばすことができることを理解されたい。
傾きのスケール要素scaleX、scaleYに適切な値は、異なるピクセル解像度の隣接する領域の境界に近い、選択されたピクセルに適用される傾きのスケール要素の値を繰り返すことによって経験的に判定され得る。傾きのスケール要素に適切な値の範囲は、隣接する領域の相対的なピクセル解像度から判定することができる。たとえば、列D−D’に沿って、ピクセルの解像度が、領域204の1/2Rから領域205のRに変化し、再び領域206の1/2Rに変化する。傾きのスケール値scaleXは、領域204と206との境界に近い領域205のいくつかのピクセルにわたって約1から約2に遷移する。図2Eでは、2の傾きscaleXの要素の領域205からのカッドE0への適用が、領域206からの隣接するカッドE1について計算された傾きに概ねマッチする(du_dx’,dv_dx’)になり、このため、スケーリングが訂正された傾きの連続性と、テクスチャ・フィルタリングLODの選択を形成することを見て取ることができる。同様に、傾きのスケール値scaleX、scaleYは、約1の値から約2の値に、領域207と209との境界に近い領域208のいくつかのピクセルにわたって遷移する。傾きのスケール要素は、いくつかのピクセル、たとえば約4から8のピクセルにわたって、2つの値の間で変化し得る。
テクスチャ・ユニット106は、最終的な調整された傾きを使用して、最終的な調整された傾きからの1つまたは複数の原形への適用のための適切なLODを選択し得る。
さらなる態様
本開示のさらなる態様には、ピクセル・サンプル位置毎のテクスチャ座標の1つまたは複数のセットを受信あるいは生成することと、1つまたは複数の原形についてテクスチャ空間の傾き値を計算することと、傾き値を変更して、異なるピクセル解像度を有するディスプレイ・デバイスの領域間で傾き値を滑らかに遷移させるように構成されたピクセル毎の傾きスケール要素を生成及び適用することと、を含むグラフィック処理方法が含まれる。
別の追加の態様は、前述の方法を実施するように構成されたグラフィック処理システムである。
さらに別の追加の態様は、実行されると前述の方法を実施する、コンピュータ実施可能な指示を内部に有するコンピュータ可読媒体である。
さらなる一態様は、前述の方法を実施するコンピュータ可読指示を伴う電磁信号または他の信号である。
別のさらなる態様は、通信ネットワークからダウンロード可能であり、及び/または、コンピュータ可読及び/またはマイクロプロセッサで実行可能な媒体に記憶されたコンピュータ・プログラム製品であって、上述の方法を実施するプログラム・コード指示を備えることを特徴とする。
上記は、本発明の好ましい実施形態の完全な記載であるが、様々な代替形態、変形形態、及び均等を使用することが可能である。したがって、本発明の範囲は、上述の記載を参照して判定されるべきではなく、代わりに、添付の特許請求の範囲を参照して、その均等の全範囲を伴って判定されるべきである。本明細書に記載の任意の特徴は、好ましいか好ましくないかに関わらず、本明細書に記載の任意の他の特徴と、好ましいか好ましくないかに関わらず、組み合わせてもよい。添付の特許請求の範囲においては、不定冠詞「A」または「An」は、別様に明確に述べられていなければ、その冠詞に続くアイテムの1つまたは複数の量に言及する。添付の特許請求の範囲は、「means for」とのフレーズを使用して、そのような限定が所与の請求項に明確に列挙されていない限り、ミーンズプラスファンクションの限定として解されるものではない。

Claims (24)

  1. ピクセル・シェーダ及びテクスチャ・ユニットを有するグラフィック演算処理装置(GPU)を備え、
    前記ピクセル・シェーダが、ピクセル・サンプル位置毎のテクスチャ座標の1つまたは複数のセットを受信あるいは生成するように構成され、前記ピクセル・シェーダ及びテクスチャ・ユニットがそれらの間で、1つまたは複数の原形に関するテクスチャ空間の傾き値を計算し、前記傾き値を変更して、異なるピクセル解像度を有するディスプレイ・デバイスのスクリーン空間の領域間で前記傾き値を遷移させるように構成されたピクセル毎の傾きスケール要素を生成及び適用するように構成された、コンピュータ・グラフィック・システム。
  2. 前記テクスチャ空間の傾き値は、スクリーン空間のサンプル分布の非正規直交性に関する訂正を含む、請求項1に記載のシステム。
  3. 前記テクスチャ・ユニットは、特定用途の集積回路(ASIC)、フィールド・プログラマブル・ゲート・アレイ(FPGA)、またはチップ上のシステム(SOC)である、請求項1に記載のシステム。
  4. 前記テクスチャ・ユニットは、さらに、前記調整された傾き値からの1つまたは複数の原形に適用される、テクスチャに関する複数のディテールのレベルから1つのディテールのレベルを選択するように構成された、請求項1に記載のシステム。
  5. 前記テクスチャ・ユニットは、さらに、前記1つまたは複数の原形に前記テクスチャを適用するように構成された、請求項4に記載のシステム。
  6. 前記GPUに結合されたディスプレイ・ユニットをさらに備え、前記ディスプレイ・ユニットは、前記1つまたは複数の原形に適用された前記テクスチャを含む画像を表示するように構成された、請求項5に記載のシステム。
  7. 前記テクスチャ・ユニットは、前記ピクセル・シェーダによって供給された前記テクスチャ座標からテクスチャ空間の傾き値を計算し、スケールが訂正された傾き値を得るために、前記ピクセル毎の傾きスケール要素を生成及び適用する、請求項1に記載のシステム。
  8. 前記ピクセル・シェーダは、前記ピクセル毎の傾きのスケール要素を計算し、それらを、前記テクスチャ座標を有する前記テクスチャ・ユニットに提供する、請求項1に記載のシステム。
  9. 前記テクスチャ・ユニットは、前記ピクセル・シェーダによって供給された前記テクスチャ座標からテクスチャ空間の傾き値を計算し、次いで、調整された傾き値を得るために、前記供給された傾きのスケール要素を前記テクスチャ空間の傾きに適用する、請求項8に記載のシステム。
  10. 前記ピクセル・シェーダは、前記テクスチャ座標から前記テクスチャ空間の傾きを計算し、前記テクスチャ座標とともにそれらを前記テクスチャ・ユニットに渡し、前記ピクセル・シェーダが前記テクスチャ・ユニットに、前記テクスチャ・ユニットが前記サンプル格子の任意の非正規直交性について前記テクスチャの傾き値を訂正しなければならないことを示す、請求項1に記載のシステム。
  11. 前記ピクセル・シェーダはまた、前記ピクセル毎の傾きのスケール要素を判定し、それらを前記テクスチャ・ユニットに提供し、前記ピクセル・シェーダは前記テクスチャ・ユニットに、前記テクスチャ・ユニットが、前記調整された傾きを得るために前記傾きのスケール要素を前記傾きに適用しなければならないことを通知する、請求項10に記載のシステム。
  12. 前記ピクセル・シェーダは、前記テクスチャ座標から前記調整されたテクスチャの傾きを計算し、それらを前記テクスチャ空間座標とともに前記テクスチャ・ユニットに渡し、前記ピクセル・シェーダは前記テクスチャ・ユニットに、前記調整された傾きが、原形に適用されるテクスチャに関するディテールのレベルを選択するように使用されるものとすることを示す、請求項1に記載のシステム。
  13. ピクセル・シェーダ及びハードウェアで実施されたテクスチャ・ユニットを有するコンピュータ・グラフィック演算処理装置(GPU)におけるグラフィック処理方法であって、
    前記ピクセル・シェーダが、ピクセル位置毎の1つまたは複数のテクスチャ座標を生成して、1つまたは複数のテクスチャ・マッピング操作のための座標セットを提供することと、
    前記ピクセル・シェーダとテクスチャ・ユニットの間で、前記テクスチャ座標から傾き値を計算することと、
    前記ピクセル・シェーダとテクスチャ・ユニットの間で、対応する傾き値を対応する調整された傾き値に調整するように構成された傾きスケール要素を判定することと、
    前記ピクセル・シェーダとテクスチャ・ユニットの間で、前記傾きスケール要素を前記傾き値に適用することであって、前記調整要素は、前記傾き値を変更して、異なるピクセル解像度を有するディスプレイ・デバイスのスクリーン空間の領域間で前記傾き値を遷移させるように構成された、適用することと、を含む、グラフィック処理方法。
  14. 前記テクスチャ空間の傾き値は、スクリーン空間のサンプル分布の非正規直交性に関する訂正を含む、請求項13に記載の方法。
  15. 前記テクスチャ・ユニットで、前記調整された傾き値から1つまたは複数の原形に適用されるテクスチャに関して、複数のディテールのレベルから1つのディテールのレベルを選択することをさらに含む、請求項13に記載の方法。
  16. 前記テクスチャ・ユニットで、前記1つまたは複数の原形に前記テクスチャを適用することをさらに含む、請求項13に記載の方法。
  17. ディスプレイ・ユニットで、前記1つまたは複数の原形に適用された前記テクスチャを含む画像を表示することをさらに含む、請求項16に記載の方法。
  18. 前記ピクセル・シェーダはピクセル位置毎に前記テクスチャ座標を生成し、各テクスチャ・マッピング操作に関する座標セットを前記テクスチャ・ユニットに提供する、請求項17に記載の方法。
  19. 前記テクスチャ・ユニットは、前記ピクセル・シェーダによって供給された前記テクスチャ座標からテクスチャの傾斜を計算し、前記訂正された傾き値を得るために、前記傾きのスケール要素を生成及び適用する、請求項18に記載の方法。
  20. 前記ピクセル・シェーダは、前記傾きのスケール要素を計算し、それらを、前記テクスチャ座標とともに前記テクスチャ・ユニットに提供する、請求項13に記載の方法。
  21. 前記テクスチャ・ユニットは、前記ピクセル・シェーダによって供給される前記テクスチャ座標からテクスチャ空間の傾き値を計算し、次いで、調整された傾き値を得るために、前記供給された傾きのスケール要素を前記テクスチャ空間の傾きに適用する、請求項20に記載の方法。
  22. 前記ピクセル・シェーダは、前記テクスチャ座標から前記テクスチャ空間の傾きを計算し、前記テクスチャ座標とともにそれらを前記テクスチャ・ユニットに渡し、前記ピクセル・シェーダは前記テクスチャ・ユニットに、前記テクスチャ・ユニットが、前記サンプル格子の任意の非正規直交性に関して前記テクスチャ傾き値を訂正しなければならないことを示す、請求項13に記載の方法。
  23. 前記ピクセル・シェーダはまた、前記傾きのスケール要素を判定し、それらを前記テクスチャ・ユニットに提供し、前記ピクセル・シェーダは前記テクスチャ・ユニットに、前記テクスチャ・ユニットが、前記調整された傾きを得るために、前記傾きのスケール要素を前記傾きに適用しなければならないことを通知する、請求項22に記載の方法。
  24. 前記ピクセル・シェーダは、前記テクスチャ座標から前記調整されたテクスチャの傾きを計算し、前記テクスチャ空間の座標とともにそれらを前記テクスチャ・ユニットに渡し、前記ピクセル・シェーダは前記テクスチャ・ユニットに、前記調整された傾きが、原形に適用されるテクスチャに関するディテールのレベルを選択するように使用されるものとすることを示す、請求項13に記載の方法。
JP2018024157A 2014-04-05 2018-02-14 スクリーンの位置によって異なる解像度のターゲットの複数レンダリングのテクスチャ・マッピングの傾き調整 Active JP6563048B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/246,062 2014-04-05
US14/246,062 US9652882B2 (en) 2014-04-05 2014-04-05 Gradient adjustment for texture mapping for multiple render targets with resolution that varies by screen location

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2016560398A Division JP6293923B2 (ja) 2014-04-05 2015-03-23 スクリーンの位置によって異なる解像度のターゲットの複数レンダリングのテクスチャ・マッピングの傾き調整

Publications (2)

Publication Number Publication Date
JP2018129051A true JP2018129051A (ja) 2018-08-16
JP6563048B2 JP6563048B2 (ja) 2019-08-21

Family

ID=54210220

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2016560398A Active JP6293923B2 (ja) 2014-04-05 2015-03-23 スクリーンの位置によって異なる解像度のターゲットの複数レンダリングのテクスチャ・マッピングの傾き調整
JP2018024157A Active JP6563048B2 (ja) 2014-04-05 2018-02-14 スクリーンの位置によって異なる解像度のターゲットの複数レンダリングのテクスチャ・マッピングの傾き調整

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2016560398A Active JP6293923B2 (ja) 2014-04-05 2015-03-23 スクリーンの位置によって異なる解像度のターゲットの複数レンダリングのテクスチャ・マッピングの傾き調整

Country Status (6)

Country Link
US (2) US9652882B2 (ja)
EP (2) EP3748584B1 (ja)
JP (2) JP6293923B2 (ja)
KR (2) KR101916341B1 (ja)
TW (2) TWI629663B (ja)
WO (1) WO2015153170A1 (ja)

Families Citing this family (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9710881B2 (en) 2014-04-05 2017-07-18 Sony Interactive Entertainment America Llc Varying effective resolution by screen location by altering rasterization parameters
US9865074B2 (en) 2014-04-05 2018-01-09 Sony Interactive Entertainment America Llc Method for efficient construction of high resolution display buffers
US9652882B2 (en) 2014-04-05 2017-05-16 Sony Interactive Entertainment America Llc Gradient adjustment for texture mapping for multiple render targets with resolution that varies by screen location
US10783696B2 (en) 2014-04-05 2020-09-22 Sony Interactive Entertainment LLC Gradient adjustment for texture mapping to non-orthonormal grid
US9495790B2 (en) 2014-04-05 2016-11-15 Sony Interactive Entertainment America Llc Gradient adjustment for texture mapping to non-orthonormal grid
KR101923562B1 (ko) 2014-04-05 2018-11-29 소니 인터랙티브 엔터테인먼트 아메리카 엘엘씨 가변 렌더링 및 래스터화 파라미터 하에서 가변 뷰포트에 대하여 오브젝트를 효율적으로 리렌더링하는 방법
US11302054B2 (en) 2014-04-05 2022-04-12 Sony Interactive Entertainment Europe Limited Varying effective resolution by screen location by changing active color sample count within multiple render targets
US10068311B2 (en) 2014-04-05 2018-09-04 Sony Interacive Entertainment LLC Varying effective resolution by screen location by changing active color sample count within multiple render targets
US9836816B2 (en) 2014-04-05 2017-12-05 Sony Interactive Entertainment America Llc Varying effective resolution by screen location in graphics processing by approximating projection of vertices onto curved viewport
US9760113B2 (en) 2015-02-20 2017-09-12 Sony Interactive Entertainment America Llc Backward compatibility through use of spoof clock and fine grain frequency control
CN107850777B (zh) * 2015-04-22 2021-10-22 易赛特股份有限公司 光学像差校正的方法和装置
US9607428B2 (en) * 2015-06-30 2017-03-28 Ariadne's Thread (Usa), Inc. Variable resolution virtual reality display system
US9588593B2 (en) 2015-06-30 2017-03-07 Ariadne's Thread (Usa), Inc. Virtual reality system with control command gestures
US9588598B2 (en) 2015-06-30 2017-03-07 Ariadne's Thread (Usa), Inc. Efficient orientation estimation system using magnetic, angular rate, and gravity sensors
US10089790B2 (en) 2015-06-30 2018-10-02 Ariadne's Thread (Usa), Inc. Predictive virtual reality display system with post rendering correction
US10235219B2 (en) 2015-07-27 2019-03-19 Sony Interactive Entertainment America Llc Backward compatibility by algorithm matching, disabling features, or throttling performance
US11403099B2 (en) 2015-07-27 2022-08-02 Sony Interactive Entertainment LLC Backward compatibility by restriction of hardware resources
US9606362B2 (en) 2015-08-07 2017-03-28 Ariadne's Thread (Usa), Inc. Peripheral field-of-view illumination system for a head mounted display
US9990008B2 (en) 2015-08-07 2018-06-05 Ariadne's Thread (Usa), Inc. Modular multi-mode virtual reality headset
US9857871B2 (en) 2015-09-04 2018-01-02 Sony Interactive Entertainment Inc. Apparatus and method for dynamic graphics rendering based on saccade detection
US9916682B2 (en) * 2015-10-28 2018-03-13 Intel Corporation Variable precision shading
US10726619B2 (en) 2015-10-29 2020-07-28 Sony Interactive Entertainment Inc. Foveated geometry tessellation
US9892024B2 (en) 2015-11-02 2018-02-13 Sony Interactive Entertainment America Llc Backward compatibility testing of software in a mode that disrupts timing
CN116401184A (zh) 2016-01-22 2023-07-07 索尼互动娱乐股份有限公司 模拟向后兼容的传统总线行为
CN116340022A (zh) 2016-01-22 2023-06-27 索尼互动娱乐股份有限公司 用于向后兼容性的欺骗cpuid
US10915333B2 (en) 2016-03-30 2021-02-09 Sony Interactive Entertainment Inc. Deriving application-specific operating parameters for backwards compatiblity
US10275239B2 (en) 2016-03-30 2019-04-30 Sony Interactive Entertainment Inc. Deriving application-specific operating parameters for backwards compatiblity
US10303488B2 (en) 2016-03-30 2019-05-28 Sony Interactive Entertainment Inc. Real-time adjustment of application-specific operating parameters for backwards compatibility
US10453170B2 (en) * 2016-09-09 2019-10-22 Intel Corporation Minimum/maximum and bitwise and/or based coarse stencil test
CN106482739B (zh) * 2016-11-30 2020-07-17 英华达(上海)科技有限公司 自动导引运输车导航方法
US10650566B2 (en) 2017-02-15 2020-05-12 Microsoft Technology Licensing, Llc Multiple shader processes in graphics processing
US10403032B2 (en) 2017-08-22 2019-09-03 Qualcomm Incorporated Rendering an image from computer graphics using two rendering computing devices
US10776997B2 (en) 2017-08-24 2020-09-15 Qualcomm Incorporated Rendering an image from computer graphics using two rendering computing devices
GB2566468B (en) * 2017-09-13 2020-09-09 Advanced Risc Mach Ltd Graphics processing
US10755383B2 (en) * 2017-09-29 2020-08-25 Apple Inc. Multi-space rendering with configurable transformation parameters
US10580151B2 (en) * 2017-12-05 2020-03-03 Qualcomm Incorporated Tile-based low-resolution depth storage
KR101869912B1 (ko) 2017-12-26 2018-06-21 세종대학교 산학협력단 포비티드 영상 디스플레이 장치, 이에 의해 수행되는 포비티드 영상 디스플레이 방법 및 이를 저장하는 기록매체
US11262839B2 (en) * 2018-05-17 2022-03-01 Sony Interactive Entertainment Inc. Eye tracking with prediction and late update to GPU for fast foveated rendering in an HMD environment
US10942564B2 (en) 2018-05-17 2021-03-09 Sony Interactive Entertainment Inc. Dynamic graphics rendering based on predicted saccade landing point
US10504278B1 (en) * 2018-09-28 2019-12-10 Qualcomm Incorporated Blending neighboring bins
KR102589969B1 (ko) 2018-11-05 2023-10-16 삼성전자주식회사 지연 쉐이딩에서 보간을 수행하는 그래픽스 처리 장치, 그래픽스 처리 시스템 및 그래픽스 처리 방법
US10540802B1 (en) * 2019-01-31 2020-01-21 Advanced Micro Devices, Inc. Residency map descriptors
EP4111419A4 (en) * 2020-04-02 2023-09-13 Sony Group Corporation SUPER-RESOLUTION BLOCK-COMPRESSED TEXTURE FOR TEXTURE MAPPING APPLICATIONS
CN113093903B (zh) * 2021-03-18 2023-02-07 聚好看科技股份有限公司 一种图像显示方法及显示设备
US11978149B2 (en) * 2021-06-21 2024-05-07 The Weather Company, Llc UV map using weight painting
GB2615362B (en) * 2022-02-08 2024-03-13 Sony Interactive Entertainment Inc Image processing system and method
EP4224407A1 (en) * 2022-02-08 2023-08-09 Sony Interactive Entertainment Inc. Image processing system and method
CN115063517A (zh) * 2022-06-07 2022-09-16 网易(杭州)网络有限公司 游戏中的闪光效果渲染方法及装置、存储介质和电子设备

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000155850A (ja) * 1998-11-20 2000-06-06 Sony Corp テクスチャ・マッピング装置及びこれを具備したレンダリング装置、並びに情報処理装置
JP2002024844A (ja) * 2000-07-11 2002-01-25 Hitachi Ltd 電子透かし管理方法及びその実施装置並びにその処理プログラムを記録した記録媒体
JP2006293627A (ja) * 2005-04-08 2006-10-26 Toshiba Corp 描画方法及び描画装置
US7339594B1 (en) * 2005-03-01 2008-03-04 Nvidia Corporation Optimized anisotropic texture sampling
JP2009116550A (ja) * 2007-11-05 2009-05-28 Fujitsu Microelectronics Ltd 描画処理装置、描画処理方法および描画処理プログラム
US20110134136A1 (en) * 2009-12-03 2011-06-09 Larry Seiler Computing Level of Detail for Anisotropic Filtering
US8300059B2 (en) * 2006-02-03 2012-10-30 Ati Technologies Ulc Method and apparatus for selecting a mip map level based on a min-axis value for texture mapping

Family Cites Families (99)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4513317A (en) 1982-09-28 1985-04-23 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Retinally stabilized differential resolution television display
US5224208A (en) 1990-03-16 1993-06-29 Hewlett-Packard Company Gradient calculation for texture mapping
US5130794A (en) 1990-03-29 1992-07-14 Ritchey Kurtis J Panoramic display system
US5422653A (en) 1993-01-07 1995-06-06 Maguire, Jr.; Francis J. Passive virtual reality
US5602391A (en) 1995-02-23 1997-02-11 Hughes Electronics Quincunx sampling grid for staring array
US5777913A (en) 1995-12-27 1998-07-07 Ericsson Inc. Resolution enhancement of fixed point digital filters
USH1812H (en) 1997-10-24 1999-11-02 Sun Microsystems, Inc. Method for encoding bounding boxes of drawing primitives to be rendered for multi-resolution supersampled frame buffers
AU2680699A (en) 1998-02-17 1999-08-30 Sun Microsystems, Inc. Estimating graphics system performance for polygons
US6469700B1 (en) 1998-06-24 2002-10-22 Micron Technology, Inc. Per pixel MIP mapping and trilinear filtering using scanline gradients for selecting appropriate texture maps
AU5686299A (en) 1998-08-20 2000-03-14 Raycer, Inc. Method and apparatus for generating texture
US6417861B1 (en) 1999-02-17 2002-07-09 Sun Microsystems, Inc. Graphics system with programmable sample positions
US6781606B2 (en) 1999-05-20 2004-08-24 Hewlett-Packard Development Company, L.P. System and method for displaying images using foveal video
US6731298B1 (en) 2000-10-02 2004-05-04 Nvidia Corporation System, method and article of manufacture for z-texture mapping
US6906723B2 (en) 2001-03-29 2005-06-14 International Business Machines Corporation Generating partials for perspective corrected texture coordinates in a four pixel texture pipeline
US6731434B1 (en) 2001-05-23 2004-05-04 University Of Central Florida Compact lens assembly for the teleportal augmented reality system
US7555157B2 (en) 2001-09-07 2009-06-30 Geoff Davidson System and method for transforming graphical images
US7155698B1 (en) 2001-09-11 2006-12-26 The Regents Of The University Of California Method of locating areas in an image such as a photo mask layout that are sensitive to residual processing effects
US7046245B2 (en) 2001-10-10 2006-05-16 Sony Computer Entertainment America Inc. System and method for environment mapping
US7081893B2 (en) 2001-10-10 2006-07-25 Sony Computer Entertainment America Inc. System and method for point pushing to render polygons in environments with changing levels of detail
US6738069B2 (en) 2001-12-31 2004-05-18 Intel Corporation Efficient graphics state management for zone rendering
US6906714B2 (en) 2002-06-21 2005-06-14 Intel Corporation Accelerated visualization of surface light fields
US6891548B2 (en) 2002-08-23 2005-05-10 Hewlett-Packard Development Company, L.P. System and method for calculating a texture-mapping gradient
TWI238975B (en) 2003-02-20 2005-09-01 Via Tech Inc Method of performing cubic mapping with texturing
US7619626B2 (en) 2003-03-01 2009-11-17 The Boeing Company Mapping images from one or more sources into an image for display
US7336277B1 (en) 2003-04-17 2008-02-26 Nvidia Corporation Per-pixel output luminosity compensation
JP3966832B2 (ja) 2003-04-28 2007-08-29 株式会社東芝 描画処理装置、及び、描画処理方法
US7495638B2 (en) * 2003-05-13 2009-02-24 Research Triangle Institute Visual display with increased field of view
US6967663B1 (en) 2003-09-08 2005-11-22 Nvidia Corporation Antialiasing using hybrid supersampling-multisampling
US8085273B2 (en) 2003-11-19 2011-12-27 Lucid Information Technology, Ltd Multi-mode parallel graphics rendering system employing real-time automatic scene profiling and mode control
US8144156B1 (en) 2003-12-31 2012-03-27 Zii Labs Inc. Ltd. Sequencer with async SIMD array
US8090383B1 (en) 2004-02-17 2012-01-03 Emigh Aaron T Method and system for charging for a service based on time spent at a facility
US7817829B2 (en) 2004-03-15 2010-10-19 Koninklijke Philips Electronics N.V. Image visualization
US7554538B2 (en) 2004-04-02 2009-06-30 Nvidia Corporation Video processing, such as for hidden surface reduction or removal
US7426724B2 (en) 2004-07-02 2008-09-16 Nvidia Corporation Optimized chaining of vertex and fragment programs
US7425966B2 (en) 2004-10-07 2008-09-16 Nvidia Corporation Pixel center position displacement
US7289119B2 (en) 2005-05-10 2007-10-30 Sony Computer Entertainment Inc. Statistical rendering acceleration
US7511717B1 (en) 2005-07-15 2009-03-31 Nvidia Corporation Antialiasing using hybrid supersampling-multisampling
US20070018988A1 (en) 2005-07-20 2007-01-25 Michael Guthe Method and applications for rasterization of non-simple polygons and curved boundary representations
US7436411B2 (en) 2006-03-29 2008-10-14 Intel Corporation Apparatus and method for rendering a video image as a texture using multiple levels of resolution of the video image
US8207975B1 (en) 2006-05-08 2012-06-26 Nvidia Corporation Graphics rendering pipeline that supports early-Z and late-Z virtual machines
US7907792B2 (en) 2006-06-16 2011-03-15 Hewlett-Packard Development Company, L.P. Blend maps for rendering an image frame
US8406562B2 (en) 2006-08-11 2013-03-26 Geo Semiconductor Inc. System and method for automated calibration and correction of display geometry and color
US20080106489A1 (en) 2006-11-02 2008-05-08 Brown Lawrence G Systems and methods for a head-mounted display
US8232991B1 (en) 2006-11-03 2012-07-31 Nvidia Corporation Z-test result reconciliation with multiple partitions
US8233004B1 (en) 2006-11-06 2012-07-31 Nvidia Corporation Color-compression using automatic reduction of multi-sampled pixels
US8149242B2 (en) 2006-11-10 2012-04-03 Sony Computer Entertainment Inc. Graphics processing apparatus, graphics library module and graphics processing method
JP5063990B2 (ja) 2006-11-15 2012-10-31 任天堂株式会社 ゲームプログラムおよびゲーム装置
US7876332B1 (en) 2006-12-20 2011-01-25 Nvidia Corporation Shader that conditionally updates a framebuffer in a computer graphics system
JP5268271B2 (ja) 2007-03-23 2013-08-21 株式会社東芝 画像表示装置および画像表示方法
US7948500B2 (en) * 2007-06-07 2011-05-24 Nvidia Corporation Extrapolation of nonresident mipmap data using resident mipmap data
US20090033659A1 (en) 2007-07-31 2009-02-05 Lake Adam T Real-time luminosity dependent subdivision
US8044956B1 (en) 2007-08-03 2011-10-25 Nvidia Corporation Coverage adaptive multisampling
US8441497B1 (en) 2007-08-07 2013-05-14 Nvidia Corporation Interpolation of vertex attributes in a graphics processor
US7916155B1 (en) 2007-11-02 2011-03-29 Nvidia Corporation Complementary anti-aliasing sample patterns
US8922565B2 (en) 2007-11-30 2014-12-30 Qualcomm Incorporated System and method for using a secondary processor in a graphics system
US8643644B2 (en) 2008-03-20 2014-02-04 Qualcomm Incorporated Multi-stage tessellation for graphics rendering
GB0810311D0 (en) 2008-06-05 2008-07-09 Advanced Risc Mach Ltd Graphics processing systems
US8605087B2 (en) 2008-07-03 2013-12-10 Nvidia Corporation Hybrid multisample/supersample antialiasing
US8428326B2 (en) 2008-10-23 2013-04-23 Immersion Corporation Systems and methods for ultrasound simulation using depth peeling
GB0819570D0 (en) 2008-10-24 2008-12-03 Advanced Risc Mach Ltd Methods of and apparatus for processing computer graphics
US8780131B2 (en) 2008-12-19 2014-07-15 Xerox Corporation Systems and methods for text-based personalization of images
US20100214294A1 (en) 2009-02-20 2010-08-26 Microsoft Corporation Method for tessellation on graphics hardware
US8330767B2 (en) * 2009-03-24 2012-12-11 Advanced Micro Devices, Inc. Method and apparatus for angular invariant texture level of detail generation
US8669999B2 (en) 2009-10-15 2014-03-11 Nvidia Corporation Alpha-to-coverage value determination using virtual samples
US8638342B2 (en) 2009-10-20 2014-01-28 Apple Inc. System and method for demosaicing image data using weighted gradients
EP2510494B1 (en) 2009-12-11 2021-12-22 Leica Biosystems Imaging, Inc. Improved signal to noise ratio in digital pathology image analysis
US8606009B2 (en) 2010-02-04 2013-12-10 Microsoft Corporation High dynamic range image generation and rendering
US8619085B2 (en) 2010-03-08 2013-12-31 Broadcom Corporation Method and system for compressing tile lists used for 3D rendering
CN103026706B (zh) 2010-07-21 2016-04-20 杜比实验室特许公司 用于多层帧兼容视频传输的系统及方法
US20130300740A1 (en) 2010-09-13 2013-11-14 Alt Software (Us) Llc System and Method for Displaying Data Having Spatial Coordinates
KR101719485B1 (ko) 2010-09-20 2017-03-27 삼성전자주식회사 그래픽 처리 유닛에서의 사전 픽셀 제거를 위한 장치 및 방법
US8593475B2 (en) 2010-10-13 2013-11-26 Qualcomm Incorporated Systems and methods for dynamic procedural texture generation management
US9122053B2 (en) 2010-10-15 2015-09-01 Microsoft Technology Licensing, Llc Realistic occlusion for a head mounted augmented reality display
US8982136B2 (en) 2011-05-16 2015-03-17 Qualcomm Incorporated Rendering mode selection in graphics processing units
JP5885398B2 (ja) 2011-05-20 2016-03-15 キヤノン株式会社 画像処理装置、画像処理方法
US9019280B2 (en) 2011-07-22 2015-04-28 Qualcomm Incorporated Area-based rasterization techniques for a graphics processing system
KR101926570B1 (ko) 2011-09-14 2018-12-10 삼성전자주식회사 포스트 프레그먼트 쉐이더를 사용하는 그래픽 처리 방법 및 장치
US10089774B2 (en) 2011-11-16 2018-10-02 Qualcomm Incorporated Tessellation in tile-based rendering
JP5979507B2 (ja) 2011-11-24 2016-08-24 パナソニックIpマネジメント株式会社 頭部装着型ディスプレイ装置
GB2497302B (en) 2011-12-05 2017-04-12 Advanced Risc Mach Ltd Methods of and apparatus for processing computer graphics
US9412197B2 (en) 2012-04-04 2016-08-09 Qualcomm Incorporated Patched shading in graphics processing
US8581929B1 (en) 2012-06-05 2013-11-12 Francis J. Maguire, Jr. Display of light field image data using a spatial light modulator at a focal length corresponding to a selected focus depth
US9495781B2 (en) 2012-06-21 2016-11-15 Nvidia Corporation Early sample evaluation during coarse rasterization
US9424685B2 (en) 2012-07-31 2016-08-23 Imagination Technologies Limited Unified rasterization and ray tracing rendering environments
US9142005B2 (en) 2012-08-20 2015-09-22 Nvidia Corporation Efficient placement of texture barrier instructions
US10096079B2 (en) 2013-06-10 2018-10-09 Sony Interactive Entertainment Inc. Fragment shaders perform vertex shader computations
US10176621B2 (en) 2013-06-10 2019-01-08 Sony Interactive Entertainment Inc. Using compute shaders as front end for vertex shaders
US10102603B2 (en) 2013-06-10 2018-10-16 Sony Interactive Entertainment Inc. Scheme for compressing vertex shader output parameters
US10134102B2 (en) 2013-06-10 2018-11-20 Sony Interactive Entertainment Inc. Graphics processing hardware for using compute shaders as front end for vertex shaders
US10976986B2 (en) 2013-09-24 2021-04-13 Blackberry Limited System and method for forwarding an application user interface
US9652882B2 (en) 2014-04-05 2017-05-16 Sony Interactive Entertainment America Llc Gradient adjustment for texture mapping for multiple render targets with resolution that varies by screen location
US9495790B2 (en) 2014-04-05 2016-11-15 Sony Interactive Entertainment America Llc Gradient adjustment for texture mapping to non-orthonormal grid
KR101923562B1 (ko) 2014-04-05 2018-11-29 소니 인터랙티브 엔터테인먼트 아메리카 엘엘씨 가변 렌더링 및 래스터화 파라미터 하에서 가변 뷰포트에 대하여 오브젝트를 효율적으로 리렌더링하는 방법
US9836816B2 (en) 2014-04-05 2017-12-05 Sony Interactive Entertainment America Llc Varying effective resolution by screen location in graphics processing by approximating projection of vertices onto curved viewport
US9710881B2 (en) 2014-04-05 2017-07-18 Sony Interactive Entertainment America Llc Varying effective resolution by screen location by altering rasterization parameters
US9760113B2 (en) 2015-02-20 2017-09-12 Sony Interactive Entertainment America Llc Backward compatibility through use of spoof clock and fine grain frequency control
US10235219B2 (en) 2015-07-27 2019-03-19 Sony Interactive Entertainment America Llc Backward compatibility by algorithm matching, disabling features, or throttling performance
US11403099B2 (en) 2015-07-27 2022-08-02 Sony Interactive Entertainment LLC Backward compatibility by restriction of hardware resources
US9892024B2 (en) 2015-11-02 2018-02-13 Sony Interactive Entertainment America Llc Backward compatibility testing of software in a mode that disrupts timing

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000155850A (ja) * 1998-11-20 2000-06-06 Sony Corp テクスチャ・マッピング装置及びこれを具備したレンダリング装置、並びに情報処理装置
JP2002024844A (ja) * 2000-07-11 2002-01-25 Hitachi Ltd 電子透かし管理方法及びその実施装置並びにその処理プログラムを記録した記録媒体
US7339594B1 (en) * 2005-03-01 2008-03-04 Nvidia Corporation Optimized anisotropic texture sampling
JP2006293627A (ja) * 2005-04-08 2006-10-26 Toshiba Corp 描画方法及び描画装置
US8300059B2 (en) * 2006-02-03 2012-10-30 Ati Technologies Ulc Method and apparatus for selecting a mip map level based on a min-axis value for texture mapping
JP2009116550A (ja) * 2007-11-05 2009-05-28 Fujitsu Microelectronics Ltd 描画処理装置、描画処理方法および描画処理プログラム
US20110134136A1 (en) * 2009-12-03 2011-06-09 Larry Seiler Computing Level of Detail for Anisotropic Filtering

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
馬路 徹: "最新スマホやタブレットはなぜ速いのか? いまこそ知りたい! CPU再入門", 日経LINUX 第14巻 第8号, vol. 第14巻 第8号, JPN6018052203, 8 July 2012 (2012-07-08), JP, pages 127 - 132 *

Also Published As

Publication number Publication date
JP6293923B2 (ja) 2018-03-14
US20150287230A1 (en) 2015-10-08
KR20160130258A (ko) 2016-11-10
KR101916341B1 (ko) 2018-11-08
US20170243390A1 (en) 2017-08-24
WO2015153170A1 (en) 2015-10-08
TWI570665B (zh) 2017-02-11
JP2017517054A (ja) 2017-06-22
KR20180122048A (ko) 2018-11-09
EP3129973B1 (en) 2020-07-15
TW201730847A (zh) 2017-09-01
EP3129973A4 (en) 2017-10-25
TWI629663B (zh) 2018-07-11
KR102101626B1 (ko) 2020-04-17
EP3748584B1 (en) 2022-08-10
EP3129973A1 (en) 2017-02-15
TW201539373A (zh) 2015-10-16
US9652882B2 (en) 2017-05-16
US10102663B2 (en) 2018-10-16
JP6563048B2 (ja) 2019-08-21
EP3748584A1 (en) 2020-12-09

Similar Documents

Publication Publication Date Title
JP6563048B2 (ja) スクリーンの位置によって異なる解像度のターゲットの複数レンダリングのテクスチャ・マッピングの傾き調整
US11301956B2 (en) Varying effective resolution by screen location by altering rasterization parameters
JP6678209B2 (ja) 非正規直交グリッドへのテクスチャマッピングのためのグラデーションの調整
US11238639B2 (en) Gradient adjustment for texture mapping to non-orthonormal grid

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181221

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190115

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190411

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: 20190709

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190723

R150 Certificate of patent or registration of utility model

Ref document number: 6563048

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