Apparatus and method for utilizing multiple rendering pipes...

Computer graphics processing and selective visual display system – Computer graphic processing system – Plural graphics processors

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C345S520000, C709S251000

Reexamination Certificate

active

06292200

ABSTRACT:

FIELD OF THLE INVENTION
The present invention relates the field of computer graphics. More particularly, the present invention pertains to an apparatus and method for utilizing multiple rendering pipes for the generation of a single 3-D display.
BACKGROUND OF THE INVENTION
Today, computer graphics is used in a wide variety of applications, such as in business, science, animation, simulation, computer-aided design, process control, electronic publication, etc. In an effort to portray a more realistic real-world representation, three dimensional objects are transformed into models having the illusion of depth for display onto a two-dimensional computer screen. This is accomplished by using a number of polygons to represent a three-dimensional object. Complex three-dimensional objects may require upwards of hundreds of polygons in order to form an accurate model. Hence, a three-dimensional object can be readily manipulated (e.g., displayed in a different location, rotated, scaled, etc.) by processing the individual respective polygons corresponding to that object. Next, a scan conversion process is used to determine which pixels of a computer display fall within each of the specified polygons. Thereupon, texture is applied to only those pixels residing within specified polygons. In addition, hidden or obscured surfaces, which are normally not visible, are eliminated from view. Hence, displaying a three dimensional object on a computer system is a rather complicated task and can require a tremendous amount of processing power.
This is especially true for those cases involving dynamic computer graphics for displaying three-dimensional objects that are in motion. In order to simulate smooth motion, the computer system should have a frame rate of at least 30 hertz. In other words, new images should be updated, redrawn and displayed at least thirty times a second. This imposes a heavy processing and computational burden on the computer system. Indeed, even more processing power is required for interactive computer graphics, where displayed images change in response to a user input and where there are multiple objects in a richly detailed scene.
However, each extra object that is added into a scene needs to be modeled, scan converted, textured, Z-buffered for depth, etc., all of which, adds to the amount of processing resources that is required. In addition, it would be highly preferable if lghting, shadowing, shading, and fog could be included as part of the 3-D scene. Generating these special effects, again, consumes valuable processing resources. Hence, a major problem associated with producing realistic three-dimensional scenes is that it requires such a tremendous amount of processing power. The “richer” and more realistic a scene becomes, the more processing power that is required to render that scene. Moreover, speed becomes a major limiting factor as the computer must render millions of pixels in order to produce these amazingly complex scenes in less than one thirtieth ({fraction (1/30)}) of a second.
Even though the processing power of computer systems continues to improve, there exists whole markets which demand even greater and greater processing power. Certain purchasers (e.g., drug companies, oil exploration, medical imaging, film studios, etc.) will pay a premium to obtain even faster and more powerful computer for rendering 3-D images.
In the past, there have been attempts to utilize several rendering engines in a single computer system in order to perform parallel processing. Each of these rendering engines is used to render one particular frame of image. While one rendering engine is in the process of generating one frame's worth of image data, another separate rendering engine is simultaneously generating the next frame's worth of image data. Meanwhile, other rendering engines can simultaneously be processing subsequent frames, etc. The digital-to-analog (DAC) outputs of each of these rendering engines are wired together to drive the cathode ray tube (CRT) display screen. By rendering multiple frames's worth of data at the same time with multiple rendering engines, the computer's overall processing speed is increased.
Unfortunately, however, there are some drawbacks to this way of ganging together multiple rendering engines. First, since there are multiple DACs driving the same CRT screen, there tends to be some scintillation between frames as DACs are switched from frame to frame. Furthermore, there are serious synchronization problems in order to properly coordinate the activities amongst all the rendering engines and their respective DACs.
Thus, there exists a need for some apparatus or method which increases the rendering power and speed of a 3-D computer system without sacrificing picture quality or increasing programming complexity in an unacceptable way. The present invention provides a novel solution by having one output controller which requests and receives data from multiple rendering engines. This effectively resolves virtually all problems associated with using multiple rendering engines. Furthermore, with the present invention, multiple rendering engines can now contribute to the generation of one single frame. The end result is that processing power and speed is dramatically improved with minimal or no discernible degradation to the displayed images.
SUMMARY OF THE INVENTION
The present invention pertains to a computer graphics system having a hyperpipe architecture. The hyperpipe architecture includes multiple rendering pipes. Each of the rendering pipes is capable of rendering pixels for an entire frame or portions thereof. This enables multiple rendering pipes to process graphics data at the same time. The pixel data generated by a rendering pipe is stored in its local memory. The multiple rendering pipes are coupled together through a hyperpipe network scheme. A controller coordinates the multiple rendering pipes by sending requests to the appropriate rendering pipes to retrieve the pixel data generated by that particular pipe. It then merges the pixel data received from the various rendering pipes into a frame's worth of data. A single driver is then used to draw that frame out for display. Thereby, rather than having just one rendering circuit working on a frame, multiple rendering circuits can operate in parallel on generating a frame's worth of pixel data. In the meantime, other rendering pipes can optionally be used to generate subsequent frames. This increases the system's overall rendering power and speed. By simply adding additional rendering pipes onto the hyperpipe network, the computer system's rendering capabilities can be readily scaled up to meet cost and graphics demands.
In the currently preferred embodiment of the present invention, a uni-directional, point-to-point ring topology is used. The hyperpipe network consists of a broad band packetized protocol with error correction. This scheme is preferred because of its relatively fixed and predictable latency. A fixed latency is desired as it allows the controller to send out requests ahead of when the pixel data will actually be used.
In one embodiment of the present invention, each of the rendering pipes includes a host processor, a geometry engine, a rasterizer, a frame buffer, and a display unit. A graphics application runs on the host processor and issues high-level commands and graphics data. The geometry engine performs arithmetic operations involving geometric calculations on the vertices of primitives used to render the threedimensional images. The rasterizer then fills the primitives and stores the resulting pixel data in its local frame buffer memory. A display unit can either request and receive video data packets from it's local pipe, or make similar requests over the hyperpipe. Other display units on the remote pipes can receive these requests and route the responses back on to the hyperpipe network. The master, or consumer, pipe then performs all the video backend processing on the data, e.g., color mapping, resizing, color

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Apparatus and method for utilizing multiple rendering pipes... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Apparatus and method for utilizing multiple rendering pipes..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Apparatus and method for utilizing multiple rendering pipes... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2522918

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.