System and method for graphics culling
Granted: July 27, 2006
Application Number:
20060164414
A method is disclosed for culling an object database in a graphics processing system. In one embodiment, the method comprises encoding per-object parameters and culling parameters. The per-object parameters are encoded in texture format thereby creating at least one per-object texture containing the encoded per-object parameters. Next, a fragment program used in a fragment processor of the GPU is optionally updated. The updated fragment program embodies a culling operation. A polygon is…
Prefetching hints
Granted: July 6, 2006
Application Number:
20060149904
A processor capable of executing prefetching instructions containing hint fields is provided. The hint fields contain a first portion which enables the selection of a destination indicator for refill operations, and a second portion which identifies a destination.
Systems for generating synchronized events and images
Granted: June 8, 2006
Application Number:
20060123170
A system and method for generating sequences of triggered events and for generating global interrupts in a clustered computer graphics system is provided. In a sender-receiver dichotomy, one node is deemed the sender and the others act as receivers. The sender determines trigger values for each of the nodes in the system in order to achieve a particular operation sequence. In addition, a synchronization signal generator is provided to synchronize a timing signal between the sender and…
Generating subdivision surfaces on a graphics hardware with floating-point fragment shaders
Granted: February 2, 2006
Application Number:
20060022990
One or more fragment programs are executed on a graphics processor to generate the vertices of a subdivision curve or subdivision surface (using an arbitrary subdivision scheme) into a floating point texture. A plurality of faces are simultaneously processed during each subdivision iteration by using a super buffer that contains the vertices, their neighbors, and information about each face. Following the subdivision iterations, the texture is mapped as a vertex array (or a readback is…
Accelerated ray-object intersection
Granted: July 7, 2005
Application Number:
20050146522
An original mesh is provided with a bounding surface and a convex hull surface. A first tessellation links the convex hull to the original mesh, and a second tessellation links the bounding surface to the convex hull. Using the tessellations to find a first intersection between a ray and the original mesh by finding a first intersected polygon of the bounding surface, and then traversing adjacent intersected polygons starting from the first intersection until the intersection is found.…
Relocation of metadata server with outstanding DMAPI requests
Granted: January 20, 2005
Application Number:
20050015384
A cluster of computer system nodes share direct read/write access to storage devices via a storage area network using a cluster filesystem and operating system implementing DMAPI. Threads executing on a metadata client know when a DMAPI event is required, and generate the DMAPI event on their own initiative when necessary. A metadata server maintains DMAPI queues. If the metadata server relocates to another host, the DMAPI events in the DMAPI queues are moved transparently to users.
Multi-class heterogeneous clients in a clustered filesystem
Granted: December 9, 2004
Application Number:
20040249904
A cluster of computer system nodes connected by a storage area network include two classes of nodes. The first class of nodes can act as clients or servers, while the other nodes can only be clients. The client-only nodes require much less functionality and can be more easily supported by different operating systems. To minimize the amount of data transmitted during normal operation, the server responsible for maintaining a cluster configuration database repeatedly multicasts the IP…
Clustered filesystem for mix of trusted and untrusted nodes
Granted: December 9, 2004
Application Number:
20040250113
A cluster of computer system nodes share direct read/write access to storage devices via a storage area network using a cluster filesystem. At least one trusted metadata server assigns a mandatory access control label as an extended attribute of each filesystem object regardless of whether required by a client node accessing the filesystem object. The mandatory access control label indicates the sensitivity and integrity of the filesystem object and is used by the trusted metadata…
Method, system, and computer program product for determining a structure of a graphics compositor tree
Granted: November 11, 2004
Application Number:
20040222994
Compositors are identified in a manner that defines the position of the compositor in the compositor tree. Each compositor has its own “unique compositor identifier”. Starting at the most downstream compositor, it transmits its unique compositor identifier to all upstream compositors directly coupled to it. The upstream compositors receive the unique compositor identifier from the most downstream compositor. Each of the upstream compositors appends its unique compositor…
Failsafe operation of storage area network
Granted: October 21, 2004
Application Number:
20040210656
A cluster of computer system nodes share direct read/write access to storage devices via a storage area network connected to the nodes by switches, such as Fibre Channel switches. When a node fails to respond to other members of a cluster, the node is prevented from accessing storage devices shared by the nodes in the cluster by disabling port(s) on the switches connected to the failed node. The ports to be disabled are identified in a cluster configuration database that is updated as…
System for dynamically mapping input device movement as a user's viewpoint changes
Granted: October 21, 2004
Application Number:
20040210852
The present invention is directed to a two-handed input control system that dynamically changes an input-to-object mapping for mapping movement of a graphical object on a display of a virtual scene as the viewpoint of the virtual scene changes. As input to the system for changing the position of the graphical object occurs, the mapping is revised to reflect changes in the viewpoint so that the object moves as inherently expected. That is, changes to the viewpoint change the mapping so…
Messaging between heterogeneous clients of a storage area network
Granted: October 21, 2004
Application Number:
20040210673
A cluster of computer system nodes connected by a storage area network transmit messages using a messaging protocol having multiple layers. The storage area network supports computer system nodes running different operating systems on different endian processors. A heartbeat signal is transmitted in a common wire format over the lowest level of the messaging protocol; however other messages between the nodes may be transmitted in a format different from the common wire format. The node…
Three dimensional volumetric display input and output configurations
Granted: October 21, 2004
Application Number:
20040207599
The present invention is a system that allows a number of 3D volumetric display or output configurations, such as dome, cubical and cylindrical volumetric displays, to interact with a number of different input configurations, such as a three-dimensional position sensing system having a volume sensing field, a planar position sensing system having a digitizing tablet, and a non-planar position sensing system having a sensing grid formed on a dome. The user interacts via the input…
Digital tape drawing system
Granted: September 30, 2004
Application Number:
20040189640
A system that provides a bimanual user interface in which an input device is provided for each of the users hands, a left hand (LH) device and a right hand (RH) device. The input devices are used in conjunction with a large format, upright, human scale display at which the user can stand and upon which the input devices are moved. The positions of the input devices on the display are marked by displayed cursors. The system detects the position of the input devices relative to the display…
Global pointers for scalable parallel applications
Granted: August 19, 2004
Application Number:
20040162952
Mapping of cacheable memory pages from other processes in a parallel job provides a very efficient mechanism for inter-process communication. A trivial address computation can then be used to look up a virtual address that allows the use of cacheable loads and stores to directly access or update the memory of other processes in the job for communication purposes. When an interconnection network permits the cacheable access of one host's memory from another host in the cluster, kernel and…
Display capable of displaying images in response to signals of a plurality of signal formats
Granted: August 5, 2004
Application Number:
20040150650
A display is capable of displaying images in response to signals of a plurality of signal formats. The display includes a controller that is coupled to a plurality of image data interfaces. When the plurality of image data interfaces are simultaneously operating, the controller selects one of the plurality of image data interfaces according to preference variables associated with each of the plurality of image data interfaces. Each of the preference variables may indicate a relative…
Synchronization circuits for the distribution of unique data to scattered locations
Granted: August 5, 2004
Application Number:
20040151270
A system and method for distributing data in a system. The system comprises a control register logic circuits located at scattered locations in the system, where a location is defined as scattered if the propagation delay of data sent from the control register is more than approximately one clock period. The system also comprises one or more shift registers coupled to the control register and the logic circuits. A section of each shift register is placed in proximity to each logic…
Failure hierarchy in a cluster filesystem
Granted: August 5, 2004
Application Number:
20040153841
A cluster of computer system nodes share direct read/write access to storage devices via a storage area network using a cluster filesystem. In response to the failure of a node, a pre-defined order of procedures is attempted, executing one procedure at a time in the order defined, until successful completion of one of the procedures. Preferably the order is based on input from a system administrator, or a default order when no input has been provided by the system administrator. The…
Pan-zoom tool
Granted: July 22, 2004
Application Number:
20040141010
The present invention is a system that provides a user with a pan-zoom tool that is controlled by a limited input device, such as a pen or stylus, of a pen based computer. The pan-zoom tool is a semitransparent, bull's eye type tracking menu that tracks the position of the pen. A pen-cursor or tracking symbol that corresponds to the location of the pen is allowed to move about within a pan-zoom tool graphic. The tool is moved when the location of the pen encounters a tracking boundary of…
Pen-mouse system
Granted: July 22, 2004
Application Number:
20040141015
The present invention is a system that provides a pen based computer user with a graphical user interface tool, a pen-mouse, that looks like and functions like a mouse but that is controlled by a limited input device such as a pen or stylus of the pen based computer. The pen-mouse is a tracking menu that tracks the position of the pen. A pen cursor that corresponds to the pen is allowed to be moved about within the pen-mouse graphic by the pen and the pen-mouse remains stationary. The…