JP2016523404A - 頂点シェーダ出力パラメータの圧縮スキーム - Google Patents
頂点シェーダ出力パラメータの圧縮スキーム Download PDFInfo
- Publication number
- JP2016523404A JP2016523404A JP2016518048A JP2016518048A JP2016523404A JP 2016523404 A JP2016523404 A JP 2016523404A JP 2016518048 A JP2016518048 A JP 2016518048A JP 2016518048 A JP2016518048 A JP 2016518048A JP 2016523404 A JP2016523404 A JP 2016523404A
- Authority
- JP
- Japan
- Prior art keywords
- vertex
- parameter value
- shader
- compressed
- vertex parameter
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Image Generation (AREA)
Abstract
Description
本開示の態様によると、頂点パラメータ値が、パラメータの内在絶対値がグラフィックパイプラインにおける後の段階において回復されることを可能とするような態様で圧縮される。これらのパラメータ値を圧縮することによって、パラメータキャッシュにおけるボトルネックが減少し、オブジェクトの加速化レンダリングを提供することで性能が向上する。さらに、パラメータ値が復元されて元の頂点パラメータ値を回復できるようにすることによって、画素シェーダがそれらに直接アクセスすることが可能となり、それにより、オブジェクトのレンダリングのためにシェーダが内在データにアクセスする態様に関して、より多くの制御方法を開発者に与えることができる。
図1A−1Cは、グラフィック処理手法の種々の態様、及びどのように頂点パラメータの補間が使用されてグラフィックを処理し、画像における仮想オブジェクトをレンダリングするかを示す。表示される仮想オブジェクトの種々の位置におけるパラメータ値を規定するために、グラフィック処理手法は重心補間処理を利用する。例として、そして限定ではなく、パラメータ値は、仮想空間に位置するプリミティブの各頂点における位置、色、テクスチャ座標、発光などであり、これらの頂点パラメータの重心補間はプリミティブ内の任意の位置におけるパラメータ値を特定するのに使用される。例えば、任意数の画素が、仮想シーンをディスプレイの画素にレンダリングするのに用いられる場合にプリミティブ内に位置し、プリミティブ内の画素位置において対応のパラメータ値を特定するのに上記の頂点パラメータ値の補間が使用される。
Pi,j=P0+(P1−P0)i+(P2−P0)j
本開示の種々の対応によるグラフィック処理手法200bを図2Bに示す。図示する手法200bでは、頂点シェーダから出力されるパラメータ値のスループットに関連するボトルネックを最小化するために圧縮スキームが利用される。なお、本実施例を三角形の形態のプリミティブに関して説明するが、そのコンセプトは他の種類の多角形に基づくプリミティブに直ちに拡張できる。
第1の三角形:{P0、P1、P2}={8、5、6}
第2の三角形:{P0、P1、P2}={1、4、7}
第1の三角形:{P0、P10、P20}={8、(5−8)、(6−8)}={8、−3、−2}
第2の三角形:{P0、P10、P20}={1、(4−1)、(7−1)}={1、3、6}
となる。
圧縮パラメータ:{18、45、76}
減算:{18、(45−18)、(76−18)}={18、27、58}
と同じとなる。
Claims (20)
- コンピュータグラフィック処理方法であって、
頂点シェーダによって頂点パラメータ値を圧縮すること、
圧縮された前記頂点パラメータ値をキャッシュに書き込むこと、
画素シェーダによって、前記キャッシュに書き込まれた前記圧縮された頂点パラメータ値にアクセスすること、及び
前記画素シェーダによって、前記圧縮された頂点パラメータ値を復元すること
を備える方法。 - 請求項1に記載の方法であって、前記画素シェーダによって、前記復元された頂点パラメータ値を補間することを更に含む前記方法。
- 請求項1に記載の方法において、前記圧縮された頂点パラメータ値にアクセスすることが、前記圧縮された頂点パラメータ値を前記キャッシュからGPUのローカルメモリ部に複製すること、及び前記画素シェーダによって前記ローカルメモリ部から前記圧縮された頂点パラメータ値にアクセスすることを含む、前記方法。
- 請求項1に記載の方法において、前記圧縮された頂点パラメータ値が三角形プリミティブの全3頂点のパラメータ値を含む、前記方法。
- 請求項1に記載の方法において、前記頂点パラメータ値を圧縮することが、2つの浮動小数点数をともに、1つの値が前記2つの浮動小数点数の各々の2倍のビットを有するように記憶することを含む、前記方法。
- 請求項5に記載の方法において、前記頂点パラメータ値を圧縮することが、2つの16ビット浮動小数点数をともに1つの32ビット値として記憶することを含む、前記方法。
- 請求項2に記載の方法であって、前記補間されたパラメータ値に対して画素シェーダ演算を実行することを更に含む前記方法。
- 請求項1に記載の方法であって、前記圧縮することの前に、前記頂点シェーダによって前記パラメータ値を修正することを更に含む前記方法。
- グラフィック処理システムであって、
グラフィック処理装置(GPU)、及び
キャッシュ
を備え、
前記システムが、グラフィック処理方法を実施するように構成され、前記方法が、
前記GPUによって頂点シェーダ及び画素シェーダを実装すること、
前記頂点シェーダによって頂点パラメータ値を圧縮すること、
圧縮された前記頂点パラメータ値を前記キャッシュに書き込むこと、
画素シェーダによって、前記キャッシュに書き込まれた前記圧縮された頂点パラメータ値にアクセスすること、及び
前記画素シェーダによって、前記圧縮された頂点パラメータ値を復元すること
を備える、システム。 - 請求項9に記載のシステムにおいて、前記GPUが複数の演算部及び複数のローカルメモリ部を備え、前記ローカルメモリ部の各々が前記演算部の各1つに対応付けられている、前記システム。
- 請求項9に記載のシステムにおいて、前記圧縮された頂点パラメータ値にアクセスすることが、前記圧縮された頂点パラメータ値を前記キャッシュから前記ローカルメモリ部に複製すること、及び前記画素シェーダによって前記ローカルメモリ部から前記圧縮された頂点パラメータ値にアクセスすることを含む、前記システム。
- 請求項9に記載のシステムにおいて、前記キャッシュが前記GPUに集積されている、前記システム。
- 請求項9に記載のシステムにおいて、前記方法が、前記画素シェーダによって前記復元された頂点パラメータ値を補間することを更に含む、前記システム。
- 請求項9に記載のシステムにおいて、前記圧縮された頂点パラメータ値が三角形プリミティブの全3頂点のパラメータ値を含む、前記システム。
- 請求項9に記載のシステムにおいて、前記頂点パラメータ値を圧縮することが、2つの浮動小数点数をともに、1つの値が前記2つの浮動小数点数の各々の2倍のビットを有するように記憶することを含む、前記システム。
- 請求項15に記載のシステムにおいて、前記頂点パラメータ値を圧縮することが、2つの16ビット浮動小数点数をともに1つの32ビット値として記憶することを含む、前記システム。
- 請求項13に記載のシステムにおいて、前記方法が、前記補間されたパラメータ値に対して画素シェーダ演算を実行することを更に含む、前記システム。
- 請求項9に記載のシステムにおいて、前記方法が、前記圧縮することの前に、前記頂点シェーダによって前記パラメータ値を修正することを更に含む、前記システム。
- 請求項9に記載のシステムにおいて、当該システムは、組込みシステム、携帯電話、パーソナルコンピュータ、タブレットコンピュータ、可搬ゲーム機器、ワークステーションまたはゲームコンソールである前記システム。
- 具現されるコンピュータ可読命令を有する非一時的コンピュータ可読媒体であって、前記コンピュータ可読命令が、実行される場合にグラフィック処理方法を実施するように構成されており、前記グラフィック処理方法が、
頂点シェーダによって頂点パラメータ値を圧縮すること、
圧縮された前記頂点パラメータ値をキャッシュに書き込むこと、
画素シェーダによって、前記キャッシュに書き込まれた前記圧縮された頂点パラメータ値にアクセスすること、及び
前記画素シェーダによって、前記圧縮された頂点パラメータ値を復元すること
を備える、非一時的コンピュータ可読媒体。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201361833212P | 2013-06-10 | 2013-06-10 | |
US61/833,212 | 2013-06-10 | ||
US14/297,201 US10102603B2 (en) | 2013-06-10 | 2014-06-05 | Scheme for compressing vertex shader output parameters |
US14/297,201 | 2014-06-05 | ||
PCT/US2014/041382 WO2014200863A1 (en) | 2013-06-10 | 2014-06-06 | Scheme for compressing vertex shader output parameters |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016523404A true JP2016523404A (ja) | 2016-08-08 |
JP6591405B2 JP6591405B2 (ja) | 2019-10-16 |
Family
ID=52005097
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016518048A Active JP6591405B2 (ja) | 2013-06-10 | 2014-06-06 | 頂点シェーダ出力パラメータの圧縮スキーム |
Country Status (5)
Country | Link |
---|---|
US (3) | US10102603B2 (ja) |
EP (1) | EP3008699B1 (ja) |
JP (1) | JP6591405B2 (ja) |
CN (1) | CN105283900B (ja) |
WO (1) | WO2014200863A1 (ja) |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10102603B2 (en) | 2013-06-10 | 2018-10-16 | Sony Interactive Entertainment Inc. | Scheme for compressing vertex shader output parameters |
US10096079B2 (en) | 2013-06-10 | 2018-10-09 | Sony Interactive Entertainment Inc. | Fragment shaders perform vertex shader computations |
US10783696B2 (en) | 2014-04-05 | 2020-09-22 | Sony Interactive Entertainment LLC | Gradient adjustment for texture mapping to non-orthonormal grid |
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 |
US9710881B2 (en) | 2014-04-05 | 2017-07-18 | Sony Interactive Entertainment America Llc | Varying effective resolution by screen location by altering rasterization parameters |
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 |
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 |
US9865074B2 (en) | 2014-04-05 | 2018-01-09 | Sony Interactive Entertainment America Llc | Method for efficient construction of high resolution display buffers |
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 |
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 |
GB201503125D0 (en) * | 2015-02-25 | 2015-04-08 | Advanced Risc Mach Ltd | Graphics processing systems |
US9881351B2 (en) | 2015-06-15 | 2018-01-30 | Microsoft Technology Licensing, Llc | Remote translation, aggregation and distribution of computer program resources in graphics processing unit emulation |
US9786026B2 (en) | 2015-06-15 | 2017-10-10 | Microsoft Technology Licensing, Llc | Asynchronous translation of computer program resources in graphics processing unit emulation |
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 |
CN116340022A (zh) | 2016-01-22 | 2023-06-27 | 索尼互动娱乐股份有限公司 | 用于向后兼容性的欺骗cpuid |
CN116401184A (zh) | 2016-01-22 | 2023-07-07 | 索尼互动娱乐股份有限公司 | 模拟向后兼容的传统总线行为 |
GB2556634B (en) | 2016-11-18 | 2020-05-27 | Advanced Risc Mach Ltd | Graphics processing systems |
US10460418B2 (en) | 2017-02-10 | 2019-10-29 | Microsoft Technology Licensing, Llc | Buffer index format and compression |
US10510185B2 (en) * | 2017-08-25 | 2019-12-17 | Advanced Micro Devices, Inc. | Variable rate shading |
CN110175269B (zh) * | 2019-05-31 | 2021-03-12 | 西安芯瞳半导体技术有限公司 | 一种顶点索引的压缩及解压缩方法、装置及计算机存储介质 |
US11748839B2 (en) | 2020-04-16 | 2023-09-05 | Samsung Electronics Co., Ltd. | Efficient fast random access enabled geometry attribute compression mechanism |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001195603A (ja) * | 1999-10-28 | 2001-07-19 | Nintendo Co Ltd | 3次元グラフィックスのための頂点キャッシュ |
JP2010535393A (ja) * | 2007-07-30 | 2010-11-18 | クゥアルコム・インコーポレイテッド | グラフィックス・システムにおける可変長の圧縮と関連付けのための方式 |
JP2012185821A (ja) * | 2011-03-03 | 2012-09-27 | Arm Ltd | グラフィックス処理 |
Family Cites Families (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU5686299A (en) | 1998-08-20 | 2000-03-14 | Raycer, Inc. | Method and apparatus for generating texture |
US7009615B1 (en) * | 2001-11-30 | 2006-03-07 | Nvidia Corporation | Floating point buffer system and method for use during programmable fragment processing in a graphics pipeline |
US6839062B2 (en) * | 2003-02-24 | 2005-01-04 | Microsoft Corporation | Usage semantics |
US6897871B1 (en) | 2003-11-20 | 2005-05-24 | Ati Technologies Inc. | Graphics processing architecture employing a unified shader |
US20050122338A1 (en) | 2003-12-05 | 2005-06-09 | Michael Hong | Apparatus and method for rendering graphics primitives using a multi-pass rendering approach |
DE102004009274A1 (de) | 2004-02-26 | 2005-09-15 | Robert Bosch Gmbh | Vorrichtung zur Bereitstellung und/oder Auswertung von Navigationsdaten sowie Verfahren zur Freischaltung von Navigationsdaten in einem Navigationssystem |
US7552316B2 (en) | 2004-07-26 | 2009-06-23 | Via Technologies, Inc. | Method and apparatus for compressing instructions to have consecutively addressed operands and for corresponding decompression in a computer system |
US8023752B1 (en) | 2005-03-04 | 2011-09-20 | Nvidia Corporation | Decompression of 16 bit data using predictor values |
US7468726B1 (en) | 2005-12-01 | 2008-12-23 | Nvidia Corporation | Culling in a vertex processing unit |
US8595747B2 (en) | 2005-12-29 | 2013-11-26 | Sony Computer Entertainment Inc. | Efficient task scheduling by assigning fixed registers to scheduler |
US20070171219A1 (en) | 2006-01-20 | 2007-07-26 | Smedia Technology Corporation | System and method of early rejection after transformation in a GPU |
CN100395778C (zh) | 2006-03-15 | 2008-06-18 | 威盛电子股份有限公司 | 绘图系统以及绘图控制方法 |
KR100882842B1 (ko) | 2007-02-26 | 2009-02-17 | 삼성전자주식회사 | 피포를 포스트 버텍스 캐쉬처럼 사용하기 위한 기하학 처리장치와 그 방법 |
US20080266287A1 (en) * | 2007-04-25 | 2008-10-30 | Nvidia Corporation | Decompression of vertex data using a geometry shader |
US8254701B1 (en) | 2007-12-13 | 2012-08-28 | Nvidia Corporation | Data compression using a geometry shading unit |
US8769207B2 (en) | 2008-01-16 | 2014-07-01 | Via Technologies, Inc. | Caching method and apparatus for a vertex shader and geometry shader |
US8436854B2 (en) | 2009-05-29 | 2013-05-07 | Qualcomm Incorporated | Graphics processing unit with deferred vertex shading |
US8542247B1 (en) * | 2009-07-17 | 2013-09-24 | Nvidia Corporation | Cull before vertex attribute fetch and vertex lighting |
US8743131B2 (en) | 2009-09-10 | 2014-06-03 | Advanced Micro Devices, Inc. | Course grain command buffer |
US8810592B2 (en) | 2009-10-09 | 2014-08-19 | Nvidia Corporation | Vertex attribute buffer for inline immediate attributes and constants |
US8760460B1 (en) | 2009-10-15 | 2014-06-24 | Nvidia Corporation | Hardware-managed virtual buffers using a shared memory for load distribution |
US8619085B2 (en) * | 2010-03-08 | 2013-12-31 | Broadcom Corporation | Method and system for compressing tile lists used for 3D rendering |
US9349154B2 (en) | 2010-04-05 | 2016-05-24 | Nvidia Corporation | Bindless texture and image API |
GB2483502B (en) * | 2010-09-10 | 2014-05-07 | Imagination Tech Ltd | Random accessible lossless parameter data compression for title based 3D computer graphics system |
US8499305B2 (en) | 2010-10-15 | 2013-07-30 | Via Technologies, Inc. | Systems and methods for performing multi-program general purpose shader kickoff |
US9218686B2 (en) | 2010-12-03 | 2015-12-22 | Digital Media Professionals Inc. | Image processing device |
US8941655B2 (en) | 2011-09-07 | 2015-01-27 | Qualcomm Incorporated | Memory copy engine for graphics processing |
US9256915B2 (en) | 2012-01-27 | 2016-02-09 | Qualcomm Incorporated | Graphics processing unit buffer management |
CN103020205B (zh) | 2012-12-05 | 2018-07-31 | 中科天玑数据科技股份有限公司 | 一种分布式文件系统上基于硬件加速卡的压缩解压缩方法 |
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 |
US10102603B2 (en) | 2013-06-10 | 2018-10-16 | Sony Interactive Entertainment Inc. | Scheme for compressing vertex shader output parameters |
-
2014
- 2014-06-05 US US14/297,201 patent/US10102603B2/en active Active
- 2014-06-06 CN CN201480032468.7A patent/CN105283900B/zh active Active
- 2014-06-06 WO PCT/US2014/041382 patent/WO2014200863A1/en active Application Filing
- 2014-06-06 EP EP14810168.6A patent/EP3008699B1/en active Active
- 2014-06-06 JP JP2016518048A patent/JP6591405B2/ja active Active
-
2018
- 2018-07-31 US US16/050,829 patent/US10740867B2/en active Active
-
2020
- 2020-08-11 US US16/990,680 patent/US11232534B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001195603A (ja) * | 1999-10-28 | 2001-07-19 | Nintendo Co Ltd | 3次元グラフィックスのための頂点キャッシュ |
JP2010535393A (ja) * | 2007-07-30 | 2010-11-18 | クゥアルコム・インコーポレイテッド | グラフィックス・システムにおける可変長の圧縮と関連付けのための方式 |
JP2012185821A (ja) * | 2011-03-03 | 2012-09-27 | Arm Ltd | グラフィックス処理 |
Also Published As
Publication number | Publication date |
---|---|
US10740867B2 (en) | 2020-08-11 |
JP6591405B2 (ja) | 2019-10-16 |
US11232534B2 (en) | 2022-01-25 |
EP3008699B1 (en) | 2020-04-22 |
EP3008699A1 (en) | 2016-04-20 |
US10102603B2 (en) | 2018-10-16 |
US20200372602A1 (en) | 2020-11-26 |
US20140362100A1 (en) | 2014-12-11 |
EP3008699A4 (en) | 2016-11-23 |
WO2014200863A1 (en) | 2014-12-18 |
CN105283900B (zh) | 2019-11-01 |
CN105283900A (zh) | 2016-01-27 |
US20180336658A1 (en) | 2018-11-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11232534B2 (en) | Scheme for compressing vertex shader output parameters | |
US10733691B2 (en) | Fragment shaders perform vertex shader computations | |
JP7098710B2 (ja) | 中心窩ジオメトリテッセレーション | |
EP3008701B1 (en) | Using compute shaders as front end for vertex shaders | |
JP5960368B2 (ja) | ビジビリティ情報を用いたグラフィックスデータのレンダリング | |
KR20140139553A (ko) | 그래픽 프로세싱 유닛들에서 가시성 기반 상태 업데이트들 | |
JP2015501981A (ja) | タイルベースのレンダリングにおけるテッセレーション | |
US10535188B2 (en) | Tessellation edge shaders | |
CN111754381B (zh) | 图形渲染方法、装置和计算机可读存储介质 | |
JP2015515059A (ja) | シーンにおける不透明度レベルを推定する方法とそれに対応する装置 | |
US11869123B2 (en) | Anti-aliasing two-dimensional vector graphics using a compressed vertex buffer | |
RU2810701C2 (ru) | Гибридный рендеринг |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160108 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160108 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20170228 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170501 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20171003 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20171204 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20180327 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190918 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6591405 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 |