diff options
author | Tamito Kajiyama <rd6t-kjym@asahi-net.or.jp> | 2012-04-11 03:53:46 +0400 |
---|---|---|
committer | Tamito Kajiyama <rd6t-kjym@asahi-net.or.jp> | 2012-04-11 03:53:46 +0400 |
commit | 5f02b167d191969474c8f3575abdd6dbaeffeb57 (patch) | |
tree | c6af52cbefd00519d2879486c768ba02cf4e4769 /source/blender/freestyle/intern/blender_interface/FRS_freestyle.cpp | |
parent | 826a09300a6ac270157b8735c2dd29f753b85235 (diff) |
New options for specifying unit line thickness.
The Post Processing tab in the Render buttons has new Line Thickness options for
defining unit line thickness in two different modes as follows:
1. Absolute mode: The unit line thickness is given by a user-specified number
in units of pixels. The default value is 1.
2. Relative mode: The unit line thickness is scaled by the proportion of the
present vertical image resolution to 480 pixels. For instance, the unit line
thickness is 1 with the image height set to 480, 1.5 with 720, and 2 with 960.
Diffstat (limited to 'source/blender/freestyle/intern/blender_interface/FRS_freestyle.cpp')
-rw-r--r-- | source/blender/freestyle/intern/blender_interface/FRS_freestyle.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/source/blender/freestyle/intern/blender_interface/FRS_freestyle.cpp b/source/blender/freestyle/intern/blender_interface/FRS_freestyle.cpp index 31dc8629f92..fbcea9ca164 100644 --- a/source/blender/freestyle/intern/blender_interface/FRS_freestyle.cpp +++ b/source/blender/freestyle/intern/blender_interface/FRS_freestyle.cpp @@ -107,6 +107,16 @@ extern "C" { int xmax = re->disprect.xmax; int ymax = re->disprect.ymax; + float thickness = 1.f; + switch (re->r.line_thickness_mode) { + case R_LINE_THICKNESS_ABSOLUTE: + thickness = re->r.unit_line_thickness * (re->r.size / 100.f); + break; + case R_LINE_THICKNESS_RELATIVE: + thickness = height / 480.f; + break; + } + freestyle_viewport[0] = freestyle_viewport[1] = 0; freestyle_viewport[2] = width; freestyle_viewport[3] = height; @@ -114,12 +124,14 @@ extern "C" { view->setWidth( width ); view->setHeight( height ); view->setBorder( xmin, ymin, xmax, ymax ); + view->setThickness( thickness ); cout << "\n=== Dimensions of the 2D image coordinate system ===" << endl; cout << "Width : " << width << endl; cout << "Height : " << height << endl; if (re->r.mode & R_BORDER) cout << "Border : (" << xmin << ", " << ymin << ") - (" << xmax << ", " << ymax << ")" << endl; + cout << "Unit line thickness : " << thickness << " pixel(s)" << endl; } static void init_camera(Render* re){ |