TL;DR: This paper addresses the problem of applying textures to animated fluids and introduces a way of blending procedural textures while avoiding classical interpolation artifacts, and proposes a scheme to add and control small scale texture animation amplifying the low resolution simulation.
Abstract: Game and special effects artists like to rely on textures (image or procedural) to specify the details of surface aspect. In this paper, we address the problem of applying textures to animated fluids. The purpose is to allow artists to increase the details of flowing water, foam, lava, mud, flames, cloud layers, etc.Our first contribution is a new algorithm for advecting textures, which compromises between two contradictory requirements: continuity in space and time and preservation of statistical texture properties. It consist of combining layers of advected (periodically regenerated) parameterizations according to a criterion based on the local accumulated deformation. To correctly achieve this combination, we introduce a way of blending procedural textures while avoiding classical interpolation artifacts. Lastly, we propose a scheme to add and control small scale texture animation amplifying the low resolution simulation. Our results illustrate how these three contributions solve the major visual flaws of textured fluids.
TL;DR: This work proposes an algorithm which procedurally determines the texture value at any surface location by aperiodically combining provided patterns according to user-defined controls such as a probability distribution (possibly non stationary).
Abstract: Numerous real-time applications such computer games or flight simulators require non-repetitive high-resolution texturing on large landscapes. We propose an algorithm which procedurally determines the texture value at any surface location by aperiodically combining provided patterns according to user-defined controls such as a probability distribution (possibly non stationary). Our algorithm can be implemented on programmable hardware by taking advantage of the texture indirection ability of recent graphics boards. We use explicit and virtual indirection tables to determine the pattern to apply at each pixel as well as its attributes (displacement, scaling, time...). This provides the programmer with a very high resolution virtual texture with nice properties: Low memory consumption, no periodicity, control of the statistics, numerous control parameters (which can be edited on the fly). Our representation consists of building blocks that we combine in order to illustrate various convenient texture modalities such as aperiodic tiling, sparse convolution, domain transitions and animated textures.
TL;DR: The procedure is designed to support variations in appearance due to tightness of twist, thickness of the bundles twisted together, and the roughness of the fibers.
Abstract: We present a technique for procedurally creating the texture of the twists of thread. The procedure is designed to support variations in appearance due to tightness of twist, thickness of the bundles twisted together, and the roughness of the fibers. The procedural texture of the twist is further shaded to give it the appearance of a typical facet of thread that is visible on woven clothes. We demonstrate the utility of the texture by using it to synthesize texture of woven textiles.
TL;DR: This chapter describes how to construct procedural texture functions in a variety of ways, starting from very simple textures and eventually moving on to quite elaborate ones.
Abstract: Publisher Summary
Texturing is a method of varying the surface properties from point to point in order to give the appearance of surface detail that is not actually present in the geometry of the surface. This chapter describes how to construct procedural texture functions in a variety of ways, starting from very simple textures and eventually moving on to quite elaborate ones. The chapter discusses the major building blocks of procedural textures and the ways in which they can be combined. Two major types of procedural texturing or modeling methods are described: explicit and implicit methods. In explicit methods, the procedure directly generates the points that make up a shape. In implicit methods, the procedure answers a query about a particular point. The most common form of implicit method is the isocurve (in 2D) or isosurface (in 3D) method. In the texturing domain, implicit procedural methods are best for textures that are evaluated during rendering. In both ray tracers and depth buffer renderers, texture samples must be evaluated in an order that is determined by the renderer, not by the texture procedure.
TL;DR: Procedural solid texturing is a powerful tool for production-quality image synthesis Dynamic animated textures like fire and explosions can be represented efficiently as procedural textures Objects sculpted from a textured medium, like wood or stone, can be textured using solid textured as mentioned in this paper.
Abstract: Procedural solid texturing is a powerful tool for production-quality image synthesis Dynamic animated textures like fire and explosions can be represented efficiently as procedural textures Objects sculpted from a textured medium, like wood or stone, can be textured using solid texturing Solid texturing is also easier than surface texturing because it does not require a surface parameterization With the advent of programmable shading hardware in modern graphics accelerators, procedural solid texturing has become a useful tool for real-time graphics elements in video games and virtual environments Procedural solid textures are compact and can be synthesized dynamically on demand They can provide video games and virtual environments with a vast variety of textures that require little additional storage, at a resolution limited only by machine precision This chapter describes how to integrate procedural solid texturing into real-time systems using features already available in current graphics programming libraries These techniques can also be used to create an interactive procedural solid texturing design system with real-time feedback
TL;DR: The chapter describes the most common, quick, and easy cloud texture and discusses a few two-dimensional models that are significant aesthetically.
Abstract: Publisher Summary
This chapter describes various fractal procedural textures serving as models of natural phenomena. They are divided into four elements of the ancients: air, fire, water, and earth. The chapter describes the most common, quick, and easy cloud texture and discusses a few two-dimensional models that are significant aesthetically. One of the simplest and most often used fractal textures is a simple representation of thin, wispy clouds in a blue sky. The fractals can be constructed from any basis function; the basis function that is most often chosen is the Perlin noise function. The composition of noise functions to provide distortion is useful in another aspect of modeling clouds: emulating the streaming of clouds that are stretched by winds. Modeling of the clouds is presented in the chapter on different scales. One of these scales is a distorted large-scale distribution comprising a weighting function, which is applied to smaller-scale cloud features. The undistorted small features correspond to the phenomenon of viscosity, which damps turbulence at small scales. This may serve as the first step in the direction of multifractal models, as the fractal behavior is different at different scales, and therefore may require more than one value or measure to characterize the fractal behavior.
TL;DR: Fractal noise is the most important element used in procedural texturing as discussed by the authors, and it has been extensively studied in the field of texturing from a practical point of view, especially in dealing with texture controls (parameters) that users manipulate.
Abstract: This chapter discusses several aspects of texturing from a practical point of view, especially in dealing with the texture controls (parameters) that users manipulate. Building blocks such as fractal noise functions, color mapping methods, and bump-mapping related to nearly every texture are reviewed. Fractal noise is the most important element used in procedural texturing. The chapter discusses some enhancements and modifications to the basic noise algorithm, mostly to produce high-quality and easy-to-use noise. Most textures use a paradigm that computes a value such as fractal noise and then uses this value to decide what color to apply to one's object. In simpler textures this added color is always of a single shade, and the noise value is used to determine some “strength” from 0 to 1, which is used to determine how much to cross-fade the original surface color with the applied texture color. This mapping allows the user quite a bit of control over the applied color, and its simplicity makes it both easy to implement and easy for the user to control even with raw numeric values as inputs.
TL;DR: The proposed parametric texture shader language successfully enables a third-party programmer to define his own procedural texture and takes different input and output from traditional shading language to express texture, material, color and brightness of surface.
Abstract: Proposes a Shader based multiple pass rendering model for computer-generated non-photorealistic rendering system. Techniques concerning coordination between passes and illustration of textures and tone through strokes were detailedly described. The proposed parametric texture shader language successfully enables a third-party programmer to define his own procedural texture. The proposed approach takes different input and output from traditional shading language to express texture, material, color and brightness of surface. Furthermore, by combining existing texture Shaders, the expressive ability of the proposed system is significantly enhanced. Examples illustrated in pen-and-ink show the multi-pass model's strong capability for presenting 3D scenes.