There has been a lot of confusion concerning what PhotoView is good for and how it is used. The advertizing on the Punch! box would lead one to believe that, armed with a photo of your house, you can produce the great model that they show on the page - and it's true, you can. But the photo is only a part of it, as I will demonstrate below. Many people have come out with the impression that Punch! creates the model from the photo - no need to learn how to use the Punch! tools, no need to do anything but snap the picture. That is a bit beyond the truth.
[Note: this tutorial is free for the reading. We believe, though, in the "vote with your feet" method of determining value, so if you like this tutorial and want us to do other Punch! topics, nothing will say so as powerfully as a small donation, as mentioned at the end, or the purchase of one or more of our Punch! PowerTools. Also we want to hear from you - is the tutorial pitched correctly, or is the tone off, or difficult to understand, or are there (heaven forbid) any errors? Let us know.]
When you take a picture of a house, you are capturing a part of that house in a portable, easy to manage form. The downside of doing that is that you lose a lot of the information that the house contains. You obviously lose any information about what is behind it or on the other side; you lose some information about where things are placed exactly (and I'll point that out below). The perspective that a picture implies loses some accurate information about the exact placement of the walls and roof. Reconstructing the missing information cannot be done totally by contemplating the picture; there, the information is gone. Taking multiple pictures helps to some extent; that is how one can reconstruct 3D views of an object from two pictures taken from slightly different points (like the old Viewmaster projectors).
What PhotoView is good for is using photographs to replace the normal textures and colors that Punch! uses to make surfaces visible. The photo, of course, is the last word in realistic appearance; it really looks like you expect the model to look like. It can paper over(literally) problems like the Punch! doors not looking like your doors, your odd siding color being difficult to create as a Punch! siding texture and so on.
Beyond just building a 3D model that looks as nearly like an existing house as possible, what is PhotoView good for? The most obvious thing is to use it so that comparisons can be created which don't bias the results. For example, suppose someone wants to look at how changing the color of the siding will affect their house. They construct a model and use PhotoView to create all the parts of the house that are not siding - the roof, doors, trim, windows and so on - even the landscaping - and just leave the siding parts of the photoview open so the models siding shows through. Then they can use the Punch! texturing tools to create different siding and see how it plays with all the other house features as they are. Comparisons made this way are about as good as they can be.
We were sent a picture of a house to work with with PhotoView, and it is the perfect kind of picture for these purposes. Here it is:

Note that is was taken far back from the house; that removes a lot of the "fisheye" perspective effect that closeups suffer from. It is taken straight-on to the front of the house, and closely centered to the left and right ends of the house. Problem areas include the large plants in the foreground, the car in the driveway, and the multiple foreground planes. There are at least three - the front of the right-hand side of the house, the front of the left-hand side, and the front of the porch in the middle. There are sharp shadows; this kind of picture is best taken in cloudy, diffuse light which tends to eliminate shadows.
The next question we need to ask is: why are we using PhotoView here? As we noted above, the purpose for using PhotoView will guide how we treat the photo. In this case, we have the reason of trying to produce a meaningful tutorial, but we'll impose a meta-purpose: we will be replacing the roof, and want to know what different roofing materials will look like. We're also thinking of removing the trees flanking the right front of the house. What landscaping will look best? These questions shape what we will do with the photo.
in order to manipulate the image as we explain below we need to use some image editing software that Punch! doesn't yet have (AS3000 has introduced a image editing PowerTool, but it is not quite yet up to a really useful level for the editing we illustrate here. Perhaps in the next release?) At any rate, I use Paint Shop Pro, which is comparable to PhotoShop in capability but a lot cheaper; there are lots of others, of differing flexibility and depth. It is not really my intent to indicate how to use this software. Afterall, I'm not really an expert at it, and there are lots of sites out there with tutorials on them for doing photo retouching and other techniques.
[A short introduction to images here: computer picture images are really rectangular arrays of small spots of color, called "pixels". All the myriad tools in image software like PhotoShop are there merely (or not so merely) to change the colors and number of individual pixels in the image. The colors that pixels may assume vary along three dimensions themselves, called the red, green and blue axes (or "RGB" for short). Each of these three colors may vary from 0 (no color) to 255 (color fully on). A brilliantly red part of an image may be made up of pixels which have the color RGB (255, 0, 0). Bright yellow is RGB (255, 255, 0) - does it surprise you that yellow is made up of red and green? Try using a magnifying glass to view a yellow patch on your computer monitor, and you'll see that it really is. An absolute white pixel has all three colors turned fully on: RGB (255, 255, 255), while absolute black pixels have the color RGB (0, 0, 0). Note that the color RGB (0, 0, 1) will be almost black, with a very faint blue tinge, but the difference will be hardly noticeable from true black. The RGB system creates all the pixels you can see on the screen, which is nearly all the colors that a human eye can see (and certainly all the important ones for our purposes); some 16,777,216 possible colors in all.]
First we need to prepare the picture for use in Punch!. Any pixel in the picture that is absolute black (RGB (0,0,0)) will be translated into transparent when the photo is displayed, and we use this fact by blackening out all the background - the sky, the neighbors, all the area that is in front of the house. We will leave in the low rock wall within the planter in front of the house, but everything else goes. Some pictures may already have absolute black pixels in them; if that's the case, then those regions will have transparent holes in them when they are displayed. It may be a good idea to use a tool in your image handling software to replace any RGB (0,0,0) pixels with RGB (0,0,1) or something similar. The resulting picture looks like this:

There is a problem using black as the key transparency color. The image program does not know that black will be made transparent; as far as it knows, the black is the real background color. When you manipulate the picture in any of a dozen different ways, the image program will feather, or antialias, the pixels along edges touching the black by doing a smooth merge of the color into black. This merged color will not be absolute black, but very near to it, so it will show up as black in Punch!. The color that it is displayed against when viewed in Punch! is rarely black, however, so you will often have color on a photo that fades to black at the edges and then at some point becomes transparent and shows through a light color, and it will look like your house photo was burned and charred at the edges. There are techniques within PS to combat this, but it cannot be totally overcome because you cannot ever be sure of what exactly will show through the transparency - light, dark, green, red, anything is possible, and will change, of course, depending on the viewing direction. It can be alleviated by saying back from the edge a ways, and by using neutral gray as the background color instead of black (or perhaps blue, if it is often viewed against the sky, or whatever other color is prevalent in the background), and then converting the one background pixel color to absolute black in a final step. Bright but even, diffuse lighting while taking the picture becomes important here. No doubt a PSP expert will write and give other hints, which I'll pass on.
There has been other retouching done in the photo, plain to see. I am not an expert at photo retouching as done in PhotoShop or Paint Shop Pro, but what I've done is a good enough job for the current purpose. We've masked out the foreground and background, eliminated the two trees we're looking to replace and got the car out of the picture. We now need to dis-assemble the picture into the three planes which need to be separately handled because of the difference in their depth:
![]() |
![]() |
![]() |
Notice that we've also eliminated the roof so we can perform substitutions on that and see how it works, and done some more retouch, particularly on the area of the wall and window behind the porch column.
It's now time to work on the 3D model that we will use with the photos. In this case, the 3D model may be pretty rough, and doesn't require any doors or windows, as these are supplied by the photo. We have no real measurements for the house the picture was taken of, so we are just guessing about those parts. Based on what we can see, we drew up a simple plan and 3D representation for it:

The model consists of six walls, three roofs and two decks (for the porch), one above the other to simulate the front step. As you can see, there are no doors or windows, and no texturing applied (beyond the default). This took not more than a half hour to get setup. The walls are 120" high, which is the nominal 96" ceiling height plus the 24" porch height. The roofs match the 4:12 pitch of the picture. Wall lengths for the visible walls were estimated from the photo; the others were simply guessed at. We don't need to go into great detail with this model, because it is only for the purposes of the comparisons we want to do. The plans may form a basis for doing better plans later, but right now a rough model will do.
Time to bring in the photos. The three photos were imported through the PhotoView PowerTool. The lengths and heights entered to scale the photos to were simply estimated. We will have the opportunity to fine tune them when they are in place. The three photos are placed immediately in front of the model walls they are designed to fit. Because of the decorative trim on the edges of the two gable ends, they are placed just in front of the end of the roof so that the trim appears rather then the end of the model roof. On the left side, we'll tuck the photo right against the wall so that the model roof will represent the front rather than the existing roof. The photos are represented on the plan by thick blue lines. They can be stretched both horizontally and vertically (the latter by changing the photo's height property). The result is this:

Now we have the house model we want. We can start our "what if" games to determine the roof type and landscape features that we want to try out, using the Punch! tools to model the features, The roof styles are easily done; here are three different styles:
Note a couple of things about these pictures. The perspective is a long way off from that of the original picture (the better to see what the roof looks like), but the scene is still fairly realistic. Note, however, how distorted the rose bush looks; also see that the chimney and the porch column are narrower than one would expect, and there is no "back" to the chimney; the shadow is on the wrong side. The rock planters and the rose have lost perspective. This is because these features exist only in the photo, not on the 3D model, so they are really flat and two dimensional - if we headed on around the side of the house, they would actually disappear when we got to a point directly opposite them. But they work well enough for moment and the use we're putting them to. If we had kept the facade of the house in one piece and simply stood it on the lawn to represent the house, realism would only exist for a narrow range of angles centered on the angle from which the original picture was taken. From the angle in these photo, it would mot have looked at all real, and, of course, we wouldn't be able to change the color of the roof to test it without the 3D roof.
Finally, we show one possible treatment for the landscaping. (To paraphrase, "Jim, I'm an engineer, not a landscape artist.") For this use it would probably have been a good idea to break out the low rock walls as separate photo layers and bring them out three or four feet from the wall, so that plants could be placed behind them, in the planting areas. Such plants would, of course, have to be elevated so they were near the tops of the rock walls. A floor piece, textured with fill, could provide a raised planting bed.

I believe that this demonstrates that PhotoView can be a powerful tool for use with Punch!, but it certainly will not replace it by way of automatically building 3D models from a photo. PhotoView has a lot of other uses as well (it can be used to provide a dramatic backdrop for a house plan, like a sunset in the background, or a foggy San Francisco feel. It can be used to construct good looking signs or framed pictures inside a house, and add the last realistic touch to your model; even a display of you standing on the front lawn (just think Blazing Saddles, and the fake Rock Ridge, with people standing in the street!) Have fun.
We hope that you have found our tutorial on the use of PhotoView in Punch! useful. If you think it was worth your while, a contribution to encourage us to create more tutorials would be in order. If you found anything amiss, or still have questions, please let us know at ThistleKeep Engineering and we will respond and follow up. |
3 |
![]() |
This page last updated on Fri Feb 11 2005 |