Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2010-08-08Automatic configuration of feature edge detection options.Tamito Kajiyama
In the Parameter Editor mode, three feature edge detection options (i.e., Ridges and Valleys, Suggestive Contours, and Material Boundaries) are automatically configured based on feature edge selection settings of linesets.
2010-08-02Merged changes in the trunk up to revision 30952.Tamito Kajiyama
2010-07-28* Made the Parameter Editor mode much more functional. Edge selectionTamito Kajiyama
criteria, as well as the color/alpha/thickness Along Stroke modifiers now work. * Added more curve blend types. The default is set to "MIX".
2010-07-27Added helper functions to the Freestyle module:Tamito Kajiyama
* evaluateColorRamp() to evaluate a color ramp at a given point in the interval 0 to 1. * evaluateCurveMappingF() to evaluate a curve mapping at a given point in the interval 0 to 1.
2010-07-26* Implemented the basic stroke rendering functionality for the newTamito Kajiyama
Parameter Editor mode. This is a WIP commit. Only the base line color, base alpha transparency, and base line thickness are respected. More additions are anticipated to account for other parameters. * Added FRS_finish_stroke_rendering() to clean Freestyle-related temporary resources after stroke rendering. * Some functions in FRS_freestyle.cpp are now declared as static functions, so as not to mess up the program-wide name space. * Made the StyleModule class inheritable, and defined new subclass BlenderStyleModule that takes a Text object instead of a file name.
2010-07-20Replaced offsetof by BLI_STRUCT_OFFSET.Tamito Kajiyama
2010-07-13Rearranged the organization of UI controls for feature edge selectionTamito Kajiyama
criteria. Now the Inclusive/Exclusive and Logical AND/OR options are only applied to feature edge types, while the conditions on visibility and edge types are always combined by logical conjunction. Also, the crease angle, sphere radius and Kr derivative epsilon are treated as render layer-specific options instead of lineset-specific options.
2010-07-10Removed the OpenGL-based stroke renderer that was no longer used.Tamito Kajiyama
2010-07-08Fix for path changes in the trunk revision 29935.Tamito Kajiyama
This commit should also fix a crash in MinGW32 builds.
2010-07-05Bug fixes from Stéphane Grabli, one of the coauthors of theTamito Kajiyama
original Freestyle: * Fix for making the stroke construction more robust to nearly overlapping vertices. * Fix for a bug in the computation of the occluded surfaces. These changes make the visibility computation more robust and the line quality generally higher.
2010-06-27More on the new GUI for the Parameter Editor mode. This is a WIP commit.Tamito Kajiyama
* Moved render layer-specific Freestyle options to a separate "Freestyle" tab (in addition to the "Freestyle: Line Style" tab that has been introduced in the previous commit). * Added UI controls for specifying feature edge selection criteria in the Parameter Editor mode. Feature edge selection starts with a set of all feature edges in the view map. Each line set specifies edge selection criteria (e.g., to select only visible crease edges) by enabling appropriate UI controls (e.g., by turning on the "Crease" and "Visibility" toggle buttons). Selected criteria are combined by logical conjunction. Logical disjunction (e.g., "crease edges or contours") is represented by two or more line sets. * Slightly rearranged several UI controls in the Python Scripting mode.
2010-06-26Minor comment fixes.Tamito Kajiyama
2010-06-26A step toward a new user-friendly GUI for manipulating line style parameters.Tamito Kajiyama
This commit is just meant to give the new GUI framework a concrete shape. There is no usefulness in newly introduced elements at the moment. Freestyle options in render layers now include a pull-down menu named Control Mode that allows you to choose either the Python Scripting or Parameter Editor mode. The Python Scripting mode is the conventional way of controlling Freestyle by directly using style modules written in Python. The Parameter Editor is a new control mode that is intended to be used by everyone without relying on Python programming. In the Parameter Editor mode, you can specify multiple line sets for each render layer. A line set defines feature edge selection criteria, as well as a line style for drawing the selected feature edges using specific line stylization parameters. Line style is a new datablock type, meaning that a line style can be shared by multiple line sets (possibly those in different render layers in different scenes). Much more additions are anticipated in subsequent commits to implement UI controls for specifying feature edge selection criteria and line stylization parameters.
2010-06-06Fix for a crash related to the feature edge detection at material boundaries.Tamito Kajiyama
2010-06-03Fix for a crash due to materials of the wire type. Now all facesTamito Kajiyama
having wire materials are simply ignored and a warning message is displayed.
2010-06-03Fix for a memory leak in WingedEdgeBuilder.Tamito Kajiyama
2010-05-28Documentation updates: Replaced "string" with "str".Tamito Kajiyama
2010-05-28Fixed the __call__ method of UnaryFunction0DVectorViewShape andTamito Kajiyama
UnaryFunction1DVectorViewShape. The __call__ method now returns a list whose elements are either a ViewShape or None.
2010-05-23Made object names accessible from within style modules.Tamito Kajiyama
ViewShape objects in the view map, as well as SShape objects that can be retrieved with ViewShape::sshape(), now have a getName() method that returns the name of the object from which each shape is created. For instance, visible feature edges of specific mesh objects (e.g., Cube.001 and Cube.002) can be selected using custom predicate ObjectNamesUP1D as follows: class ObjectNamesUP1D(UnaryPredicate1D): def __init__(self, names): UnaryPredicate1D.__init__(self) self._names = names def getName(self): return "ObjectNamesUP1D" def __call__(self, viewEdge): return viewEdge.viewShape().getName() in self._names upred = AndUP1D(QuantitativeInvisibilityUP1D(0), ObjectNamesUP1D(["Cube.001", "Cube.002"])) Operators.select(upred)
2010-05-23Fixed invalid use of PyUnicode_FromFormat() where PyUnicode_FromString()Tamito Kajiyama
should have been used.
2010-05-23Fix for a compilation issue with GCC.Tamito Kajiyama
2010-05-23Docstring update for Nature::MATERIAL_BOUNDARY (cf. revision 28919).Tamito Kajiyama
2010-05-23New option to specify the angular threshold for detecting crease edges.Tamito Kajiyama
An entry "Crease Angle" has been added to the Layers tab of the Render buttons, to allow users to specify an angle (between 0 and 180) used for crease edge detection. An edge is considered a crease edge if the angle between two faces sharing the edge is smaller than the threshold. The default value is 134.43 degrees (for backward compatibility). Be aware that a larger threshold leads to a larger number of feature edges and thus a larger memory consumption.
2010-05-23New option for detecting feature edges at material boundaries.Tamito Kajiyama
A checkbox "Material Boundaries" has been added to the Freestyle options in the Layers tab of the Render buttons. By enabling the option, any edge between two faces with different materials is detected as a feature edge. In style modules, edges at material boundaries can be tested with pyNatureUP1D(Nature.MATERIAL_BOUNDARY).
2010-05-22* Fix for a crash in StrokeVertexIterator::getObject().Tamito Kajiyama
* Minor docstring fixes.
2010-05-15Minor docstring fixes.Tamito Kajiyama
2010-05-09Removed partial implementations of the __copy__ method of some PythonTamito Kajiyama
extension classes. Copy constructors should be used to duplicate objects.
2010-05-09Renamed FrsCurve, FrsNoise and FrsMaterial Python extension typesTamito Kajiyama
to those names without the "Frs" prefix. These types are part of the Freestyle module, so that there is no need to make their names globally unique.
2010-05-09Fixed the flags argument of IMB_saveiff calls.Tamito Kajiyama
2010-05-09Merged changes in the trunk up to revision 28685.Tamito Kajiyama
2010-04-18Fixed a compilation issue with MinGW. The commit 28081 was revertingTamito Kajiyama
the workaround for name conflicts in the commit 23871 with regard to #include "BLI_jitter.h" in AppView.cpp.
2010-04-18Merged changes in the trunk up to revision 28247.Tamito Kajiyama
2010-04-18Major documentation updates. The original Freestyle API referenceTamito Kajiyama
(http://freestyle.sourceforge.net/doc/html/index.html) has been incorporated into the Blender/Freestyle Python API implementation in the form of Sphinx-based embedded docstrings. Some C++-specific descriptions of classes and functions were revised so that they are suitable for Python programmers. Missing docstrings were filled, and sparse descriptions were extended. By means of the new documentation system for Blender, an up-to-date Freestyle Python API reference will be part of the Blender 2.5 documentation.
2010-04-10Removed duplicated definitions of verticesBegin(), verticesEnd(),Tamito Kajiyama
pointsBegin(), and pointsEnd(). All these methods are inherited from the Interface1D class.
2010-04-08Missing update in the last commit.Tamito Kajiyama
2010-04-08Replaced PyObject_HEAD_INIT(NULL) with PyVarObject_HEAD_INIT(NULL, 0)Tamito Kajiyama
in the definitions of Python wrappers.
2010-04-08Got rid of a number of compiler warnings with regard to redefinitionsTamito Kajiyama
of _POSIX_C_SOURCE and _XOPEN_SOURCE. There are no functional changes. Tested with GCC 4.4.1 on Ubuntu 9.10 (karmic).
2010-04-01Fixed a compiler error in AppCanvas.h (thanks paulhart2). Also fixedTamito Kajiyama
a compiler warning in pipeline.c with regard to the missing prototype definition of free_libblock().
2010-03-30Fix for the issue described in the commit log of revision 27846: MadeTamito Kajiyama
the diffuse and Z depth information accessible from style modules when the border option is enabled.
2010-03-30Second attempt to fix the border option. At the moment, accessingTamito Kajiyama
diffuse and Z depth information through style modules won't work correctly with the border option. Another fix will follow.
2010-03-30Fixed the border option that was not functional when the crop optionTamito Kajiyama
was turned off.
2010-03-29Merged changes in the trunk up to revision 27817.Tamito Kajiyama
2010-03-28Slightly reduced the memory consumption during stroke rendering byTamito Kajiyama
removing ListBase BlenderStrokeRenderer::objects and relying on Base freestyle_scene::base instead.
2010-03-28Fixed the full sample anti-aliasing support in Freestyle.Tamito Kajiyama
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-02Made an attempt for fixing an instability issue regarding animationTamito Kajiyama
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-02-19Added support for procedural duplication (such as DupliVerts and DupliFaces).Tamito Kajiyama
2010-02-17Removed debugging printf() calls.Tamito Kajiyama
2010-02-17Fixed bugs in AppCanvas::readColorPixels() andTamito Kajiyama
AppCanvas::readDepthPixels() that caused a crash when the aspect ratio was not 1:1.
2010-02-16Added support for transparent stroke colors (again).Tamito Kajiyama
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-15Reverted the changes for adding support for transparent stroke colors,Tamito Kajiyama
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.