Pre-drawing pick detection in a graphics display system
AssigneeInternational Business Machines Corporation
InventorsJames Corona, Daniel G. Gibbons, Terence W. Lindgren
Life of this patent
Estimating the term…
Abstract
A method and apparatus for detecting operator selection of a graphics object prior to rasterization and pixel generation for that object. The method divides the screen into regions and analyzes successive end points and vectors based upon their region to determine trivial picks and trivial no picks. Non-trivial conditions are analyzed by determining the position of the line segment being processed relative to two selected pick window vertices. Apparatus for implementing pick detect is provided that accomplishes pick detect as part of graphics pipeline processing. In the trivial pick or no pick cases, the apparatus does not slow pipeline operation, while in a non-trivial case, extra processing cycles are required.
Claims9
A method of detecting operator selection of an object displayed in an image on a display device by a graphics display system, said method comprising repeating the following steps for each vertex for all objects in said image:
- storing pick bounds defining an operator selection area;
- establishing a first coded representation of the relationship of a first object vertex to said pick bounds;
- establishing a second coded representation of the relationship of a second object vertex to said pick bounds;
- logically combining said first and second coded representations;
- testing said logically combined representations to determine whether a line connecting said first object vertex and said second object vertex is either definitely in or definitely outside said operator selection area on the basis of said coded representations;
- if said line is definitely in said operator selection area on the basis of said coded representations, signalling a match event;
- if no definite in or outside decision can be made on the basis of said coded representations, then;
- selecting two vertices of said operator selection area;
- determining the relationship between said line connecting said first object vertex and said second vertex and said two vertices of said operator selection area;
- comparing the relationship determined for said test lines with each other;
- and
- signalling a match event in accordance with said comparison, said match event being signalled if said test lines are on opposite sides of said line connecting said object vertices.
A system for detecting operator selection of an object displayed in an image on a display device, said image generated by a plurality of graphics orders, said system comprising:
- operator position indicating means for an operator to establish a position within said image;
- first memory means for storing a minimum and maximum pick boundary for a first and second dimension, said pick boundaries representing an offset from said operator position, and combined to form vertices of an operator selection window;
- second memory means for storing said graphics orders;
- first processing means for decoding said orders and transmitting object vertex information;
- second processing means for performing graphic transformation on said transmitted vertex information to generate transformed vertex information;
- first logic means for generating a coded representation of said transformed vertex information in relation to said pick boundaries;
- second logic means for logically combining a first and second coded representation from a first and second object vertex;
- third logic means for generating a match signal if said logically combined representation is a trivial pick on the basis of said coded representations, or a non-trivial signal if said logically combined representation cannot be trivially evaluated;
- fourth logic means for evaluating a line connecting said first and second object vertices against test lines between one of said object vertices and a selected pair of vertices of said operator selection window;
- and
- fifth logic means for comparing said evaluations with each other and for generating a pick signal in accordance with said comparison, said fifth logic means generating said pick signal if said line intersects said operator selection window.
In a computer graphics system containing means for generating an image of a line segment for display within a two-dimensional display area and user-operable means for selecting a rectangular pick window within said display area, a method of determining whether said image of said line segment passes through said pick window, said method comprising the steps of:
- for each vertex of a selected pair of vertices of said pick window, generating a vertex signal in accordance with the sign of the quantity:
- (Y=Y1)(X2-X1)-(Y2-Y1)(X=X1)
- wherein X1 and Y1 are the coordinates of one endpoint of said line segment, X2 and Y2 are the coordinates of the other endpoint of said line segment, and X and Y are the coordinates of the vertex, said vertex signal indicating the side of said line segment on which the vertex lies;
- comparing the vertex signals generated for said selected pair of vertices;
- and
- generating a pick detection signal in accordance with the comparison of said vertex signals, said pick detection signal being generated if said vertex signals indicate that the vertices lie on opposite sides of said line segment.
Dependencies are inferred from the claim text.