IP Library Granted Patent US 9,844,723
Granted Patent B2
US 9,844,723 · App. 14/340,750 · Granted Dec 19, 2017

In-browser emulation of multiple technologies to create consistent visualization experience

Inventors: James Peter Gregory (Berkeley, CA); Icer Addis, II (San Francisco, CA)
Assignee: Zynga Inc.
A63F13/48A63F13/323A63F13/335A63F13/52A63F13/77
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,844,723
App. No.
14/340,750
Granted
Dec 19, 2017
Kind
B2
Abstract

A system, a machine-readable storage medium storing instructions, and a computer-implemented method are described herein to render one or more graphical objects on multiple types of browsers despite the browsers providing support for different graphical capabilities. A Rendering Engine receives source data associated with a graphical object. The Rendering Engine receives an identification of a program for rendering the graphical object in a first browser that supports a graphical capability. The Rendering Engine infers an intended first graphical result of the program. The Rendering Engine identifies a function for rendering a second graphical result in a second browser that does not support the graphical capability. The second graphical result is similar to the intended first graphical result of the program. The Rendering Engine generates target data based on the source data. The Rendering Engine calls the function according to the target data.

Claims (61)

1. A method comprising:

receiving source data associated with a graphical object;

intercepting a call to a function, of an application programming interface associated with a first browser, that executes the 3-D graphical capability three-dimensional (3-D) graphical capability to render a 3-D representation of the graphical object;

inferring, via at least one processor, an intended first graphical result of the function by semantically analyzing at least one input and at least one output of the function;

detecting a second browser accessing the source data associated with the graphical object;

upon determining the second browser does not support the 3-D graphical capability, identifying at least one function for rendering a second graphical result for the second browser, the second graphical result similar to the intended first graphical result;

generating target data based on the source data; and

calling the at least one function for rendering the second graphical result according to the target data.

2. The method as in claim 1 , wherein receiving source data associated with a graphical object comprises:

receiving a desired location at which the graphical object is to be rendered;

receiving a description of at least one triangular area associated with the graphical object; and

receiving at least one color of the graphical object.

3. The method as in claim 2 , wherein receiving a description of at least one triangular area associated with the graphical object comprises:

receiving a first triangular area that covers a first portion of a sprite in a texture image, the texture image comprising a plurality of sprites;

receiving a second triangular area that covers a second portion of the sprite in the texture image; and

wherein generating target data based on the source data comprises: generating a quadrilateral area based on a combination of the first triangular area and the second triangular area.

4. The method as in claim 2 , wherein generating target data based on the source data comprises:

selecting at least one transform that corresponds to an orientation at which the graphical object will be rendered by the at least one function for rendering the second graphical result.

5. The method as in claim 1 , wherein identifying at least one function for rendering a second graphical result in a second browser that does not support the 3-D graphical capability comprises:

identifying a function in an application programming interface associated with the second browser that does not support the 3-D graphical capability.

6. A machine-readable storage medium storing instructions which, when executed by one or more processors, cause the one or more processors to perform operations comprising:

receiving source data associated with a graphical object;

intercepting a call to a function, of an application programming interface associated with a first browser, that executes the 3-D graphical capability three-dimensional (3-D) graphical capability to render a 3-D representation of the graphical object;

inferring, via at least one processor, an intended first graphical result of the function by semantically analyzing at least one input and at least one output of the function;

detecting a second browser accessing the source data associated with the graphical object;

upon determining the second browser does not support the 3-D graphical capability, identifying at least one function for rendering a second graphical result for the second browser, the second graphical result similar to the intended first graphical result;

generating target data based on the source data; and

calling the at least one function for rendering the second graphical result according to the target data.

7. The machine-readable storage medium as in claim 6 , wherein receiving source data associated with a graphical object comprises:

receiving a desired location at which the graphical object is to be rendered;

receiving a description of at least one triangular area associated with the graphical object; and

receiving at least one color of the graphical object.

8. The machine-readable storage medium as in claim 7 , wherein receiving a description of at least one triangular area associated with the graphical object comprises:

receiving a first triangular area that covers a first portion of a sprite in a texture image, the texture image comprising a plurality of sprites;

receiving a second triangular area that covers a second portion of the sprite in the texture image; and

wherein generating target data based on the source data comprises: generating a quadrilateral area based on a combination of the first triangular area and the second triangular area.

9. The machine-readable storage medium as in claim 6 , wherein generating target data based on the source data comprises:

selecting at least one transform that corresponds to an orientation at which the graphical object will be rendered by the at least one function for rendering the second graphical result.

10. The machine-readable storage medium as in claim 6 , wherein identifying at least one function for rendering a second graphical result in a second browser that does not support the 3-D graphical capability comprises:

identifying a function in an application programming interface associated with the second browser that does not support the 3-D graphical capability.

11. A computer system comprising:

a processor;

a memory device holding an instruction set executable on the processor to cause the computer system to perform operations comprising:

receiving source data associated with a graphical object;

intercepting a call to a function, of an application programming interface associated with a first browser, that executes the 3-D graphical capability three-dimensional (3-D) graphical capability to render a 3-D representation of the graphical object;

inferring, via at least one processor, an intended first graphical result of the function b semantically analyzing at least one input and at least one output of the function;

detecting a second browser accessing the source data associated with the graphical object;

upon determining the second browser does not support the 3-D graphical capability, identifying at least one function for rendering a second graphical result for the second browser, the second graphical result similar to the intended first graphical result;

generating target data based on the source data; and

calling the at least one function for rendering the second graphical result according to the target data.

12. The computer system as in claim 11 , wherein receiving source data associated with a graphical object comprises:

receiving a desired location at which the graphical object is to be rendered;

receiving a description of at least one triangular area associated with the graphical object; and

receiving at least one color of the graphical object.

13. The computer system as in claim 12 , wherein receiving a description of at least one triangular area associated with the graphical object comprises:

receiving a first triangular area that covers a first portion of a sprite in a texture image, the texture image comprising a plurality of sprites;

receiving a second triangular area that covers a second portion of the sprite in the texture image; and

wherein generating target data based on the source data comprises:

generating a quadrilateral area based on a combination of the first triangular area and the second triangular area.

14. The computer system as in claim 11 , wherein generating target data based on the source data comprises:

selecting at least one transform that corresponds to an orientation at which the graphical object will be rendered by the at least one function for rendering the second graphical result.

Assignments (5)
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded May 23, 2022
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: ZYNGA INC.
Reel/Frame 060163/0437 →
NOTICE OF GRANT OF SECURITY INTEREST IN PATENTS Recorded Dec 14, 2020
From: ZYNGA INC.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 054719/0490 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Dec 11, 2020
From: BANK OF AMERICA, N.A., AS LENDER
To: ZYNGA INC.
Reel/Frame 054701/0393 →
NOTICE OF GRANT OF SECURITY INTEREST IN PATENTS Recorded Dec 21, 2018
From: ZYNGA INC.
To: BANK OF AMERICA, N.A., AS LENDER
Reel/Frame 049147/0546 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 30, 2014
From: GREGORY, JAMES PETER; ADDIS, ICER, II
To: ZYNGA INC.
Reel/Frame 033423/0425 →
Continuity (1)
Related Publication 20160023111A1 · Jan 28, 2016