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: 10269176Abstract: 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: GrantFiled: December 28, 2016Date of Patent: April 23, 2019Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Amar Patel, Peter-Pike J. Sloan, Craig C. Peeper, Samuel Z. Glassenberg
-
Publication number: 20170109927Abstract: 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: ApplicationFiled: December 28, 2016Publication date: April 20, 2017Inventors: Amar Patel, Peter-Pike J. Sloan, Craig C. Peeper, Samuel Z. Glassenberg
-
Patent number: 9582717Abstract: 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: GrantFiled: October 27, 2014Date of Patent: February 28, 2017Assignee: Microsoft Technology Licensing, LLCInventors: Johnny Chung Lee, Tommer Leyvand, Szymon Piotr Stachniak, Craig C. Peeper
-
Patent number: 9547936Abstract: 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: GrantFiled: April 14, 2014Date of Patent: January 17, 2017Assignee: Microsoft Technology Licensing, LLCInventors: Amar Patel, Peter-Pike J. Sloan, Craig C. Peeper, Samuel Z. Glassenberg
-
Publication number: 20150146923Abstract: 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: ApplicationFiled: October 27, 2014Publication date: May 28, 2015Inventors: Johnny Chung Lee, Tommer Leyvand, Szymon Piotr Stachniak, Craig C. Peeper
-
Patent number: 8897495Abstract: 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: GrantFiled: May 8, 2013Date of Patent: November 25, 2014Assignee: Microsoft CorporationInventors: Johnny Chung Lee, Tommer Leyvand, Simon Piotr Stachniak, Craig C. Peeper
-
Publication number: 20140225891Abstract: 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: ApplicationFiled: April 14, 2014Publication date: August 14, 2014Applicant: MICROSOFT CORPORATIONInventors: AMAR PATEL, PETER-PIKE J. SLOAN, CRAIG C. PEEPER, SAMUEL Z. GLASSENBERG
-
Patent number: 8698803Abstract: 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: GrantFiled: March 3, 2011Date of Patent: April 15, 2014Assignee: Microsoft CorporationInventors: Amar Patel, Peter-Pike J. Sloan, Craig C. Peeper, Samuel Z. Glassenberg
-
Patent number: 8350862Abstract: 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: GrantFiled: July 18, 2011Date of Patent: January 8, 2013Assignee: Microsoft CorporationInventors: Jeffrey M. J. Noyle, Craig C. Peeper, Samual Z. Glassenberg
-
Publication number: 20110273458Abstract: 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: ApplicationFiled: July 18, 2011Publication date: November 10, 2011Applicant: MICROSOFT CORPORATIONInventors: Jeffrey M. J. Noyle, Craig C. Peeper, Sam Glassenberg
-
Patent number: 7982741Abstract: 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: GrantFiled: November 29, 2006Date of Patent: July 19, 2011Assignee: Microsoft CorporationInventors: Jeffrey M. J. Noyle, Craig C. Peeper, Sam Glassenberg
-
Publication number: 20110148877Abstract: 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: ApplicationFiled: March 3, 2011Publication date: June 23, 2011Applicant: MICROSOFT CORPORATIONInventors: AMAR PATEL, PETER-PIKE J. SLOAN, CRAIG C. PEEPER, SAMUEL Z. GLASSENBERG
-
Patent number: 7928979Abstract: 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: GrantFiled: February 1, 2008Date of Patent: April 19, 2011Assignee: Microsoft CorporationInventors: Amar Patel, Peter-Pike J. Sloan, Craig C. Peeper, Samuel Z. Glassenberg
-
Patent number: 7659901Abstract: 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: GrantFiled: November 30, 2006Date of Patent: February 9, 2010Assignee: Microsoft CorporationInventors: Michael A. Toelle, Craig C. Peeper, Brian T. Klamik, Sam Glassenberg
-
Patent number: 7619630Abstract: 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: GrantFiled: July 8, 2008Date of Patent: November 17, 2009Assignee: Microsoft CorporationInventors: Craig C. Peeper, Daniel K. Baker, David F. Aronson, Loren McQuade
-
Publication number: 20090237400Abstract: 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: ApplicationFiled: February 1, 2008Publication date: September 24, 2009Applicant: MICROSOFT CORPORATIONInventors: AMAR PATEL, PETER-PIKE J. SLOAN, CRAIG C. PEEPER, SAMUEL Z. GLASSENBERG
-
Publication number: 20080291207Abstract: 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: ApplicationFiled: July 8, 2008Publication date: November 27, 2008Applicant: MICROSOFT CORPORATIONInventors: Craig C. Peeper, Daniel K. Baker, David F. Aronson, Loren McQuade
-
Patent number: 7394464Abstract: 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: GrantFiled: January 28, 2005Date of Patent: July 1, 2008Assignee: Microsoft CorporationInventors: Craig C. Peeper, Daniel K. Baker, David F. Aronson, Loren McQuade
-
Publication number: 20080122852Abstract: 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: ApplicationFiled: November 29, 2006Publication date: May 29, 2008Applicant: MICROSOFT CORPORATIONInventors: Jeffrey M.J. Noyle, Craig C. Peeper, Sam Glassenberg
-
Publication number: 20080018652Abstract: 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: ApplicationFiled: November 30, 2006Publication date: January 24, 2008Applicant: MICROSOFT CORPORATIONInventors: Michael A. Toelle, Craig C. Peeper, Brian T. Klamik, Sam Glassenberg