[Bf-committers] Icon scaling

Stephan Aßmus superstippi at gmx.de
Sun Nov 6 10:53:38 CET 2011


Hi all,

this is my first post to the list. My name is Stephan Aßmus and I am a 
contributor to the Haiku project, www.haiku-os.org. I stumbled over a 
tutorial about using Cycles and this has renewed my interest in Blender. 
Blender is pretty powerful, but I think it is still not approachable 
without doing Internet searches and following Tutorials (for example I 
had to look up how to close views, or stumbled across Shift-A in a video 
tutorial after wondering how I even create new objects). However, 
awesome features such as Cycles makes potential users more willing to 
take these steps, such as in my case. :-)

One thing I really like about the interface, is that it is scalable by 
providing a device DPI value in the preferences. The only problem with 
this approach is that icons are scaled up and look blurry. Maybe a 
solution would be to store all icons in a bigger resolution, but it 
won't be perfect.

For the Haiku project, I have developed a scalable vector icon format 
which takes extremely little disk space to store, and is very fast to 
render without artifacts, since it is using single pass compound shape 
rendering based on Anti-Grain Geometry. Some of you may be familiar with 
this awesome 2D graphics framework.

I have tried to search for previous discussion on this subject in the 
Blender world, but nothing has shown up. Maybe I didn't look in the 
right places.

My icon rendering as such would not solve the blurriness as is. But it 
has the potential to achieve this. Just as text rendering uses glyph 
hinting to align the shapes of glyphs to device pixels, a similar 
technique could be used for rendering scaled vector icons. But it should 
be difficult to do it with a general purpose vector format such as SVG, 
versus a dedicated icon format in which meta information can be given to 
shapes. For example, my icon format already contains a mechanism for 
making shapes disappear or appear in certain ranges of global scale. The 
format and renderer could be extended to support tagging shapes for 
being pixel aligned at render time.

One post I stumbled across suggest that the original format of the 
Blender icons is SVG. The one editor which exists for creating icons in 
my format does support SVG import (and export), but the import is quite 
limited. One drawback of the idea is that all icons would have to be 
worked over to make use of all the features of my format (sharing of 
paths and styles) to benefit from the possible small disk size. And my 
icon editor only exists for Haiku at the moment. :-)

But is there even some general interest in this idea? To learn more 
about the format, I just found out there is even a Wikipedia page (while 
looking up my articles):

http://en.wikipedia.org/wiki/Haiku_Vector_Icon_Format

Best regards,
-Stephan




More information about the Bf-committers mailing list