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
2015-09-13Cleanup: spellingCampbell Barton
2015-09-02Cleanup: styleCampbell Barton
2015-07-20Freestyle: disabled debug code in ViewMapBuilder::ComputeIntersections().Tamito Kajiyama
2015-07-20Freestyle: Removed tesselated forms of silhouettes for displaying in the UI.Tamito Kajiyama
The tesselated silhouettes were not used in Freestyle for Blender at all.
2015-07-20Freestyle: code cleanup.Tamito Kajiyama
Removed unnecessary header files and replaced some other heade files with forward class declarations.
2015-07-20Freestyle: minor optimization for space in the FEdgeXDetector.Tamito Kajiyama
Member variables and auto variables were changed from real (double) to float in most part of the FEdgeXDetector (except for curvature computations).
2015-07-20Freestyle: commented part of FEdgeXDetector::ProcessRidgeFace() that has no ↵Tamito Kajiyama
effect.
2015-07-20Freestyle: internal switch from double to float in mesh loading and ↵Tamito Kajiyama
construction of winged edges.
2015-07-20Freestyle: minor optimization for space from mesh importing to feature edge ↵Tamito Kajiyama
detection. Several class member variables were removed (at the cost of computing their values when retrieved) or changed to a type of smaller size. Also fixed whitespace.
2015-07-20Freestyle: minor code cleanup.Tamito Kajiyama
2015-07-20Freestyle: removed redundant instantiation of vector objects.Tamito Kajiyama
2015-07-20Freestyle: minor optimization for space by using a pointer to a const char ↵Tamito Kajiyama
array instead of std::string.
2015-07-18Cleanup: whitespace & break placementCampbell Barton
2015-07-13Freestyle: Fix compilation error with strict compiler flagsSergey Sharybin
2015-07-13 Imbuf types refactor.Antony Riakiotakis
ImBuf types were getting stored as bitflags in a 32bit integer which had already run out of space. Solved the problem by separating file type to an ftype enum, and file specific options to foptions. Reviewed by Campbell, thanks a lot!
2015-07-10Freestyle: new stroke modifiersFolkert de Vries
This patch introduces a couple new stroke modifiers. The ones currently implemented are based on prototypes by @kjym3 and myself. The new modifiers: - Tangent - Thickness noise - Crease Angle - Simplification - Curvature 3D The documentation for these new modifier types can be found [[ http://www.blender.org/manual/render/freestyle/parameter_editor/index.html | in the manual ]]: {F134441} (left: AnisotropicThicknessShader, right: NoiseThicknessShader) {F140499} (left: Curvature 3D, right: Simplification) Author: Folkert de Vries (flokkievids) Reviewers: kjym3 Subscribers: #user_interface, plasmasolutions, kjym3 Projects: #bf_blender Differential Revision: https://developer.blender.org/D963
2015-07-06Cleanup: style, spellingCampbell Barton
2015-06-18Freestyle: Fix for wrong assertion failure upon inverted face normals.Tamito Kajiyama
The assertion code was not taking quad faces into account. Problem report by Folkert de Vries (flokkievids) through personal communications, thanks!
2015-05-31Improvements to the Freestyle Python API (needed by the SVG Exporter)Tamito Kajiyama
This patch adds some new functionality to the Freestyle Python API, notably: - MaterialBP1D, checks whether the supplied arguments have the same material - Fixes a potential crash in CurvePoint.fedge (due to NULL pointer) - Makes (error handling in) boolean predicates more robust - Adds a BoundingBox type, to make working with bounding boxes easier - Adds several new functions (get_object_name, get_strokes, is_poly_clockwise, material_from_fedge) - Adds a StrokeCollector StrokeShader, that collects all the strokes from a specific call to Operators.create() - Adds hashing and rich comparison to the FrsMaterial type These new features (most of them, anyway) are needed for making a more robust SVG exporter that supports holes in fills. Reviewers: kjym3, campbellbarton Subscribers: campbellbarton Projects: #bf_blender Differential Revision: https://developer.blender.org/D1245
2015-05-16Freestyle: Fix for stroke rendering performed with multi-views enabled.Tamito Kajiyama
Per-view Freestyle stroke rendering needs to be done without multi-views.
2015-05-16Fix T44691 Freestyle render crashes when Views is on (Blender Internal).Tamito Kajiyama
In pipeline.c the function add_freestyle() was supposed to be called once per frame, but after the Multi-view merge the function are called as many as the number of views. There were however a few Freestyle parameters that have to be initialized per frame, and initializing one of the parameters for each view was causing double freeing of allocated memory which was enough to result in a crash.
2015-05-12Depsgraph: Add additional relations/id update tagsSergey Sharybin
This calls are not strictly speaking needed for the old dependency graph, but due to more granular nature of upcoming depsgraph more actions requires update of relations of IDs. On the one hand this extra tags could be wrapped with if() statements, but on the other hand it makes sense to keep tag in sync so it's clear if some issue is caused by missing/extra tag or by depsgraph itself.
2015-05-11Freestyle: Fix for assertion failure in viewport preview.Tamito Kajiyama
An assertion to check if `re->clipsta` < 0 (added as part of addressing T36009 in rBrB795034c17d76bef2a15e576ac9c70ae2268a823b) was failing when Freestyle viewport preview rendering takes place in the camera view with an orthographic camera (in this case, the user-defined clipping range is used without changes, so that `re->clipsta` is positive). The `re->clipsta` property has a negative value only when the 3D viewport is in an orthographic view but not in the camera view. It seems that this viewport setting cannot be identified from rendering settings accessible from Freestyle. Now a negative `re->clipsta` value is directly checked instead, without relying on other render flags.
2015-05-09Freestyle: Partial fix for a crash with Save Buffers option enabled.Tamito Kajiyama
Prevents null pointer references in the case of the Save Buffers option enabled. This is a regression likely due to rBd5f1b9c22233.
2015-05-04Freestyle: Compilation error fix after recent changes in BKE_object_add()Sergey Sharybin
2015-04-28Compilation error fixes for strict compiler flagsSergey Sharybin
2015-04-28Fix T44404: freestyle crashes blender.Tamito Kajiyama
The reported crash case seems to be caused by freeing compiled Python objects in a thread. Now this issue is avoided by allocating a buffer to store a Python script and using BPY_string_exec() to run the script. This makes it unnecessary to repeatedly create and destroy Text data blocks. Many thanks to Campbell Barton for his help on the bug fix.
2015-04-22Freestyle: Fixed a crash due to missing call of StrokeShader.__init__() in ↵Tamito Kajiyama
Python. Many thanks to the problem report by flokkievids (Folkert de Vries) through a comment in Patch D963.
2015-04-06Multi-View and Stereo 3DDalai Felinto
Official Documentation: http://www.blender.org/manual/render/workflows/multiview.html Implemented Features ==================== Builtin Stereo Camera * Convergence Mode * Interocular Distance * Convergence Distance * Pivot Mode Viewport * Cameras * Plane * Volume Compositor * View Switch Node * Image Node Multi-View OpenEXR support Sequencer * Image/Movie Strips 'Use Multiview' UV/Image Editor * Option to see Multi-View images in Stereo-3D or its individual images * Save/Open Multi-View (OpenEXR, Stereo3D, individual views) images I/O * Save/Open Multi-View (OpenEXR, Stereo3D, individual views) images Scene Render Views * Ability to have an arbitrary number of views in the scene Missing Bits ============ First rule of Multi-View bug report: If something is not working as it should *when Views is off* this is a severe bug, do mention this in the report. Second rule is, if something works *when Views is off* but doesn't (or crashes) when *Views is on*, this is a important bug. Do mention this in the report. Everything else is likely small todos, and may wait until we are sure none of the above is happening. Apart from that there are those known issues: * Compositor Image Node poorly working for Multi-View OpenEXR (this was working prefectly before the 'Use Multi-View' functionality) * Selecting camera from Multi-View when looking from camera is problematic * Animation Playback (ctrl+F11) doesn't support stereo formats * Wrong filepath when trying to play back animated scene * Viewport Rendering doesn't support Multi-View * Overscan Rendering * Fullscreen display modes need to warn the user * Object copy should be aware of views suffix Acknowledgments =============== * Francesco Siddi for the help with the original feature specs and design * Brecht Van Lommel for the original review of the code and design early on * Blender Foundation for the Development Fund to support the project wrap up Final patch reviewers: * Antony Riakiotakis (psy-fi) * Campbell Barton (ideasman42) * Julian Eisel (Severin) * Sergey Sharybin (nazgul) * Thomas Dinged (dingto) Code contributors of the original branch in github: * Alexey Akishin * Gabriel Caraballo
2015-04-02CleanupCampbell Barton
2015-03-28Cleanup: redundant struct declarationsCampbell Barton
2015-03-27Freestyle: Code cleanup, silence warning in release modeSergey Sharybin
2015-03-27Freestyle: Code cleanup, prepare for strict C++ flagsSergey Sharybin
2015-03-19Cleanup: spelling grey -> grayCampbell Barton
2015-03-13Initial compilation support with C++11 featureset enabledSergey Sharybin
This commit makes some preliminary fixes and tweaks aimed to make blender compilable with C++11 feature set. This includes: - Build system attribute to enable C++11 featureset. It's for sure default OFF, but easy to enable to have a play around with it and make sure all the stuff is compilable before we go C++11 for real. - Changes in Compositor to use non-named cl_int structure fields. This is because __STRICT_ANSI__ is defined by default by GCC and OpenCL does not use named fields in this case. - Changes to TYPE_CHECK() related on lack of typeof() in C++11 This uses decltype() instead with some trickery to make sure returned type is not a reference. - Changes for auto_ptr in Freestyle This actually conditionally switches between auto_ptr and unique_ptr since auto_ptr is deprecated in C++11. Seems to be not strictly needed but still nice to be ready for such an update anyway/ This all based on changes form depsgraph_refactor branch apart from the weird changes which were made in order to support MinGW compilation. Those parts of change would need to be carefully reviewed again after official move to gcc49 in MinGW. Tested on Linux with GCC-4.7 and Clang-3.5, other platforms are not tested and likely needs some more tweaks. Reviewers: campbellbarton, juicyfruit, mont29, lukastoenne, psy-fi, kjym3 Differential Revision: https://developer.blender.org/D1089
2015-03-09Fix T43624: Freestyle uses wrong colour on second Line Set with textured ↵Tamito Kajiyama
lines in Cycles. This is a regression introduced by rBd8b00a3bf5c1 (Freestyle: memory consumption optimization in stroke rendering). The issue was caused by uninitialized MPoly::mat_nr values. Before the stroke rendering optimization, individual Freestyle strokes were represented by distinct mesh objects, and thus MPoly::mat_nr was left unset (i.e., was always zero). Now that the stroke rendering optimization has been done and mesh objects may represent multiple strokes of different materials, MPoly::mat_nr had to be properly set to the material index that refers to the material of the poly face.
2015-02-11cleanup: style/indentationCampbell Barton
2015-02-06cleanup: styleCampbell Barton
2015-02-05Mesh validate: add an option to not clean temp/cache CDLayers.Bastien Montagne
This is mandatory for incoming custom normal imports from io scripts, because often geometry here is corrupted, so we need to call mesh.validate() to clean it up. Issue is, we cannot set custom normals before geometry is clean, so we need to store temporary plain loop normals in a CD_NORMAL layer, validate, and then set custom normals. So we need a way to prevent 'temp' lnors to be freed by validate.
2015-02-02Fix for Freestyle view map caching not properly updated upon changes of ↵Tamito Kajiyama
render resolution and scale. Problem reports independently by Light BWK and Folkert de Vries, thanks.
2015-01-26Cleanup: strcmp/strncmp -> STREQ/STREQLEN (in boolean usage).Bastien Montagne
Makes usage of those funcs much more clear, we even had mixed '!strcmp(foo, bar)' and 'strcmp(foo, bar) == 0' in several places...
2015-01-20Fix error in freestyle apiCampbell Barton
2015-01-19Fix own error in freestyle apiCampbell Barton
2015-01-17Fix T43090: Cycles + Freestyle + border render = black render.Tamito Kajiyama
The reported problem was due to a special case where there are no strokes to be rendered. Since rendering an empty scene is a waste of time, the issue was addressed here by skipping the stroke rendering process entirely.
2015-01-13Cleanup: fixes for building with recent clangCampbell Barton
2015-01-06PyAPI: add utilities PyTuple_SET_ITEMS, Py_INCREF_RETCampbell Barton
Setting all values of a tuple is such a common operation that it deserves its own macro. Also added Py_INCREF_RET to avoid confusing use of comma operator.
2015-01-04Freestyle: reserve array sizes before fillingCampbell Barton
also use PyList_GET_ITEM when list size is known.
2015-01-04Fix 8 memory leaks from bad PyList_Append useCampbell Barton
2015-01-04mathutils: refactor instantiationCampbell Barton
remove 'type' argument, very few mathutils objects are wrapped, add new function for creating wrapped objects. also fixes unlikely memory leak if the data-array can't be allocated.
2015-01-03Freestyle: memory consumption optimization in stroke rendering.Tamito Kajiyama
Previously individual strokes were represented by distinct mesh objects no matter how many vertices and materials each stroke has, although the vertex and material counts can be quite small depending on the input scene data. Now stroke meshes are packed into a minimum number of mesh objects, so as to reduce the overheads of Blender object creation.