IP Library Granted Patent US 9,652,882
Granted Patent B2
US 9,652,882 · App. 14/246,062 · Granted May 16, 2017

Gradient adjustment for texture mapping for multiple render targets with resolution that varies by screen location

Inventor: Mark Evan Cerny (Los Angeles, CA)
Assignee: SONY INTERACTIVE ENTERTAINMENT AMERICA LLC
G06T15/005G06T15/04G06T15/80G09G5/363G06T2210/36G09G2310/0232G09G2360/08G09G2360/121
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,652,882
App. No.
14/246,062
Granted
May 16, 2017
Kind
B2
Abstract

In a computer graphics processing unit (GPU) having a shader and a texture unit the pixel shader is configured to receive or generate one or more sets of texture coordinates per pixel sample location. The pixel shader and texture unit between them are configured to calculate texture space gradient values for one or more primitives and generate and apply per-pixel gradient scale factors configured to modify the gradient values to smoothly transition them between regions of a display device having different pixel resolutions.

Claims (30)

1. A computer graphics system, comprising:

a graphics processing unit (GPU) having a pixel shader and a texture unit;

wherein the pixel shader is configured to receive or generate one or more sets of texture coordinates per pixel sample location and wherein the pixel shader and texture unit between them are configured to calculate texture space gradient values for one or more primitives, and generate and apply per-pixel gradient scale factors configured to modify the gradient values to smoothly transition them between regions of a screen space of a display device having different pixel resolutions, wherein the regions of a screen space of a display device having different pixel resolutions include at least one region of a screen space of a display device for which a fraction of the pixels in the region are not rendered.

2. The system of claim 1 , wherein the texture space gradient values include corrections for non-orthonormality of a screen space sample distribution.

3. The system of claim 1 , wherein the texture unit is an application specific integrated circuit (ASIC), field programmable gate array (FPGA), or system on chip (SOC).

4. The system of claim 1 , wherein the texture unit is further configured to select a level of detail from a plurality of levels of detail for a texture to be applied to one or more primitives from the adjusted gradient values.

5. The system of claim 4 , wherein the texture unit is further configured to apply the texture to the one or more primitives.

6. The system of claim 5 , further comprising a display unit coupled to the GPU, wherein the display unit is configured to display images that include the texture applied to the one or more primitives.

7. The system of claim 1 , wherein the texture unit calculates texture space gradient values from the texture coordinates supplied by the pixel shader and generates and applies the per-pixel gradient scale factors to obtain scale corrected gradient values.

8. The system of claim 1 , wherein the pixel shader calculates the per-pixel gradient scale factors and provides them to the texture unit with the texture coordinates.

9. The system of claim 8 , wherein the texture unit calculates texture space gradient values from the texture coordinates supplied by the pixel shader and then applies the supplied gradient scale factors to the texture space gradients to obtain adjusted gradient values.

10. The system of claim 1 , wherein the pixel shader calculates the texture space gradients from the texture coordinates and passes them with the texture coordinates to the texture unit, wherein the pixel shader indicates to the texture unit that the texture unit must correct the texture gradient values for any non-orthonormality of the sample grid.

11. The system of claim 10 wherein the pixel shader also determines the per-pixel gradient scale factors and provides them to the texture unit, wherein the pixel shader notifies the texture unit that the texture unit must apply the gradient scale factors to the gradients to obtain the adjusted gradients.

12. The system of claim 1 , wherein the pixel shader calculates the adjusted texture gradients from the texture coordinates and passes them along with the texture space coordinates to the texture unit, wherein the pixel shader indicates to the texture unit that the adjusted gradients should be used as is to select a level of detail for a texture to be applied to a primitive.

13. In a computer graphics processing unit (GPU) having a pixel shader and a texture unit, the texture unit being implemented in hardware, a graphics processing method, comprising:

the pixel shader generating one or more texture coordinates per pixel location to provide a coordinate set for one or more texture mapping operations;

between the pixel shader and texture unit calculating gradient values from the texture coordinates;

between the pixel shader and texture unit determining gradient scale factors configured to adjust corresponding gradient values to corresponding adjusted gradient values and

between the pixel shader and texture unit applying the gradient scale factors to the gradient values, wherein the adjustment factors are configured to modify the gradient values to smoothly transition them between regions of a screen space of a display device having different pixel resolutions, wherein the regions of a screen space of a display device having different pixel resolutions include at least one region of a screen space of a display device for which a fraction of the pixels in the region are not rendered.

14. The method of claim 13 wherein the texture space gradient values include corrections for non-orthonormality of a screen space sample distribution.

15. The method of claim 13 , further comprising selecting a level of detail from a plurality of levels of detail for a texture to be applied to one or more primitives from the adjusted gradient values with the texture unit.

16. The method of claim 13 , further comprising, applying the texture to the one or more primitives with the texture unit.

17. The method of claim 16 , further comprising displaying images that include the texture applied to the one or more primitives with a display unit.

18. The method of claim 17 , wherein the pixel shader generates the texture coordinates per pixel location and provides a coordinate set for each texture mapping operation to the texture unit.

19. The method of claim 18 , wherein the texture unit calculates texture gradients from the texture coordinates supplied by the pixel shader, and generates and applies the gradient scale factors to obtain the corrected gradient values.

20. The method of claim 13 , wherein the pixel shader calculates the gradient scale factors and provides them to the texture unit with the texture coordinates.

21. The method of claim 20 , wherein the texture unit calculates texture space gradient values from the texture coordinates supplied by the pixel shader, and then applies the supplied gradient scale factors to the texture space gradients to obtain adjusted gradient values.

22. The method of claim 13 , wherein the pixel shader calculates the texture space gradients from the texture coordinates and passes them with the texture coordinates to the texture unit, wherein the pixel shader indicates to the texture unit that the texture unit must correct the texture gradient values for any non-orthonormality of the sample grid.

23. The method of claim 22 wherein the pixel shader also determines the gradient scale factors and provides them to the texture unit, wherein the pixel shader notifies the texture unit that the texture unit must apply the gradient scale factors to the gradients to obtain the adjusted gradients.

24. The method of claim 13 , wherein the pixel shader calculates the adjusted texture gradients from the texture coordinates and passes them along with the texture space coordinates to the texture unit, wherein the pixel shader indicates to the texture unit that the adjusted gradients should be used as is to select a level of detail for a texture to be applied to a primitive.

Assignments (3)
MERGER Recorded Mar 30, 2020
From: SONY INTERACTIVE ENTERTAINMENT AMERICA LLC
To: SONY INTERACTIVE ENTERTAINMENT LLC
Reel/Frame 053323/0567 →
CHANGE OF NAME Recorded May 5, 2016
From: SONY COMPUTER ENTERTAINMENT AMERICA LLC
To: SONY INTERACTIVE ENTERTAINMENT AMERICA LLC
Reel/Frame 038626/0637 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 12, 2014
From: CERNY, MARK EVAN
To: SONY COMPUTER ENTERTAINMENT AMERICA LLC
Reel/Frame 032873/0007 →
Continuity (1)
Related Publication 20150287230A1 · Oct 8, 2015