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
2014-07-07Per-material line color settings for Freestyle.Tamito Kajiyama
New properties 'line_color' and 'line_priority' are added to Material ID data blocks. The 'line_color' property allows users to specify a per-material line color that can be used as a Freestyle line color through Material color modifiers of line style settings. The new line color property is intended to provide a solution for line color stylization when a proper Freestyle support for Cycles is implemented (likely as part of the upcoming Blender 2.72 release; see Patch D632). Materials in Cycles are usually set up using shader nodes, and Freestyle won't be capable of retrieving colors and other properties from node-based materials any soon. The new line color property of materials addresses this foreseen limitation by providing artists with an intuitive alternative mean to specify line colors on a per-material basis independently from node trees. The 'line_priority' property gives users a way to control line colors at material boundaries. When a line is drawn along a feature edge at material boundaries, one of the two materials on both sides of the edge has to be picked up to determine the line color. So far there was no way to control this selection (which was in effect at random). Now the material with a higher line color priority will be selected. The new per-material line settings are shown in the new Freestyle Line tab in the Material context of the Properties window (only when Freestyle is enabled).
2014-05-13Freestyle: Added .new() and .remove() methods to collection types of line ↵Tamito Kajiyama
style modifiers.
2014-05-03Code cleanup: styleCampbell Barton
2014-05-03Fix for missing initialization and copying of FreestyleLineStyle::pr_texture ↵Tamito Kajiyama
value.
2014-05-03Patch D246: Texture Marks for freestyle strokes, written and contributed by ↵Tamito Kajiyama
Paolo Acampora. Reviewers: brecht, kjym3, #freestyle Reviewed By: brecht, kjym3 Differential Revision: https://developer.blender.org/D246
2014-04-30Code cleanup: remove unused includesCampbell Barton
Opted to keep includes if they are used indirectly (even if removing is possible).
2014-04-18Freestyle: New options for sorting to arrange the stacking order of lines.Tamito Kajiyama
Line styles now have a set of new options for rearranging the stacking order of lines. This gives artists more control to determine which lines should be drawn on top of others. Two available sort keys are the distance from camera and curvilinear 2D length. Since the distance of a line from camera may vary over vertices, another option called integration type is used to compute the sort key for a line from the values computed at individual vertices. Available integration types are MEAN, MIN, MAX, FIRST and LAST (see the tool tips for more detail).
2014-04-10Code cleanup: use struct type for mempool & style editsCampbell Barton
2014-02-07ListBase API: add utility api funcs for clearing and checking emptyCampbell Barton
2014-01-15Python/Depsgraph: bpy.data.*.is_updated now detects add/remove of any datablock.Tom Edwards
Previously this only worked for some datablocks relevant to rendering, now it can be used to detect if any type of datablock was added or removed (but not yet to detect if it was modified, we need many more depsgraph tags for that). Most of the changes are some function parameter changes, the important parts are the DAG_id_type_tag calls. Reviewed By: sergey, brecht Differential Revision: https://developer.blender.org/D195
2013-09-08Changes to Freestyle default parameters:Tamito Kajiyama
- The "Same Object" chaining option enabled (see follow-up discussions in Bug #36629). - Sphere radius set to 0.1 (was 1.0 resulting in a longer computation time).
2013-07-19style cleanup: switch statements, include break statements within braces & ↵Campbell Barton
indent. also indent case's within the switch (we already did both of these almost everywhere)
2013-07-13fix errors in codeCampbell Barton
- BKE_mball_center_median(), didn't work. - clip_refresh was removing handlers from wrong space. - new_modifier, replace strcpy with BLI_strncpy
2013-04-25minor fixes for freestyleSv. Lockal
- update copying code for linestyles to copy gaps - update copying code for freestyle line modifiers to copy mapping flags and seeds - fix drawing code for Material modifiers after a recent refactoring
2013-04-24fix [#34958] keyframe many items would fail if there was a (") in the text.Campbell Barton
2013-03-30Updated default line style parameters.Tamito Kajiyama
- Line color set to black. - Line thickness set to 3. Based on review comments by IRIE Shinsuke.
2013-03-23A major code update for making the DNA file specification of Freestyle settingsTamito Kajiyama
and RNA for it independent of the build flag for enabling Freestyle. Suggested by Sergey Sharybin through a code review of the branch. * Many #ifdef WITH_FREESTYLE blocks were removed to always have Freestyle-specific DNA file specification and RNA for it built in Blender. This will allow Freestyle setting survive even when a non-Freestyle build is used for loading and saving files. It is noted that operations are still conditionally built through #ifdef WITH_FREESTYLE blocks. * To this end, new blenkernel files BKE_freestyle.h and intern/freestyle.c have been added. All API functions in FRS_freestyle_config.h as well as some of those in FRS_freestyle.h were moved to the new files. Now the relocated API functions have BKE_ prefix instead of FRS_.
2013-03-22Fix for default values different from the factory settings.Tamito Kajiyama
Suggested by IRIE Shinsuke through a code review of the branch.
2013-03-20Removed goto's as suggested first by Bastien Montagne and also by Sergey ↵Tamito Kajiyama
Sharybin through a code review of the branch.
2013-03-20Code clean-up suggested by Sergey Sharybin through a code review of the branch.Tamito Kajiyama
* Removed the checks of NULL pointers after malloc/calloc. * Replaced repeated cast operations with a temporary variable initialized with one cast operation. * Removed an unused switch block (meant to be a place to put per-modifier resource management code).
2013-03-18Merged changes in the trunk up to revision 55357.Tamito Kajiyama
Resolved conflicts: release/datafiles/startup.blend source/blender/editors/space_nla/nla_buttons.c Also updated source/blender/blenkernel/intern/linestyle.c as a follow-up of recent changes for the use of bool.
2012-12-12A big cleaning patch by Bastien Montagne (thanks a lot!)Tamito Kajiyama
* Split and moved Cycles’ render layers panels into the render_layer context as well (would be nice to hide this context when not needed, e.g. with the BGE, but this is not so easy to do nicely...). * Fixed some inconsistencies with trunk (probably due to svn merge glitches) using r52858 as reference. Also recovered the missing release/bin/blender-softwaregl file. * A bunch of style code fixes in Blender's own code (not Freestyle itself yet): line lengths, spaces around operators, block formatting, headers, etc. In rna_linestyle.c, color_blend_items was replaced by ramp_blend_items (exported from rna_material.c).
2012-12-10All angle properties were switched from degrees to radians (using PROP_ANGLE Tamito Kajiyama
RNA subtype), since Freestyle internally use angles in radians. A patch set by Bastien Montagne (many thanks!) NOTICE FOR BRANCH USERS: This commit may break line drawing settings of already saved Freestyle files. All angles are now treated as radians instead of degrees, so collections of angle values might be necessary in order to recover previous visual results. Affected properties are: - Crease Angle in the edge detection options - Min 2D Angle in the 'Splitting' section of a line style - Max 2D Angle in the 'Splitting' section of a line style - 'orientation' parameter of the Calligraphy thickness modifier - 'angle' parameter of the PerlinNoise1D geometry modifier - 'angle' parameter of the PerlinNoise2D geometry modifier - 'angle' parameter of the 2DTransform geometry modifier
2012-12-09Fix for a number of compiler warnings as well as a bug hidden by the warnings.Tamito Kajiyama
Patch contribution by Bastien Montagne, thanks!
2012-05-12Merged changes in the trunk up to revision 46557.Tamito Kajiyama
Conflicts resolved: source/blender/blenkernel/intern/material.c source/blender/blenkernel/intern/subsurf_ccg.c source/blender/blenloader/intern/readfile.c source/blender/editors/animation/anim_channels_defines.c source/blender/makesrna/intern/rna_scene.c Additional changes: * Fix for recent changes of BKE_* function renaming. * Fix for an "attempt to free NULL pointer" in BlenderStrokeRenderer::RenderStrokeRepBasic().
2012-04-07New options in the Parameter Editor mode for controling the position of ↵Tamito Kajiyama
stroke thickness. The new options enable a better control on the position of stroke thickness with respect to stroke backbone geometry. Three predefined positions are: * center: thickness is evenly split to the left and right side of the stroke geometry. * inside: strokes are drawn within object boundary. * outside: strokes are drawn outside the object boundary. Another option called "relative" allows users to specify the relative position by a number between 0 (inside) and 1 (outside). The thickness position options are applied only to strokes of the edge types SILHOUETTE and BORDER, since these are the only edge types defined in terms of object boundary. Strokes of other edge types are always using the "center" option.
2012-01-04Added two stroke geometry modifiers:Tamito Kajiyama
- 2D Offset: Adds two-dimensional offsets to stroke backbone geometry. - 2D Transform: Applies two-dimensional scaling and rotation to stroke backbone geometry.
2011-12-12Updates on the Parameter Editor mode:Tamito Kajiyama
* Added a new chain splitting option for dividing chains into pieces having a given curvilinear 2D length. * Rearranged the UI controls of chain splitting options according to the actual order of processing. * Made changes for converting each view edge into a chain in the case of not using chaining.
2011-11-14Implemented a button to make a single-user copy of a line style.Tamito Kajiyama
2011-11-12Added to the Parameter Editor mode new stroke geometry modifier `Blueprint'Tamito Kajiyama
that produces a blueprint using circular, elliptic, and square contour strokes. Related changes and bug fixes were made as follows: * The randomness in radius and center has been transformed into optional parameters of the pyBluePrintCirclesShader and pyBluePrintEllipsesShader. Also a new optional parameter to control the randomness of backbone stretching has been added to the pyBluePrintSquaresShader. * A bug in the pyBluePrintSquaresShader that invisible stroke vertices at corners of rectangular contour strokes were not properly drawn. The problem was due to the changes of the / operator between Python 2.x to 3.x. Even when the two operands of the division operator are integers, Python 3.x gives a floating-point number when the quotient is not an integer. The fix was just to replace the / operator by the // operator for integer division. * An unpleasant discontinuity in circular and elliptical contour strokes was fixed. * The length parameter of the Backbone Stretcher geometry modifier has been renamed to `backbone_length' in line with the parameter of the same name in the pyBluePrintSquaresShader.
2011-11-01Added two stroke geometry modifiers: Parameterization and Guiding Lines.Tamito Kajiyama
2011-10-29Merged changes in the trunk up to revision 41225.Tamito Kajiyama
Conflicts resolved: source/blender/render/intern/source/pipeline.c
2011-09-20Rearranged the organization of chaining options in line styles.Tamito Kajiyama
New there are only two chaining types: plain and sketchy. Both chaining types have the "same object" option. With this option enabled, only feature edges of the same object are chained. The sketchy chaining also has the "rounds" option to specify the number of rounds in a sketchy multiple touch. Also removed a temporary workaround (implemented by means of a custom chaining rule) for infinite straight lines, which has resulted in much cleaner strokes.
2011-09-20Added new line style options for sketchy chaining of feature edges.Tamito Kajiyama
The default chaining option is now called "Natural", while the new chaining options are "Sketchy: Topology Preserved" and "Sketchy: Topology broken". The latter two options allow for generating chains of feature edges with a sketchy multiple touch. The "Sketchy: Topology Preserved" option takes account of the topology of objects in the view map, while the "Sketchy: Topology broken" ignores the edge topology. The "rounds" option specifies the number of rounds in sketchy strokes.
2011-09-19Added new line style options for selecting chains by min/max 2D lengths.Tamito Kajiyama
2011-09-11Implemented a calligraphic thickness modifier in the Parameter Editor mode.Tamito Kajiyama
Also fixed a typo in the docstring of the CalligraphicShader.
2011-08-30Added an 'angle' parameter to the Perlin Noise 1D and 2D geometry modifiersTamito Kajiyama
to specify a displacement direction in degrees.
2011-08-19Stroke geometry modifiersTamito Kajiyama
Added a set of stroke geometry modifiers to the Geometry tab of line styles in the Parameter Editor mode. Now the following stroke geometry modifiers are available, each with a set of animateable parameters: - Sampling: changes the resolution of stroke backbone polylines. - Bezier Curve: replace stroke backbone with a Bezier approximation of the stroke backbone. - Sinus Displacement: add sinus displacement to stroke backbone. - Spatial Noise: add spatial noise to stroke backbone. - Perlin Noise 1D: add one-dimensional Perlin noise to stroke backbone. - Perlin Noise 2D: add two-dimensional Perlin noise to stroke backbone. - Backbone Stretcher: stretch the beginning and the end of strokes. - Tip Remover: remove a piece of stroke at the beginning and the end of strokes. To branch users: When you have a .blend file with Freestyle options specified, you may want to add a Sampling modifier with the 'sampling' value set to 5. This value specifies a resolution of polylines for line drawing in Freestyle. If no sampling modifier is specified, your line drawing will result in coarse polylines. Before geometry modifiers were introduced, this initial sampling was automatically done. Now the initial sampling is a tunable parameter that can be omitted, allowing better control on polyline resolution.
2011-07-25New line style modifiers for changing line color, alpha transparency, andTamito Kajiyama
line thickness based on object materials. Accessible material attributes are diffuse color, specular color, specular hardness, and alpha.
2010-11-30Fix for properly unlinking target object pointers when objects are deletedTamito Kajiyama
from scenes.
2010-10-24* Another attempt to fix the bug partly addressed in revision 31419.Tamito Kajiyama
* Fix for the missing function declaration of strcpy. This caused a linker error in the Debug build with x64 VC 2008 and CMake.
2010-10-11Added support for three types of stroke caps that determines the shapeTamito Kajiyama
of both ends of strokes. The three cap types are: 1) butt caps (flat); 2) round caps (half-circle); and 3) square caps (flat and extended). Also implemented an option to join those feature edges of the same object. These options are available in the "Stroke" tab of the "Freestyle: Line Style" panel in the Render buttons.
2010-09-18Added support for animation of line style parameters.Tamito Kajiyama
Most stylization parameters in line style datablocks are now animatable by means of keyframes. Right click on a line style parameter, and you will see a list of keyframe-related commands in the context menu. Concerning the implementation, RNA path resolution has been extended to properly address color ramps in line style color modifiers. File I/O has been also improved to load/save the animation data associated with line style datablocks. Known issue: Freestyle-related options in render layers are not animatable at the moment, because of general inability (or maybe a bug) that keyframes cannot be inserted with respect to render layer options.
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-26Changed the default line color of a line style from white to black.Tamito Kajiyama
2010-07-20A WIP commit for proof-of-concept implementations of line style modifiers.Tamito Kajiyama
A number of UI elements were newly introduced to control line color, alpha transparency and line thickness by means of base color/alpha/thickness plus modifiers that alter the base values. To begin with, three basic modifiers were prototyped with the aim of putting the new UI framework in practice and evaluating if it works properly. The Parameter Editor mode is still in a work-in-progress state and totally useless from users' viewpoint.
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-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.