Patent US5986667A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5986667A Expired / Lapsed US ⏱️ 0.0 years remaining

Mechanism for rendering scenes using an object drawing subsystem

Assignee: Apple Inc
•
Filing: 1994-12-22
•
Granted: 1999-11-16
•
Expires: 2014-12-22
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A graphics rendering system allows retained-mode building and editing of a model, independently of the choice of renderer. Application program calls to the rendering system to draw an object specify not only the object to draw, but also the renderer to use to do so. In an embodiment, the renderer is specified as part of a more inclusive "view object" which is identified to the rendering system through the application program interface. In this manner, switching to a different renderer at any time during the building or editing of a model becomes a trivial task for the application program. More than one renderer can be active simultaneously. In an embodiment, this is accomplished by storing the current state of rendering for each renderer in the view object. The graphics rendering system is also extensible to support dynamically registered renderers. The system automatically determines when geometries are not supported by a chosen renderer, and decomposes them into a plurality of objects of simpler geometry. Such automatic decomposition may be performed recursively until objects are reached whose geometries are supported by the chosen renderer.

Inventors

  • 👤 David Jevans

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-02 18:51
CPC Classifications
G; G06; G06T; G06T15/00; G06T15/005; G06T2210/00; G06T2210/61

Claims Analysis

Total Claims: 27
Claim 1
Independent Claim 131 words
A method for creating visual images on a plurality of graphical output devices, for use with an object drawing subsystem which uses a renderer specified to said subsystem to render an object specified to said subsystem into a scene specified to said object drawing subsystem, comprising the steps of: providing in memory a representation of an object; invoking said object drawing subsystem a first time with an identification of said object, an identification of a first scene and an identification of a first renderer to use; and invoking said object drawing subsystem a second time with an identification of said object, an identification of a second scene and an identification of a second renderer to use; and outputting said first and second scenes to different ones of said graphical output devices.
Claim 2
Independent Claim 131 words
A method for creating visual images on a plurality of graphical output devices, for use with an object drawing subsystem which uses a renderer specified to said subsystem to render an object specified to said subsystem into a scene specified to said object drawing subsystem, comprising the steps of: providing in memory a representation of an object; invoking said object drawing subsystem a first time with an identification of said object, an identification of a first scene and an identification of a first renderer to use; and invoking said object drawing subsystem a second time with an identification of said object, an identification of a second scene and an identification of a second renderer to use; and outputting said first and second scenes to different ones of said graphical output devices.
Claim 3
Independent Claim 175 words
A method for creating scene displayable on a graphical output device, for use with a first renderer, comprising the steps of: writing into a method table for said first renderer, an indication of a method of said first renderer to be invoked to render objects having a particular geometry; receiving an indication of an object to render into said scene, said object having a first geometry; determining whether said first renderer is able to render objects of said first geometry; invoking said first renderer to render said object into said scene if said first renderer is able to render objects of said first geometry; if said first renderer is not able to render objects of said first geometry, performing the steps of decomposing said object into at least one sub-object each having a geometry different from said first geometry, and for each given one of said sub-objects, invoking said first renderer to render the given sub-object into said scene if said first renderer is able to render objects having the geometry of said given sub-object.
Claim 4
Independent Claim 175 words
A method for creating scene displayable on a graphical output device, for use with a first renderer, comprising the steps of: writing into a method table for said first renderer, an indication of a method of said first renderer to be invoked to render objects having a particular geometry; receiving an indication of an object to render into said scene, said object having a first geometry; determining whether said first renderer is able to render objects of said first geometry; invoking said first renderer to render said object into said scene if said first renderer is able to render objects of said first geometry; if said first renderer is not able to render objects of said first geometry, performing the steps of decomposing said object into at least one sub-object each having a geometry different from said first geometry, and for each given one of said sub-objects, invoking said first renderer to render the given sub-object into said scene if said first renderer is able to render objects having the geometry of said given sub-object.
Claim 5
Dependent Claim 32 words
A method according to claim 2, further comprising the step of receiving an indication of said first renderer, in coordination with said step of receiving an indication of an object to render.
Claim 6
Dependent Claim 14 words
A method according to claim 2, wherein said particular geometry is said first geometry.
Claim 7
Dependent Claim 60 words
A method according to claim 2, wherein said step of writing comprises the step of: for each particular geometry which said first renderer is able to render, writing into a respective entry of a method table for said first renderer, an indication of a respective method of said first renderer to be invoked to render objects having the particular geometry.
Claim 8
Dependent Claim 52 words
A method according to claim 5, wherein said step of determining whether said first renderer is able to render objects of said first geometry comprises the step of determining whether said method table for said first renderer contains an indication of a method to invoke to render objects having said first geometry.
Claim 9
Dependent Claim 36 words
A method according to claim 5, wherein said step of invoking said renderer to render said object comprises the step of invoking the method indicated by said method table for rendering objects of said first geometry.
Claim 10
Dependent Claim 69 words
A method according to claim 5, for use further with a second renderer, further comprising, prior to said step of receiving, the step of: for each subject geometry which said second renderer is able to render, writing into a respective entry of a method table for said second renderer, an indication of a respective method of said second renderer to be invoked to render objects having the subject geometry.
Claim 11
Independent Claim 140 words
A method for creating a scene displayable on a graphical output device, comprising the steps of, in sequence: starting execution of an application program; establishing for a first renderer, an indication of at least one respective method of said first renderer to be invoked to render objects having a respective geometry, said step of establishing comprising, for each particular geometry which said first renderer is able to render, the step of writing into a respective entry of a method table for said first renderer an indication of the respective method of said first renderer to be invoked to render objects having the particular geometry; and invoking, for an object having a first geometry which said first renderer is able to render, the method of said first renderer established in said step of establishing for rendering objects having said first geometry.
Claim 12
Independent Claim 140 words
A method for creating a scene displayable on a graphical output device, comprising the steps of, in sequence: starting execution of an application program; establishing for a first renderer, an indication of at least one respective method of said first renderer to be invoked to render objects having a respective geometry, said step of establishing comprising, for each particular geometry which said first renderer is able to render, the step of writing into a respective entry of a method table for said first renderer an indication of the respective method of said first renderer to be invoked to render objects having the particular geometry; and invoking, for an object having a first geometry which said first renderer is able to render, the method of said first renderer established in said step of establishing for rendering objects having said first geometry.
Claim 13
Dependent Claim 43 words
A method according to claim 9, further comprising, after said step of starting execution, the step of establishing for a second renderer, an indication of at least one method of said second renderer to be invoked to render objects having a respective geometry.
Claim 14
Dependent Claim 44 words
A method according to claim 10, further comprising, prior to said step of invoking and after both of said steps of establishing, the step of, under control of said application program, selecting said first renderer over said second renderer for said step of invoking.
Claim 15
Dependent Claim 52 words
A method according to claim 10, wherein said step of establishing for a second renderer occurs after said step of invoking, further comprising the step of invoking for said object, the method for rendering objects having said first geometry, which method was established in said step of establishing for a second renderer.
Claim 16
Dependent Claim 89 words
A method according to claim 9, further comprising, after said step of establishing, the steps of: decomposing a second object having a second geometry which said first renderer is not able to render, into at least one sub-object each having a geometry different from said second geometry; and for each given one of said sub-objects the geometry of which said first renderer is able to render, invoking the method of said first renderer established in said step of establishing for rendering objects having the geometry of said given sub-object.
Claim 17
Dependent Claim 182 words
Apparatus for creating scene displayable on a graphical output device, for use with a first renderer having a method table, comprising: means for writing into said method table of said first renderer, an indication of a method of said first renderer to be invoked to render objects having a particular geometry; means for receiving an indication of an object to render into said scene, said object having a first geometry; means for determining whether said first renderer is able to render objects of said first geometry; means for invoking said first renderer to render said object into said scene if said first renderer is able to render objects of said first geometry; and means for, if said first renderer is not able to render objects of said first geometry, decomposing said object into at least one sub-object each having a geometry different from said first geometry, and for each given one of said sub-objects, invoking said first renderer to render the given sub-object into said scene if said first renderer is able to render objects having the geometry of said given sub-object.
Claim 18
Dependent Claim 182 words
Apparatus for creating scene displayable on a graphical output device, for use with a first renderer having a method table, comprising: means for writing into said method table of said first renderer, an indication of a method of said first renderer to be invoked to render objects having a particular geometry; means for receiving an indication of an object to render into said scene, said object having a first geometry; means for determining whether said first renderer is able to render objects of said first geometry; means for invoking said first renderer to render said object into said scene if said first renderer is able to render objects of said first geometry; and means for, if said first renderer is not able to render objects of said first geometry, decomposing said object into at least one sub-object each having a geometry different from said first geometry, and for each given one of said sub-objects, invoking said first renderer to render the given sub-object into said scene if said first renderer is able to render objects having the geometry of said given sub-object.
Claim 19
Dependent Claim 13 words
Apparatus according to claim 14, wherein said particular geometry is said first geometry.
Claim 20
Dependent Claim 58 words
Apparatus according to claim 14, wherein said means for writing comprises means for, for each particular geometry which said first renderer is able to render, writing into a respective entry of said method table for said first renderer, an indication of a respective method of said first renderer to be invoked to render objects having the particular geometry.
Claim 21
Dependent Claim 34 words
Apparatus according to claim 16, wherein said means for invoking said renderer to render said object comprises means for invoking the method indicated by said method table for rendering objects of said first geometry.
Claim 22
Dependent Claim 138 words
Apparatus for creating a scene displayable on a graphical output device, comprising means for, in sequence: starting execution of an application program; establishing for a first renderer, an indication of at least one respective method of said first renderer to be invoked to render objects having a respective geometry, said step of establishing comprising, for each particular geometry which said first renderer is able to render, the step of writing into a respective entry of a method table for said first renderer an indication of the respective method of said first renderer to be invoked to render objects having the particular geometry; and invoking, for an object having a first geometry which said first renderer is able to render, the method of said first renderer established in said step of establishing for rendering objects having said first geometry.
Claim 23
Dependent Claim 138 words
Apparatus for creating a scene displayable on a graphical output device, comprising means for, in sequence: starting execution of an application program; establishing for a first renderer, an indication of at least one respective method of said first renderer to be invoked to render objects having a respective geometry, said step of establishing comprising, for each particular geometry which said first renderer is able to render, the step of writing into a respective entry of a method table for said first renderer an indication of the respective method of said first renderer to be invoked to render objects having the particular geometry; and invoking, for an object having a first geometry which said first renderer is able to render, the method of said first renderer established in said step of establishing for rendering objects having said first geometry.
Claim 24
Dependent Claim 185 words
A computer readable medium carrying software instructions which, when executed by a computer system, create a scene displayable on a graphical output device, for use with a first renderer, said software instructions including instructions to: write into a method table for said first renderer, an indication of a medium of said first renderer to be invoked to render objects having a particular geometry; receive an indication of an object to render into said scene, said object having a first geometry; determine whether said first renderer is able to render objects of said first geometry; invoke said first renderer to render said object into said scene if said first renderer is able to render objects of said first geometry; if said first renderer is not able to render objects of said first geometry, decompose said object into at least one sub-object each having a geometry different from said first geometry, and for each given one of said sub-objects, invoke said first renderer to render the given sub-object into said scene if said first renderer is able to render objects having the geometry of said given sub-object.
Claim 25
Dependent Claim 185 words
A computer readable medium carrying software instructions which, when executed by a computer system, create a scene displayable on a graphical output device, for use with a first renderer, said software instructions including instructions to: write into a method table for said first renderer, an indication of a medium of said first renderer to be invoked to render objects having a particular geometry; receive an indication of an object to render into said scene, said object having a first geometry; determine whether said first renderer is able to render objects of said first geometry; invoke said first renderer to render said object into said scene if said first renderer is able to render objects of said first geometry; if said first renderer is not able to render objects of said first geometry, decompose said object into at least one sub-object each having a geometry different from said first geometry, and for each given one of said sub-objects, invoke said first renderer to render the given sub-object into said scene if said first renderer is able to render objects having the geometry of said given sub-object.
Claim 26
Dependent Claim 134 words
A computer readable medium carrying software instructions which, when executed by a computer system in response to calls made by an application program executing on said computer system, create a scene displayable on a graphical output device, said instructions including instructions to, after said application program has begun executing on said computer system: for each particular geometry which a first renderer is able to render, write into a respective entry of a method table for said first renderer an indication of the respective method of said first renderer to be invoked to render objects having the particular geometry; and subsequently invoke, for an object having a first geometry which said first renderer is able to render, the method of said first renderer which said software instructions established for rendering objects having said first geometry.
Claim 27
Dependent Claim 134 words
A computer readable medium carrying software instructions which, when executed by a computer system in response to calls made by an application program executing on said computer system, create a scene displayable on a graphical output device, said instructions including instructions to, after said application program has begun executing on said computer system: for each particular geometry which a first renderer is able to render, write into a respective entry of a method table for said first renderer an indication of the respective method of said first renderer to be invoked to render objects having the particular geometry; and subsequently invoke, for an object having a first geometry which said first renderer is able to render, the method of said first renderer which said software instructions established for rendering objects having said first geometry.

References Cited (Backward Citations)

US5379371A Cited
US5043922A Cited
US5489920A Cited
US5384908A Cited
US5448686A Cited
US5555354A Cited
US5471572A Cited
US5428722A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2002-11-15 2003-05-17 2003-11-16 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2006-11-15 2007-05-17 2007-11-16 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2010-11-15 2011-05-17 2011-11-16 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag