Patent application number | Description | Published |
20080231627 | Using Ray Tracing to Enhance Artificial Intelligence Character Behavior - Embodiments of the invention provide use ray-tracing to simulate vision for a artificial intelligence controlled character within a three-dimensional scene. According to one embodiment of the invention, an artificial intelligence system may cast rays into the three-dimensional scene from a viewpoint of the character and may perform ray-tracing with the rays to determine if objects are within a field of view of the character. Furthermore, according to embodiments of the invention, the artificial intelligence system may determine behavior for the character based on whether or not objects are within the field of view, and may determine the behavior for the character based on the objects which are within the field of view. | 09-25-2008 |
20080231628 | Utilizing Ray Tracing for Enhanced Artificial Intelligence Path-Finding - Embodiments of the invention provide methods and apparatus to use ray-tracing to perform artificial intelligence path-finding. Embodiments of the invention may cast a ray into a three-dimensional scene to determine a path from a starting point to an ending point. The ray may have a trajectory which originates at the starting point and proceeds towards the ending point. The artificial intelligence system may perform ray-tracing using a spatial index to determine if the ray intersects any objects within the three-dimensional scene. If the ray reaches the ending point without intersecting any objects, the path of the ray from the starting point to the ending point is the determined path. However, if the ray intersects an object, the artificial intelligence system may cast additional rays into the three-dimensional scene and perform ray tracing with the additional rays to determine a path from the start point to the end point. | 09-25-2008 |
20080232602 | Using Ray Tracing for Real Time Audio Synthesis - According to embodiments of the invention, a sound engine may determine a final sound at a listener location by emulating sound waves within a three-dimensional scene. The sound engine may emulate sound waves by issuing rays from a location of a sound event and tracing the rays through the three-dimensional scene. The rays may intersect objects within the three-dimensional scene which have sound modification factors. The sound modification factors and other factors (e.g., distance traveled by the ray, angle of intersection with the object, etc.) may be applied to the sound event to determine a final sound which is heard by the listener. | 09-25-2008 |
20080259075 | Dynamically Configuring and Selecting Multiple Ray Tracing Intersection Methods - Embodiments of the invention provide methods and apparatus to determine a coordinate system to use when traversing rays through a portion of a spatial index corresponding to a dynamic object which has a unique object coordinate system. An image processing system may take into consideration a number of factors including, but not limited to, a distance form a viewpoint to the dynamic object, a distance from the origin of the world coordinate system to the object coordinate system, a rate of traversal of the dynamic object, and a number of primitives which make up the object. These factors alone or together may indicate whether it is more efficient to perform ray intersection tests in an object coordinate system or in a world coordinate system. Embodiments of the invention may update a spatial index according to the selected coordinate system. | 10-23-2008 |
20090073167 | Cooperative Utilization of Spacial Indices Between Application and Rendering Hardware - According to embodiments of the invention, a data structure may be created which may be used by both a ray tracing unit and by a rendering engine. The data structure may have an initial or upper portion representing bounding volumes which partition a three-dimensional scene and a second or lower portion representing objects within the three-dimensional scene. The integrated acceleration data structure may be used by a rendering engine to render a two-dimensional image from a three-dimensional scene, and by a ray tracing unit to perform intersection tests. | 03-19-2009 |
20090187734 | Efficient Texture Processing of Pixel Groups with SIMD Execution Unit - A circuit arrangement and method perform concurrent texture processing of groups of pixels with a single instruction multiple data (SIMD) execution unit to improve the utilization of the SIMD execution unit when performing scalar operations associated with a texture processing algorithm. In addition, when utilized in connection with a multi-threaded SIMD execution unit, groups of pixels may be concurrently processed in different threads executed by the SIMD execution unit to further maximize the utilization of the SIMD execution unit by reducing the adverse effects of dependencies in scalar and/or vector operations incorporated into a texture processing algorithm. | 07-23-2009 |
20090231348 | Image Processing with Highly Threaded Texture Fragment Generation - A circuit arrangement and method support a multithreaded rendering architecture capable of dynamically routing pixel fragments from a pixel fragment generator to any pixel shader from among a pool of pixel shaders. The pixel fragment generator is therefore not tied to a specific pixel shader, but is instead able to utilize multiple pixel shaders in a pool of pixel shaders to minimize bottlenecks and improve overall hardware utilization and performance during image processing. | 09-17-2009 |
20090231349 | Rolling Context Data Structure for Maintaining State Data in a Multithreaded Image Processing Pipeline - A multithreaded rendering software pipeline architecture utilizes a rolling context data structure to store multiple contexts that are associated with different image elements that are being processed in the software pipeline. Each context stores state data for a particular image element, and the association of each image element with a context is maintained as the image element is passed from stage to stage of the software pipeline, thus ensuring that the state used by the different stages of the software pipeline when processing the image element remains coherent irrespective of state changes made for other image elements being processed by the software pipeline. Multiple image elements may therefore be processed concurrently by the software pipeline, and often without regard for synchronization or serialization of state changes that affect only certain image elements. | 09-17-2009 |
20090256836 | HYBRID RENDERING OF IMAGE DATA UTILIZING STREAMING GEOMETRY FRONTEND INTERCONNECTED TO PHYSICAL RENDERING BACKEND THROUGH DYNAMIC ACCELERATED DATA STRUCTURE GENERATOR - A circuit arrangement and method provide a hybrid rendering architecture capable of interfacing a streaming geometry frontend with a physical rendering backend using a dynamic accelerated data structure (ADS) generator. The dynamic ADS generator effectively parallelizes the generation of the ADS, such that an ADS may be built using a plurality of parallel threads of execution. By doing so, both the frontend and backend rendering processes are amendable to parallelization, and enabling if so desired real time rendering using physical rendering techniques such as ray tracing and photon mapping. Furthermore, conventional streaming geometry frontends such as OpenGL and DirectX compatible frontends can readily be adapted for use with physical rendering backends, thereby enabling developers to continue to develop with known API's, yet still obtain the benefits of physical rendering techniques. | 10-15-2009 |
20090284524 | Optimized Graphical Calculation Performance by Removing Divide Requirements - By employing a scaled method for calculating the intersection of a ray with two bounding planes, divide operations may be avoided, which may result in fewer clock cycles and, possibly simplified processing logic. | 11-19-2009 |
20100060637 | Method for Reducing Network Bandwidth by Delaying Shadow Ray Generation - The present invention provides methods and apparatus in a ray tracing image processing system to reduce the amount of information passed between processing elements. According to embodiments of the invention, in response to a ray-primitive intersection, a first processing element in the image processing system may generate a portion of secondary rays and a second processing element may generate a second portion of secondary rays. The first processing element may generate reflected and refracted rays and the second processing element may generate shadow rays. The first processing element may send a ray-primitive intersection point to the second processing element so that the second processing element may generate the shadow rays. By only sending the intersection point to the second processing element, in contrast to sending a plurality of shadow rays, the amount of information communicated between the two processing elements may be reduced. | 03-11-2010 |
20100188396 | Updating Ray Traced Acceleration Data Structures Between Frames Based on Changing Perspective - A method, program product and system for conducting a ray tracing operation where the rendering compute requirement is reduced or otherwise adjusted in response to a changing vantage point. Aspects may update or reuse an acceleration data structure between frames in response to the changing vantage point. Tree and image construction quality may be adjusted in response to rapid changes in the camera perspective. Alternatively or additionally, tree building cycles may be skipped. All or some of the tree structure may be built in intervals, e.g., after a preset number of frames. More geometric image data may be added per leaf node in the tree in response to an increase in the rate of change. The quality of the rendering algorithm may additionally be reduced. A ray tracing algorithm may decrease the depth of recursion, and generate fewer cast and secondary rays. The ray tracer may further reduce the quality of soft shadows, resolution and global illumination samples, among other quality parameters. Alternatively, tree rebuilding may be skipped entirely in response to a high camera rate of change. Associated processes may create blur between frames to simulate motion blur. | 07-29-2010 |
20100188403 | Tree Insertion Depth Adjustment Based on View Frustrum and Distance Culling - A method, program product and system for conducting a ray tracing operation where the rendering compute requirement is reduced by varying the size of bounding volumes into which image data is divided and/or by varying a number of primitives included within nodes of an acceleration data structure that correspond to the bounding volumes. | 07-29-2010 |
20100228781 | Resetting of Dynamically Grown Accelerated Data Structure - A circuit arrangement, program product and method are provided for resetting a dynamically grown Accelerated Data Structure (ADS) used in image processing in which an ADS is initialized by reusing the root node of a prior ADS and resetting at least one node in the prior ADS to break a link between the reset node and a linked-to node in the prior ADS. By doing so, the memory allocated to the prior ADS may be reused for the new ADS, without having to clear or wipe out all of the allocated memory. In addition, in some instances, given the similarity of many image frames, often some or all of the node structure of a prior ADS may be reused for a new ADS, requiring only the contents of nodes to be cleared, instead of having to clear out all of the nodes in the prior ADS. As a result, the processing overhead associated with initializing a new ADS can be significantly reduced. | 09-09-2010 |
20110063285 | RENDERING OF STEREOSCOPIC IMAGES WITH MULTITHREADED RENDERING SOFTWARE PIPELINE - A circuit arrangement, program product and circuit arrangement render stereoscopic images in a multithreaded rendering software pipeline using first and second rendering channels respectively configured to render left and right views for the stereoscopic image. Separate transformations are applied to received vertex data to generate transformed vertex data for use by each of the first and second rendering channels in rendering the left and right views for the stereoscopic image. | 03-17-2011 |
20110283086 | STREAMING PHYSICS COLLISION DETECTION IN MULTITHREADED RENDERING SOFTWARE PIPELINE - A circuit arrangement, program product and method stream level of detail components between hardware threads in a multithreaded circuit arrangement to perform physics collision detection. Typically, a master hardware thread, e.g., a component loader hardware thread, is used to retrieve level of detail data for an object from a memory and stream the data to one or more slave hardware threads, e.g., collision detection hardware threads, to perform the actual collision detection. Because the slave hardware threads receive the level of detail data from the master thread, typically the slave hardware threads are not required to load the data from the memory, thereby reducing memory bandwidth requirements and accelerating performance. | 11-17-2011 |
20120236001 | Tree Insertion Depth Adjustment Based on View Frustrum and Distance Culling - A computer-implemented method includes initializing a driver associated with an input/output adapter in response to receiving an initialize driver request from a client application. The computer-implemented method includes initializing the input/output adapter to enable adapter capabilities of the input/output adapter to be determined. The computer-implemented method also includes determining the adapter capabilities of the input/output adapter. The computer-implemented method further includes determining slot capabilities of a slot associated with the input/output adapter. The computer-implemented method also includes setting configurable capabilities of the input/output adapter based on the adapter capabilities and the slot capabilities. | 09-20-2012 |