Search Images Maps Play YouTube News Gmail Drive More »
Advanced Patent Search | Web History | Sign in

Patents

The present invention discloses an apparatus, method, and article of manufacture for generating graphic images. In accordance with the present invention, an application program receives commands from a computer user via an input device and provides an output command stream to a plurality of renderer programs. The renderer programs selectively modify the output command stream and transmit the output command stream to a graphics peripheral device or to one or more of the other renderer programs.

InventorsMatthew R. Arrott, Robert D. Covey, Ching-Chi Billy Hsu, Tanvir B. Hassan, Jeffrey M. Kowalski, Brian P. Mathews
Original AssigneeAutodesk, Inc.
Primary Examiner: Cao H. Nguyen
Current U.S. Classification345/506; 345/418; 345/502; 345/522
International Classification: G06T 120

View patent at USPTO
Search USPTO Assignment Database

Citations

Cited PatentFiling dateIssue dateOriginal AssigneeTitle
US5029077Sep 7, 1988Jul 2, 1991International Business Machines CorporationSystem and method for controlling physical resources allocated to a virtual terminal
US5083262Sep 27, 1990Jan 21, 1992International Business Machines CorporationLanguage bindings for graphics functions to enable one application program to be used in different processing environments
US5113517Jan 24, 1990May 12, 1992Xerox CorporationConcurrent display of data from two different processors each having different display font and user interface for controlling transfer of converted font data therebetween
US5241625Nov 27, 1990Aug 31, 1993Farallon Computing, Inc.Screen image sharing among heterogeneous computers
US5337402Feb 13, 1991Aug 9, 1994Keiji Kitagawa
Design Automation Inc.
Omron Corporation
Graphic data processing apparatus using displayed graphics for application program selection
US5504928Apr 3, 1995Apr 2, 1996International Business Machines CorporationMethod and apparatus for providing multi-command support in a rendering adapter
US5561752Feb 3, 1995Oct 1, 1996Apple Computer, Inc.Multipass graphics rendering method and apparatus with re-traverse flag
US5680592Apr 14, 1995Oct 21, 1997Nvidia CorporationSystem using a plurality of state machines for translating commands intended for legacy bus devices to commands for local bus devices
US5724074Feb 6, 1995Mar 3, 1998Microsoft CorporationMethod and system for graphically programming mobile toys
US5727192May 1, 1996Mar 10, 19983DLabs Inc. Ltd.Serial rendering system with auto-synchronization on frame blanking
US5742796Mar 24, 1995Apr 21, 19983Dlabs Inc. Ltd.Graphics system with color space double buffering
US5745659Apr 25, 1996Apr 28, 1998Hewlett-Packard CompanyVersatile scaling of drawings
US5745762Dec 15, 1994Apr 28, 1998International Business Machines CorporationAdvanced graphics driver architecture supporting multiple system emulations

Referenced by

Citing PatentFiling dateIssue dateOriginal AssigneeTitle
US6445386Jan 15, 1999Sep 3, 2002Intel CorporationMethod and apparatus for stretch blitting using a 3D pipeline
US6504547Aug 13, 1999Jan 7, 2003Pixo, Inc.Standardization of graphics system logical frame buffer
US6631423Mar 31, 1998Oct 7, 2003Hewlett-Packard Development Company, L.P.System and method for assessing performance optimizations in a graphics system
US7557810Sep 9, 2003Jul 7, 2009Hewlett-Packard Development Company, L.P.System and method for assessing performance optimizations in a graphics system
US7586500Sep 20, 2005Sep 8, 2009Canon Kabushiki KaishaDynamic render algorithm selection
US7777752Jul 27, 2005Aug 17, 2010Round Rock Research, LLCMethod of implementing an accelerated graphics port for a multiple memory controller computer system

Claims

1. A system for generating graphic images, comprising:

a computer having a graphics peripheral device and an input peripheral device attached thereto;
an application program, performed by the computer, for receiving commands from a user via the input device and for generating an output command stream in response thereto, wherein the output command stream comprises one or more instructions for generating the graphic images; and
a plurality of renderer programs, performed by the computer, wherein a first group of the renderer programs is directly coupled to one or more sources and only one sink, a second group of the renderer programs is directly coupled to a plurality of sources and only one sink, the sources are the application program and other ones of the renderer programs, the sinks are other ones of the renderer programs and the graphics peripheral device, and each of the renderer programs selectively modifies the output command stream received from the sources and transmitted to the sink.

