Patent ID: 8471855
Filing Date: 2013-06-25
Classification: G06T,G09G

Abstract:
1. A graphics-rendering apparatus comprising: a vector data group input unit for inputting a vector data group representing an outline of a polygon; a vector data group management unit that manages a vector data group that represents the outline of the polygon, the vector data group being input through the vector data group input unit; a rendering attribute data input unit for inputting rendering attribute data representing attributes of a fill area of the polygon; a rendering attribute data management unit that manages the rendering attribute data input through the rendering attribute data input unit; a memory usage status data input unit that acquires a usage status of memory; a memory usage status data management unit that manages the memory usage status data acquired by the memory usage status data input unit; a first threshold value management unit that manages a memory usage status threshold value to be compared with the memory usage status data; a second threshold value management unit that manages a self-intersection threshold value pertaining to self-intersections with an outline of a graphic object and which is to be compared with the number of self-intersections; a first rendering operation switching unit that compares the memory usage status threshold value managed by the first threshold value management unit with the memory usage status data managed by the memory usage status data management unit, thereby switching rendering operation; a first rendering data generation unit that is controlled by the first rendering operation switching unit, and that reads a vector data group managed by the vector data group management unit, and generates rendering data used for effecting rendering operation utilizing a fill-in enable/disable determination function for filling in the fill area of the polygon; a first rendering unit that reads the rendering data generated by the first rendering data generation unit and the rendering attribute data managed by the rendering attribute data management unit, to thus set the fill-in enable/disable determination function and perform rendering operation utilizing the fill-in enable/disable determination function; a self-intersection computing unit that is controlled by the first rendering operation switching unit, and that reads the vector data group managed by the vector data group management unit, thereby computing self-intersections with the outline of a graphic object; a self-intersection management unit that manages information pertaining to self-intersections within the outline of the graphic object computed by the self-intersection computing unit; a second rendering operation switching unit that compares the number of self-intersections within the outline of the graphic object managed by the self-intersection management unit with the self-intersection threshold value managed by the second threshold value management unit, to thus switch rendering operation; a second rendering data generation unit that is controlled by the second rendering operation switching unit, and that reads the vector data group managed by the vector data group management unit and the rendering attribute data managed by the rendering attribute data management unit, determines the fill area of the polygon, and generates a triangle data group by means of processing for dividing the fill area into an aggregate of triangles; a second rendering unit that reads the triangle data group generated by the second rendering data generation unit and the rendering attribute data managed by the rendering attribute data management unit, to thus perform rendering operation; a third rendering data generation unit that is controlled by the second rendering operation switching unit, and that reads the vector data group managed by the vector data group management unit and the rendering attribute data managed by the rendering attribute data management unit, and determines the fill area of the polygon by dividing an area including the polygon into line segments in the direction of a scan line and determining whether the line segments belong to the fill area so as to generate a line segment data group as an aggregate of the line segments determined to belong to the fill area; and a third rendering unit that reads the line segment data group generated by the third rendering data generation unit and the rendering attribute data managed by the rendering attribute data management unit, to thus perform rendering operation, wherein the first rendering operation switching unit switches operation to the first rendering data generation unit and the first rendering unit in response to determining a buffer can be ensured based on the comparison between the memory usage status threshold value and the memory usage status data, the first rendering operation switching unit switches operation to the self-intersection computing unit, which triggers operation of the second rendering operation switching unit, in response to determining the buffer cannot be ensured, the second rendering operation switching unit switches operation to the second rendering data generation unit and the second rendering unit in response to determining the number of self-intersections is less than the self-intersection threshold value, and the second rendering operation switching unit switches operation to the third rendering data generation unit and the third rendering unit in response to determining the number of self-intersections is not less than the self-intersection threshold value.