Object transformation for object trees utilized with multiprocessor systems
AssigneeThe MathWorks, Inc.
InventorsMichael Patrick Garrity, Mario S. Guimaraes
Life of this patent
Estimating the term…
Loading patent…
AssigneeThe MathWorks, Inc.
InventorsMichael Patrick Garrity, Mario S. Guimaraes
Estimating the term…
A system creates a first set of objects in a first structure that describe a graphical scene. A second set of objects is created in a second structure based on the first set of objects in the first structure. The system also performs one or more of the following: i) converting coordinate values in a first coordinate system to coordinate values in a second coordinate system, ii) converting color values in a first color space to color values in a second color space, and/or iii) converting data having first data types or formats to data having second data types or formats, where the first data types or formats are different than the second data types or formats. The system further associates the converted coordinate values, color values and/or data types or formats with the second set of objects and enables a graphical processing unit to use the second set of objects for rendering the graphical scene.
A non-transitory computer-readable medium comprising:
A system, comprising:
A computing device-implemented method, comprising:
A system, comprising:
A system, comprising:
Dependencies are inferred from the claim text.
Drawings are temporarily unavailable. Open the PDF at USPTO
No related US applications are recorded in the indexed filing history.
Three-dimensional [3D] image rendering: general purpose rendering architectures
Drawing from basic elements: drawing of charts or graphs
Indexing scheme for image generation or computer graphics: parallel processing
Indexing scheme for image generation or computer graphics: scene description
About 3 years 9 months of term left · ends 19 Jul 2030 (estimated)
Contemporary computer systems typically include multiprocessor systems, where one of the processors includes a general purpose processor (e.g., a central processing unit (CPU)) and another one of the processors includes a specialized processing unit. The specialized processing unit may include a dedicated processing unit designed to perform a specific function, and is typically used to offload time consuming tasks from the general purpose processor. The specialized processing unit is usually designed to perform the offloaded tasks more efficiently than the general purpose processor. Specialized processing units may include, for example, graphics processing units (GPUs), physics processing units (PPUs), or digital signal processors (DSPs). A GPU is one example of a specialized processing unit typically used in a multiprocessor system which includes a dedicated graphics rendering device that is designed to be efficient at manipulating and displaying computer graphics.
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate one or more embodiments described herein and, together with the description, explain these embodiments. In the drawings,
FIGS. 1A and 1B are diagrams depicting an overview of exemplary embodiments described herein;
FIGS. 2A and 2B are diagrams depicting an overview of the use of dataspace or colorspace objects for transforming object tree coordinates, colors and/or data types/formats from a first coordinate system(s), color space(s) and/or data type/format(s) to a different coordinate system(s), color space(s) and/or data type/format(s) for association with a graphics rendering tree;
The following detailed description refers to the accompanying drawings. The same reference numbers in different drawings may identify the same or similar elements. Also, the following detailed description does not limit the invention.
Specialized processing units may utilize certain organizations, types and/or formats of data better than other organizations, types or formats of data. For example, a specialized processing unit may efficiently handle code objects having a certain organization. Code objects (hereinafter “objects”) may include pieces of software that are made up of modularized code, where the modules are referred to as “objects.” An “object” as the term is used herein refers to a self-contained entity that may consist of both data and manipulation procedures (e.g., functionality). An “object” is a basic building block of programs in object-oriented programming. Data associated with a given object may be set as properties of that object.
In object oriented programming, an object is a piece of code that accepts information and/or makes information available that is compliant with a known or published format (e.g., compliant with a published input or output interface). In object oriented programming, a programmer does not have to be concerned about, or have detailed knowledge of, the code that makes up a given object when the programmer wants to create other code that may use and/or interact with the object. The programmer only needs to make sure his code makes information available to the object in a compliant format and/or receives information from the object via a compliant format. Object oriented programming techniques allow complex programs (e.g., complex graphics programs) to be written by several individuals without requiring that one individual know the details of what is in an object developed by another individual.