TL;DR: This paper shows that using FPGAs, procedural textures can be synthesized at high speed, with a small hardware cost, making texture mapping of 3-D textures and parameterized textures feasible in hardware.
Abstract: Procedural textures can be effectively used to enhance the visual realism of computer rendered images. Procedural textures can provide higher realism for 3-D objects than traditional hardware texture mapping methods which use memory to store 2-D texture images. This paper proposes a new method of hardware texture mapping in which texture images are synthesized using FPGAs. This method is very efficient for texture mapping procedural textures of more than two input variables. By synthesizing these textures on the fly, the large amount of memory required to store their multidimensional texture images is eliminated, making texture mapping of 3-D textures and parameterized textures feasible in hardware. This paper shows that using FPGAs, procedural textures can be synthesized at high speed, with a small hardware cost. Data on the performance and the hardware cost of synthesizing procedural textures in FPGAS are presented. This paper also presents, the FPGA implementations of two Perlin noise based 3-D procedural textures.
TL;DR: The objective of this research is to adapt a halftoning technique to 3D scene information and thus to enhance the display of computer generated 3D scenes by using the geometry, position, and illumination information to control the halftoned texture.
Abstract: The display of images on binary output hardware requires a halftoning step. Conventional halftoning algorithms approximate image values independently from the image content and often introduce artificial texture that obscures fine details. The objective of this research is to adapt a halftoning technique to 3D scene information and thus to enhance the display of computer generated 3D scenes. Our approach is based on the control of halftoning texture by the combination of ordered dithering and error diffusion techniques. We extend our previous work and enable a user to specify the shape, scale, direction, and contrast of the halftoning texture using an external buffer. We control texture shape by constructing a dither matrix from an arbitrary image or a procedural texture. Texture direction and scale are adapted to the external information by the mapping function. Texture contrast and the accuracy of tone reproduction are varied across the image using the error diffusion process. We halftone images of 3D scenes by using the geometry, position, and illumination information to control the halftoning texture. Thus, the texture provides visual cues and can be used to enhance the viewer's comprehension of the display.
TL;DR: In this paper, a procedural solid texturing system using a parameterized function capable of reproducing the most common procedural solid textures, specifically wood, marble, clouds and fire, is presented.
Abstract: A procedural solid texturing system which uses a parameterized function capable of reproducing the most common procedural solid textures, specifically wood, marble, clouds and fire (32). This model is simple enough to be implemented in hardware, and can be realized in VLSI with as little as 100,000 gates. The invention also includes a method for antialiasing the parameterized procedural textures (34, 36). The antialiasing includes an expression for the necessary box filter width, a technique for efficiently box filtering the procedural texture by either MIP mapping the color table or using a summed area color table (38).
TL;DR: This paper proposes a way to implement Perlin texture using a real-time graphics library like OpenGL, which is based on a per-pixel calculation.
Abstract: Perlin's procedural solid textures provide for high quality rendering of surface appearance like surface aspect such as marble, wood or rock. This method does not suffer many of the flaws that are associated with classical image mapped textures methods, such as distortion, memory size, bad continuity through objects. Being based on a per-pixel calculation, they were however limited up to now to non-real-time quality rendering as is ray-tracing. In this paper, we propose a way to implement Perlin texture using a real-time graphics library like OpenGL.
TL;DR: The SIGGRAPH 97 Education Slide set covers not only the techniques of two and three-dimensional texture mapping, but procedural textures, bump mapping, and environment mapping as well, and discusses aliasing in texture maps, and what can be done to counteract it.
Abstract: Visually demonstrating the behavior of texture mapping is beneficial to both computer science and art students. For computer science students it can serve as prelude to delving into the mathematical underpinnings of the topic, while in an art class it can be the main vehicle of explanation for students learning to use a rendering package as a medium of creative expression. The SIGGRAPH 97 Education Slide set covers not only the techniques of twoand three-dimensional texture mapping, but procedural textures, bump mapping, and environment mapping as well. In addition it discusses aliasing in texture mapping, and what can be done to counteract it.
TL;DR: In this paper, the initial texture is scaled using an algorithm wherein each of the initial pixels corresponds to a group of final pixels, and the scaling algorithm creates interpolated values for the final pixels in each group.
Abstract: Apparatus and method of rendering a texture comprises computing a set of initial pixels to produce an initial version of the texture, which has a low resolution as compared to a final version of the texture. The initial version is scaled using an algorithm wherein each of the initial pixels corresponds to a group of final pixels. The scaling algorithm creates interpolated values for the final pixels in each group. Actual values for the final pixels are computed following a predetermined ordering in which the final pixels in each group are ordered in accordance with a first pseudo-random sequence, and the groups are also ordered in accordance with a second pseudo-random sequence. The interpolated values of the final pixels are progressively replaced with the computed, actual values to arrive at the final version of the texture. An intermediate version of the texture, which includes the set of initial pixels plus a portion of the actual values computed for the final pixels, is provided to a graphics device for texture mapping in accordance with the progressive rendering process.
TL;DR: This project checked that how many bits were required to produce the image without degrading original by simulation and confirmed that they could have good textured image even with small number of bit width.
Abstract: The effects of the texture coordinate precision to the image for procedural texture mapping is presented. In our project, we are trying to implement procedural solid texture mapping by hardware. By reducing the number of parameters for our texture mapping model and precision of texture coordinate, we can implement procedural texture mapping with small number of gates. We checked that how many bits were required to produce the image without degrading original by simulation and confirmed that we could have good textured image even with small number of bit width.
TL;DR: This paper presents a method for texturing any surface using texture samples while avoiding distortion, discontinuity and repetitiveness, and proposes solutions to synthesize textures samples having the continuity property in the case of Perlin and Worley procedural textures.
Abstract: This paper presents a method for texturing any surface using texture samples while avoiding distortion, discontinuity and repetitiveness. The principle consists in replacing global parameterization of the surface by a serie of local parameterization, and reporting the continuity constraints to the content. For doing this, we make a set of triangular samples whose borders are compatible, we build a mesh of quasi-equilateral triangles on the surface, we project these triangles on the surface using geodesics, and we parameterize each triangular texture patch. We propose solutions to synthesize textures samples having the continuity property in the case of Perlin and Worley procedural textures, and to draw or edit images.
TL;DR: An algorithm that uses strokes to render 3D computer graphics scenes in a stylized manner suggesting the complexity of the scene without representing it explicitly is presented.
Abstract: Artists and illustrators can evoke the complexity of fur or vegetation with relatively few well-placed strokes. We present an algorithm that uses strokes to render 3D computer graphics scenes in a stylized manner suggesting the complexity of the scene without representing it explicitly. The basic algorithm is customizable to produce a range of effects including fur, grass and trees, as we demonstrate in this paper and accompanying video. The algorithm is implemented within a broader framework that supports procedural stroke-based textures on polyhedral models. It renders moderately complex scenes at multiple frames per second on current graphics workstations, and provides some interframe coherence. CR
TL;DR: A new model is introduced that yields a parameterized function capable of synthesizing the most common procedural solid textures, specifically wood, marble, clouds and fire, which is simple enough to be implemented in hardware, and can be realized in VLSI with as little as 100,000 gates.
Abstract: Procedural solid texturing was introduced fourteen years ago, but has yet to find its way into consumer level graphics hardware for real-time operation. To this end, a new model is introduced that yields a parameterized function capable of synthesizing the most common procedural solid textures, specifically wood, marble, clouds and fire. This model is simple enough to be implemented in hardware, and can be realized in VLSI with as little as 100,000 gates. The new model also yields a new method for antialiasing synthesized textures. An expression for the necessary box filter width is derived as a function of the texturing parameters, the texture coordinates and the rasterization variables. Given this filter width, a technique for efficiently box filtering the synthesized texture by either mip mapping the color table or using a summed area color table are presented. Examples of the antialiased results are shown.