Abstract:
A method of assembling a composite image comprising generating three-dimensional data defining a non-stereo image, assigning a first screen portion to a first rendering node, assigning a second screen portion to a second rendering node, rendering, by the first rendering node, a left image portion from the three-dimensional data, rendering, by the second rendering node, a right image portion from the three-dimensional data, and sequentially assembling the left image portion and the right image portion into the composite image is provided.
Abstract:
A method of assembling a composite image comprising generating three-dimensional data defining a non-stereo image, assigning a first screen portion to a first rendering node, assigning a second screen portion to a second rendering node, rendering, by the first rendering node, a left image portion from the three-dimensional data, rendering, by the second rendering node, a right image portion from the three-dimensional data, and sequentially assembling the left image portion and the right image portion into the composite image is provided.
Abstract:
A three-dimensional imaging system comprises a memory accessible by a processor and an immersion generator stored in the memory and adapted to acquire tracking data corresponding to a position and orientation of a viewer. The immersion generator is further adapted to obtain three-dimensional rendering calls from a non-immersive graphics application corresponding to an image model and generate a virtual representation of the image model using the tracking data and the three-dimensional rendering calls.
Abstract:
A system and method for identifying dynamic resource misuses via inspection that may result in problems like corrupted heap memory and memory leaks in a target program. The parameters and variable are marked with a particular state type. The target program is then analyzed one function at a time via symbolic execution so as to interpret each function based on the states of the variable and parameters and the operations performed by the basic blocks comprising the function. A state transition table is utilized to define the new state of a destination based on the operation and current state. Coding violations identified by the state transition table are reported and a signature of the function created for use when analyzing other functions that call the current function being analyzed.
Abstract:
A method and apparatus for processing primitives in a computer graphics display system. The apparatus comprises a graphics device which receives commands and data from a host computer of the computer graphics display system. The data includes clip coordinates which are perspective projected by the graphics device into window coordinates. The host computer of the computer graphics display system is programmed to execute a geometry processing pipeline which transforms object coordinates associated with a primitive into clip coordinates which are then delivered to the graphics device. The graphics device then performs perspective projection on the clip coordinates to transform the clip coordinates into window coordinates.
Abstract:
A high performance method for the compression of floating point format surface normals and the inverse method for the decompression of those compressed surface normals. Each of the three vector components of the surface normal is compressed by subtracting a constant from the floating point format value, then extracting a predefined field, and finally storing the extracted field. Decompression of the compressed surface normal requires first converting the three stored vector components into floating-point format and then adding a predefined constant to each. Typically the surface normals are of unit length.
Abstract:
A high performance method for the compression of floating point format surface normals and the inverse method for the decompression of those compressed surface normals. Each of the three vector components of the surface normal is compressed by subtracting a constant from the floating point format value, then extracting a predefined field, and finally storing the extracted field. Decompression of the compressed surface normal requires first converting the three stored vector components into floating-point format and then adding a predefined constant to each. Typically the surface normals are of unit length.
Abstract:
A high-speed method for the compression and decompression of floating point numbers. The floating point numbers are biased using a predefined value and then stored in compressed format occupying less memory than that of the non-compressed floating point numbers. Decompression of the compressed floating point number follows a reverse process. These techniques are useful with applications in which the numbers to be compressed fall within a given range.
Abstract:
A method and apparatus for running a computer program containing references to a library utilizes a load time linker to insert addresses of referenced library items directly into the program code at run-time. The linking loader causes a delay that is not objectionable to the user. The method includes the steps of maintaining in computer memory a shared library including library items and a library symbol table. A relocatable file representing the computer program is loaded into the computer memory when the computer program is to be run. Addresses of library items that are referenced in the program code are found in the library symbol table, and the addresses of the library items are inserted directly into the program code of the relocatable file in computer memory. After the relocatable file is loaded from disk to memory, all operations are performed in computer memory, resulting in high speed operation. Addresses of library items are preferably found by comparing an alphabetically sorted program symbol table with an alphabetically sorted library symbol table.
Abstract:
A method and apparatus for communication between programs, or tools, in a computer system includes the steps of establishing a bi-directional communication path between each tool and a central message server, registering with the message server the patterns of messages which each tool wishes to receive, and storing the message patterns. A message is forwarded to the message server when one tool requires the service of another tool. The message server compares the pattern of the received message with the previously-stored message patterns, and, if the message matches a stored message pattern, the message is forwarded to each tool for which a match occurs. If a message requests the service of another tool and the message does not match the patterns of the previously-stored messages, an execution manager determines from a status table and an execution initialization table which tool can service the request message. The execution manager then invokes the tool and forwards the request message to the tool for execution.