Invention Grant
US09123151B2 Exchanging data between vertex shaders and fragment shaders on a graphics processing unit
有权
在图形处理单元之间交换顶点着色器和片段着色器之间的数据
- Patent Title: Exchanging data between vertex shaders and fragment shaders on a graphics processing unit
- Patent Title (中): 在图形处理单元之间交换顶点着色器和片段着色器之间的数据
-
Application No.: US12185998Application Date: 2008-08-05
-
Publication No.: US09123151B2Publication Date: 2015-09-01
- Inventor: Ian Stewart , Dominic Laflamme , Eric Cabot
- Applicant: Ian Stewart , Dominic Laflamme , Eric Cabot
- Applicant Address: US CA San Rafael
- Assignee: AUTODESK, INC.
- Current Assignee: AUTODESK, INC.
- Current Assignee Address: US CA San Rafael
- Agency: Artegis Law Group, LLP
- Main IPC: G06T15/50
- IPC: G06T15/50 ; G06T15/00 ; G09G5/00 ; G06T1/60

Abstract:
It is desirable for a fragment shader to have access to non-interpolated values for each vertex of the primitive in which the fragment is located. For example, a fragment shader may use the distortion of the primitive with respect to an original state of the primitive as part of the function the fragment shader performs. Due to the specification of fragment shaders and vertex shaders, fragments shaders receive only interpolated values, and thus cannot receive non-interpolated values of, for example, one solution to this problem would be to modify the processing engine for the shader language, and the shader specifications themselves, so that a fragment shader can receive non-interpolated values from the vertices of the primitive on which the fragment is located. Desirable values to receive would be at least the vertex coordinates. Another solution is to specify and use varyings in a manner that pass data to a fragment shader that permit the fragment shader to reconstruct the non-interpolated values. One way to achieve this is to a. allocate varyings and assign them indices, b. assign indices to the vertices and c. have each a shader contribute only to those varyings having the same index as the vertex being processed, and otherwise contribute a null value, such as 0, to the varyings with other indices. In this manner, when the interpolated value for the indexed varying is received by the fragment shader, the indexed varying contains the contribution of only one vertex, scaled by an interpolation parameter. Another indexed varying can be used to pass the interpolation parameter, allowing the original value for the vertex to be computed by the fragment shader.
Public/Granted literature
- US20100033483A1 Exchanging Data Between Vertex Shaders And Fragment Shaders On A Graphics Processing Unit Public/Granted day:2010-02-11
Information query
IPC分类:
G | 物理 |
G06 | 计算;推算或计数 |
G06T | 一般的图像数据处理或产生 |
G06T15/00 | 3D〔三维〕图像的加工 |
G06T15/50 | .发光效果 |