Added support for transparent stroke colors.
authorTamito Kajiyama <rd6t-kjym@asahi-net.or.jp>
Mon, 8 Feb 2010 02:19:17 +0000 (02:19 +0000)
committerTamito Kajiyama <rd6t-kjym@asahi-net.or.jp>
Mon, 8 Feb 2010 02:19:17 +0000 (02:19 +0000)
commit4ec75badf8a0ed6bb2b00b26947792ddc629a164
tree6f9440fb1fe6f1f71dd30f83de8ad74ee09a1e66
parent3f1920f3f245da187884701344e489043a46146f
Added support for transparent stroke colors.

In Freestyle, strokes are represented with triangle strips, and stroke
colors are realized using vertex colors in order to enable variable
stroke colors (i.e., each triangle has a different color).  Stroke
colors in Freestyle are in the RGBA format, while vertex colors in
Blender do not have an alpha component.  Therefore, we here employ a
2-pass rendering approach as follows.  First, the alpha component of
an image is rendered by using the red component of vertex colors as
the alpha component of stroke colors (1st pass).  The render result is
saved into a temporary buffer.  Then, the vertex colors of stroke
meshes are replaced with RGB values, and the RGB components of the
image is rendered (2nd pass).  Finally, the RGB and alpha components
are merged to produce the render result in the RGBA format.
source/blender/freestyle/intern/blender_interface/BlenderStrokeRenderer.cpp