Patents by Inventor Michael Toelle

Michael Toelle has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Publication number: 20050128207
    Abstract: A three-dimensional API for communicating with hardware implementations of vertex shaders and pixel shaders having local registers. With respect to vertex shaders, API communications are provided that may make use of an on-chip register index and API communications are also provided for a specialized function, implemented on-chip at a register level, that outputs the fractional portion(s) of input(s). With respect to pixel shaders, API communications are provided for a specialized function, implemented on-chip at a register level, that performs a linear interpolation function and API communications are provided for specialized modifiers, also implemented on-chip at a register level, that perform modification functions including negating, complementing, remapping, stick biasing, scaling and saturating.
    Type: Application
    Filed: November 4, 2004
    Publication date: June 16, 2005
    Applicant: Microsoft Corporation
    Inventors: Charles Boyd, Michael Toelle
  • Publication number: 20050122331
    Abstract: Systems and methods for downloading algorithmic elements to a coprocessor and corresponding processing and communication techniques are provided. For an improved graphics pipeline, the invention provides a class of co-processing device, such as a graphics processor unit (GPU), providing improved capabilities for an abstract or virtual machine for performing graphics calculations and rendering.
    Type: Application
    Filed: November 12, 2004
    Publication date: June 9, 2005
    Applicant: Microsoft Corporation
    Inventors: Charles Boyd, Michele Boland, Michael Toelle, Anantha Kancherla, Amar Patel, Iouri Tarassov, Stephen Wright
  • Publication number: 20050122330
    Abstract: Systems and methods for downloading algorithmic elements to a coprocessor and corresponding processing and communication techniques are provided. For an improved graphics pipeline, the invention provides a class of co-processing device, such as a graphics processor unit (GPU), providing improved capabilities for an abstract or virtual machine for performing graphics calculations and rendering.
    Type: Application
    Filed: November 12, 2004
    Publication date: June 9, 2005
    Applicant: Microsoft Corporation
    Inventors: Charles Boyd, Michele Boland, Michael Toelle, Anantha Kancherla, Amar Patel, Iouri Tarassov, Stephen Wright
  • Publication number: 20050122334
    Abstract: Systems and methods for downloading algorithmic elements to a coprocessor and corresponding processing and communication techniques are provided. For an improved graphics pipeline, the invention provides a class of co-processing device, such as a graphics processor unit (GPU), providing improved capabilities for an abstract or virtual machine for performing graphics calculations and rendering.
    Type: Application
    Filed: November 12, 2004
    Publication date: June 9, 2005
    Applicant: Microsoft Corporation
    Inventors: Charles Boyd, Michele Boland, Michael Toelle, Anantha Kancherla, Amar Patel, Iouri Tarassov, Stephen Wright
  • Publication number: 20050122332
    Abstract: Systems and methods for downloading algorithmic elements to a coprocessor and corresponding processing and communication techniques are provided. For an improved graphics pipeline, the invention provides a class of co-processing device, such as a graphics processor unit (GPU), providing improved capabilities for an abstract or virtual machine for performing graphics calculations and rendering.
    Type: Application
    Filed: November 12, 2004
    Publication date: June 9, 2005
    Applicant: Microsoft Corporation
    Inventors: Charles Boyd, Michele Boland, Michael Toelle, Anantha Kancherla, Amar Patel, Iouri Tarassov, Stephen Wright
  • Publication number: 20050086669
    Abstract: An API is provided that enables programmability of a 3D chip, wherein programming or algorithmic elements written by the developer can be downloaded to the chip, thereby programming the chip to perform those algorithms. A developer writes a routine that is downloadable to a 3D graphics chip. There are also a set of algorithmic elements that are provided in connection with the API that have already been programmed for the developer, that are downloadable to the programmable chip for improved performance. Thus, a developer may download preexisting API objects to a 3D graphics chip. A developer adheres to a specific format for packing up an algorithmic element, or set of instructions, for implementation by a 3D graphics chip. The developer packs the instruction set into an array of numbers, by referring to a list of ‘tokens’ understood by the 3D graphics chip. This array of numbers in turn is mapped correctly to the 3D graphics chip for implementation of the algorithmic element by the 3D graphics chip.
    Type: Application
    Filed: October 22, 2004
    Publication date: April 21, 2005
    Applicant: Microsoft Corporation
    Inventors: Charles Boyd, Michael Toelle
  • Publication number: 20050086317
    Abstract: An API is provided that enables programmability of a 3D chip, wherein programming or algorithmic elements written by the developer can be downloaded to the chip, thereby programming the chip to perform those algorithms. A developer writes a routine that is downloadable to a 3D graphics chip. There are also a set of algorithmic elements that are provided in connection with the API that have already been programmed for the developer, that are downloadable to the programmable chip for improved performance. Thus, a developer may download preexisting API objects to a 3D graphics chip. A developer adheres to a specific format for packing up an algorithmic element, or set of instructions, for implementation by a 3D graphics chip. The developer packs the instruction set into an array of numbers, by referring to a list of ‘tokens’ understood by the 3D graphics chip. This array of numbers in turn is mapped correctly to the 3D graphics chip for implementation of the algorithmic element by the 3D graphics chip.
    Type: Application
    Filed: October 22, 2004
    Publication date: April 21, 2005
    Applicant: Microsoft Corporation
    Inventors: Charles Boyd, Michael Toelle
  • Publication number: 20050071854
    Abstract: An API is provided to automatically transition data objects or containers between memory types to enable the seamless switching of data. The switching of data containers from one location to another is performed automatically by the API. Thus, polygon or pixel data objects are automatically transitioned between memory types such that the switching is seamless. It appears to a developer as if the data chunks/containers last forever, whereas in reality, the API hides the fact that the data is being transitioned to optimize system performance. The API hides an optimal cache managing algorithm from the developer so that the developer need not be concerned with the optimal tradeoff of system resources, and so that efficient switching of data can take place ‘behind the scenes’, thereby simplifying the developer's task. Data containers are thus efficiently placed in storage to maximize data processing rates and storage space, whether a data container is newly created or switched from one location to another.
    Type: Application
    Filed: October 26, 2004
    Publication date: March 31, 2005
    Applicant: Microsoft Corporation
    Inventors: Anuj Gosalia, Jeff Noyle, Michael Toelle
  • Publication number: 20050052456
    Abstract: An API is provided that enables programmability of a 3D chip, wherein programming or algorithmic elements written by the developer can be downloaded to the chip, thereby programming the chip to perform those algorithms. A developer writes a routine that is downloadable to a 3D graphics chip. There are also a set of algorithmic elements that are provided in connection with the API that have already been programmed for the developer, that are downloadable to the programmable chip for improved performance. Thus, a developer may download preexisting API objects to a 3D graphics chip. A developer adheres to a specific format for packing up an algorithmic element, or set of instructions, for implementation by a 3D graphics chip. The developer packs the instruction set into an array of numbers, by referring to a list of ‘tokens’ understood by the 3D graphics chip. This array of numbers in turn is mapped correctly to the 3D graphics chip for implementation of the algorithmic element by the 3D graphics chip.
    Type: Application
    Filed: October 22, 2004
    Publication date: March 10, 2005
    Applicant: Microsoft Corporation
    Inventors: Charles Boyd, Michael Toelle
  • Publication number: 20050030312
    Abstract: A three-dimensional API for communicating with hardware implementations of vertex shaders and pixel shaders having local registers. With respect to vertex shaders, API communications are provided that may make use of an on-chip register index and API communications are also provided for a specialized function, implemented on-chip at a register level, that outputs the fractional portion(s) of input(s). With respect to pixel shaders, API communications are provided for a specialized function, implemented on-chip at a register level, that performs a linear interpolation function and API communications are provided for specialized modifiers, also implemented on-chip at a register level, that perform modification functions including negating, complementing, remapping, stick biasing, scaling and saturating.
    Type: Application
    Filed: September 9, 2004
    Publication date: February 10, 2005
    Applicant: Microsoft Corporation
    Inventors: Charles Boyd, Michael Toelle
  • Publication number: 20050027682
    Abstract: An API is provided that enables programmability of a 3D chip, wherein programming or algorithmic elements written by the developer can be downloaded to the chip, thereby programming the chip to perform those algorithms. A developer writes a routine that is downloadable to a 3D graphics chip. There are also a set of algorithmic elements that are provided in connection with the API that have already been programmed for the developer, that are downloadable to the programmable chip for improved performance. Thus, a developer may download preexisting API objects to a 3D graphics chip. A developer adheres to a specific format for packing up an algorithmic element, or set of instructions, for implementation by a 3D graphics chip. The developer packs the instruction set into an array of numbers, by referring to a list of ‘tokens’ understood by the 3D graphics chip. This array of numbers in turn is mapped correctly to the 3D graphics chip for implementation of the algorithmic element by the 3D graphics chip.
    Type: Application
    Filed: September 2, 2004
    Publication date: February 3, 2005
    Applicant: Microsoft Corporation
    Inventors: Charles Boyd, Michael Toelle
  • Patent number: 6831635
    Abstract: A method for controlling the algorithmic elements in 3D graphics systems via an improved 3D graphics API is provided. In one aspect, the invention unifies separately provided 2D and 3D graphics APIs into a single graphics interface, thereby eliminating redundancy of functionality and unnecessary data types. As a result, a single mapping to various graphics objects replaces redundant mappings. A single texture download that optimizes the use of different graphics hardware is provided. A single instruction for effecting a resolution change is also provided.
    Type: Grant
    Filed: March 1, 2001
    Date of Patent: December 14, 2004
    Assignee: Microsoft Corporation
    Inventors: Charles N. Boyd, Jeff M. J. Noyle, Michael A. Toelle
  • Patent number: 6819325
    Abstract: A three-dimensional API for communicating with hardware implementations of vertex shaders and pixel shaders having local registers. With respect to vertex shaders, API communications are provided that may make use of an on-chip register index and API communications are also provided for a specialized function, implemented on-chip at a register level, that outputs the fractional portion(s) of input(s). With respect to pixel shaders, API communications are provided for a specialized function, implemented on-chip at a register level, that performs a linear interpolation function and API communications are provided for specialized modifiers, also implemented on-chip at a register level, that perform modification functions including negating, complementing, remapping, stick biasing, scaling and saturating.
    Type: Grant
    Filed: March 6, 2001
    Date of Patent: November 16, 2004
    Assignee: Microsoft Corporation
    Inventors: Charles N. Boyd, Michael A. Toelle
  • Patent number: 6812923
    Abstract: An API is provided to automatically transition data objects or containers between memory types to enable the seamless switching of data. The switching of data containers from one location to another is performed automatically by the API. Thus, polygon or pixel data objects are automatically transitioned between memory types such that the switching is seamless. It appears to a developer as if the data chunks/containers last forever, whereas in reality, the API hides the fact that the data is being transitioned to optimize system performance. The API hides an optimal cache managing algorithm from the developer so that the developer need not be concerned with the optimal tradeoff of system resources, and so that efficient switching of data can take place ‘behind the scenes’, thereby simplifying the developer's task.
    Type: Grant
    Filed: March 1, 2001
    Date of Patent: November 2, 2004
    Assignee: Microsoft Corporation
    Inventors: Anuj B. Gosalia, Jeff M. J. Noyle, Michael A. Toelle
  • Publication number: 20030234791
    Abstract: Systems and methods are provided for controlling texture sampling in connection with computer graphics in a computer system. In various embodiments, improved mechanisms for controlling texture sampling are provided that enable 3-D accelerator hardware to greatly increase the level of realism in rendering, including improved mechanisms for (1) motion blur; (2) generating anisotropic surface reflections (3) generating surface self-shadowing (4) ray-cast volumetric sampling (4) self-shadowed volumetric rendering and (5) self-shadowed volumetric ray-casting. In supplementing existing texture sampling techniques, parameters for texture sampling may be replaced and/or modified.
    Type: Application
    Filed: June 20, 2002
    Publication date: December 25, 2003
    Inventors: Charles N. Boyd, Michael A. Toelle
  • Publication number: 20020178301
    Abstract: A method for controlling the algorithmic elements in 3D graphics systems via an improved 3D graphics API is provided. In one aspect, the invention unifies separately provided 2D and 3D graphics APIs into a single graphics interface, thereby eliminating redundancy of functionality and unnecessary data types. As a result, a single mapping to various graphics objects replaces redundant mappings. A single texture download that optimizes the use of different graphics hardware is provided. A single instruction for effecting a resolution change is also provided.
    Type: Application
    Filed: March 1, 2001
    Publication date: November 28, 2002
    Inventors: Charles N. Boyd, Jeff M. J. Noyle, Michael A. Toelle
  • Publication number: 20020169897
    Abstract: An API is provided to automatically transition data objects or containers between memory types to enable the seamless switching of data. The switching of data containers from one location to another is performed automatically by the API. Thus, polygon or pixel data objects are automatically transitioned between memory types such that the switching is seamless. It appears to a developer as if the data chunks/containers last forever, whereas in reality, the API hides the fact that the data is being transitioned to optimize system performance. The API hides an optimal cache managing algorithm from the developer so that the developer need not be concerned with the optimal tradeoff of system resources, and so that efficient switching of data can take place ‘behind the scenes’, thereby simplifying the developer's task.
    Type: Application
    Filed: March 1, 2001
    Publication date: November 14, 2002
    Inventors: Anuj B. Gosalia, Jeff M.J. Noyle, Michael A. Toelle
  • Publication number: 20020122034
    Abstract: An API is provided to feed multiple data objects, wherever originated or located at the time of operation, to a 3D graphics chip simultaneously or in parallel. Multiple containers may be fed to a 3D graphics chip memory at the same time. In the case where data is being transmitted to a graphics chip memory, wherein the data includes the same spatial position of pixel(s), but only the orientation or color is changing, the data may be loaded into two separate containers, with a header description understood by the graphics chip and implemented by the graphics API, whereby a single copy of the position data can be loaded into one container, and the changing color or orientation data may be loaded into a second container. Thus, when received by the graphics chip, the data is loaded correctly into register space and processed according to the header description.
    Type: Application
    Filed: March 1, 2001
    Publication date: September 5, 2002
    Inventors: Charles N. Boyd, Michael A. Toelle
  • Publication number: 20020033817
    Abstract: An API is provided that enables programmability of a 3D chip, wherein programming or algorithmic elements written by the developer can be downloaded to the chip, thereby programming the chip to perform those algorithms. A developer writes a routine that is downloadable to a 3D graphics chip. There are also a set of algorithmic elements that are provided in connection with the API that have already been programmed for the developer, that are downloadable to the programmable chip for improved performance. Thus, a developer may download preexisting API objects to a 3D graphics chip. A developer adheres to a specific format for packing up an algorithmic element, or set of instructions, for implementation by a 3D graphics chip. The developer packs the instruction set into an array of numbers, by referring to a list of ‘tokens’ understood by the 3D graphics chip.
    Type: Application
    Filed: March 1, 2001
    Publication date: March 21, 2002
    Inventors: Charles N. Boyd, Michael A. Toelle
  • Publication number: 20020003541
    Abstract: A three-dimensional API for communicating with hardware implementations of vertex shaders and pixel shaders having local registers. With respect to vertex shaders, API communications are provided that may make use of an on-chip register index and API communications are also provided for a specialized function, implemented on-chip at a register level, that outputs the fractional portion(s) of input(s). With respect to pixel shaders, API communications are provided for a specialized function, implemented on-chip at a register level, that performs a linear interpolation function and API communications are provided for specialized modifiers, also implemented on-chip at a register level, that perform modification functions including negating, complementing, remapping, stick biasing, scaling and saturating.
    Type: Application
    Filed: March 6, 2001
    Publication date: January 10, 2002
    Inventors: Charles N. Boyd, Michael A. Toelle