IP Library Granted Patent US 7,903,121
Granted Patent B2
US 7,903,121 · App. 12/050,104 · Granted Mar 8, 2011

System and method for image-based rendering with object proxies

Assignee: Graphics Properties Holdings, Inc.
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 7,903,121
App. No.
12/050,104
Granted
Mar 8, 2011
Kind
B2
Abstract

A system and method for rendering with an object proxy. In one embodiment, a method includes forming a set of view textures corresponding to a set of viewing directions; selecting a viewing direction for rendering; selecting at least two view textures from the formed set based on the selected viewing direction; and rendering the object proxy at the selected viewing direction. The rendering step includes applying texture from the selected view textures onto the selected object proxy. The view texture set forming step includes: calculating texture coordinates for the object proxy based on the level of obstruction at different portions of the object proxy and texture packing data; and drawing portions of the object based on the level of obstruction data for the object proxy and based on the texture packing data to obtain a view texture at the selected viewing direction.

Claims (24)

1. A view texture former comprising:

an object proxy texture coordinate calculator configured to calculate texture coordinates for an object proxy based on a level of obstruction data at different portions of the object proxy and based on texture packing data; and

a drawer configured to draw portions of the object and one or more texture patches corresponding to respective portions of the object which are partially or fully occluded based on the level of obstruction data for the object proxy and based on the texture packing data to precompute a view texture at a respective viewing direction.

2. The view texture former of claim 1 , wherein the drawer is configured to draw a set of view textures corresponding to a set of viewing directions.

3. The view texture former of claim 1 , wherein the drawer is configured to draw the portions of the object that correspond to unobstructed front-facing portions of the object proxy with a first additional displacement based on first corresponding texture packing data, to draw the portions of the object that correspond to at least partially obstructed front-facing portions of the object proxy with a second additional displacement based on second corresponding texture packing data and a first removal of any first intervening portions of the object, and to draw the portions of the object that correspond to back-facing portions of the object proxy that are visible from nearby viewing directions with a third additional displacement based on third corresponding texture packing data and a second removal of any second intervening portions of the object.

4. The view texture former of claim 1 , wherein the object proxy is of a set of object proxies and the object proxy texture coordinate calculator is configured to determine and to store the level of obstruction data for each polygon in each object proxy of the set of object proxies.

5. The view texture former of claim 1 , wherein the object proxy texture coordinate calculator is configured to determine and to store the texture packing data.

6. The view texture former of claim 1 , wherein the texture packing data has shift and rotation data relative to the respective viewing direction which is used in a texture packing algorithm to produce texture patches.

7. A method for forming a precomputed view texture for an object proxy representing an object, comprising:

(a) selecting a first viewing direction;

(b) determining level of obstruction data for a first polygon of the object proxy for the first viewing direction;

(c) storing the level of obstruction data for the first polygon for the first viewing direction;

(d) determining texture packing data, including shift and rotation data for one or more texture patches corresponding to respective portions of the object which are partially or fully occluded, for the first polygon for the first viewing direction;

(e) storing the texture packing data for the first polygon for the first viewing direction;

(f) determining a visibility for the first polygon for the first viewing direction; and

(g) adjusting texture coordinates for the first polygon for the first viewing direction based on the texture packing data for the first polygon for the first viewing direction and the determining the visibility for the first polygon for the first viewing direction.

8. The method of claim 7 , wherein the texture packing data includes shift and rotation data for texture patches, and the determining the texture packing data comprises determining the shift and rotation data for the texture patches, the storing the texture packing data comprises storing the shift and rotation data, and the adjusting the texture coordinates comprises adjusting the texture coordinates based on the shift and rotation data.

9. The method of claim 7 , wherein the selecting, the determining the level of obstruction data, the storing the level of obstruction data, the determining the texture packing data, the storing the texture packing data, the determining the visibility, and the adjusting the texture coordinates are repeated for a second polygon of the object proxy.

10. The method of claim 7 , wherein the selecting, the determining the level of obstruction data, the storing the level of obstruction data, the determining the texture packing data, the storing the texture packing data, the determining the visibility, and the adjusting the texture coordinates are repeated for a second viewing position.

11. The method of claim 10 , further comprising drawing a portion of an object based on the level of obstruction data and the texture packing data to produce the view texture for the first viewing direction, wherein the object proxy approximating a geometry of the object.

12. The method of claim 11 , further comprising storing the object proxy together with a set of the texture coordinates for each of the first viewing direction and the second viewing direction.

13. The method of claim 11 , further comprising:

forming groups of viewing directions; and

storing a modified object proxy together with a set of the texture coordinates for each group of the viewing directions.

Assignments (6)
RELEASE OF SECURITY INTEREST Recorded Oct 26, 2020
From: JEFFERIES FINANCE LLC
To: RPX CORPORATION
Reel/Frame 054486/0422 →
SECURITY INTEREST Recorded Jun 29, 2018
From: RPX CORPORATION
To: JEFFERIES FINANCE LLC
Reel/Frame 046486/0433 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 4, 2013
From: GRAPHICS PROPERTIES HOLDINGS, INC.
To: RPX CORPORATION
Reel/Frame 029564/0799 →
CHANGE OF NAME Recorded Dec 22, 2010
From: SILICON GRAPHICS, INC.
To: GRAPHICS PROPERTIES HOLDINGS, INC.
Reel/Frame 025561/0661 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 21, 2010
From: MECH, RADOMIR
To: SILICON GRAPHICS, INC.
Reel/Frame 025547/0858 →
SECURITY AGREEMENT Recorded Dec 16, 2008
From: SILICON GRAPHICS, INC.
To: MORGAN STANLEY & CO., INCORPORATED
Reel/Frame 021985/0269 →
Continuity (1)
Related Publication 20080218526A1 · Sep 11, 2008