Gradient (Blend Sky): Bad for 3D Model's Backgrounds

Gradient (Blend Sky): Bad for 3D Model's Backgrounds

qubodup's picture

I have zero 3d model-making skills but I do moderate content on OpenGameArt.org contributions and stalk Blendswap submissions, which allowed me to notice the following: Gradients are bad for previews. Just take a look:

 Blend (Gradient) PNG

Above is a png (lossless, 173K) render with gradient ("blend sky" in Blender terms) background.

 

 Blend (Gradient) JPG

Above is a jpg (lossy, 18K) render with gradient/blend. Do you see the disturbing artifacts?

 

Gradient/Blend AnimationGradient/Blend Animation (+10 contrast)Gradient/Blend Animation (+20 contrast)

Above are animations between part of the two gradient background images at +0, +10 and +20 contrast to make it easier to spot the difference.

The lossy jpg version has artifacts.

These are ugly and disturbing which can lead to the viewer disliking the viewed image. They might be hard to see on some screens but in many cases they will be subtley noticed. Note that "subtle" is especially dangerous, since the viewer does not know the reason for the discomfort while viewing the render and is likely to interpret it as not liking the 3D model.

Using png files for previews is not a solution, as their file size is about ten times larger than jpg files.

 

Blender 2.5 Blend Sky Selection Box OFF

By not using a gradient (Blend Sky in Blender) in the background, the artifacts can be avoided.

 

 NoBlend (No Gradient) PNG

Above is a png (lossless, 156K) render without gradient/blend in the background.

 NoBlend (No Gradient) JPG

Above is a jpg (lossy, 16K) render without gradient/blend in the background.

 

No Gradient/No Blend AnimationNo Gradient/No Blend Animation (+10 contrast)No Gradient/No Blend Animation (+20 contrast)

Above are animations between part of the two no-gradient images at +0, +10 and +20 contrast to make it easier to spot the (lack of) difference.

Why does it help to not use a gradient? Because by reducing the complexity of the background, the amount of varying image data is reduced. This way the jpg compression algorithm has less image data to 'lose' while compressing the background of the image.

The image used in this post is a render of the "Tribal Long Sword" by Quandtum which you can use in your game under cc-by-sa, At time of writing, the model preview has a gradient in the background. This inspired me to write this hairsplitting, nitpicking post. :)

Did this post make you realize why you disliked some renders in the past? Or can't you see the artifacts at all? Do you happen to know of a gradient that does not create disturbing artifacts? Please let us know in the comments.