Creating Digital Texture

A digital material is an abstract visual representation of a material or texture. It can either strive to accurately represent a physical material or as is done within this method, remain abstract when it comes to the material as a whole but strive for physical accuracy in each property of itself. For this method a digital software called Substance Designer is used. It uses greyscale bitmap images of shapes and patterns that are combined and blended using different image editing tools into a texture function, that then can be altered with different inputs in a similar way as a Grasshopper function. The output from Substance is different bitmaps that can be used by for example a rendering engine.

This method for working with texture involves building up texture in layers of separate patterns or properties. The different maps contain different aspect of a texture that is used by a rendering engine to create an image of a texture. The method looks at the different aspects of a texture not just as a visualization tool but as representations of experiences of texture, both tactile and haptic as well as visual. This approach gives an intimate knowledge of the detailed patterns that make up a texture and direct control over each property with the possibility to change, copy and blend to make many iterations of the same or different textures. These iterations of texture can then be used to direct experiences of texture, in a very intimate and subtle scale.

The properties of the textures are manipulated digitally and saved in different bitmap images. These images represent a map of a surface that can be tiled on a 3D geometry.

Optimized-O2_render

Height- and Normalmap Modelling

Heightmap shape

Darkness values inverted

Heightmap shape

Blended images work like Boolean operations

Adjusted darkness values changes the shape

Displacement - Surface 3D modelling

A heightmap is a greyscale image that describes the shape of a surface. Each pixel in the image corresponds to a point on the surface where the darkness value represents the height. The height is determined within a range where white is the highest and black is the lowest point. When creating a digital texture, a heightmap changes the actual geometry of the surface as opposed to other maps that merely creates an illusion of depth.

Heightmap displacement works as an extrusion directed by the surface normal. This kind of extrusion can visualize expansion or growth. The extrusion is guided by the surface shape and the directional expansion can help pronounce the shape. Directing this type of properties can be done by pronouncing curvature or by contrasts, keeping it in place within a frame or attached to a more rigid texture. Heightmap information can be used at any scale from landscape to barely detectable details. Within the context of this thesis heightmaps mostly handle information at a haptic human scale, describing forms and shapes relatable to the human body. 

Basic heightmap

Flat geometry

Positive curvature
Stretch the displacement extrusion

Negative curvature
Compress the displacement extrusion

Normalmap - Modelling Tactility

The smaller details are usually not rendered as displacement but put in a normalmap. The normalmap information is more specifically tactile and describes how a surface feels to touch. Normalmaps also describe the geometry of the surface but the pixel colors represent the normal angle. This is not a greyscale image, instead it has two color gradients where one represents angles in a “north-south” direction and the other an “east-west” direction or the U and V direction on a digital surface. Since a combination of two-color gradients is not as intuitive to work with as a greyscale representing height, the patterns that are applied to the normalmap are first created as greyscale images and then translated by the program to the normal color gradients. The only adjustments done directly in the normalmap is an intensity gage that increases or decreases the sharpness of curvature where the normal angles change. Normalmap information can be used to create curvaturemaps (like ambient occlusion) that are used for applying color, light or darkness to areas specified by curvature. Since the normalmap does not change the geometry it can have a higher resolution than the heightmap which makes it suitable for smaller details and patterns. 

Optimized-normal_maps

Patterns of smaller and denser details feeds into normalmap