EP0318154A2

A method of operating a computer graphics system.

Abstract

A method of operating a computer graphics system is described which gives local control to an application's display list program during the drawing process when a "pickable" primitive intersects the pick window. This control is provided in such a way that the state of graphics workstation remains unaltered. Thus the application's local display list program is permitted to make "picking" and/or visualization decisions at the moment the pick occurs, and then resume execution of the display program wherever desired (typically, at the graphic instruction following the one that caused the pick). This capability enables application programs to provide greater functionality, usability and productivity their users.

EP0318154A2, drawing sheet 1
Sheet 1 of 4

Term

Term ended

Projected expiry passed 24 October 2008, 17.9 years ago.

  1. Priority
  2. Filed
  3. Published
  4. Projected expiry
  5. Today

9 claims: 4 independent, 5 dependent

  1. 1
    A method of operating a computer graphics system having a processor that executes sets of microcoded instructions to generate data corresponding to basic graphic elements, called primitives, in response to a main list of application display instructions, said data being used to generate a display of those primitives, and that includes means for defining a display region, called a pick window, for identifying for selection primitives that intersect said pick window, a method for enhancing the selectability of pickable primitives that intersect said pick window, comprising the steps of:providing a further list of application display instructions, called a selection subroutine, for providing a desired modification of the display area to facilitate selection of a picked primitive;providing further microcoded instructions to test whether a set of microcoded instructions previously executed for generating data corresponding to a primitive caused a pickable primitive to be drawn in said pick window;if the previous step determines that a pickable primitive has been drawn in the pick window, suspending execution of the main display list, and executing the selection subroutine;and then resuming execution of the main display list at a selected instruction therein.
  2. 2
    A method as claimed in Claim 1 wherein said step of providing a further list of application display instructions includes the step of providing graphics instructions to effect the display of the larger geometric element of which the picked primitive is a part, in an enhanced display mode.
  3. 3
    A method as claimed in Claim 1 or Claim 2 further comprising the step of resuming execution of the main display list in the event that the step of providing further microcoded instructions to test results in a determination that a pickable primitive has not been drawn in the pick window.
  4. 4
    A method as claimed in Claim 3 wherein the step of resuming execution of the main display list is performed by resuming execution of the main display list at the next instruction in the list following the next previously executed instruction in the main display list.
  5. 5
    A method as claimed in anyone of Claims 1-4 wherein said step of providing a further list of application display instructions is performed by fetching data associated with the picked primitive, and using said fetched data to provide said desired modification of the display area.
  6. 6
    A method as claimed in any one of Claims 1-5 wherein said step of suspending execution is performed by executing a push instruction onto the workstation stack of the next desired application instruction, and wherein said step of resuming execution is performed by executing a POP instruction on said stack to retrieve said desired next instruction.
  7. 7
    A method of operating a computer graphics system having a processor that executes sets of microcoded instructions to generate data corresponding to basic graphic elements, called primitives, in response to a main list of application display instructions, said data being used to generate a display of those primitives, and that includes means for defining a display region, called a pick window, for identifying for selection primitives that intersect said pick window, a method for enhancing the selectability of pickable primitives that intersect said pick window, comprising the steps of:providing a further list or application display instructions, called a selection subroutine, for saving data pertaining to primitives that intersect with the pick window for the purpose of effecting subsequent modification of the display area to facilitate selection of such intersecting primitives;providing further microcoded instructions to test whether a set of microcoded instructions previously executed for generating data corresponding to a primitive caused a pickable primitive to be drawn in said pick window;if the previous step determines that a pickable primitive has been drawn in the pick window, suspending execution of the main display list, and executing the selection subroutine;and then resuming execution of the main display list at a selected instruction therein.
  8. 8
    A method as claimed in Claim 7 wherein said step of providing a further list of application display instructions is performed by providing a further list to fetch data associated with said pick primitive, storing said fetch data for further use, and when said main list of display instructions is finished execution, using said stored fetched data to effect said subsequent modification of the display area to facilitate selection of the intersecting primitive.
  9. 9
    A method as claimed in Claim 8 wherein said step of providing a further list is performed by providing the visual function of stepping through a plurality of picked primitives identified by the method.