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
2013-01-18A patch set from Bastien Montagne (thanks!) for silencing build warnings ↵Tamito Kajiyama
(from gcc 4.7), mostly by commenting out unused variables, or using the BLI's SET_UINT_IN_POINTER macro.
2013-01-06Merged changes in the trunk up to revision 53584.Tamito Kajiyama
Conflicts resolved: release/scripts/startup/bl_ui/properties_render.py source/blender/blenloader/intern/readfile.c source/blender/editors/interface/interface_templates.c source/blender/makesrna/RNA_enum_types.h Also made additional code updates for: r53355 UIList - Python-extendable list of UI items r53460 Alpha premul pipeline cleanup
2013-01-04New command-line option --debug-freestyle to enable verbose debug messagesTamito Kajiyama
on the console during Freestyle rendering. The debug prints are turned off by default now. Errors are still printed on the console. A patch set implementing this functionality was provided by Bastien Montagne. Many thanks! :)
2012-12-19Merged changes in the trunk up to revision 53146.Tamito Kajiyama
Conflicts resolved: release/datafiles/startup.blend source/blender/blenkernel/CMakeLists.txt source/blender/blenlib/intern/bpath.c source/blender/blenloader/intern/readfile.c
2012-12-18Another big code clean-up patch by Bastien Montagne (GPL headers, indentation,Tamito Kajiyama
spaces around operators, and so forth). Many thanks!
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-10-28Improvements of Freestyle GUI controls - Part 1.Tamito Kajiyama
This commit makes a set of fixes and improvements based on the results of Freestyle branch review by Brecht. The discussion thread is: http://lists.blender.org/pipermail/bf-committers/2012-October/037927.html * The Layers panel and Freestyle-related panels in the Render tab of the Properties window were moved to the newly created Render Layers tab. The idea is to separate per render layer rendering options into a distinct Properties window tab, and use the existing Render tab to accommodate per scene rendering options. * The new Freestyle panel was added in the Render tab. The panel header contains a toggle button for globally enabling Freestyle, with the aim of making Freestyle easier to find. Those Freestyle options in the Post Processing panel were also moved to the new panel. * GUI code was updated so that UI controls will be greyed out (instead of being hidden) when Freestyle is disabled. Additional UI changes were also made to reduce space consumption. * The list of line sets was moved from the Freestyle panel to the Freestyle: Line Sets panel. * Old ray-casting algorithms were removed from the UI. Now only two algorithms (culled and non-culled cumulative visibility detection algorithms) are available, and the selection is done by the new "Culling" toggle button within the edge detection options.
2012-10-21Fix for OCIO-based color management (reported in the commit log of revision ↵Tamito Kajiyama
50832). The solution is exactly the same with revision 43584 for a similar issue in pre-OCIO color management: i.e., just disabling color management during the nested invocation of BI for stroke rendering.
2012-10-06An attempt to improve the performance of temporary scene generation for ↵Tamito Kajiyama
stroke rendering. Many thanks to Joshua Leung (aligorith) for the performance analysis of BKE_object_add function: http://lists.blender.org/pipermail/bf-committers/2012-October/037759.html
2012-07-17Better handling of the ESC key during Freestyle rendering.Tamito Kajiyama
This commit is meant to improve the response of the ESC key for stopping Freestyle rendering throughout the rendering process. The rendering with Freestyle consists of several steps including: (1) mesh data loading, (2) winged edge construction, (3) silhouette edge detection, (4) view map construction, and (5) stroke drawing. All these steps have been extended to frequently check if the ESC key is pressed, so that users can abort time-consuming rendering at any point of time.
2012-07-16Sphere radius and Kr derivative epsilon (removed in revision 43902) were ↵Tamito Kajiyama
recovered in the Parameter Editor mode. Several users requested the recovery as the removal of the two parameters was considered over-simplification for advanced users. As in the Python Scripting mode, the two parameters are in the "advanced edge detection options" section and disabled by default. Also the lower limit of Kr derivative epsilon was changed from 0 to -1000 so as to permit a negative value.
2012-06-17Fix for persistent failures of ↵Tamito Kajiyama
BLI_assert(CustomData_has_layer(&dm->faceData, CD_POLYINDEX)); in CDDM_calc_normals_mapping_ex() in source/blender/blenkernel/intern/cdderivedmesh.c. Problem report by flokkievids with an example .blend file for reproducing the issue. Thanks! The issue was caused by the fact that Freestyle was using the pre-BMesh way for constructing mesh data with the aim of generating a temporary 3D scene for stroke rendering. Specifically, the MFace struct was used for defining triangular faces. Now BMesh is in the trunk, MFace is internally used for tessellated faces only, and MPoly and MLoop are used for general mesh data construction. This commit is intended to update the Freestyle stroke rendering code in the BMesh way.
2012-06-17Fixed a typo.Tamito Kajiyama
2012-06-12Fix for emitted objects of a particle system not rendered properly.Tamito Kajiyama
Problem report by octane98 in the BA Freestyle thread with a sample .blend file. 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-05-07Fix for X and Y aspect ratios not working properly with Freestyle stroke ↵Tamito Kajiyama
rendering. Problem report by octane98 in the BA Freestyle thread. Thanks!
2012-05-01Fix for a crash due to a corruption of data for addressing degenerate ↵Tamito Kajiyama
triangles in imported mesh data.
2012-04-11New options for specifying unit line thickness.Tamito Kajiyama
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.
2012-03-05Another possible fix for degenerate triangles in imported mesh data.Tamito Kajiyama
A motivating example of the problem the present solution aims to address is a quad face such that three of the four vertices are colinear (i.e., they are lying on a line). Depending on how this quad is separated into two triangles, one of them can be a degenerate triangle. Degenerate triangles of this form are easy to avoid by rotating the diagonal edge of quad faces without affecting the visual outcome. The fix implemented in this commit tries to address degenerate triangles in this way.
2012-03-03Fix for a compilation error with GCC 4.6 (Linux and MinGW32).Tamito Kajiyama
Problem report by Bastien Montagne, thanks!
2012-03-03Made another attempt to fix degenerate triangles in imported mesh data.Tamito Kajiyama
This commit replaces the solution in revision 44539. It is recalled that a degenerate triangle is a triangle such that 1) A and B are in the same position in the 3D space; or 2) the distance between point P and line segment AB is zero. Degenerate triangles in the second form are now resolved by adding a small offset to P (i.e., the resulting triangles have a non-zero area).
2012-02-29Better fix for degenerate triangles in imported mesh data.Tamito Kajiyama
This commit replaces the solution in revision 44534. It is recalled that a degenerate triangle is a triangle such that 1) A and B are in the same position in the 3D space; or 2) the distance between point P and line segment AB is zero. Unlike the previous solution, the present fix is capable of any mesh topology involving any number of degenerate triangles. Degenerated triangles are removed in two steps. First, degenerate triangles in the second form are transformed into the first form by moving P to the position of either A or B that is closer to P. This modification affects all triangles sharing the vertex P. Then, all degenerate triangles in the first form are removed by just ignoring them. Obviously, the present solution has a disadvantage that resulting strokes may appear incorrect. This drawback is justified by the fact that the present solution is robust and easy to implement. Users are expected to fix incorrect strokes (if any) by manual removal of degenerate triangles from mesh data.
2012-02-29Experimental fix for degenerate triangles in imported mesh data.Tamito Kajiyama
This commit is an attempt to address degenerate triangles (i.e., triangles whose area is zero) that cause incorrect line visibility in Freestyle. There are two forms of degenerate triangles. Let A, B and P denote the three vertices of a triangle. A degenerate triangle is a triangle such that 1) A and B are in the same position in the 3D space, or 2) the distance between point P and line segment AB is zero. Note that the first form is a special case of the second form. Degenerate triangles in the first form is easy to remove by the Remove Doubles command. This commit is intended to address those degenerate triangles in the second form. The implemented fix cannot address degenerate triangles in general. It fails when a triangle touches with multiple degenerate triangles. A more general solution needs to be implemented.
2012-02-05Unified "Ridge" and "Valley" into "Ridge & Valley" in the Parameter Editor mode.Tamito Kajiyama
The Valley edge type is merely an alias of Ridge in the present Freestyle implementation.
2012-02-05Reorganization of two view map construction parameters.Tamito Kajiyama
* Sphere radius and Kr derivative epsilon were removed from the Parameter Editor mode. Now sphere radius of 1.0 and Kr derivative epsilon of 0.0 are used by default. The rationale of the removal is two-fold: little predictability and very minor artistic values. The effects of these parameters are hard to estimate in advance, which likely leads to a frustration of users due to repeated trials and unpredicted results. Therefore, the two parameters are considered to have quite limited artistic values. Proper definitions of the two parameters more and less require the knowledge of differential geometry and would not make sense to most artists for which the Parameter Editor is intended. * Sphere radius and Kr derivative epsilon are still available in the Python Scripting mode, but now in an "advanced options" section that is disabled and hidden by default. This way new users are properly warned, while expert users with specific technical needs can enable these options if they want. The same default values mentioned above are used when the two parameters are disabled.
2012-01-24Fix for invalid pointers within a copied line set.Tamito Kajiyama
Now the line set buffer is cleared when a new .blend file is opened, so that a line set may not be copied and pasted between two .blend files.
2012-01-22Fix for color management not working properly with Freestyle.Tamito Kajiyama
2011-11-26Merged changes in the trunk up to revision 42116.Tamito Kajiyama
2011-11-21Replaced the changes in revision 41810 with a better implementationTamito Kajiyama
of copy/paste functionality. Instead of making a copy of the active line set, now the settings of the active line set are copied to and pasted from a buffer. This allows for copying and pasting line set settings among different scenes and render layers.
2011-11-20Fix for duplicated feature edges due to a numerical instability of lineTamito Kajiyama
clipping by near/far Z planes. Problem report by vicentecarro together with a .blend file to reproduce the issue, thanks!
2011-11-14Added a new operator in the Parameter Editor mode to make a copyTamito Kajiyama
of the active line set.
2011-11-06Fix for a crash when two scenes in the compositor have different renderTamito Kajiyama
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-10-29Merged changes in the trunk up to revision 41225.Tamito Kajiyama
Conflicts resolved: source/blender/render/intern/source/pipeline.c
2011-10-28Extended the set of conditions for feature edge selection by edge types.Tamito Kajiyama
In the Parameter Editor mode, each edge type check button in the Selection by Edge Types has now an associated toggle button to exclude the edge type from the feature edge selection. This allows you to select, for instance, those edges that are silhouette lines but not external contours.
2011-10-06Fine control of feature edge selection with mesh face and edge marks.Tamito Kajiyama
New "face marks" and "edge marks" have been introduced in mesh data blocks. In the edit mode of a mesh object, face marks can be put to selected faces by choosing Mesh >> Faces >> Mark Freestyle Face from the menu of a 3D View window or Ctrl-F >> Mark Freestyle Face from the context menu. Similarly, edge marks can be put to selected edges by Mesh >> Edges >> Mark Freestyle Edge or Ctrl-E >> Mark Freestyle Edge. These marks should work fine with the Subdivision surface modifier. Moreover, two new conditions for feature edge selection have been added to the Parameter Editor mode as described below: 1. The Selection by Edge Types option has now the new Edge Mark type, which can be used to (de)select feature edges having edge marks. This option can be used to add to (or remove from) the view map arbitrary edges of mesh objects. 2. Selection by Face Marks option has been newly introduced, in which face marks are used for feature edge selection in two ways. One option is called "One Face" which is to (de)select feature edges if one of faces on the left and right of each feature edge has a face mark. The other option is "Both Faces" to (de)select feature edges if both faces on the left and right have a face mark.
2011-09-15Fix for the Link/Append commands not working when scenes had line styles.Tamito Kajiyama
The problem was reported by mato.sus304, thank you!
2011-06-11Merged changes in the trunk up to revision 37388.Tamito Kajiyama
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-04-17Fix for composite node parameter animation not working with Freestyle.Tamito Kajiyama
The problem was reported by ikeahloe together with a .blend file for reproducing the issue. Thanks!
2011-03-14Optimized view map calculation by Alexander Beels.Tamito Kajiyama
* View map calculation has been intensively optimized for speed by means of: 1) new spatial grid data structures (SphericalGrid for perspective cameras and BoxGrid for orthographic cameras; automatically switched based on the camera type); 2) a heuristic grid density calculation algorithm; and 3) new line visibility computation algorithms: A "traditional" algorithm for emulating old visibility algorithms, and a "cumulative" algorithm for improved, more consistent line visibility, both exploiting the new spatial grid data structures for fast ray casting. A new option "Raycasting Algorithm" was added to allow users to choose a ray casting (line visibility) algorithm. Available choices are: - Normal Ray Casting - Fast Ray Casting - Very Fast Ray Casting - Culled Traditional Visibility Detection - Unculled Traditional Visibility Detection - Culled Cumulative Visibility Detection - Unculled Cumulative Visibility Detection The first three algorithms are those available in the original Freestyle (the "normal" ray casting was used unconditionally, though). The "fast" and "very fast" ray casting algorithms achieve a faster calculation at the cost of less visibility accuracy. The last four are newly introduced optimized options. The culled versions of the new algorithms will exclude from visibility calculation those faces that lay outside the camera, which leads to a faster view map construction. The unculled counterparts will take all faces into account. The unculled visibility algorithms are useful when culling affects stroke chaining. The recommended options for users are the culled/unculled cumulative visibility algorithms. These options are meant to replace the old algorithms in the future. Performance improvements over the old algorithms depend on the scenes to be rendered. * Silhouette detection has also been considerably optimized for speed. Performance gains by this optimization do not depend on scenes. * Improper handling of error conditions in the view map construction was fixed.
2010-12-12Fix for incorrect vertex normals in the case of smooth faces withTamito Kajiyama
the R_TRANSFORMED flag enabled. Now vertex normals are properly transformed by ObjectInstanceRen::nmat[3][3] and normalized. It is noted that in the case of R_TRANSFORMED flat faces, surface normals are transformed and normalized by RE_vlakren_get_normal(). The bug was reported by Stéphane Grabli via personal communication. Thank you Stéphane for the careful code review!
2010-12-07* Fix for a freeze issue in stroke rendering when using round/square caps.Tamito Kajiyama
The problem was caused by a stroke with only one vertex. Such a stroke was generated when for some unknown reason a chained curve consisted of only two vertices such that their 3D positions were exactly or almost the same. * Fix for the Parameter Editor mode that failed when scene render layers and/or linesets contain a single quote in their names.
2010-12-04A few attempts to reduce the amount of memory consumption in Freestyle.Tamito Kajiyama
* Made changes to the Controller so that dynamically allocated memory areas (e.g. imported mesh data, winged edges, and a view map) are released soon after they become unnecessary. * Added a new feature edge selection criterion based on image border. When the "Selection by Image Border" option is enabled, feature edges are selected only if they are within the border of the image being rendered. The border is defined either by the frame size or a border region (specified by the Shift-B key in a 3D View window). When large scenes are rendered, this clipping by the image border leads to less memory consumption. * Enabled the "Silhouette", "Border", and "Crease" edge types of the Selection by Edge Types option by default. When no edge types are specified, all feature edges including "Ridge", "Valley" and "Suggestive Contour" are detected at the cost of extra memory consumption. Disabling these three edge types and enabling some other edge type leads to less memory consumption. This change is intended to help new Freestyle users by providing a typical, low memory consumption default setting. * Slightly rearranged the UI controls for feature edge selection.
2010-12-03New feature edge selection criterion based on object groups.Tamito Kajiyama
The Freestyle tab in the Render buttons has a couple of new options "Group" and "Group Negation". The Group option specifies a group of objects (defined through the Groups tab in the Object buttons), while the Group Negation value is either INCLUSIVE or EXCLUSIVE. If INCLUSIVE, feature edges belonging to some object in the group are selected. Otherwise, those feature edges not belonging to any object in the group are selected.
2010-11-30Fix for properly unlinking target object pointers when objects are deletedTamito Kajiyama
from scenes.
2010-11-27New option for taking account of face smoothness in view map calculation.Tamito Kajiyama
With this option disabled, the smoothness of faces is ignored and jagged feature edges (when seen from a three-dimensional viewpoint) are generated. If the new option is enabled, face smoothness is taken into account during the view map calculation, resulting in smooth feature edges in 3D. This generally leads to more stable strokes, and also permits more stylization possibilities relying on the feature edge smoothness in 3D. The downside of smooth feature edges is that the visibility is mathematically not well-defined and may cause some artefact in rendering results. The new option is thus intended to allow users to try both jagged and smooth feature edges and see which ones would fit individual application needs. This option is disabled by default.
2010-08-16Fixed a bug in the initialization of a temporary Scene structTamito Kajiyama
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-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-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.