2. The system as set forth in claim 1 above, wherein each of the output command streams comprise instructions and data.

3. The system of claim 1, wherein each of the renderer programs respond to a same set of commands.

4. The system as set forth in claim 3 above, wherein the commands selected from a group comprising configuration commands, drawings commands, and update commands.

5. The system of claim 4, wherein the configuration commands set options on the renderer program.

6. The system of claim 4, wherein the drawing commands cause the render program to draw an image.

7. The system of claim 4, wherein the update commands synchronize the renderer program with its sink so that any drawing commands previously received by the renderer program are reflected in the sink.

8. The system of claim 1, wherein the renderer programs do not need to be compiled until runtime.

9. The system of claim 1, wherein new renderer programs are added to a drawing interface of the graphics application without recompiling the application program.

10. The system of claim 1, wherein the application program dynamically loads only load those renderer programs it needs at runtime.

11. The system of claim 1, wherein the application program dynamically loads new renderer programs while it is running.

12. The system of claim 1, wherein the application program sends commands directly to any of the renderer programs.

13. A method for generating graphic images in a computer system, comprising the steps of:

receiving an output command stream from a plurality of sources into one of a plurality of renderer programs executed by the computer system, wherein a first group of the renderer programs is directly coupled to one or more sources and only one sink, a second group of the renderer programs is directly coupled to a plurality of sources and only one sink, the sources are the application program and other ones of the renderer programs, and the sinks are other ones of the renderer programs and the graphics peripheral device;
determining whether to modify the output command stream in the renderer program;
selectively modifying the output command stream in the renderer program based on the determination; and
transmitting the output command stream from the renderer program to the sink.

14. The method of claim 13, wherein each of the output command streams comprise instructions and data.

15. The method of claim 13, wherein each of the renderer programs respond to a same set of commands.

16. The method of claim 15, wherein the commands are selected from a group comprising configuration commands, drawings commands, and update commands.

17. The method of claim 16, wherein the configuration commands set options on the renderer program.

18. The method of claim 16, wherein the drawing commands cause the render program to draw an image.

19. The method of claim 16, wherein the update commands synchronize the renderer program with its sink so that any drawing commands previously received by the renderer program are reflected in the sink.

20. The method of claim 13, wherein the renderer programs do not need to be compiled until runtime.

21. The method of claim 13, wherein new renderer programs are added to a drawing interface of the application program without recompiling the application program.

22. The method of claim 13, wherein the application program dynamically loads only load those renderer programs it needs at runtime.

23. The method of claim 13, wherein the application program dynamically loads new renderer programs while it is running.

24. The method of claim 13, wherein the application program sends commands directly to any of the renderer programs.

25. An article of manufacture for generating graphics images in a computer system, the article of manufacture comprising a computer-readable media having one or more computer programs embodied therein that cause the computer system to perform the steps of:

receiving an output data stream from a plurality of sources into one of a plurality of renderer programs executed by the computer system, wherein the renderer program is directly coupled to a plurality of sources and only one sink, the sources are the application program and other ones of the renderer programs, the sinks are other ones of the renderer programs and the graphics peripheral device;
determining whether to modify the output command stream in the renderer program;
selectively modifying the output command stream in the renderer program based on the determination; and
transmitting the output command stream from the renderer program to the sink.

26. The article of manufacture of claim 25, wherein each of the output command streams comprise instructions and data.

27. The method of claim 25, wherein each of the renderer programs respond to a same set of commands.

28. The article of manufacture of claim 27, wherein the commands are selected from a group comprising configuration commands, drawings commands, and update commands.

29. The method of claim 28, wherein the configuration commands set options on the renderer program.

30. The method of claim 28, wherein the drawing commands cause the render program to draw an image.

31. The method of claim 28, wherein the update commands synchronize the renderer program with its sink so that any drawing commands previously received by the renderer program are reflected in the sink.

32. The method of claim 25, wherein the renderer programs do not need to be compiled until runtime.

33. The method of claim 25, wherein new renderer programs are added to a drawing interface of the application program without recompiling the application program.

34. The method of claim 25, wherein the application program dynamically loads only load those renderer programs it needs at runtime.

35. The method of claim 25, wherein the application program dynamically loads new renderer programs while it is running.

36. The method of claim 25, wherein the application program sends commands directly to any of the renderer programs.