User Rating:  /  (4 / 47)


In SketchUp, when one does not model with accurate thickness of geometry, it is natural that edges touching faces will be visible "outside", too. But edges may "bleed through" even geometry modelled with proper thickness. Unfortunately, the reason is the underlying OpenGL rendering engine and apart from some workarounds, we cannot do too much about it.

If we understand the whole phenomenon, however, our workarounds can be tailored to our needs and the result can be as pleasing as anything else in ASketchUp.

The Scenario 

Below are two images exported from a basic "house" model. In the first one, you can see that I have modelled the roof structure:


In the second, there is a roof "shell" added atop of the rafters. The "shell" has a 2 cm (~0.8") thickness which would be somewhat proper for roof tiles. Notice however that the edges of the rafters are faintly "bleeding through" - and the farther they are in the scene, the more apparent this phenomenon is.


This is obviously an unwanted and often annoying thing. Not a "bug" as it comes from the technology used for rendering in SketchUp.

The Reason 

The reason is that SketchUp, as a vector based modelling application, needs to display vector edges somehow - at least when edges are turned on under Styles. Edges have a "fixed", 1 pixel thickness displayed on screen. If we apply profiles, too, these lines may even be thicker; 2 pixel, 4 pixel etc. thick.

The above roof shell however has a "relative" thickness to the screen. As we zoom out, it will be thinner and thinner - or in better words, occupying a smaller and smaller portion of the screen and once this portion is nearing (or even smaller) than the thickness of our vector lines (edges or profiles) on screen, they will inevitably bleed through.

Below are two screen shots with profiles set to two pixels then four pixels.


Notice that when they are 4 pixels, the phenomenon is even more apparent.


Solution - Workaround 

There's no "real solution" for this, however we can use some workarounds. The workarounds depend on what you wish to accomplish. If it is a live presentation with SketchUp, you do not have much to use. You can however:

  1. Hide the rafters (or whatever you have offending) in scenes when they are not visible anyway. I.e. in my case above, when the roof shell group is displayed, you can hide all the roof structure group. This can be done either by hiding/unhiding geometry per scene basis or
  2. hiding/unhiding layers (to which you have previously assigned these groups) per scene basis again (my preference but I understand that others may like it the other way).
  3. You can also try to hide the top, offending edges of the rafters (in my example). Of course, in case you would like to show them (without the roof shell), they might look different than the rest of the model so this method could work best combined with the first method (i.e. edges only hidden when the roof shell is displayed).

If you want to export to 2D output, however, there are better workarounds. Below is an image originally exported at screen resolution size (1024x768). You can see that the edges are clearly bleeding through according to the distance from the camera.


Now if I export at double size (see Export options), it seems that the distance between pixels in the width of my roof shell has just been cranked up enough to be more than 1 pixel - i.e. the edges below do not bleed through (note that the export was taken from the exact viewport and with the exactly same settings except for export size).


Actually, exporting at double size than really needed and then resampling the exported image in an external program that has much better antialiasing support than SketchUp itself will always result in much better images than what you can get from native Sketchup at all.