WO2004032062A1 - Verfahren zur festlegung von gewichtungsfaktoren für die farbberechnung eines farbwerts von texeln für einen footprint - Google Patents
Verfahren zur festlegung von gewichtungsfaktoren für die farbberechnung eines farbwerts von texeln für einen footprint Download PDFInfo
- Publication number
- WO2004032062A1 WO2004032062A1 PCT/EP2003/010017 EP0310017W WO2004032062A1 WO 2004032062 A1 WO2004032062 A1 WO 2004032062A1 EP 0310017 W EP0310017 W EP 0310017W WO 2004032062 A1 WO2004032062 A1 WO 2004032062A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- footprint
- edge
- texel
- edges
- block
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/04—Texture mapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
Definitions
- the present invention relates generally to a method of displaying images on a computer controlled raster display system.
- the present invention relates to an anisotropic filter mechanism and a corresponding device, which is required in order to reconstruct, scale or scale stored, discrete images, which are also referred to below as textures, with high quality on the raster display undergo perspective projection.
- the present invention relates to a method for determining weighting factors for the color calculation of a color value of texels for a footprint.
- Anisotropic filter processes are known in the prior art, e.g. For example, the so-called area sampling to assign a texture to a footprint.
- so-called weighted area scans as well as unweighted area scans are known.
- a disadvantage of the methods known in the prior art is that there is a transition here discontinuities in the displayed image with perceptible artifacts are generated between a weighted and an unweighted scan.
- a “footprint” is the perspective projection of a picture element (pixel) of an object onto a curved surface.
- a “footprint” can be a convex four-sided representation, which is the approximate result of the perspective projection onto a regular texel grid (texture element grid ) of a square picture element (pixel) of an object on a curved surface.
- the object of the present invention is to provide an improved method which, when generating weights for texels of a footprint, enables the determination of texels under the edges of the footprint in a simple and quick manner.
- the present invention provides a method for determining weighting factors for the color calculation of a color value of texels for a footprint, which covers a plurality of texels in a texel grid, in a graphics system, with the following steps:
- step (c) approximating the edges determined in step (b) by means of a step function
- a texel touched by the stair function is determined based on the starting points and / or end points of the vertical sections of the stair function.
- Texels of the texel grid that are not touched by the stair function and that are covered by the footprint are preferably assigned a uniform weighting factor, the weighting factors for each texel being assigned to a data structure.
- the staircase function comprises a plurality of steps, a plurality of horizontal step elements and a plurality of vertical step elements for each edge of the footprint, each edge comprising a plurality of consecutive edge sections of equal length, one horizontal edge being present, if the end points of the edge portions of the edge intersect a horizontal step element of the stair function, where there is a vertical edge, if the end points of the edge portions of the edge intersect a vertical step element of the stair function, wherein a horizontal edge comprises a number of vertical step elements which are equal to Number of steps of the staircase function, wherein a vertical edge comprises a number of vertical step elements that is one additional vertical step element larger than the number of steps of the staircase function, and wherein the additional vertical le step element is used for calculating the weighting factors of an adjacent edge with the same vertical position.
- a magnification shift is assigned to the footprint, wherein after step (a), based on the magnification shift, the footprint is enlarged by moving the edges of the footprint outwards by a distance dependent on the magnification shift, wherein in step (b ) the shifted edge is determined, wherein in step (c) the shifted edge is approximated by a staircase function, and in step (e) a weighting factor for each texel that has a shifted edge 2004/032062
- the footprint is enlarged by shifting the edge end points in the horizontal direction and in the vertical direction by a distance determined by the magnification shift.
- the resulting gaps are preferably filled by horizontal and vertical edges, with further weighting factors then being determined for each texel that contains an inserted vertical edge.
- the inventive method creates a novel approach for anisotropic filtering, which enables z. B. to apply the known filter technique of "area sampling" to four-sided footprints, which represent a perspective projected square image element, which overlap a regular Texel grid
- the magnification shift determines whether a weighted area scan or an unweighted area scan should be applied to the area of the footprint, in particular, how the weighting contribution or the degree of weighting in the area scan should be deformed footprints Application, for example on small and elongated footprints.
- a typical characteristic and an essential feature of the present invention can be seen in the fact that there is no hardware-based switch, based on a threshold value, which decides when a weighted and when an unweighted area scan is to be carried out, which actually leads to discontinuities with recognizable artifacts would lead.
- the amount of weighted area scan is preferably increased.
- the increasing increase in the weighting contribution preferably takes place as the footprint becomes smaller, in particular while the footprint is smaller than the extent of a texel in width or height.
- a method for determining a weighting factor for the color calculation of a color value of a texel for a footprint, which extends at least partially into the texel is created in a graphics system in which a shape information of the footprint is determined and based on an enlargement shift, the footprint is enlarged by shifting the edges thereof outward by a distance dependent on the enlargement shift, so that it covers several texels.
- a weighting factor is then determined for each texel that contains a shifted edge, depending on the partial area of the respective texel covered by the enlarged footprint.
- 1A and B show a flow diagram of a preferred exemplary embodiment of the method according to the invention
- 4A and B are a flowchart that shows a method for edge calculation according to an exemplary embodiment of the present invention
- 5A and B show two examples of a filter enlargement of a footprint
- 8A and B are a flow diagram illustrating a method for
- the mathematical notation of vectors is used for the description of the footprint (represented in the text by BOLD PRINT).
- the unit length of all coordinates and lengths is the width (or height) of a texel in the original texture or in the texture according to a MipMap level, if available.
- the method according to the invention receives in block 100 input data or information which represent the shape, position and orientation of the four-sided footprint and which are available in block 102. More specifically, in block 102 the footprint data v ⁇ n , the direction of rotation d of the footprint and the magnification shift (magnification offset) r are provided. By receiving the additional input parameter, namely the magnification shift r, it is possible, according to the invention, to determine the degree of weighted area scanning that is required for small or thin footprints, in particular small or thin four-sided footprints.
- edge calculation takes place in block 104. This edge calculation involves enlarging the footprint by moving its edges based on the 004/032062
- edge calculation 104 As part of the edge calculation 104, vertical edges are then introduced into the spaces resulting from the enlargement, a bounding rectangle is calculated, and all edges are sorted into left and right edges in block 104, so that the attributes for the enlarged vertex edges are provided in block 106 and the attributes associated with the shifted edges are provided in block 108. More specifically, in block 106 the footprint information Vj. * , the alignment of the individual edges a. ⁇ * and the resulting spaces gi * are provided for the enlarged footprint. In block 108, the vertex information V, an alignment of the shifted edge ai 'and corresponding edge vectors Si' are provided.
- the information provided in block 108 is fed to block 110, in which processing relating to the shifted edge is carried out.
- a block transfer pi * is calculated in block 110, which is provided in block 112.
- the parameters provided in block 106 and in block 112 are fed to block 114, in which the vertex edge is processed.
- the processing of the vertex edge (block 114) and the displaced edge (block 110) results in the weighting tables for the vertex edges and the displaced edges provided in blocks 116 and 118 (FIG. 1B).
- a color calculation is carried out in block 120, block 120 additionally receiving information relating to the texture from block 122.
- the color calculation in block 122 then results in the pixel color, which is provided in block 124 and is output in block 126.
- the edges of the Footprints are then carried out only on the original edges. In this case, additional inserted edges do not exist or are set to zero for the calculation.
- an appropriate data structure is created for each of the edges of the footprint.
- the steps explained below are carried out in parallel for each edge.
- an edge is approximated by a suitable number of simple steps, and all texels that are touched by a step function of a left edge are searched for.
- a weighting value is then assigned to each texel found, which corresponds to the fraction of the remaining texel area that lies to the right of the step function.
- all texels that lie below the structure to be displayed and that are touched by the stair function of a right edge are searched for.
- the texels found in this way are then each assigned a weighting factor which corresponds to the fraction of the remaining area of each texel which is arranged to the left of the stair function.
- all coordinates and corresponding weights are saved in a suitable, unique data structure that is assigned to the edge of the footprint. Furthermore, all texels are assigned a weighting value of ⁇ +1 or> -1, namely texels that are to the right of a left edge or a right edge - but are not touched by this - and to the left of the right edge of the bounding rectangle lie. This information is added to the data structure.
- the data structures generated in this way are preferably assessed in a more efficient manner, so that each texel that is covered by the footprint can be addressed directly by the stored coordinates, so that its corresponding color with its subsequently follows assigned weight multiplied (weighted) can be. It is pointed out that each weighting factor is the sum of the weights of those edges which are contained in the texel under consideration.
- a color calculation is carried out, as is known per se in the prior art. For this color calculation, all weighting factors are collected and likewise all weighted texels used by the footprint are collected and then the collected color is divided by the collected weighting factors. The result represents the image fragment recovered and filtered from the texture map, which is assigned to the pixel that should be mapped or projected onto the texture map.
- the advantage of the present invention is that the method according to the invention inherently creates the possibility of using a high degree of parallelism in executing it in a specific hardware implementation. Furthermore, the method according to the invention enables its implementation in a hardware pipeline, so that according to a preferred exemplary embodiment of the present invention, the method steps described above are implemented in hardware in different pipeline stages. Preferably, those method steps that have been described above and that generate the data structure for each edge are typically implemented as a hardware module and are instantiated (called) in parallel for each edge. These modules instantiated in parallel again represent a pipeline stage of the entire hardware pipeline.
- the basic process for recovering the pixel color from a texel array covered by a four-sided footprint is to perform an unweighted area scan on that footprint.
- each texel which is only partially covered by the footprint that is to say lies at the edge of the footprint, is assigned a weighting factor which is proportional to the size of the area covered.
- the method according to the invention fulfills the following two tasks, which have been described so far, namely the identification of all texels which are completely or partially covered by the four-sided footprint, and the calculation of a weight for each texel and the assignment of this weighting factor to the corresponding texel.
- a cross-fading is realized according to the invention, which is controlled by the additional parameter, the magnification parameter r, in order to carry out a cross-fading from an unweighted to a weighted area scan.
- the area of the footprint is expanded according to the invention by shifting the four edges which represent the boundary of the footprint.
- this approximates a footprint, which can be interpreted as the projection of a filter kernel which fulfills the characteristic of a weighted area scan, the filter kernel overlapping its neighbors and having a bilinearly similar distribution.
- the method according to the invention essentially comprises blocks 100 to 118, which then provide the data required for an essentially conventional color calculation.
- all rectangular blocks represent the main processing steps, which are described in detail below for preferred exemplary embodiments of the present invention.
- the results of the processing steps are stored in data structures which are shown in the parallelogram-shaped blocks in FIG. 1. These results are used as inputs for the next processing stages.
- the maximum edge length E ⁇ , ax mentioned above is preferably a hardware-coded value, which should be a power of 2, the value 8 being preferred here. Higher values will significantly slow down the raster process, ie the processing speed of the graphics system, and significantly increase the required data structures. If no power of 2 were used, the calculations associated with E max would be difficult to implement in hardware.
- the texture space is spanned by the coordinates x and y.
- the footprint is defined by the four vertex vectors v 0 to v and the four edge vectors s 0 to s 3 .
- the direction of rotation d of the footprint is determined by the direction of the edge vectors s 0 to s 3 .
- 2 shows the typical shape of a footprint in the texture space.
- the footprint is defined by its boundary, which in turn consists of the four edges s 0 to s 3 and is therefore often referred to as a four-sided element.
- the four vertices v 0 to v 3 which are positioned in the texture space by the four vectors shown in FIG. 2, define the edges s 0 to s 3 .
- a main aspect of the present invention is that horizontal and vertical step functions are used to approximate each of the edges.
- the edges only provide contributions to those texels that are arranged to the right of an edge. So- with, values from left-hand edges are added to the effective weighting factor, which results for all edges, and values from right-hand edges are subtracted from the effective weighting factor, which results from all edges.
- the edge attributes on the left, right, below and above are shown in FIG. 3.
- edges which are classified as being lower left or upper right are approximated by vertical step elements, whereas edges which are considered to be lower right or upper left are approximated by horizontal step elements.
- the horizontal and vertical steps just described are described in more detail below.
- a first main processing step of the method according to the invention in accordance with a preferred exemplary embodiment is explained in more detail, namely the edge calculation generally indicated in block 104 in FIG. 1A.
- the method for edge calculation receives the data required for this, namely the footprint data Vi in and the magnification shift r, which is provided in blocks 130 and 132 for further processing.
- the edge calculation generates the approximate area of the footprint, whereby a positive filter magnification, indicated by the magnification shift r, with r> 0, is also included.
- Each edge of the original footprint is moved away from the center by adding a displacement of size r. These edges are referred to below as shifted edges.
- the footprint data v 0 , ⁇ , 2 , 3 obtained in accordance with the above calculation rule are made available in block 136 for further processing.
- the edge vectors result according to the following calculation rule:
- the so-called alignment vectors a calculated for the edges to classify the corresponding edges into left / right and upper / lower edges. Based on the division shown in FIG. 3, it is determined for each edge in which square it lies.
- the table below shows the values for the two components of the edge orientation vector a *, namely for the components a ⁇ , x and aj . , y reproduced for different signs of the components Sj. fX or s ⁇ , y of the edge vector si.
- a value of +1 shows an alignment to the right along the x-axis and downwards in the direction of the y-axis in the texture space spanned in FIG. 3.
- a value of -1 shows an alignment to the left in the direction of the x-axis and an alignment to the top in the direction of the y-axis.
- Horizontal edges and vertical edges are assigned the values just mentioned.
- the orientations shown in the table are used to determine the direction of a magnification shift.
- the footprint is expanded to four shifted edges v ⁇ ', Si', depending on the size of the limited magnification parameter r.
- each of the original vertices is shifted by the magnification parameter r in the manner described and shown in FIGS. 5A and 5B, thereby adjusting the shifted edges s ⁇ '.
- the starting point and the end point for those edges which have been determined to be below must be exchanged, which is carried out according to the calculation rule given below:
- Gaps that result from the displacement of each vertex of the footprint are handled by the vertical vertex edges.
- the shift of these edges depends on the alignment of the two adjacent edges, which have a length greater than 0.
- These edges are indexed with j *, depending on the vertex index i, according to the calculation rule given below:
- X stands for a value that has no effect on the following calculations and can therefore be arbitrary.
- the base point for the vertex edge and the size of the enlargement space are then determined in accordance with the calculation rule given below:
- the displacement for the vertex edges Vi * is calculated in block 156, which are then provided in block 158.
- the shifted edges are subsequently processed in a second main processing step, which is indicated in block 110 in FIG. 1A.
- a second main processing step which is indicated in block 110 in FIG. 1A.
- the shifted edges they are approximated by a number of steps, the number of steps depending on the size of the shifted edge.
- the width and height of a step should not exceed a value of 1.0.
- uss is the number of steps n s t e uf per edge are determined. This is done according to the following calculation rule:
- the calculation method denoted by 2) is preferred, since this can be significantly simplified by the hard-coded maximum value for the edge lengths E m a x and also replaces complex dividers by simple shifting operations in the subsequent calculation of the step vectors qi.
- the step vectors qi are calculated according to the calculation rule given below: q, • sni level
- step alignment 0 ⁇ ' is 0, i.e. horizontal, for edges at the top right and edges at the bottom left.
- step orientation ⁇ ⁇ ' is 1, i.e. vertical, for steps on the top left and for steps on the bottom right.
- Horizontal steps refer to horizontal intersections of a staircase function with the corresponding edge at the end of the step vector qi.
- Vertical steps likewise relate to vertical interfaces of the step function with the respective edge at the end of the step vector qi, as can be seen from FIG. 6.
- a stripe is a vertical step element that is used to determine the weights of the texels. The following calculation rule applies to step alignment ⁇ ⁇ ':
- a stripe processing loop is provided for each edge and processes one stripe per cycle, as will be described in greater detail below with reference to FIG. 8.
- Each cycle can weight one or two texels, 21
- Number of texel rows x'ofs.k] x is the integer coordinate of the left most weighted texel in this row
- index i is also given, which only counts the number of texels hit by an edge for processing the strips (see FIG. 7).
- the coordinates for the first stripe (slice), see also the vectors u i0 in FIG. 9, are initialized.
- the coordinates of the starting point u x , u y0 and the height du y (see FIG. 10B) are determined, the actual coordinates of the first stripe from the beginning of the edge under consideration, which is indicated by the corresponding starting vertex v, and depend on the orientation of the edge, which is indicated by ⁇ or a y . Therefore, in order to determine the actual starting point, it is first determined in block 164 whether or not there is a horizontal step alignment ⁇ ⁇ for the point under consideration, defined in block 162. If the step orientation is horizontal, the method goes to block 166, in which the coordinate u x of the starting point is increased by the value q x / 2. The other coordinates or parameters defined in block 162 remain the same.
- the method goes to block 168, in which the alignment a y of the edge under consideration is first determined. Is the edge considered an upper edge, the method goes to block 170, in which the coordinate value u x is increased by the value q x . The coordinate value u y0 is likewise increased by the value q y / 2 in block 170.
- the method goes to block 172, in which the height du y is halved.
- the starting coordinates thus determined for the strip under consideration are then provided to block 174.
- the indices used are first initialized, where k counts the texel rows, 1 counts the texels in total, and n counts the stripes / slices.
- the coordinate of the first row of texels yO f s corresponds to the texel below the slice starting point, the so-called floor function being displayed in block 174 in block 174 with respect to the starting coordinate value u y0, which starts from the next integer value in the direction - ⁇ > represents the specified value for u y0 .
- block 176 it is checked to what extent the x position currently under consideration has changed due to later calculations. Starting from block 174, it is determined that the two parameters specified in block 176 are the same, so that the method in this case proceeds to block 178, in which the first texel is weighted. In block 178, the weights are determined for the first texel hit by the stripe, which is determined in accordance with the calculation rules reproduced in block 178. In block 178, the stripe end point u yi is first calculated, and then the associated integer texel coordinate ylint. based on the next integer value of u y ⁇ towards - ⁇ .
- the texel fraction w x is then calculated, which results from the vertical section, as shown in FIG. 7. Furthermore, the fraction w y0 is calculated, which results from the horizontal cut.
- the specified case distinction takes into account which direction the stripe has (see FIG. 10B) and whether one or two texels have been hit.
- the weighting contribution w ' te ⁇ [l] of the stripe to the current texel is determined in block 178 by increasing the existing value by the product of w x times w y0 .
- the weighting contribution w ' prop passed on to the texel on the right is determined by increasing the existing value for w' prop by the value w y0 .
- the index 1 and the number of texels already processed in this row are first incremented x ' num . Furthermore, the weighting for the new texel w ' te ⁇ [l] is set to w'p rop [k], so that the weighting contributions of the previous texel are passed on.
- the process then proceeds from block 180 to block 178, in which. then a corresponding weighting of the new texel is carried out in the manner described above. If the calculation of the weight of a texel has been completed in block 178, the method goes to block 182 in which it is determined whether the end point of the stripe is in a different row than the start point. If this is the case, the method goes to block 184 in which a new texel is defined in a new row, that is, in terms of process technology, the system jumps to the next row to be considered, so that the number of rows y ' nu . the row index k and the texel index 1 are incremented.
- the texel number is reinitialized x 'n u m .k] to the value 1 and the coordinate of the first texel in the new series X'O f s is determined.
- the index for the Wte x array, in which the weight for the first texel in this row is stored, is specified.
- the method proceeds from block 184 to block 186, in which the weighting for the second texel struck by the stripe is calculated, similarly to block 178, so that reference is made to the description there.
- the method goes to block 188 where the x position of the strip being viewed is stored and the index n is incremented to go to the next strip.
- block 190 it is determined whether the value n is smaller than the value n S tu f e. and if not, it is determined that the last strip has been revised. In this case the procedure ends. However, if it is determined that the last stripe has not yet been processed, the method proceeds to block 192, in which the coordinates for the next stripe are calculated. For this purpose, the coordinate u x is increased by the value q x , and likewise the coordinate u y0 is increased by the value q y .
- du y takes into account the case shown in FIG.
- vertex edge processing indicated in block 114 in FIG. 1A which deals with the vertical edges that are added to fill the vertical gaps, is described in more detail below.
- the weighting tables for the vertex edges provide the same parameters as used for the shifted edges.
- the implementation of these weighting tables is less complex since the number of possible rows is significantly lower and the indexing of the weights and rows does not differ after the alignment of the edges under consideration is always vertical.
- the following table shows the weights for the vertex edges.
- the enlargement gap g and the step transfer p are added to the total length of a vertex edge, as shown in FIG. 10A, so that the coordinates (starting point and end point) of a vertex edge result in accordance with the following calculation rule:
- the weighting factor w ⁇ [0.0, 1.0] is calculated from the sum of all edge contributions that result from the weight can be read out.
- the process of calculating the resulting pixel color depends in detail on the region surrounding the pixel, e.g. B. from the organization of access to the texture memory.
- a functional example of the color calculation procedure is explained in more detail below with reference to FIG. 11, the procedure shown in FIG. 11 being a loop which is run through several times in order to process all the texels concerned.
- all color components and the sum of all texel weights are initially initialized to 0 in block 200.
- the color components are generally RGB components and the ⁇ component, the equations only showing a calculation for an abstract color component.
- a lowermost and an uppermost row of texels are determined in block 202, the smallest and largest y-coordinates of all texels, which are described by the values in the two tables described above, being determined got to.
- a minimum and a maximum value of an edge (y'i, min and y'i, max ) are determined, from the table given above regarding the shifted edges.
- the minimum and maximum values of an edge y * i, m in and y * i, ma ⁇ are determined in block 202 based on the above-mentioned vertex edge processing table. Minimum values is then from the vertex of the edges and the offset edges determined eight minimum values y m i n is determined, and also are prepared from the determined maximum values for the offset edges and the vertex edges eight maximum values y max determined. After the determination of the lower and o- burst Texel series in this way was carried out, the method proceeds to block 204 where the loop value y which a texel series describes, is initialized to the value y m i n. The loop is run for y values from ymin to ym ax .
- the loop parameter k'i which applies to the shifted edges, is defined.
- the values in the corresponding table only contain values for x num rows, starting with the integer y coordinate of texel row 0 (y 0 f S ) • This shift is subtracted from the loop value in order to increase the row index k'i within the table for the level edges. Similar to what was described above with regard to block 202, it must also be taken into account here whether the underlying table contains the y coordinates in ascending or descending order.
- the left-most and right-most texels in the row under consideration are determined.
- the smallest and largest x coordinate of all texels that are weighted by the tables is determined, i.e. the x coordinates x'i. m i n and x x'i.max for the offset edges and the coordinates * i, m i n and x * i, max for the vertex edges.
- Edges that do not make a contribution, for which the flag ⁇ * i or A ⁇ 0 defined in block 206 are, are not taken into account in the corresponding determination of the minimum and maximum x values, which is formally described by the ⁇ - ⁇ contributions ,
- the process then goes to block 210 (FIG. 11B).
- the loop value x which is a texel within the considered row indicates the value of x m ⁇ n initialized. This loop value runs from x m i n to Xma -
- the procedure proceeds to block 212 in which the weighting contributions are read out for the offset edges of the provided tables. Here the contributions of all eight edges to the weighting of the texel at the coordinates x, y are determined.
- the index l ⁇ of the texel within the row is considered for a corresponding edge (see Fig. 7).
- the weighting contribution w'i for the shifted edge is then considered, with four cases to be distinguished for each edge.
- the texel can either be above or below the edge, in which case the value ⁇ ⁇ i is 0, so that the texel in question makes no contribution.
- the texel can be to the left of the edge, in which case the index 1 is less than 0, and in this case the texel does not contribute to the area. 2004/032062
- a corresponding reading of the tables with respect to the weighting contributions of the vertex edges is carried out in block 214, the corresponding contribution w * i also being determined here.
- the texel lies above or below the edge, the corresponding value ⁇ * i is therefore 0. In this case the texel makes no contribution to the overall weighting. If the texel lies to the left of the edge, this also does not contribute to the weighting. If the texel is to the right of the edge, x> * , 0f s r , the value w * prop specified in the table regarding the vertex edges is selected. If the texel lies on the edge, the corresponding value w * tex is selected. Here, too, the result for right edges is negated using the factor a * i, x .
- the method proceeds to block 216, in which all contributions are summed and the text color is weighted.
- the eight contributions calculated in blocks 212 and 214 are summed up to obtain the summed weight value w.
- the weighting value w obtained in this way is multiplied by the color components color-tex (x, y> of the texel and added to the color of the pixel color P i X.
- the total sum w SUm of the texel weightings is also carried out. More precisely the value w sum is increased by the value w determined in block 216. 2004/032062
- the method then goes to block 218, in which on the one hand the loop value x is incremented by 1 and it is further determined whether the value x exceeds the maximum value x max . If this is not the case, texels still to be processed are contained in the row under consideration, and the method goes back from block 218 to blocks 212 and 214. A jump to the right by one texel is therefore carried out and a corresponding revision takes place regarding this texel is being carried out. If it is determined in block 218 that all texels in a row have been processed, the method goes to block 220, in which the loop value y and 1 is incremented and a check is carried out to determine whether the loop value y exceeds the maximum y value y max .
- the system jumps to the next row and the method goes back to block 206. If it is found that the last row of texels has been processed, the method goes from block 220 to block 222 actual color of the pixel color p i X is determined, and in the event that a weighting exists, that is to say Wsu is not equal to 0, which indicates that at least one texel has been touched by the edge in question, the color pixel value based on the summed weighting w SU m is normalized, i.e. color P i X / sum is determined. With a so-called zero weighting, i.e. when the footprint degenerates to a point and a magnification shift unites
- the value of 0 is the color of the texel under the
- the present invention was described in the above description of the preferred exemplary embodiments on the basis of a four-page footprint, the approach according to the invention can in principle be extended to any footprints. It is further pointed out that the present invention is not restricted to the above exemplary embodiments in which an initial enlargement of the footprint was carried out. If no such enlargement is desired, for example no enlargement shift is assigned to the received footprint, then the method according to the invention works with respect to the original footprint and leads to an accelerated processing thereof due to the steps according to the invention for locating texels under edges.
Abstract
Description
Claims
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
AU2003264284A AU2003264284A1 (en) | 2002-09-13 | 2003-09-09 | Method for determination of weighting factors for the colour calculation of a colour value for texels in a footprint |
JP2004540606A JP4009289B2 (ja) | 2002-09-13 | 2003-09-09 | フットプリントに係るテクセルのカラー値をカラー計算するための重み付けファクタを決定する方法 |
DE50302209T DE50302209D1 (de) | 2002-09-13 | 2003-09-09 | Verfahren zur festlegung von gewichtungsfaktoren für die farbberechnung eines farbwerts von texeln für einen footprint |
EP03798898A EP1537538B1 (de) | 2002-09-13 | 2003-09-09 | Verfahren zur festlegung von gewichtungsfaktoren für die farbberechnung eines farbwerts von texeln für einen footprint |
US10/916,983 US7379072B2 (en) | 2002-09-13 | 2004-08-11 | Method for determining weighting factors for the color calculation of a color value of texels for a footprint |
US11/690,071 US7924289B2 (en) | 2002-09-13 | 2007-03-22 | Method for determining weighting factors for the color calculation of a color value of texels for a footprint |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE10242640.6 | 2002-09-13 | ||
DE10242640A DE10242640A1 (de) | 2002-09-13 | 2002-09-13 | Verfahren zur Festlegung von Gewichtungsfaktoren für die Farbberechnung eines Farbwerts von Texeln für einen Footprint |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/916,983 Continuation US7379072B2 (en) | 2002-09-13 | 2004-08-11 | Method for determining weighting factors for the color calculation of a color value of texels for a footprint |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2004032062A1 true WO2004032062A1 (de) | 2004-04-15 |
Family
ID=31895971
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/EP2003/010017 WO2004032062A1 (de) | 2002-09-13 | 2003-09-09 | Verfahren zur festlegung von gewichtungsfaktoren für die farbberechnung eines farbwerts von texeln für einen footprint |
Country Status (10)
Country | Link |
---|---|
US (2) | US7379072B2 (de) |
EP (1) | EP1537538B1 (de) |
JP (1) | JP4009289B2 (de) |
KR (1) | KR100623327B1 (de) |
CN (1) | CN1295657C (de) |
AT (1) | ATE315813T1 (de) |
AU (1) | AU2003264284A1 (de) |
DE (2) | DE10242640A1 (de) |
TW (1) | TWI282520B (de) |
WO (1) | WO2004032062A1 (de) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7737988B1 (en) * | 2005-11-14 | 2010-06-15 | Nvidia Corporation | Using font filtering engines for texture blitting |
US7924290B2 (en) * | 2007-05-30 | 2011-04-12 | Nvidia Corporation | Method and system for processing texture samples with programmable offset positions |
US9990748B2 (en) * | 2015-03-18 | 2018-06-05 | Intel Corporation | Corner texel addressing mode |
KR102477265B1 (ko) * | 2015-09-24 | 2022-12-13 | 삼성전자주식회사 | 그래픽스 프로세싱 장치 및 그래픽스 파이프라인의 텍스쳐링을 위한 LOD(level of detail)를 결정하는 방법 |
US10657699B1 (en) * | 2018-12-08 | 2020-05-19 | Arm Limited | Performing texturing operations for sets of plural execution threads in graphics processing systems |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6097397A (en) * | 1997-11-20 | 2000-08-01 | Real 3D, Inc. | Anisotropic texture mapping using silhouette/footprint analysis in a computer image generation system |
US6292193B1 (en) * | 1998-07-30 | 2001-09-18 | Compaq Computer Corporation | Techniques for anisotropic texture mapping using multiple space-invariant filtering operations per pixel |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA1309198C (en) * | 1987-12-10 | 1992-10-20 | Carlo J. Evangelisti | Parallel rendering of smoothly shaded color triangles with anti-aliased edges for a three dimensional color display |
US5651104A (en) * | 1995-04-25 | 1997-07-22 | Evans & Sutherland Computer Corporation | Computer graphics system and process for adaptive supersampling |
JPH09147125A (ja) | 1995-11-22 | 1997-06-06 | Oki Data:Kk | 輪郭線抽出方法と抽出装置 |
US6184893B1 (en) * | 1998-01-08 | 2001-02-06 | Cirrus Logic, Inc. | Method and system for filtering texture map data for improved image quality in a graphics computer system |
US6191793B1 (en) * | 1998-04-01 | 2001-02-20 | Real 3D, Inc. | Method and apparatus for texture level of detail dithering |
JP4021058B2 (ja) | 1998-06-17 | 2007-12-12 | 新潟精密株式会社 | データ補間方式 |
US6700672B1 (en) | 1999-07-30 | 2004-03-02 | Mitsubishi Electric Research Labs, Inc. | Anti-aliasing with line samples |
JP3367509B2 (ja) | 1999-12-16 | 2003-01-14 | 株式会社セガ | 画像生成方法及びこれを用いた画像生成装置 |
US6509902B1 (en) * | 2000-02-28 | 2003-01-21 | Mitsubishi Electric Research Laboratories, Inc. | Texture filtering for surface elements |
-
2002
- 2002-09-13 DE DE10242640A patent/DE10242640A1/de not_active Withdrawn
-
2003
- 2003-09-09 CN CNB038023881A patent/CN1295657C/zh not_active Expired - Fee Related
- 2003-09-09 KR KR1020047010790A patent/KR100623327B1/ko not_active IP Right Cessation
- 2003-09-09 AT AT03798898T patent/ATE315813T1/de not_active IP Right Cessation
- 2003-09-09 EP EP03798898A patent/EP1537538B1/de not_active Expired - Lifetime
- 2003-09-09 AU AU2003264284A patent/AU2003264284A1/en not_active Abandoned
- 2003-09-09 JP JP2004540606A patent/JP4009289B2/ja not_active Expired - Fee Related
- 2003-09-09 DE DE50302209T patent/DE50302209D1/de not_active Expired - Lifetime
- 2003-09-09 WO PCT/EP2003/010017 patent/WO2004032062A1/de active IP Right Grant
- 2003-09-12 TW TW092125206A patent/TWI282520B/zh not_active IP Right Cessation
-
2004
- 2004-08-11 US US10/916,983 patent/US7379072B2/en not_active Expired - Fee Related
-
2007
- 2007-03-22 US US11/690,071 patent/US7924289B2/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6097397A (en) * | 1997-11-20 | 2000-08-01 | Real 3D, Inc. | Anisotropic texture mapping using silhouette/footprint analysis in a computer image generation system |
US6292193B1 (en) * | 1998-07-30 | 2001-09-18 | Compaq Computer Corporation | Techniques for anisotropic texture mapping using multiple space-invariant filtering operations per pixel |
Non-Patent Citations (3)
Title |
---|
EWINS J P ET AL: "Implementing an anisotropic texture filter", COMPUTERS AND GRAPHICS, PERGAMON PRESS LTD. OXFORD, GB, vol. 24, no. 2, April 2000 (2000-04-01), pages 253 - 267, XP004236371, ISSN: 0097-8493 * |
FOURNIER A., FIUME E.: "Constant-Time Filtering with Space-Variant Kernels", SIGGRAPH 88 CONFERENCE, COMPUTER GRAPHICS, vol. 22, no. 4, 1 August 1988 (1988-08-01) - 5 August 1988 (1988-08-05), Atlanta, USA, pages 229 - 238, XP002261979 * |
HECKBERT P S: "SURVEY OF TEXTURE MAPPING", IEEE COMPUTER GRAPHICS AND APPLICATIONS, IEEE INC. NEW YORK, US, vol. 6, no. 11, 1 November 1986 (1986-11-01), pages 56 - 67, XP000002233, ISSN: 0272-1716 * |
Also Published As
Publication number | Publication date |
---|---|
ATE315813T1 (de) | 2006-02-15 |
JP4009289B2 (ja) | 2007-11-14 |
US7924289B2 (en) | 2011-04-12 |
CN1295657C (zh) | 2007-01-17 |
US20050007380A1 (en) | 2005-01-13 |
US7379072B2 (en) | 2008-05-27 |
KR20050027210A (ko) | 2005-03-18 |
JP2006502475A (ja) | 2006-01-19 |
DE10242640A1 (de) | 2004-03-25 |
AU2003264284A1 (en) | 2004-04-23 |
DE50302209D1 (de) | 2006-04-06 |
US20070296731A1 (en) | 2007-12-27 |
EP1537538A1 (de) | 2005-06-08 |
KR100623327B1 (ko) | 2006-09-13 |
TWI282520B (en) | 2007-06-11 |
TW200412546A (en) | 2004-07-16 |
CN1618085A (zh) | 2005-05-18 |
EP1537538B1 (de) | 2006-01-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69534331T2 (de) | Verfahren und Vorrichtung zur Hervorhebung der Einzelheit einer Baumstruktur | |
EP0984397B1 (de) | Verfahren und Vorrichtung zum Eliminieren unerwünschter Stufungen an Kanten bei Bilddarstellungen im Zeilenraster | |
DE69720131T2 (de) | System und Verfahren zur Perspektivetransformation | |
DE60012917T2 (de) | Verfahren und vorrichtung für eine antialiasing-operation auf impliziten kanten | |
DE3315148C2 (de) | ||
DE102005050846A1 (de) | Perspektiveneditierwerkzeuge für 2-D Bilder | |
EP0654778B1 (de) | Verfahren zur Textdarstellung auf Bildschirmgeräten | |
DE3935574A1 (de) | Verfahren zur minimierung der visuellen beeintraechtigung eines schriftbilds | |
DE60009810T2 (de) | Antialiasing mit Abtastzeilen | |
DE102012210521A1 (de) | Unbeschnittene Zeit- und Linsen-Begrenzungen für verbesserte Probentest- Effizienz bei Bild-Rendering | |
DE19806985B4 (de) | Organisationsverfahren für volumetrische Daten, das effiziente Cache-Aufbereitungsbeschleunigungen und einen effizienten Graphik-Hardwareentwurf ermöglicht | |
DE19531392C1 (de) | Verfahren zur Erzeugung einer Graphrepräsentation von Bildvorlagen | |
DE102005035796A1 (de) | System und Verfahren zum Polygon-Glätten beim texturbasierten Volumen-Rendering | |
DE112011105126T5 (de) | Texturkartierungsvorrichtung | |
AT525294A1 (de) | Verfahren zum Erzeugen einer hierarchischen Datenstruktur, hierarchische Datenstruktur sowie Verfahren zum Streamen von dreidimensionalen Objekten | |
EP1386287B1 (de) | Bildverarbeitungsverfahren | |
EP1537538B1 (de) | Verfahren zur festlegung von gewichtungsfaktoren für die farbberechnung eines farbwerts von texeln für einen footprint | |
DE69910980T2 (de) | Antialiasing mit unterabtastung für textur-raender | |
DE69817633T2 (de) | Faltung von Zeilenrasterdarstellungen | |
EP2893510B1 (de) | Verfahren und bildverarbeitungsanlage zum entfernen eines visuellen objektes aus einem bild | |
DE102006042386B4 (de) | Verfahren und Vorrichtung zur Darstellung von Bildern | |
DE60305027T2 (de) | Verfahren zur Bereitstellung eines Vektorbildes mit entfernten versteckten Linien | |
EP1537537A1 (de) | Verfahren zur analyse und modifikation eines footprints | |
DE19948060A1 (de) | Vorrichtung zur Bildverarbeitung und Verfahren zur Kantenverarbeitung | |
DE102021107257A1 (de) | Verfahren und Datenverarbeitungsvorrichtung zum Anzeigen einer Vektorgraphik |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A1 Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW |
|
AL | Designated countries for regional patents |
Kind code of ref document: A1 Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2003798898 Country of ref document: EP |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
WWE | Wipo information: entry into national phase |
Ref document number: 1020047010790 Country of ref document: KR |
|
WWE | Wipo information: entry into national phase |
Ref document number: 20038023881 Country of ref document: CN |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2004540606 Country of ref document: JP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 10916983 Country of ref document: US |
|
WWP | Wipo information: published in national office |
Ref document number: 2003798898 Country of ref document: EP |
|
WWG | Wipo information: grant in national office |
Ref document number: 2003798898 Country of ref document: EP |