Patents by Inventor Craig C. Peeper

Craig C. Peeper 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).

  • Patent number: 10269176
    Abstract: Methods and computer-storage media are provided for rendering three-dimensional (3D) graphics by tessellating objects using novel structures and algorithms. Rendering utilizing “patches,” configurable functions that include a specified number of control points, allows for computation on a per-patch or per-control-point basis, in addition to traditional per-vertex, per-primitive, and per-pixel methods. This produces a number of advantages over previous tessellation methods, including the reuse of computations across existing vertices and the ability to process at a lower frequency. The operations to compute points are simplified in order to optimize system resources used in the process. Transitions from un-tessellated to tessellated objects are smoother utilizing the present invention, while developers have more flexibility in the level of detail present at different edges of the same patch.
    Type: Grant
    Filed: December 28, 2016
    Date of Patent: April 23, 2019
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Amar Patel, Peter-Pike J. Sloan, Craig C. Peeper, Samuel Z. Glassenberg
  • Publication number: 20170109927
    Abstract: Methods and computer-storage media are provided for rendering three-dimensional (3D) graphics by tessellating objects using novel structures and algorithms. Rendering utilizing “patches,” configurable functions that include a specified number of control points, allows for computation on a per-patch or per-control-point basis, in addition to traditional per-vertex, per-primitive, and per-pixel methods. This produces a number of advantages over previous tessellation methods, including the reuse of computations across existing vertices and the ability to process at a lower frequency. The operations to compute points are simplified in order to optimize system resources used in the process. Transitions from un-tessellated to tessellated objects are smoother utilizing the present invention, while developers have more flexibility in the level of detail present at different edges of the same patch.
    Type: Application
    Filed: December 28, 2016
    Publication date: April 20, 2017
    Inventors: Amar Patel, Peter-Pike J. Sloan, Craig C. Peeper, Samuel Z. Glassenberg
  • Patent number: 9582717
    Abstract: An image such as a depth image of a scene may be received, observed, or captured by a device. A grid of voxels may then be generated based on the depth image such that the depth image may be downsampled. A model may be adjusted based on a location or position of one or more extremities estimated or determined for a human target in the grid of voxels. The model may also be adjusted based on a default location or position of the model in a default pose such as a T-pose, a DaVinci pose, and/or a natural pose.
    Type: Grant
    Filed: October 27, 2014
    Date of Patent: February 28, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Johnny Chung Lee, Tommer Leyvand, Szymon Piotr Stachniak, Craig C. Peeper
  • Patent number: 9547936
    Abstract: Methods and computer-storage media are provided for rendering three-dimensional (3D) graphics by tessellating objects using novel structures and algorithms. Rendering utilizing “patches,” configurable functions that include a specified number of control points, allows for computation on a per-patch or per-control-point basis, in addition to traditional per-vertex, per-primitive, and per-pixel methods. This produces a number of advantages over previous tessellation methods, including the reuse of computations across existing vertices and the ability to process at a lower frequency. The operations to compute points are simplified in order to optimize system resources used in the process. Transitions from un-tessellated to tessellated objects are smoother utilizing the present invention, while developers have more flexibility in the level of detail present at different edges of the same patch.
    Type: Grant
    Filed: April 14, 2014
    Date of Patent: January 17, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Amar Patel, Peter-Pike J. Sloan, Craig C. Peeper, Samuel Z. Glassenberg
  • Publication number: 20150146923
    Abstract: An image such as a depth image of a scene may be received, observed, or captured by a device. A grid of voxels may then be generated based on the depth image such that the depth image may be downsampled. A model may be adjusted based on a location or position of one or more extremities estimated or determined for a human target in the grid of voxels. The model may also be adjusted based on a default location or position of the model in a default pose such as a T-pose, a DaVinci pose, and/or a natural pose.
    Type: Application
    Filed: October 27, 2014
    Publication date: May 28, 2015
    Inventors: Johnny Chung Lee, Tommer Leyvand, Szymon Piotr Stachniak, Craig C. Peeper
  • Patent number: 8897495
    Abstract: An image such as a depth image of a scene may be received, observed, or captured by a device. A grid of voxels may then be generated based on the depth image such that the depth image may be downsampled. A model may be adjusted based on a location or position of one or more extremities estimated or determined for a human target in the grid of voxels. The model may also be adjusted based on a default location or position of the model in a default pose such as a T-pose, a DaVinci pose, and/or a natural pose.
    Type: Grant
    Filed: May 8, 2013
    Date of Patent: November 25, 2014
    Assignee: Microsoft Corporation
    Inventors: Johnny Chung Lee, Tommer Leyvand, Simon Piotr Stachniak, Craig C. Peeper
  • Publication number: 20140225891
    Abstract: Methods and computer-storage media are provided for rendering three-dimensional (3D) graphics by tessellating objects using novel structures and algorithms. Rendering utilizing “patches,” configurable functions that include a specified number of control points, allows for computation on a per-patch or per-control-point basis, in addition to traditional per-vertex, per-primitive, and per-pixel methods. This produces a number of advantages over previous tessellation methods, including the reuse of computations across existing vertices and the ability to process at a lower frequency. The operations to compute points are simplified in order to optimize system resources used in the process. Transitions from un-tessellated to tessellated objects are smoother utilizing the present invention, while developers have more flexibility in the level of detail present at different edges of the same patch.
    Type: Application
    Filed: April 14, 2014
    Publication date: August 14, 2014
    Applicant: MICROSOFT CORPORATION
    Inventors: AMAR PATEL, PETER-PIKE J. SLOAN, CRAIG C. PEEPER, SAMUEL Z. GLASSENBERG
  • Patent number: 8698803
    Abstract: Methods and computer-storage media are provided for rendering three-dimensional (3D) graphics by tessellating objects using novel structures and algorithms. Rendering utilizing “patches,” configurable functions that include a specified number of control points, allows for computation on a per-patch or per-control-point basis, in addition to traditional per-vertex, per-primitive, and per-pixel methods. This produces a number of advantages over previous tessellation methods, including the reuse of computations across existing vertices and the ability to process at a lower frequency. The operations to compute points are simplified in order to optimize system resources used in the process. Transitions from un-tessellated to tessellated objects are smoother utilizing the present invention, while developers have more flexibility in the level of detail present at different edges of the same patch.
    Type: Grant
    Filed: March 3, 2011
    Date of Patent: April 15, 2014
    Assignee: Microsoft Corporation
    Inventors: Amar Patel, Peter-Pike J. Sloan, Craig C. Peeper, Samuel Z. Glassenberg
  • Patent number: 8350862
    Abstract: Systems and methods that provide for a common device enumeration point to a class of software objects, which represent hardware and can emit 2D bitmaps, via a presentation interface component. Such presentation interface component can further include a factory component that centralizes enumeration and creation for any components that control or communicate with the frame buffer of the graphics display subsystems. Accordingly, a smooth transition can be supplied between full screen and window models, within desktop composition systems, wherein applications can readily support such transitions.
    Type: Grant
    Filed: July 18, 2011
    Date of Patent: January 8, 2013
    Assignee: Microsoft Corporation
    Inventors: Jeffrey M. J. Noyle, Craig C. Peeper, Samual Z. Glassenberg
  • Publication number: 20110273458
    Abstract: Systems and methods that provide for a common device enumeration point to a class of software objects, which represent hardware and can emit 2D bitmaps, via a presentation interface component. Such presentation interface component can further include a factory component that centralizes enumeration and creation for any components that control or communicate with the frame buffer of the graphics display subsystems. Accordingly, a smooth transition can be supplied between full screen and window models, within desktop composition systems, wherein applications can readily support such transitions.
    Type: Application
    Filed: July 18, 2011
    Publication date: November 10, 2011
    Applicant: MICROSOFT CORPORATION
    Inventors: Jeffrey M. J. Noyle, Craig C. Peeper, Sam Glassenberg
  • Patent number: 7982741
    Abstract: Systems and methods that provide for a common device enumeration point to a class of software objects, which represent hardware and can emit 2D bitmaps, via a presentation interface component. Such presentation interface component can further include a factory component that centralizes enumeration and creation for any components that control or communicate with the frame buffer of the graphics display subsystems. Accordingly, a smooth transition can be supplied between full screen and window models, within desktop composition systems, wherein applications can readily support such transitions.
    Type: Grant
    Filed: November 29, 2006
    Date of Patent: July 19, 2011
    Assignee: Microsoft Corporation
    Inventors: Jeffrey M. J. Noyle, Craig C. Peeper, Sam Glassenberg
  • Publication number: 20110148877
    Abstract: Methods and computer-storage media are provided for rendering three-dimensional (3D) graphics by tessellating objects using novel structures and algorithms. Rendering utilizing “patches,” configurable functions that include a specified number of control points, allows for computation on a per-patch or per-control-point basis, in addition to traditional per-vertex, per-primitive, and per-pixel methods. This produces a number of advantages over previous tessellation methods, including the reuse of computations across existing vertices and the ability to process at a lower frequency. The operations to compute points are simplified in order to optimize system resources used in the process. Transitions from un-tessellated to tessellated objects are smoother utilizing the present invention, while developers have more flexibility in the level of detail present at different edges of the same patch.
    Type: Application
    Filed: March 3, 2011
    Publication date: June 23, 2011
    Applicant: MICROSOFT CORPORATION
    Inventors: AMAR PATEL, PETER-PIKE J. SLOAN, CRAIG C. PEEPER, SAMUEL Z. GLASSENBERG
  • Patent number: 7928979
    Abstract: Methods and computer-storage media are provided for rendering three-dimensional (3D) graphics by tessellating objects using novel structures and algorithms. Rendering utilizing “patches,” configurable functions that include a specified number of control points, allows for computation on a per-patch or per-control-point basis, in addition to traditional per-vertex, per-primitive, and per-pixel methods. This produces a number of advantages over previous tessellation methods, including the reuse of computations across existing vertices and the ability to process at a lower frequency. The operations to compute points are simplified in order to optimize system resources used in the process. Transitions from un-tessellated to tessellated objects are smoother utilizing the present invention, while developers have more flexibility in the level of detail present at different edges of the same patch.
    Type: Grant
    Filed: February 1, 2008
    Date of Patent: April 19, 2011
    Assignee: Microsoft Corporation
    Inventors: Amar Patel, Peter-Pike J. Sloan, Craig C. Peeper, Samuel Z. Glassenberg
  • Patent number: 7659901
    Abstract: Systems and methods that optimize GPU processing by front loading activities from a set time/binding time to creation time via enhancements to an API that configures the GPU. Such enhancements to the API include: implementing layering arrangements, employing state objects and view components for data objects; incorporating a pipeline stage linkage/signature, employing a detection mechanism to mitigate error conditions. Such an arrangement enables front loading of the work and reduction of associated API calls.
    Type: Grant
    Filed: November 30, 2006
    Date of Patent: February 9, 2010
    Assignee: Microsoft Corporation
    Inventors: Michael A. Toelle, Craig C. Peeper, Brian T. Klamik, Sam Glassenberg
  • Patent number: 7619630
    Abstract: A shader program capable of execution on a GPU is analyzed for constant expressions. These constant expressions are replaced with references to registers or memory addresses on the GPU. A preshader is created that comprises two executable files. The first executable file contains the shader program with the each constant expression removed and replaced with a unique reference accessible by the GPU. The first file is executable at the GPU. A second file contains the removed constant expressions along with instructions to place the values generated at the associated reference. The second executable file is executable at a CPU. When the preshader is executed, an instance of the first file is executed at the GPU for each vertex or pixel that is displayed. One instance of the second file is executed at the CPU. As the preshader is executed, the constant expressions in the second file are evaluated and the resulting intermediate values are passed to each instance of the first file on the GPU.
    Type: Grant
    Filed: July 8, 2008
    Date of Patent: November 17, 2009
    Assignee: Microsoft Corporation
    Inventors: Craig C. Peeper, Daniel K. Baker, David F. Aronson, Loren McQuade
  • Publication number: 20090237400
    Abstract: Methods and computer-storage media are provided for rendering three-dimensional (3D) graphics by tessellating objects using novel structures and algorithms. Rendering utilizing “patches,” configurable functions that include a specified number of control points, allows for computation on a per-patch or per-control-point basis, in addition to traditional per-vertex, per-primitive, and per-pixel methods. This produces a number of advantages over previous tessellation methods, including the reuse of computations across existing vertices and the ability to process at a lower frequency. The operations to compute points are simplified in order to optimize system resources used in the process. Transitions from un-tessellated to tessellated objects are smoother utilizing the present invention, while developers have more flexibility in the level of detail present at different edges of the same patch.
    Type: Application
    Filed: February 1, 2008
    Publication date: September 24, 2009
    Applicant: MICROSOFT CORPORATION
    Inventors: AMAR PATEL, PETER-PIKE J. SLOAN, CRAIG C. PEEPER, SAMUEL Z. GLASSENBERG
  • Publication number: 20080291207
    Abstract: A shader program capable of execution on a GPU is analyzed for constant expressions. These constant expressions are replaced with references to registers or memory addresses on the GPU. A preshader is created that comprises two executable files. The first executable file contains the shader program with the each constant expression removed and replaced with a unique reference accessible by the GPU. The first file is executable at the GPU. A second file contains the removed constant expressions along with instructions to place the values generated at the associated reference. The second executable file is executable at a CPU. When the preshader is executed, an instance of the first file is executed at the GPU for each vertex or pixel that is displayed. One instance of the second file is executed at the CPU. As the preshader is executed, the constant expressions in the second file are evaluated and the resulting intermediate values are passed to each instance of the first file on the GPU.
    Type: Application
    Filed: July 8, 2008
    Publication date: November 27, 2008
    Applicant: MICROSOFT CORPORATION
    Inventors: Craig C. Peeper, Daniel K. Baker, David F. Aronson, Loren McQuade
  • Patent number: 7394464
    Abstract: A shader program capable of execution on a GPU is analyzed for constant expressions. These constant expressions are replaced with references to registers or memory addresses on the GPU. A preshader is created that comprises two executable files. The first executable file contains the shader program with the each constant expression removed and replaced with a unique reference accessible by the GPU. The first file is executable at the GPU. A second file contains the removed constant expressions along with instructions to place the values generated at the associated reference. The second executable file is executable at a CPU. When the preshader is executed, an instance of the first file is executed at the GPU for each vertex or pixel that is displayed. One instance of the second file is executed at the CPU. As the preshader is executed, the constant expressions in the second file are evaluated and the resulting intermediate values are passed to each instance of the first file on the GPU.
    Type: Grant
    Filed: January 28, 2005
    Date of Patent: July 1, 2008
    Assignee: Microsoft Corporation
    Inventors: Craig C. Peeper, Daniel K. Baker, David F. Aronson, Loren McQuade
  • Publication number: 20080122852
    Abstract: Systems and methods that provide for a common device enumeration point to a class of software objects, which represent hardware and can emit 2D bitmaps, via a presentation interface component. Such presentation interface component can further include a factory component that centralizes enumeration and creation for any components that control or communicate with the frame buffer of the graphics display subsystems. Accordingly, a smooth transition can be supplied between full screen and window models, within desktop composition systems, wherein applications can readily support such transitions.
    Type: Application
    Filed: November 29, 2006
    Publication date: May 29, 2008
    Applicant: MICROSOFT CORPORATION
    Inventors: Jeffrey M.J. Noyle, Craig C. Peeper, Sam Glassenberg
  • Publication number: 20080018652
    Abstract: Systems and methods that optimize GPU processing by front loading activities from a set time/binding time to creation time via enhancements to an API that configures the GPU. Such enhancements to the API include: implementing layering arrangements, employing state objects and view components for data objects; incorporating a pipeline stage linkage/signature, employing a detection mechanism to mitigate error conditions. Such an arrangement enables front loading of the work and reduction of associated API calls.
    Type: Application
    Filed: November 30, 2006
    Publication date: January 24, 2008
    Applicant: MICROSOFT CORPORATION
    Inventors: Michael A. Toelle, Craig C. Peeper, Brian T. Klamik, Sam Glassenberg