2D Texture Refinement Using Procedural Functions E. Clua 1 , M. Dreux 2 and M. Gattass 3 Pontificia Universidade Católica do Rio de Janeiro – PUC-Rio 1, 3 Computer Science Department 2 Mechanical Engineering Department 1 esteban@inf.puc-rio.br 2 dreux@mec.puc-rio.br 3 gattass@tecgraf.puc-rio.br Abstract In Computer Graphics, aliasing is a problem which is always present when discrete elements are mapped to continuous functions or vice-versa. Although there is no general solution for this kind of problem, there are many techniques that aim at reducing the effects of aliasing. This work first discusses how interpolation methods are usually applied in order to correct this problem and shows the limitations of this techniques. The article presents then another solution for this problem, that can be used together with the interpolation and consists at increasing details to the texture, making use of procedural functions. Keywords: Procedural functions, texture- mapping, interpolation. 1 Introduction During texture mapping, usually using an image, there are some problems related to the texture sampling due to the fact that a 2D discrete function is being mapped onto a 3D continuous surface. In such cases there are aliasing artifacts caused by the image sampling. There are some antialiasing techniques that reduce this problem, since it is not possible to completely solve it. This problem can be stated as follows: given a set of points P = { P 1 , P 2 , ..., P i }, i > 1, belonging to a continuous 3D surface S, with all points within a sphere of radius ε , a discrete function f (e.g. an image mapping) returns the same result for all elements of P, producing jaggies. This problem increases when working with low-resolution mapping images. A technique to reduce this problem makes use of interpolation methods. Several interpolation methods can be used, such as linear, spline, etc. This work also presents a new interpolation method that better suits the problem. 2 Interpolation A texture function f to be mapped onto a surface has U = ( u 1 , u 2 , ..., u i ) as its input parameters, where i is the dimension of the domain of f, and in the case of a 2D image i = 2. The output value of f is the mapping value, e.g. the color. In the case of f being a discrete function within the domain, U has to be approximated to a valid number, e.g. only integer values. The linear interpolation averages the distance from a desired point to surrounding valid points, rather than simply using the output of the nearest valid point: Let: U 1 = (u 1 , u 2 , ..., u i ) U 2 = (u 1 , u 2 , ..., u i ) ... U k = (u 1 , u 2 , ..., u i ) and m 1 = | U - U 1 | m 2 = | U - U 2 | ... m k = | U - U k | CLUA, E. G. ; DREUX, M. ; GATTASS, M. . TEXTURE REFINEMENT USINGPROCEDURAL FUNCTIONS. In: Information Visualization, 1999. Proceedings of Information Visualization, 1999. p. 452- 456.