Commit Graph

174 Commits

Author SHA1 Message Date
3667cddf1a Fix for color management not working properly with Freestyle. 2012-01-21 21:58:47 +00:00
b6569ee4e7 Merged changes in the trunk up to revision 42116. 2011-11-26 13:11:55 +00:00
72cfdfec30 Fix for a crash when two scenes in the compositor have different render
resolution (i.e., image width and height, scaled by the size factor).
Problem report by flokkievids together with a .blend file for reproducing
the bug, thanks!
2011-11-06 12:23:44 +00:00
32c7e22d36 Merged changes in the trunk up to revision 37388.
Conflicts resolved:
release/scripts/startup/bl_ui/properties_render.py
source/creator/SConscript
source/blender/blenlib/intern/bpath.c
source/blender/editors/space_outliner/outliner.c
2011-06-11 00:22:10 +00:00
4bb277117f Fix for composite node parameter animation not working with Freestyle.
The problem was reported by ikeahloe together with a .blend file for
reproducing the issue.  Thanks!
2011-04-17 02:47:32 +00:00
30da80cc41 Fixed a bug in the initialization of a temporary Scene struct
for stroke rendering.  This fix is intended to improve the
stability of stroke rendering when the output format is AVI
Codec, QuickTime, or one of FFMpeg codecs.
2010-08-16 16:51:44 +00:00
a5692fd67b Merged changes in the trunk up to revision 30952. 2010-08-01 23:37:52 +00:00
7abdf9b953 Minor comment fixes. 2010-06-26 16:35:56 +00:00
08e022da37 Second attempt to fix the border option. At the moment, accessing
diffuse and Z depth information through style modules won't work
correctly with the border option.  Another fix will follow.
2010-03-30 00:41:26 +00:00
f4e9c5d71e Merged changes in the trunk up to revision 27817. 2010-03-28 22:45:14 +00:00
e2cb635744 Slightly reduced the memory consumption during stroke rendering by
removing ListBase BlenderStrokeRenderer::objects and relying on
Base freestyle_scene::base instead.
2010-03-28 18:12:45 +00:00
840ba8e8e7 Fixed the full sample anti-aliasing support in Freestyle.
The render pipeline has been extended to better work with
Freestyle stroke rendering.  Struct Render has a new member
ListBase freestyle_renders to keep Render instances generated
through stroke rendering in Freestyle.  The number of
elements (LinkData instances with LinkData::data pointing to a
Render instance) in freestyle_renders is the same as the scene
render layers of the scene being rendered.  When the k-th scene
render layer has the Freestyle option enabled, the k-th element
of freestyle_renders refers to a Render instance that holds
Freestyle render results for the scene layer.  This association
between the scene render layer and the Render instance is used to
merge the Freestyle render results into the corresponding render
results for the scene render layer.
2010-03-28 17:46:10 +00:00
6a681bca45 Made an attempt for fixing an instability issue regarding animation
rendering.

RE_BlenderFrame() and RE_BlenderAnim() are Blender's internal
top-level rendering API functions for a single frame and a series of
frames, respectively.  These functions rely on global variables to
keep render pipeline states.  Freestyle's stroke rendering was also
using RE_BlenderFrame to render a temporary scene of stroke meshes.
These nested calls of the top-level rendering API functions were
causing broken render pipeline states and eventually led to a crash.

This commit is intended to fix the issue, by introducing an rendering
API function RE_RenderFreestyleStrokes specifically used for stroke
rendering in Freestyle.  The new function does not do anything with
regard to the global variables in the rendering API implementation.
2010-03-01 21:51:14 +00:00
ca908e21e2 Added support for transparent stroke colors (again).
Transparent strokes are rendered by means of transparent vertex colors.
To make this possible, Blender's internal renderer has been slightly
extended to allow transparent vertex colors.  When Material::vcol_alpha
is non-zero, the renderer takes MCol::a into account.
2010-02-16 02:10:27 +00:00
12506ed6a1 Reverted the changes for adding support for transparent stroke colors,
because of incomplete functionality.

When two transparent strokes intersect, the stroke drawn first is
completely overridden by the stroke drawn after the first stroke,
instead of two stroke colors being blended at the intersection.
2010-02-15 00:07:15 +00:00
135a944c66 Merged changes in the trunk up to revision 26856. 2010-02-13 01:13:16 +00:00
4ec75badf8 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.
2010-02-08 02:19:17 +00:00
9bafbe4549 Fixed a bug that visible strokes are not rendered correctly when
the aspect ratio is not equal to 1:1.
2010-01-30 09:59:01 +00:00
446af11fb3 Fixed a bug that caused a Y-direction offset in rendering results.
The renderer now takes the aspect ratio settings into account.
2010-01-29 22:13:39 +00:00
c5558e6967 Made an attempt to improve memory consumption during stroke
rendering.  When objects exists out of the viewing frustrum and
near the near clipping plane, feature edges in the 3D camera
coordinate system are projected to an extremely far location from
the camera view in the 2D image space.  These feature edges
result in very long strokes with a large number of stroke
vertices, which temporarily require a significant memory storage,
causing a fatal "out of memory" error.  This problem is partially
addressed by the changes in the present commit.
2010-01-26 22:24:53 +00:00
7b530567ef Merged changes in the trunk up to revision 25863. 2010-01-10 15:28:24 +00:00
Maxime Curioni
3fa9da938f merged changes to revisio 23915
Updated buttons_render.py to have Freestyle buttons
Added "empty" BlenderTextureManager as preliminary step to remove last remnants of OpenGL and to allow Freestyle to run on my machine.
2009-10-18 05:19:46 +00:00
Maxime Curioni
896a5fccef fixed headers and SConscript to have successful build 2009-10-05 01:27:35 +00:00
Maxime Curioni
f5a14015e3 moved all Blender-Freestyle interface-related files to source/freestyle/intern/blender_interface folder 2009-10-05 00:40:33 +00:00