Patents by Inventor Paul A. Halmshaw

Paul A. Halmshaw 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: 7218323
    Abstract: A method is provided for rendering 3D voxel data including plural voxel sets, while eliminating artifacts that may result from the plural voxel sets colliding with each other (“voxel interpenetration”). In one aspect, the method involves an extension of the splatting approach, and uses a z-buffer associated with each pixel to indicate the z-depth of a voxel to be painted onto the pixel. According to the method, first, the z-buffer for each pixel is reset (cleared). Next, for each of the plural voxel sets, one voxel set at a time (sequentially), voxels within the voxel set are traversed until an occupied voxel is found. If a z value of the occupied voxel is less than a z value stored in the z-buffer, the z value of the occupied voxel is stored in the z-buffer and the occupied voxel is painted onto an associated pixel. Then, the next occupied voxel is considered.
    Type: Grant
    Filed: August 13, 2004
    Date of Patent: May 15, 2007
    Assignee: NGrain (Canada) Corporation
    Inventors: Paul A. Halmshaw, Andrew C.-H. Woo, Lev N. Gretskii, Jonathan M. Young
  • Patent number: 7050054
    Abstract: A data structure includes a plurality of voxel element arrays of memory locations, the arrays being arranged and associated with a set of indices whereby indices of the set identify corresponding memory locations in each array. The data structure further includes a base array for storing an identification of a contiguous group of the memory locations in each array in which voxel elements of a corresponding group of active voxels may be stored. A method of employing the data structure includes associating a column of active voxels in a voxel block, with a group of memory locations in each array, each memoray location being associated with a respective index. Geometric representations and attributes of active voxels in the column are stored in respective memory locations of said group.
    Type: Grant
    Filed: May 16, 2001
    Date of Patent: May 23, 2006
    Assignee: NGRAIN (Canada) Corporation
    Inventor: Paul A. Halmshaw
  • Patent number: 6867774
    Abstract: A method and apparatus are provided for transforming 3D geometric data, such as polygon data (16) formed of polygons (18), into volumetric data (14) formed of voxels (12). According to the method, 3D geometric data to be converted to voxel data are acquired, and the resolution of a final voxel grid to be produced is obtained (e.g., user-defined). Then, each geometric unit (e.g., a polygon) in the 3D geometric data is mapped (or scan converted) to an imaginary voxel grid having a higher resolution than the resolution of the final voxel grid. Next, with respect to the geometric units that are mapped to the imaginary voxels in the imaginary voxel grid dividing one final (actual) voxel into smaller sub-volumes, a weighted average of the attribute values (color, normal, intensity, etc.) is obtained. The weighted average is stored as the attribute value of the final voxel.
    Type: Grant
    Filed: December 2, 2002
    Date of Patent: March 15, 2005
    Assignee: NGRAIN (Canada) Corporation
    Inventors: Paul A. Halmshaw, Jonathan M. Young, Andrew C.-H. Woo
  • Publication number: 20040036674
    Abstract: An apparatus and method of associating display positions on a display with display information associated with voxels in a voxel block where the voxels are mappable to a display coordinate system defined by a view plane.
    Type: Application
    Filed: January 13, 2003
    Publication date: February 26, 2004
    Inventors: Paul A Halmshaw, Dan Lior
  • Publication number: 20030156112
    Abstract: A data structure includes a plurality of voxel element arrays of memory locations, the arrays being arranged and associated with a set of indices whereby indices of the set identify corresponding memory locations in each array. The data structure further includes a base array for storing an identification of a contiguous group of the memory locations in each array in which voxel elements of a corresponding group of active voxels may be stored. A method of employing the data structure includes associating a column of active voxels in a voxel block, with a group of memory locations in each array, each memoray location being associated with a respective index. Geometric representations and attributes of active voxels in the column are stored in respective memory locations of said group.
    Type: Application
    Filed: January 13, 2003
    Publication date: August 21, 2003
    Inventor: Paul A Halmshaw