IP Library Granted Patent US 8,446,414
Granted Patent B2
US 8,446,414 · App. 12/271,690 · Granted May 21, 2013

Programming APIS for an extensible avatar system

Inventors: Brendan K. Reville (Seattle, WA); Thomas A. Langan (Seattle, WA); Dan B. Kroymann (Bothell, WA); Derek H. Smith (Snohomish, WA); Stacey Law (Redmond, WA); Bjorn Toft Madsen (Ashby de la Zouch, GB); Rodney Alan Boyd (London, GB)
Assignee: Microsoft Corporation
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 8,446,414
App. No.
12/271,690
Granted
May 21, 2013
Kind
B2
Abstract

Disclosed is an application programming interface (API) that provides for an extensible avatar system. In one embodiment an API may allow video game applications to retrieve structures of data which represent an avatar. The game can then take those structures and incorporate the data into its own rendering system. In another embodiment an API may allow a video game application to render an avatar to a render target or texture wherein the video game system performs rendering and animation functions.

Claims (32)

1. A computer implemented method for implementing an application programming interface (API), the method comprising:

informing, via the API, a video game application executing on a video gaming system that an avatar renderer of the video gaming system is enabled, the avatar renderer being a functional feature of the video gaming system configured to provide avatar rendering functionality for the video game application during execution of the video game application by the video gaming system and allow the video game application executing in the video game system to access data for rendering an avatar to a render target selected by the video game application, the avatar renderer configured to render the avatar to a destination in a rendered environment of the video game application so that the rendered avatar is displayed within the rendered environment of the video game application;

receiving an indication from the video game application via the API of whether the video game application is using a left-handed or right-handed coordinate system for processing graphics data;

informing the video game application via the API of an amount of memory to be allocated for the avatar renderer and the avatar's metadata; and

communicating metadata for one or more player profiles describing an avatar to be rendered on the video game system using the avatar renderer during execution of the video game application.

2. The method according to claim 1 further comprising communicating additional animations provided by the video gaming system.

3. The method according to claim 1 further comprising informing the video game application which animation is currently playing.

4. The method according to claim 1 further comprising querying the video gaming system for model and view matrices based on one of head, head-and-shoulders, or full-body views.

5. The method according to claim 1 further comprising querying an online gaming service to retrieve avatar data.

6. The method according to claim 1 further comprising indicating whether a shadow map should be allocated for the avatar.

7. The method according to claim 1 further comprising providing access to a plurality of random avatars.

8. The method according to claim 7 further comprising specifying a male or female body for one of the plurality of random avatars.

9. The method according to claim 2 further comprising retrieving avatar data from profiles on the video gaming system that are not currently signed in.

10. A tangible computer readable storage medium storing thereon computer executable instructions for instantiating an API, the computer readable storage medium comprising instructions for:

instantiating a programming interface for allowing a video game application executing in a video game system to access data for rendering an avatar to a render target selected by the video game application, wherein the video game system is configured to provide rendering and animation functions and the video game application is configured to present a rendered avatar on a two-dimensional surface presented by the video game application and wherein the rendering and animation functions are configured to render the avatar to a destination in a rendered environment of the video game application so that the rendered avatar is displayed within the rendered environment of the video game application; and

rendering one or more avatars at a rendering destination selected by the video game application.

11. The tangible computer readable storage medium according to claim 10 further comprising instructions for communicating additional animations provided by the video gaming system.

12. The tangible computer readable storage medium according to claim 10 further comprising instructions for informing the video game application which animation is currently playing.

13. The tangible computer readable storage medium according to claim 10 further comprising instructions for querying the video gaming system for model and view matrices based on one of head, head-and-shoulders, or full-body views.

14. The tangible computer readable storage medium according to claim 10 further comprising instructions for querying an online gaming service to retrieve avatar data.

15. The tangible computer readable storage medium according to claim 10 further comprising instructions for providing access to a plurality of random avatars.

16. The tangible computer readable storage medium according to claim 10 further comprising instructions for retrieving avatar data from profiles on the video gaming system that are not currently signed in.

17. A system adapted to instantiate an application programming interface (API), the system comprising:

at least one processor; and

at least one memory communicatively coupled to said at least one processor, the memory having stored therein computer-executable instructions for implementing the API, the API configured to expose a programming interface for allowing a video game application executing in a video game system to access data for representing an avatar and incorporate the data into an avatar rendering function configured to receive data for constructing, rendering and animating the avatar to a destination in a rendered environment of the video game application so that the rendered avatar is displayed within the rendered environment of the video game application, the computer-executable instructions, when executed by the at least one process, cause the system to perform functions including:

requesting a data buffer size for storing the data;

allocating memory space in accordance with said buffer size;

specifying components of the avatar for retrieval, wherein an entire body of said avatar may be requested; and

requesting the data for said avatar.

18. The system according to claim 17 , wherein the video gaming system includes an avatar renderer, further comprising instructions for allowing the avatar renderer to render said avatar to a destination provided by the video game application.

19. The system according to claim 17 , further comprising instructions for querying an online gaming service to retrieve avatar data released after the video game application is released.

20. The system according to claim 17 , further comprising avatar asset retrieval logic that can be updated independently of the video game application.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034564/0001 →
DOCUMENT RE-RECORDED TO CORRECT ERRORS CONTAINED IN PROPERTY NUMBER (S) 12/270690. DOCUMENT PREVIOUSLY RECORDED ON REEL 022233 FRAME 0280. ASSIGNOR CONFIRMS THE ASSIGNMENT. Recorded Feb 18, 2009
From: REVILLE, BRENDAN K; LANGAN, THOMAS A; KROYMANN, DAN B; SMITH, DEREK H; LAW, STACEY; MADSEN, BJORN TOFT; BOYD, RODNEY ALAN
To: MICROSOFT CORPORATION
Reel/Frame 022279/0169 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 10, 2009
From: REVILLE, BRENDAN K.; LANGAN, THOMAS A.; KROYMANN, DAN B.; SMITH, DEREK H.; LAW, STACEY; MADSEN, BJORN TOFT; BOYD, RODNEY ALAN
To: MICROSOFT CORPORATION
Reel/Frame 022233/0280 →
Continuity (2)
Provisional Application 61080626 · Jul 14, 2008
Related Publication 20100009747A1 · Jan 14, 2010