Tom Arah explores the outer limits of bitmap-based handling.
Last month I looked at the underlying architecture of all bitmaps, the pixel-based grid, and saw how overlying layers of data or “channels” are used for the most important of all bitmap functions – handling colour. With the ubiquitous RGB format, for example, three separate red, green and blue channels each capable of specifying up to 256 brightness levels are combined to provide over 16 million possible colours (256x256x256) – more than enough for continuous-tone full- colour photographs. Colour is so central to all bitmap work that it’s easy to think that this is all that the bitmap’s channel-based architecture can be used for, but that’s certainly not the case.
Additional channels can play a crucial role when it comes to intensive bitmap editing. As we’ve seen, to the computer each bitmap is simply an array of pixel values, it has no meaning, no content. To the user though the reverse is true. We have no interest in the bitmap’s pixel data per se, what matters to us about each image is its content, the meaningful elements of the picture. When we work on an image we need to be able to bridge the two very different worlds - to change the blue of the sky, to sharpen an eye, to blur distracting distant objects and so on. In other words we need to build in more meaning and greater control to the bitmap editing process.
Unfortunately because the image content is invisible to the application this has to be done by the user who has to manually build up meaningful selections using the various selection tools – marquee, lasso and magic wand. Crucially, once you’ve isolated an element that you want to work with, all Photoshop tools, adjustments and filters are limited to the current selection which acts as a mask as indicated by Photoshop’s famous marching ants outline. Working like this you can work with the real content of the image, but it’s a laborious process at best. And soul-destroying if every time you want to return to tweak an element of the picture you first have to recreate its mask!
The obvious solution is to be able to save selections that you have built-up into the bitmap. And the natural mechanism for saving a selection into the file is to add it as an additional bitmap channel. By storing each selected pixel as white and each unselected pixel as black it’s easy to use this so-called “Alpha Channel” to reload a previously saved mask. Within Photoshop this is handled with the Channels palette. This is primarily used for viewing and working with the separate colour channels but, with the Save Selection command/icon, the current selection can be automatically added as a new alpha channel at the bottom of the palette list. This channel can then be viewed and edited with any of Photoshop’s tools or commands and, by Ctrl- clicking, you can instantly reload it as a selection/mask. To then save your bitmap with its added editing intelligence for use in future sessions you’ll need to save it to a format that supports alpha channels, namely Photoshop PSD / PDF or the ever-adaptable TIFF.
Alpha channels are used for controlling selections, masks and transparency.
At first sight each alpha channel looks like a simple 1-bit black or white overlay but if you zoom in on the edge of an alpha channel, you’ll see that the edge pixels are not solid black or white but made up of various levels of gray. This is because the selection tools all offer anti-aliasing by default meaning that the edge pixels are partially selected (and therefore that the alpha channel is 8-bit). This anti-aliasing is crucial when using selections to create photo-montages as it avoids jaggies and means that pasted elements merge more naturally with their new backgrounds. It’s also crucial when using selections as masks when applying adjustments and filters as it helps avoid undesirably abrupt changes.
So what exactly is going on? By varying the value/brightness level of each pixel in the alpha channel you are effectively varying the values of the corresponding colour channels’ pixels whether these are grayscale, RGB, CMYK or multi-channel. In other words the alpha channel is controlling the opacity/transparency of the colour channels. And there’s no reason that this control of transparency needs to be limited to anti-aliasing. Using the marquee and lasso selection tools’ Feather setting for example you can cut and paste a feathered selection into a new file to produce vignette-style effects. Alternatively, by directly painting on an alpha channel you can set up a variable transparency mask to control precisely how a tool, adjustment or filter is applied. By applying a black to white gradient to the alpha channel, for example, and then selecting it and an artistic filter you can create the effect of a photo seamlessly blending into an artistic interpretation.
For many years this use of alpha channels for masking and selecting was the only way that users could take meaningful control of their bitmaps (alongside global and brush-based edits) and was the professional editor’s stock in trade. Eventually though this whole working approach was swept away -though it remains a very useful secret weapon in the expert user’s arsenal. The watershed was the arrival of Photoshop 3 with its introduction of layers. Now when you painstakingly build up a selection to isolate a meaningful element of an image the obvious natural step is to copy it as a floating object to its own layer – this is more intuitive, easier to handle especially when compositing, more creatively powerful thanks to features such as blend modes and more flexible and forgiving as the original underlying pixel data remains intact.
Layer-based handling largely replaced alpha channel handling.
With the arrival of layers the explicit use of alpha channels largely and instantly fell into disuse but of course behind the scenes it’s a different matter. After all, a layer is actually just a collection of colour channels with an alpha channel to control their transparency. This means that layer-handling is profligate, requiring four component channels for each RGB layer compared to one alpha channel - or even five if you add the layer mask necessary to replicate alpha channel variable transparency effects. However with increasing computer power and storage capacity this extravagance was no longer a major issue. A bigger downside was that users could no longer work natively with TIFF format images but needed to save ongoing layered work to Photoshop’s proprietary PSD format and then export a flattened version for use in their publishing workflows. On the other hand this shift to proprietary handling in turn enabled further layer-based innovations such as vector-based text and shape handling and effect-based layer styles.
Multi Pass Rendering
These proprietary vector and effect-based layers break out of the strict bitmap-based data grid model, but the bitmap format’s channel-based architecture still has much more to offer in terms of greater flexibility, productivity and creativity. This is especially the case where images are computer-generated which enables extra editing intelligence to be automatically built in to the image. 3D applications in particular are well-suited to including more information than just the basic colour channels during the rendering process. However, although all 3D applications make use of this extra information during rendering, the capability to embed it into the rendered output for post-processing is surprisingly rare with Cinema 4D’s Multi-Pass rendering an honourable exception.
Using the flyout in the Multi-Pass tab in Cinema 4D’s Render Settings dialog you can set a whole host of different channels to be included in the rendered bitmap ranging from Ambience through to Depth. In fact all information that CINEMA 4D calculates during rendering such as illumination, highlights, reflections, transparencies and lens and glow effects can be written into their own image layers (if you have the Advanced Render option, radiosity and caustics can be handled in the same way). More than this, you can separate off the shadow, specular and diffuse effects for each light in the scene with Cinema 4D saving these to their own layer sets. And using Cinema 4D’s Object Buffer channels you can automatically embed alpha channel masks to enable automatic selection of individual objects or groups of objects from the scene.
Cinema 4D can embed extra channel-based information during rendering.
The end result is a rendered image complete with multiple layers and multiple alpha channels, that can be saved to RLA or RPF format for post-processing in After Effects or more commonly to PSD format for post-processing in Photoshop. Because the image has been broken down into meaningful components – shadows, reflections, depth, objects and so on - you immediately have far more intelligent control over it. To soften the image’s shadows for example you can simply select the shadow layer and then change the layer opacity or apply a blur effect. Working like this is far more efficient than trying to achieve the same results in the 3D package itself which would involve multiple lengthy rerenders.
But it’s more than just a question of productivity. Because all editing changes to the bitmap happen instantly rather than requiring re-rendering there’s far more incentive to experiment, to be creative and so to produce better results. To tweak the colour of a tree object for example would traditionally require lengthy reworking of materials and lighting in the 3D application and countless test renders or, alternatively, laborious and often impossible selection in the bitmap editor. With an object buffer for the tree included in the PSD, it’s just a question of selecting the relevant alpha channel(s) and then applying adjustment layers to be able to explore advanced recolouring effects in real-time.
Or by applying layer effects and special effect filters to the components of your image you can quickly take your work into entirely new areas. In terms of new creative power the inclusion of Depth information is particularly exciting as it promises to enable effects that would otherwise be impossible to achieve. The key is to treat the grayscale information included in the Depth layer as an alpha channel and so to turn it into a semi-transparent selection mask. You can then apply a depth of field effect simply by applying a blur. Or to create a striking effect of photorealistic foreground objects fading off into an artistic rendering in the distance all you need to do is apply one of Photoshop’s many creative filters.
There’s no doubt that the potential boost to both productivity and creativity from using additional channels to add more content-based information and so editing intelligence into the rendered bitmap is immense. Cinema 4D’s multi-pass rendering system is a great proof of principle, but the practice still leaves a lot to be desired. In particular the system is awkward in both 3D and bitmap applications. Setup within Cinema 4D is unnecessarily complicated with object-based alpha channels, for example, requiring an understanding of compositing tags, while managing the depth layer requires advanced handling of the camera’s depth of field and blur settings. The problems are greater within Photoshop which was never designed to be used in this way. As a result in most cases the rendered layers don’t actually combine to produce the final expected image without considerable work while the rudimentary control over the contrast of the depth layer makes it practically unusable.
What we need is a simpler, dedicated solution and that’s exactly what Piranesi 4 from Cambridge-based Informatix Software provides (trial version included on CD and from www.informatix.co.uk). It’s far simpler to get to grips with because Piranesi’s dedicated EPix (Extended Pixel) bitmap format only includes two additional channels alongside the rendered RGB colour channels namely Material and Depth. There’s also no complex setup involved in creating your EPix files as this is all handled by a simple plug-in that automatically saves an EPix version of your output whenever you render to the Cinema 4D Picture Viewer. Even better, you aren’t limited to Cinema 4D, as writer plug-ins are also available for 3ds max and LightWave while other applications such as SketchUp and RenderWorks can output directly to EPix. In fact you can use just about any 3D application to produce your original EPix file as Piranesi’s Vedute utility can read standard DXF and 3DS files and enables you to set up camera and lighting positions before outputting the scene to EPix (though all texture maps are lost in the process).
Piranesi’s EPix bitmap format adds additional depth and material channels.
Most importantly, Piranesi provides a dedicated bitmap painting environment designed to make the absolute most of the extra editing intelligence embedded in the extra EPix channels. So what does this mean in practice? The first sign of Piranesi’s power is its system of locks. Select a brush and the Material Lock, for example, and your brush strokes are automatically restricted to the pixels of the underlying material as defined on the Material layer. It might not sound that revolutionary but compared to the effort of manually creating alpha channel masks or layers it’s brilliantly simple – instant intelligent selection and no more painting over the lines!
Locks can also take advantage of the Depth channel information with Piranesi intelligently using this to pull out information about orientation. Select the Global Fill tool and the Orientation Lock, for example, and you can instantly apply a fill to all planes in a scene that face a particular direction. And there’s a colour lock too that works on colour similarity and all locks can be mixed and matched. Working like this with the meaningful elements of the bitmap, the objects, materials, faces and colour areas in the image, quickly becomes second nature and taken for granted – until you return to a traditional bitmap and bitmap editor and again have to create your selections and layers from scratch.
Piranesi’s Depth and Material channels move into a new dimension, quite literally, when it comes to texturing. Piranesi comes with a library of hundreds of real world tiling textures that, thanks to locks, can be easily and instantly applied locally or globally to any object, material, face or area of colour similarity in the image. Crucially, thanks to the embedded depth channel, these textures can automatically be placed tangential to the plane and with correct perspective and scaling – in other words it’s like applying and rendering a texture map in the 3D application. Except that it all happens in real-time! Even better, you can fine-tune settings such as scale and hit the ReApply command to instantly update the texture. And using the opacity setting and extensive range of blend modes along with partially transparent textures (based on textures with their own alpha channels) and dedicated noise and threshold handling it’s possible to quickly build up advanced layered fills, say adding a brick texture to all walls in an image and then adding noise to produce a more realistic weathered look.
Of course real dirt and weathering isn’t applied uniformly but that isn’t a problem in Piranesi as the same perspectivized texture control is available to the Brush tool – enabling interactive and creative texturing that just isn’t possible in the original 3D application. And that’s not all. The Brush itself can take advantage of the depth and plane information so that the size and orientation of the brush can automatically change as you drag it over the scene! And again all parameters can all be instantly fine-tuned immediately after applying including changing the size and type of brush stroke.
So far I’ve been talking about applying colour but in Piranesi exactly the same tools and texture-based controls can be used to apply effects. Again the creative options this opens up are extraordinary ranging from instant blurring or sharpening of all objects sharing the same material to interactively painting alpha texture-based hue shifts. And Piranesi offers a number of unique effects only possible thanks to the extra editing intelligence provided by the Material and Depth channels. In particular using its Edge mode Piranesi can intelligently pull out outlines based on object silhouettes and major depth changes to produce a drawing-style effect. And with its extraordinary halftoning capability it can reproduce existing shades as pencil-based cross hatching. With Piranesi’s Fade options, which seamlessly provides the ability to use depth information as a customizable alpha channel – eat your heart out Cinema 4D and Photoshop - you can even produce the effect of the foreground photo-realistic render turning into a realistic cross-hatched draughtsman’s sketch in the distance.
Piranesi’s additional depth and material channels enable 3D-based texturing, montaging and special effects.
I’ve saved the best till last. Piranesi’s Montage tool is used to add “cutouts” to your scene, that is non-rectangular alpha channel-based bitmaps of picture elements such as people and trees. Thanks to the Depth channel information as you move the Montage tool around the scene the size of the cutout changes accordingly and when you click to apply the cutout, a new alpha channel is automatically generated for the placed bitmap to ensure that it is masked correctly and partially obscured by any elements of the scene in front of it. And to realistically merge the placed cutouts into the scene, Piranesi lets you apply shadows which again are automatically determined thanks to the Depth channel. Trying to realistically populate a rendered scene in a similar way in Photoshop would involve hours of laborious work with layers and layer mask alpha channels but in Piranesi it’s absolute child’s play. In fact it’s so simple that it feels like positioning objects within a shoebox theatre. It’s not just hugely creative, it’s fun.
It’s important not to get carried away. Ultimately Piranesi and its EPix format don’t have much to offer when it comes to the bitmap’s core heartland of photo-editing (its main target audience is architects looking to add a creative and imaginative edge to their designs). However by brilliantly bridging the worlds of photo-realistic 3D rendering and artistic painting it takes bitmap editing, in fact the whole concept of bitmaps, into exciting new territory.
Hopefully you've found the information you were looking for. For further information please click here.
For free trials and special offers please click the following recommended links:
For further information on the following design applications and subjects please click on the links below:
[3D], [3ds max], [Adobe], [Acrobat], [Cinema 4D], [Corel], [CorelDRAW], [Creative Suite], [Digital Image], [Dreamweaver], [Director], [Fireworks], [Flash], [FreeHand], [FrameMaker], [FrontPage], [GoLive], [Graphic Design], [HTML/CSS], [Illustrator], [InDesign], [Macromedia], [Macromedia Studio], [Microsoft], [NetObjects Fusion], [PageMaker], [Paint Shop Pro], [Painter], [Photo Editing], [PhotoImpact], [Photoshop], [Photoshop Elements], [Publisher], [QuarkXPress], [Web Design]
To continue your search on the designer-info.com site and beyond please use the Google and Amazon search boxes below:
|designer-info.com: independent, informed, intelligent, incisive, in-depth...|
All the work on the site (over 250 reviews, over 100 articles and tutorials) has been written by me, Tom Arah It's also me who maintains the site, answers your emails etc. The site is very popular and from your feedback I know it's a useful resource - but it takes a lot to keep it up.
You can help keep the site running, independent and free by Bookmarking the site (if you don't you might never find it again), telling others about it and by coming back (new content is added every month). Even better you can make a donation eg $5 the typical cost of just one issue of a print magazine or buy anything via Amazon.com or Amazon.co.uk (now or next time you feel like shopping) using these links or the designer-info.com shop - it's a great way of quickly finding the best buys, it costs you nothing and I gain a small but much-appreciated commission.
Thanks very much, Tom Arah
[DTP/Publishing] [Vector Drawing] [Bitmap/Photo] [Web] [3D]
[Articles/Tutorials] [Reviews/Archive] [Shop] [Home/What's New]