摘要:
An intelligent caching data structure and mechanisms for storing visual information via objects and data representing graphics information. The data structure is generally associated with mechanisms that intelligently control how the visual information therein is populated and used. The cache data structure can be traversed for direct rendering, or traversed for pre-processing the visual information into an instruction stream for another entity. Much of the data typically has no external reference to it, thereby enabling more of the information stored in the data structure to be processed to conserve resources. A transaction/batching-like model for updating the data structure enables external modifications to the data structure without interrupting reading from the data structure, and such that changes received are atomically implemented. A method and mechanism are provided to call back to an application program in order to create or re-create portions of the data structure as needed, to conserve resources.
摘要:
A parameterized scene graph provides mutable (animated) values and parameterized graph containers such that an application program or the like can selectively change certain aspects of the scene graph description while leaving other aspects intact, and also reuse portions of the scene graph with different parameters. To this end, mutable values are provided, which provide the higher level code with hooks into the scene graph enabling the scene description to be changed. The mutable values may be varied over time to provide animation. A parameterized graph container is also described that enables a scene graph portion to be templatized for reuse throughout a scene in a generic way. In this manner, a single parameterized graph container may be efficiently reused in a scene graph, with different values for its parameters.
摘要:
An intelligent caching data structure and mechanisms for storing visual information via objects and data representing graphics information. The data structure is generally associated with mechanisms that intelligently control how the visual information therein is populated and used. The cache data structure can be traversed for direct rendering, or traversed for pre-processing the visual information into an instruction stream for another entity. Much of the data typically has no external reference to it, thereby enabling more of the information stored in the data structure to be processed to conserve resources. A transaction/batching-like model for updating the data structure enables external modifications to the data structure without interrupting reading from the data structure, and such that changes received are atomically implemented. A method and mechanism are provided to call back to an application program in order to create or re-create portions of the data structure as needed, to conserve resources.
摘要:
A media integration layer including an application programming interface (API) and an object model allows program code developers to interface in a consistent manner with a scene graph data structure in order to output graphics. Via the interfaces, program code adds child visuals to other visuals to build up a hierarchical scene graph, writes Instruction Lists such as geometry data, image data, animation data and other data for output, and may specify transform, clipping and opacity properties on visuals. The media integration layer and API enable programmers to accomplish composition effects within their applications in a straightforward manner, while leveraging the graphics processing unit in a manner that does not adversely impact normal application performance. A multiple-level system includes the ability to combine different media types (such as 2D, 3D, Video, Audio, text and imaging) and animate them smoothly and seamlessly.
摘要:
A multiple-level graphics processing system and method (e.g., of an operating system) for providing improved graphics output including, for example, smooth animation. One such multiple-level graphics processing system comprises two components, including a tick-on-demand or slow-tick high-level component, and a fast-tick (e.g., at the graphics hardware frame refresh rate) low-level component. In general, the high-level, less frequent component performs computationally intensive aspects of updating animation parameters and traversing scene data structures, in order to pass simplified data structures to the low-level component. The low-level component operates at a higher frequency, such as the frame refresh rate of the graphics subsystem, to process the data structures into constant output data for the graphics subsystem. The low-level processing includes interpolating any parameter intervals as necessary to obtain instantaneous values to render the scene for each frame of animation.
摘要:
Described are mechanisms and techniques for providing interoperability between two different graphics technologies. An application includes windows of two types, a legacy type and a new type. A graphics system includes components that support each of the two types. Interoperability is achieved by creating legacy structures associated with any windows of the new type. A mapping is created that associates the legacy structures with the windows of the new type. Rendering of legacy windows is performed by a first graphics technology, and rendering of new windows is performed by a second graphics technology. The distinction between the two types of windows is noted by the existence of the legacy structures.
摘要:
An application program interface may be used to construct a three-dimensional (3D) scene of 3D models defined by model 3D objects. The interface has one or more group objects and one or more leaf objects. The group objects contain or collect other group objects and/or leaf objects. The leaf objects may be drawing objects or an illumination object. The group objects may have transform operations to transform objects collected in their group. The drawing objects define instructions to draw 3D models of the 3D scene or instructions to draw 2D images on the 3D models. The illumination object defines the light type and direction illuminating the 3D models in the 3D scene. A method processes a tree hierarchy of computer program objects constructed with objects of the application program interface. The method traverses branches of a 3D scene tree hierarchy of objects to process group objects and leaf objects. The method detects whether the next unprocessed object is a group object of a leaf object. If it is a leaf object, the method detects whether the leaf object is a light object or a drawing 3D object. If the leaf object is a light object, the illumination of the 3D scene is set. If a drawing 3D object is detected, a 3D model is drawn as illuminated by the illumination. The method may also performs a group operation on the group of objects collected by a group object.
摘要:
A hierarchy of 2D visual objects and 3D scene objects are integrated for seamless processing to render 2D images including a 2D view of a 3D scene on a 2D computer display. The processing of the 3D model objects and 2D visual objects in the visual hierarchy is integrated so that the processing is readily handed off between 3D and 2D operations. Further the number of transitions between processing visual 2D objects and 3D model objects when creating a display image has no architectural limit. A data structure integrates computer program objects for creating 3D images and 2D images in a visual tree object hierarchy having visual 2D objects or 3D scene objects pointing to 3D model objects. The data structure comprises an object tree hierarchy, one or more visual 2D objects, and one or more 3D reference or scene objects pointing to 3D model objects. The visual 2D objects define operations drawing a 2D image. The 3D reference or scene objects define references pointing to objects with operations that together draw a two-dimensional view of a three-dimensional scene made up of one or more 3D models. The 3D reference or scene objects point to 3D model objects and a camera object. The camera object defines a two-dimensional view of the 3D scene. The 3D model objects draw the 3D models and define mesh information used in drawing contours of a model and material information used in drawing surface texture of a model. The material information for the surface texture of a model may be defined by a visual 2D object, a 3D reference or scene object or a tree hierarchy of visual 2D objects and/or 3D reference scene objects.
摘要:
Systems and methods are provided for managing the computational resources of coprocessor(s), such as graphics processor(s), in a computing system. The systems and methods illustrate management of computational resources of coprocessors to facilitate efficient execution of multiple applications in a multitasking environment. By enabling multiple threads of execution to compose command buffers in parallel, submitting those command buffers for scheduling and dispatch by the operating system, and fielding interrupts that notify of completion of command buffers, the system enables multiple applications to efficiently share the computational resources available in the system.
摘要:
A changeable pattern and implementation is presented in which types (used in programming environments and virtual machines) may be mutable as controlled by a programmer, and share many of the benefits of value types, without the drawbacks of value types. The changeable pattern provides flexibility for restricting the modifiability of the resultant uses of the values, as well as providing a means for providing notifications upon changes. In one implementation, a single set of changeable types is provided that derive from a common Changeable base class, and any type for which mutability is desired may derive from the Changeable class. Properties associated with the changeable define state that determines cloning and/or changeability characteristics on subsequent uses of the type. True mutability is provided via a status property of next use being set to a changeable reference state such that subsequent uses of the type do not cause a state change.