Realistic, Hardware-Accelerated Shading and Lighting

Total Page:16

File Type:pdf, Size:1020Kb

Realistic, Hardware-Accelerated Shading and Lighting Realistic, Hardware-accelerated Shading and Lighting Wolfgang Heidrich∗ Hans-Peter Seidel Max-Planck-Institute for Computer Science Abstract be inappropriate a long time ago [4]. Moreover, techniques for vi- sualizing non-diffuse global illumination are not widely applied, With fast 3D graphics becoming more and more available even on although several researchers have worked on such methods. low end platforms, the focus in hardware-accelerated rendering is In this paper, we present a class of techniques to improve the beginning to shift towards higher quality rendering and additional quality of shading and lighting in hardware-accelerated computer functionality instead of simply higher performance implementa- graphics. We start with algorithms for high-quality local illumina- tions based on the traditional graphics pipeline. tion using alternative lighting models such as the one by Torrance In this paper we present techniques for realistic shading and and Sparrow [39]. This approach is based on an analytic factoriza- lighting using computer graphics hardware. In particular, we dis- tion of the respective model into bivariate terms that can be rep- cuss multipass methods for high quality local illumination using resented as texture maps. We then discuss methods for visualiz- physically-based reflection models, as well as techniques for the in- ing non-diffuse global illumination solutions based on environment teractive visualization of non-diffuse global illumination solutions. maps. We introduce both a Fresnel term for simulating reflections These results are then combined with normal mapping for increas- in non-metallic objects, as well as a pre-filtering method for envi- ing the visual complexity of rendered images. ronment maps. To this end, we also review an alternative parameter- Although the techniques presented in this paper work at interac- ization for environment maps that we recently introduced [20], and tive frame rates on contemporary graphics hardware, we also dis- that allows us to use one map for all viewing positions and direc- cuss some modifications of the rendering pipeline that help to fur- tions. These techniques are finally combined with normal mapping ther improve both performance and quality of the proposed meth- to increase the visual complexity of the scene. ods. Although the techniques presented here produce renderings at interactive frame rates on contemporary graphics hardware, a more CR Categories: I.3.1 [Computer Graphics]: Hardware direct support by future hardware could be achieved through some Architecture—Graphics processors; I.3.3 [Computer Graphics]: modifications of the rendering pipeline. These will be outlined at Picture/Image Generation—Bitmap and frame buffer operations; the end of this paper. I.3.6 [Computer Graphics]: Methodology and Techniques— Standards I.3.7 [Computer Graphics]: Three-Dimensional Graph- ics and Realism—Color, Shading, Shadowing and Texture 2 Previous Work Keywords: reflectance functions, illumination effects, shading, texture mapping, rendering hardware, frame buffer techniques Most of today’s graphics hardware uses either the Phong [7], or the Blinn-Phong [4] illumination model. Many other, physically more plausible models have been proposed, but have so far only 1 Introduction been used in software rendering systems or by hardware that has programmable shaders, such as [30]. The most important of these Until recently, the major concern in the development of new graph- models are the ones by Torrance and Sparrow [39] and Cook and ics hardware has been to increase the performance of the tradi- Torrance [11]. The Torrance-Sparrow model uses a Gaussian micro tional rendering pipeline. Today, graphics accelerators with a per- facet distribution function and a geometric attenuation factor based formance of several million textured, lit triangles per second are on the assumption of v-shaped grooves on the surface. Other dis- within reach even for the low end. As a consequence, we see that tribution functions have been proposed, for example, by Beckmann the emphasis is beginning to shift away from higher performance and Spizzichino [3], while Smith [36] presented a more accurate towards higher quality renderings and an increased feature set that geometry term under the assumption of a Gaussian facet distribu- makes graphics hardware applicable to more demanding applica- tion. He et al. [18] proposed the HTSG model based directly on the tions. Kirchhoff theory of electromagnetic fields. This model is capable Despite this development, most current graphics hardware still of simulating even more physical effects, although at significantly only uses a local Phong illumination model, which was shown to increased computational cost. In addition to the isotropic models listed above, anisotropic mod- ∗Computer Graphics Group, Im Stadtwald, 66123 Saarbruck¨ en, Ger- els have also been proposed. Banks [1] described a very simple many, fheidrich,[email protected] model based on results from the illumination of lines in 3-space, while Cabral et al. [8] and Poulin and Fournier [32] use simula- tions of different kinds of micro geometry. Ward [42] modified the Torrance-Sparrow model by using an anisotropic micro facet distri- bution function. Several different methods for interactively visualizing non- diffuse global illumination have been suggested in the literature. Environment maps as a means of computing a mirror term were proposed by Blinn [6], while the spherical parameterization used by most graphics hardware today was presented by Haeberli and Se- gal [16]. Diefenbach [13] demonstrated a multipass method for ren- dering mirror and glossy reflections on planar surfaces. Ofek and ➞ Rappoport [29] interactively compute mirror reflections off curved n reflectors by warping the reflected geometry. Miller et al. [28] pro- pose an approach where the glossy reflection on a surface is stored ➞ in a compressed light field, and Walter et al. [41] place virtual lights h in the scene to simulate glossy reflections. Sturzlinger¨ and Bas- ➞ tos [38] employ multipass rendering to visualize the result of a pho- v ton tracing algorithm. Finally, in some work developed in parallel δ to ours, Bastos et al. [2] use textures and filtering techniques to ren- β der reflections in planar objects based on physically correct reflec- α ➞ tion models, and Cabral et al. [9] propose an environment mapping l technique for glossy reflections not unlike ours. θ θ ➞ Bump maps, originally introduced by Blinn [5], have recently t found their way into hardware-accelerated rendering. Some re- searchers [14, 26, 31] built or proposed dedicated graphics hard- φ ➞ ware to implement bump maps, while others [25] use multipass h' techniques to realize bump maps with traditional graphics hard- ware. In contrast to bump maps, which define the variation of the surface normal in terms of a bump height, normal maps directly Figure 1: The local geometry of reflection at a rough surface. specify the direction of the surface normal. On the one hand, nor- mal maps are less expensive to compute than bump maps, and can also be generated more easily, for example by measurements [33], This is true for all widely used choices of distribution functions, in- or surface simplification [10]. On the other hand, normal maps are cluding a Gaussian distribution of δ or of the surface height, as well attached to the underlying geometry, while bump maps can be ap- as the distribution by Beckmann [3]. Since the roughness is gen- plied to any surface. erally assumed to be constant for a given surface, this is again a univariate function D(cos δ). Finally, when using the geometry term G proposed by 3 Alternative Lighting Models for Smith [36], which describes the shadowing and masking of light Local Illumination for surfaces with a Gaussian micro facet distribution, this term is a bivariate function G(cos α, cos β). In this section we describe techniques for applying physically ac- The contribution of a single point- or directional light source curate reflection models to the computation of local illumination with intensity Ii to the intensity of the surface is given as Io = ~ x ~ in hardware-based rendering. Rather than replacing the standard fr(l ~v) cos α Ii. The term fr( ; l ~v) cos α can be split into two bi!variate parts· F (cos θ) D(cos δ!) and G(cos α, cos β)=(π Phong model by another single, fixed model, we seek a method that · · allows us to utilize a wide variety of different models so that the cos β), which are then stored in two independent 2-dimensional most appropriate model can be chosen for each application. lookup tables. To achieve this flexibility without introducing procedural shad- Regular 2D texture mapping can be used to implement the ing, a sample-based representation of the BRDF seems most lookup process. If all vectors are normalized, the texture coordi- promising. However, a faithful sampling of 3D isotropic or 4D nates are simple dot products between the surface normal, the view- anisotropic BRDFs requires too much storage to be useful on con- ing and light directions, and the micro facet normal. These vectors temporary graphics hardware. Wavelets or spherical harmonics and their dot products can be computed in software and assigned as could be used to store this data more compactly, but these represen- texture coordinates to each vertex of the object. tations do not easily lend themselves to hardware implementations. The interpolation of these texture coordinates across a polygon corresponds to a linear interpolation of the vectors without renor- malization. Since the reflection model itself is highly nonlinear, 3.1 Isotropic Models this is much better than simple Gouraud shading, but not as good as We propose a different approach. It turns out that most lighting evaluating the illumination in every pixel (Phong shading). The in- models in computer graphics can be factored into independent com- terpolation of normals without renormalization is commonly known ponents that only depend on one or two angles. Consider, for ex- as fast Phong shading.
Recommended publications
  • Lighting and Shading
    Chapter 8 Lighting and Shading When we think that we \see" an object in the real world, we are not actually seeing the object itself. Instead, we are seeing light either emitted from or reflected off of that object. The pattern of the light reaching our eyes allows us to reconstruct, in our minds, the form of the object that we are looking at. Consequently, in order to simulate this image formation process in a computer, we need to be able to model lights, materials and geometry. Lights provide a source of illumination, materials determine how light is reflected off of a surface made of this material, and geometry provides the shape of the surface. 47 48 CHAPTER 8. LIGHTING AND SHADING 8.1 Point and parallel lights In the real world, all lights have a finite size and shape, and a location in space. However, we will see later that modeling the surface area of the light in a lighting algorithm can be difficult. It turns out to be much easier, and generally quite effective, to model lights as either being geometric points or as being infinitely far away. A point light has a single location in 3D space, and radiates light equally in all directions. An infinite light is considered to be so far away that all of its light rays are parallel to each other. Thus, an infinite light has no position, but there is a fixed direction for all of its rays. Such a light is sometimes called a parallel light source. uL xL cL cL Point Light Parallel Light A point light is specified by its position xL, and a parallel light is specified by its light direction vector uL.
    [Show full text]
  • The Magic Lantern Gazette a Journal of Research Volume 26, Number 1 Spring 2014
    ISSN 1059-1249 The Magic Lantern Gazette A Journal of Research Volume 26, Number 1 Spring 2014 The Magic Lantern Society of the United States and Canada www.magiclanternsociety.org 2 Above: Fig. 3 and detail. Right and below: Fig. 5 Color figures (see interior pages for complete captions) Cover Article 3 Outstanding Colorists of American Magic Lantern Slides Terry Borton American Magic-Lantern Theater P.O. Box 44 East Haddam CT 06423-0044 [email protected] They knocked the socks off their audiences, these colorists did. They wowed their critics. They created slides that shimmered like opals. They made a major contribution to the success of the best lantern presentations. Yet they received little notice in their own time, and have received even less in ours. Who were these people? Who created the best color for the commercial lantern slide companies? Who colored the slides that helped make the best lecturers into superstars? What were their secrets—their domestic and foreign inspirations, their hidden artistic techniques—the elements that made them so outstanding? What was the “revolution” in slide coloring, and who followed in the footsteps of the revolutionaries? When we speak of “colorists” we are usually referring to The lantern catalogs offered hundreds of pages of black and those who hand-colored photographic magic lantern slides white images—both photographs and photographed illustra- in the years 1850–1940. Nevertheless, for two hundred tions—to be used by the thousands of small-time showmen years, from the 1650s, when the magic lantern was in- operating in churches and small halls.
    [Show full text]
  • Shading Models
    15-462, Fall 2004 Nancy Pollard Mark Tomczak Shading Shading Concepts Shading Equations Lambertian, Gouraud shading Phong Illumination Model Non-photorealistic rendering [Shirly, Ch. 8] Announcements • Written assignment #2 due Tuesday – Handin at beginning of class • Programming assignment #2 out Tuesday Why Shade? • Human vision uses shading as a cue to form, position, and depth • Total handling of light is very expensive • Shading models can give us a good approximation of what would “really” happen, much less expensively • Average and approximate Outline • Lighting models (OpenGL oriented) – Light styles – Lambertian shading – Gouraud shading • Reflection models (Phong shading) • Non-Photorealistic rendering Common Types of Light Sources • Ambient light: no identifiable source or direction • Point source: given only by point • Distant light: given only by direction • Spotlight: from source in direction – Cut-off angle defines a cone of light – Attenuation function (brighter in center) • Light source described by a luminance – Each color is described separately T – I = [Ir Ig Ib] (I for intensity) – Sometimes calculate generically (applies to r, g, b) Ambient Light • Intensity is the same at all points • This light does not have a direction (or .. it is the same in all directions) Point Source • Given by a point p0 • Light emitted from that point equally in all directions • Intensity decreases with square of distance One Limitation of Point Sources • Shading and shadows inaccurate • Example: penumbra (partial “soft” shadow) Distant
    [Show full text]
  • Two-Color Double-Cloth Development in Alignment with Subtractive CMYK Color Theory by Deploying Digital Technology
    Volume 11, Issue 2, 2020 Two-color Double-cloth Development in Alignment with Subtractive CMYK Color Theory by Deploying Digital Technology Ken Ri Kim, Lecturer, Loughborough University Trence Kavanagh, Professor, Loughborough University, United Kingdom ABSTRACT This study aims to introduce new aesthetic values of modern double-cloth by resolving the current restriction in woven textile coloration. Previously, realizing pictorial images on both sides of a fabric was experimented with two weft yarns and further possibility was suggested to extend an applicable number of weft yarns for which a prototype of two-color double-cloth was tested and fabricated by employing four weft yarns. In this study, therefore, reproduction of highly complicated patterns in a two-color shading effect is aimed to further develop the current double- cloth design capability. The core principle lies on weave structure design to interweave two sets of warps and wefts into separate layers whilst two distinctive images are designed in alignment with CMYK color theory to enlarge a feasible weave color scope by using the subtractive primary yarn colors. Details of digital weave pattern design and weave structure development are explained based on empirical experiment results. Keywords: Two-color double-cloth, digital weave pattern design, subtractive color theory, double- cloth weave structure, new color expression Introduction number of color resources in weft is also Digital technology employed in modern constrained (Watson & Grosicki, 1997). As a weaving greatly enhanced production result, the color accuracy level to be able to efficiency and convenience (Ishida, 1994). In correspond to high-quality imagery designs modern digital weaving, however, an has been highly limited.
    [Show full text]
  • Dental Lab White Paper.Pdf
    LIGHTING LABS DENTAL INDUSTRY’S SECRET ASSET Dental laboratories place high demands on light quality. The LED luminaire TANEO and the efficient TEVISIO magnifier are ideally suited for the needs of a dental laboratory workplace. High light quality The advanced reflection and light control technology produces a diffused, glare- free, even light, relieving the technician’s eyes from strain and fatigue. Lenses can be customized with a choice of the clear prismatic lens or a more translucent style, according to preference. Custom capabilities Dimming capabilities with memory function allow the light intensity to be adapted to the visual task at hand. TANEO also has a state-of-the-art arm system for user-friendly handling. It is easy to adjust, yet remains firmly in place. The most optimal setting can be locked if required. High-quality LED technology Compared with conventional fluorescents delivering the same light output, TANEO consumes 30% less energy thanks to its technically advanced LED technology and intelligent thermal management. Moreover, the long service life of the LEDs ensures up to 50,000 or more hours of maintenance-free operation. TANEO ensures ideal viewing conditions for the laboratory delivering light output of up to 3600 lux and color temperature of 5000K. With a color rendering index of 90 using the translucent lens, colors can be measured and compared, showing contrasts and shading especially well. 2 TANEO offers a robust aluminum arm system designed for years of trouble-free versatility. The spring-balanced arm can be effortlessly adjusted into any position and offers complete rotation without exposed springs or hardware.
    [Show full text]
  • Height and Gradient from Shading
    Massachusetts Institute of Technology The Artificial Intelligence Laboratory A.I. Memo No. 1105A May 1989 Height and Gradient from Shading Berthold K.P. Horn Abstract: The method described here for recovering the shape of a surface from a shaded image can deal with complex, wrinkled surfaces. Integrability can be enforced easily because both surface height and gradient are represented (A gra- dient field is integrable if it is the gradient of some surface height function). The robustness of the method stems in part from linearization of the reflectance map about the current estimate of the surface orientation at each picture cell (The reflectance map gives the dependence of scene radiance on surface orientation). The new scheme can find an exact solution of a given shape-from-shading prob- lem even though a regularizing term is included. The reason is that the penalty term is needed only to stabilize the iterative scheme when it is far from the correct solution; it can be turned off as the solution is approached. This is a reflection of the fact that shape-from-shading problems are not ill-posed when boundary conditions are available, or when the image contains singular points. This paper includes a review of previous work on shape from shading and photoclinometry. Novel features of the new scheme are introduced one at a time to make it easier to see what each contributes. Included is a discussion of im- plementation details that are important if exact algebraic solutions of synthetic shape-from-shading problems are to be obtained. The hope is that better perfor- mance on synthetic data will lead to better performance on real data.
    [Show full text]
  • Binary Shading Using Appearance and Geometry
    Authors Draft - Final version published in COMPUTER GRAPHICS forum Binary Shading using Appearance and Geometry Bert Buchholz+ Tamy Boubekeur+ Doug DeCarlo†;∗ Marc Alexa∗ + Telecom ParisTech - CNRS LTCI ∗ TU Berlin † Rutgers University Abstract In the style of binary shading, shape and illumination are depicted using two colors, typically black and white, that form coherent lines and regions in the image. We formulate the problem of assigning colors in the rendered image as an energy minimization, computed using graph cut on the image grid. The terms of this energy come from two sources: appearance (shading) and geometry (depth and curvature). Our contributions are in the use of geometric information in determining colors, and how this information is incorporated into a graph cut approach. This optimization yields boundaries between black and white regions that tend towards being shorter and to run along geometric features like creases. We show a range of results, and demonstrate that this approach produces more coherent images than simpler approaches that make local decisions when assigning colors, or that do not use geometry. Categories and Subject Descriptors (according to ACM CCS): I.3.3 [Computer Graphics]: Picture/Image Generation; I.3.7 [Computer Graphics]: Three-Dimensional Graphics and Realism: Color, shading, shadowing, and texture back rendering of geometric features. As expected, large black or white regions in the drawing correspond to low and high levels of illumination, respectively. Furthermore, high local 1. Introduction contrast in illumination can override the absolute illumina- Depiction of an object requires at least one foreground and tion levels. For instance, a coherent area which is darker one background color.
    [Show full text]
  • Discover More Information in Our Pure Undertones Flyer
    PURE UNDERTONES A sulfur bottoming system that brings a new layer of color creativity to your aniline-free* indigo denim THE ARCHROMA WAY TO A SUSTAINABLE WORLD PURE UNDERTONES Performance components of the system Denisol® Pure Indigo 30 liq Dekol® SN liq – chelating agent Pre-reduced Indigo Primasol® NF liq – wetting & • Aniline-free* indigo penetrating agent • This product has received Setamol® WS p – dispersing agent the Cradle to Cradle Products • Best in class indigo dyeing Innovation Institute’s Gold Level auxiliaries Material Health Certificate • These products have a Cradle • Same performance to Cradle material assessment as regular indigo statement, which permits its • Manufactured in our award- use in a Cradle to Cradle Certified winning Jamshoro certification at GOLD level production facility (Pakistan) Reducing Agent D p – reducing agent Leonil® EHC liq c – wetting agent • Selected dyeing auxiliaries Diresul® Smartdenim Blue liq & compatible with Diresul® RDT Diresul® Ocean Blues liq range sulfur dyes Pre-reduced sulfur dye selection for unique bottoming effects • These products have received the Cradle to Cradle Products Innovation Institute‘s Gold Level Material * Below limits of detection according Health Certificate to industry standard test methods PURE UNDERTONES Main benefits in a nutshell • Safe products from a reliable global ‘SAFE’ WITH: SAFE partner who applies international Archroma PURE UNDERTONES system safety standards ® • Complete denim package of dyes and dyeing auxiliaries that ensures ENHANCED consistency
    [Show full text]
  • YEAR 1: Elements of Art: Colour
    YEAR 1: Elements of Art: Colour Contents Include: Primary and Secondary Colours Warm and Cool Colours A Study of a Famous Artist Please Note: The activities included in this pack are suggestions only. Teachers should adapt the lessons to ensure they are pitched correctly for their pupils. For an outline of the content included in Year 1 Visual Arts, see the Visual Arts Sequence. Lesson 1: Introduction to Colour This lesson should be used to establish what the children know about colour. Children will learn the three primary colours (yellow, red and blue) and will begin to explore colour mixing. By the end of this lesson, children should be able to name the three primary colours and should have some ideas about how to mix primary colours to make various secondary colours, for example, mixing red and yellow to make orange. The colours red, yellow and blue are called primary colours in art because they cannot be made by mixing together any other colours. When two primary colours are mixed together, the colour created is called a secondary colour. In art, some colours can be used to create feelings of warmth (e.g. red, yellow or orange) or feelings of coldness (blue, green or grey). The works of art included in What Your Year 1 Child Needs to Know can be used to discuss this. See page 155-159 of What your Year 1 Child Needs to Know Learning Objective Core Knowledge Activities for Learning Related Assessment Questions Vocabulary Give children a blank piece of paper and a range of What can you tell me To show what I know To know that the primary coloured paints.
    [Show full text]
  • Illumination and Shading Illumination (Lighting)
    Illumination and Shading Illumination (Lighting) Model the interaction of light with surface points to determine their final color and brightness OpenGL computes illumination at vertices illumination Shading Apply the lighting model at a set of points across the entire surface Shading Illumination Model The governing principles for computing the illumination A illumination model usually considers: Light attributes (light intensity, color, position, direction, shape) Object surface attributes (color, reflectivity, transparency, etc) Interaction among lights and objects (object orientation) Interaction between objects and eye (viewing dir.) Illumination Calculation Local illumination: only consider the light, the observer position, and the object material properties θ Example: OpenGL Illumination Models Global illumination: take into account the interaction of light from all the surfaces in the scene object 4 object 3 object 2 object 1 Example: Ray Tracing (CIS681) Basic Light Sources sun Light intensity can be Point light Directional light independent or dependent of the distance between object and the light source Spot light Simple local illumination The model used by OpenGL – consider three types of light contribution to compute the final illumination of an object Ambient Diffuse Specular Final illumination of a point (vertex) = ambient + diffuse + specular Ambient light contribution Ambient light (background light): the light that is scattered by the environment A very simple approximation of global illumination object
    [Show full text]
  • Elements F17 Study Guide
    Elements Of Art Study Guide General • Elements of Art- “tools” artists use to create artwork; Line, shape, color, texture, value, space, form • Composition- the arrangement of elements of art to create a balanced unified piece of artwork • Design- the act of planning and arranging the elements of art in a piece of artwork • Outline- the line that forms the edge or any shape or form; also called contour lines • Overlap- to partly or completely cover one shape or form with another; can be used to show distance in artwork • Pattern- repetition of an element (or elements) in a work of artwork • Proportion- size differences Color • Color- Hue; color is created by the quality of light it reflects. Color has 3 properties; hue, value (shade (black), tint (white), tone (grey)), intensity (Bright vs. Dull) • Color Wheel- circular chart that illustrates progression through the color spectrum and relationships between colors • Black- the absence of ALL color • White- presence of ALL colors • Intensity- Bright vs. Dull • Primary Colors- Red, Yellow, Blue; colors from which all other colors are created. The primary colors cannot be made by mixing other colors together • Secondary Colors- Orange, Green and Violet; a color created by mixing 50% of one primary color and 50% of another primary color 50% red + 50% yellow = orange 50% yellow + 50% blue = green 50% red + 50% blue = violet • Tertiary Colors- colors that can be found between a primary color and a secondary color; these are created by mixing primary color with a secondary color (75% red + 25% orange= red-orange or mixed by Using 75% of a primary color and 25% of another primary color 75% red + 25% yellow= red-orange 25% red + 75% yellow= yellow- orange • Hue- another word for color • Intensity- the brightness or dullness of a color.
    [Show full text]
  • Technical Bulletin D-Core Thread Dyed As Indigo Used
    TECHNICAL BULLETIN D-CORE ® THREAD DYED AS INDIGO USED FOR EMBROIDERY March 25, 2009 (updated Jan. 11, 2011) D-Core® Indigo dyed threads were designed to be used as Seaming Threads in denim applications so the thread would wash-down similar to the indigo dyed denim it is sewn into. D-Core® Indigo is made by dyeing the cotton wrapper with actual Indigo dyes which are, by design, less stable and color fast. The result after package dyeing are cones that may have varying degrees of indigo shading prior to sewing and laundering, which is normal for indigo dyed threads. D-Core® Indigo dyed threads offer unique wash down properties, similar to what would be expected with the denim fabrics sewn into. Customer’s using Indigo should always test the threads under the wash process that production would be exposed to assure satisfactory end-results will be obtained. Customers have started using D-Core® Indigo as an embroidery thread, desiring the same type of wash-down appearance as with seaming applications where Indigo threads have been used for many years. However, it has been observed in isolated incidents where the embroidery pattern using D-Core® Indigo gave less than satisfactory results due to some inconsistencies in the wash-down throughout the pattern or from jean to jean. This occurs more on embroidery patterns because there is a concentration of stitches in a relatively small area. This concentration of stitches and the increased amount of Indigo dyes which may be trapped in the pattern and may cause the threads not to wash down consistently and will Before Bad Good also become more subject to the potential for "Cross Staining".
    [Show full text]