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-04-01Code cleanup: remove TRUE/FALSE & WITH_BOOL_COMPAT defineCampbell Barton
2014-03-28Bevel Factor MappingLukas Treyer
Bevel Factor Mapping allows to control the relation between bevel factors (number between 0 and 1) and the rendered start and end point of a beveled spline. There are three options: "Resolution", "Segments", "Spline". "Resolution" option maps bevel factors as it was done < 2.71, "Spline" and "Segments" are new. * "Resolution“: Map the bevel factor to the number of subdivisions of a spline (U resolution). * "Segments“: Map the bevel factor to the length of a segment and to the number of subdivisions of a segment. * "Spline": Map the bevel factor to the length of a spline. Reviewers: yakca, sergey, campbellbarton CC: sanne Differential Revision: https://developer.blender.org/D294
2014-03-15Code cleanup: use r_ prefix for return argsCampbell Barton
2014-03-11fix compile error on MinGW32Antony Riakiotakis
2014-03-07Removing ParticleSystem->frand arrays to avoid memory corruption issuesLukas Tönne
in threaded depgraph updates and effector list construction. Gathering effectors during depgraph updates will call the psys_check_enabled function. This in turn contained a DNA alloc call for the psys->frand RNG arrays, which is really bad because data must be immutable during these effector constructions. To avoid such allocs the frand array is now global for all particle systems. To avoid correlation of pseudo-random numbers the psys->seed value is complemented with random offset and multiplier for the actual float array. This is not ideal, but work sufficiently well (given that random numbers were already really limited and show repetition quite easily for particle counts > PSYS_FRAND_COUNT).
2014-03-05Move do-versions functions for 2.70Campbell Barton
2014-02-22Replace the int argument for user count mode when restoring pointers onLukas Tönne
undo with a nicer enum. This is more transparent about what happens with the user count. Also added comments to make certain the meaning of these values is easily understandable.
2014-02-21Fix T37719: NodeTrees lose users on undo.Lukas Tönne
The node editor needs to "ensure real user" (id_us_ensure_real) on all the node trees. This was done correctly for all open groups, but missing for the base node tree. Function is a bit hidden behind anonymous arguments in readfile.c ...
2014-02-21Modifier: rename triangulate scanfill to ear-clipCampbell Barton
2014-02-19Use tabs for image editor.Antony Riakiotakis
For initial discussion see T38371 This commit organized panels for image editor to new tab categories dependent on the image editor mode: View Mode: Tools - contains UV tools (currently only transform and UV Sculpting) Scopes - contains scopes Grease Pencil - contains Grease Pencil operators Paint Mode: Tools - contains brush options Scopes - as above Grease Pencil - as above Mask Mode Mask - contains mask tools Scopes - as above Grease Pencil - as above Grease Pencil panel/tab now includes operators, not view options which have been moved to the UI region on the right. To make this work better, image editor toolbar now is of type TOOLS instead of PREVIEW as was the case previously. A nice version patch makes sure all works predictably, but opening newer files with older blender executables could backfire. This commit does not address which UV Tools will be included in the Tools tab for the view mode, but does include some basic tools (transform) and provides a class to inherit from to avoid conflicts with UV Sculpting. Reviewers: brecht, dingto, sergey Differential Revision: https://developer.blender.org/D315
2014-02-19Added track weight to presetsSergey Sharybin
Useful for cases when you need to create bunch of witness tracks.
2014-02-15Fix reading one byte past the buffer when writing string propertiesCampbell Barton
2014-02-14Code cleanup: duplicate headersCampbell Barton
2014-02-12Revert own previous commit rBe2f9afbaabbd.IRIE Shinsuke
The "Cast Shadows" worked as expected, but it can cause problem in some cases. For example, when using strand render, we need disabling only buffer shadows, but the previous changes made that impossible. "Cast Shadows" should be added as a newly created option.
2014-02-11Blender Internal: Modify material property "Cast Buffer Shadows" to affect ↵IRIE Shinsuke
ray shadows also, and rename it to "Cast Shadows". This allows us to make materials that don't cast ray shadows. Turning off this property can reduce the rendering time slightly. Note: RNA path is changed to "use_cast_shadows" as well. The older path "use_cast_buffer_shadows" still can be used as its alias, but it will be removed after updating some addons. Reviewed By: brecht Differential Revision: https://developer.blender.org/D272
2014-02-07ListBase API: add utility api funcs for clearing and checking emptyCampbell Barton
2014-02-07Add Tabs for Movie Clip EditorSergey Sharybin
Based on the patch from Sebastian Koenig, discussed with Jonathan Williamson https://developer.blender.org/T38172 Also removed redundant modes from clip editor. Reviewers: brecht, carter2422 Reviewed By: carter2422 CC: sebastian_k, carter2422 Differential Revision: https://developer.blender.org/D293
2014-02-06Cycles: add pass alpha threshold value to render layers.Brecht Van Lommel
Z, Index, normal, UV and vector passes are only affected by surfaces with alpha transparency equal to or higher than this threshold. With value 0.0 the first surface hit will always write to these passes, regardless of transparency. With higher values surfaces that are mostly transparent can be skipped until an opaque surface is encountered.
2014-02-05Fix T35328: Disk caches of multiple particle systems on a single object ↵Sergey Sharybin
overwrite each other It was intended to work actually using particle cache's stack index but this index might have been calculated incorrect in special case: * With default cube scene, add particle system to the cube * Add disk cache to the particle system * Save file and reload it * Add another particle system and enable disk cache This would lead to two point caches with the same stack index of zero. This happened because point cache indices list wasn't stored in the .blend file so once you've reload your file blender doesn't know anything about number or point caches used. And what was even more confusing is that point cache indices list was trying to be load from the file, but this failed because it wasn't in the file. This commit solves the root of the issue which is ability of producing .blend file with two point caches using the same disk cache. This is done by making it sure that point cache indices list is stored in the .blend file. And also made it so disabling disk cache will tag it to recalculate stack index. Old broken files wouldn't magically start working, but fixing them is rather simple manually by toggling Disk Cache option. Reviewers: lukastoenne, brecht CC: sergof Differential Revision: https://developer.blender.org/D286
2014-02-05Fix T38340 and T38473: fixed Scene pointers in Composite and Defocus nodes ↵Lukas Tönne
don't get updated based on context. As discussed in T38340 the solution is to use the current scene from context whenever feasible. Composite does not use node->id at all now, the scene which owns the compositing node tree is retrieved from context instead. Defocus node->id is made editable by the user. By default it is not set, which also will make it use the contextual scene and camera info. The node->id pointer in Defocus is **not** cleared in older blend files. This is done for backward compatibility: the node will then behave as before in untouched scenes. File Output nodes also don't store scene in node->id. This is only needed when creating a new node for initializing the file format. Reviewers: brecht, jbakker, mdewanchand Reviewed By: brecht Differential Revision: https://developer.blender.org/D290
2014-02-05Code cleanup: use bool for static methodsCampbell Barton
2014-02-03Code cleanup: use bools where possibleCampbell Barton
2014-01-31Code cleanup: comments and warningsCampbell Barton
2014-01-30Code cleanup: add BLI_testextensie_n, replacing multuple calls to ↵Campbell Barton
BLI_testextensie also use attributes for BLI path functions
2014-01-29Option to lock the interface while renderingSergey Sharybin
Added function called WM_set_locked_interface which does two things: - Prevents event queue from being handled, so no operators (see below) or values are even possible to run or change. This prevents any kind of "destructive" action performed from user while rendering. - Locks interface refresh for regions which does have lock set to truth in their template. Currently it's just a 3D viewport, but in the future more regions could be considered unsafe, or we could want to lock different parts of interface when doing different jobs. This is needed because 3D viewport could be using or changing the same data as renderer currently uses, leading to threading conflict. Notifiers are still allowed to handle, so render progress is seen on the screen, but would need to doublecheck on this, in terms some notifiers could be changing the data. For now interface locking happens for render job only in case "Lock Interface" checkbox is enabled. Other tools like backing would also benefit of this option. It is possible to mark operator as safe to be used in locked interface mode by adding OPTYPE_ALLOW_LOCKED bit to operator template flags. This bit is completely handled by wm_evem_system, not with operator run routines, so it's still possible to run operators from drivers and handlers. Currently allowed image editor navigation and zooming. Reviewers: brecht, campbellbarton Reviewed By: campbellbarton Differential Revision: https://developer.blender.org/D142
2014-01-27Curves: save active point to fileKevin Mackay
Changed curve active point from pointer to index. Allows curve active point to be saved to file and retained between modes for free. Also some small optimisations by removing pointer look up code. - Made active point access functions into BKE API calls. - Fixes operators where curve de-selection resulted in unsel-active point. - Split curve delete into 2 functions
2014-01-22Make memory checker happy about FileGlobalSergey Sharybin
FileGlobal structure in write_global() didn't initialize the while build_hash property and only placed there null terminated meaningful content, leaving trailing uninitialized. This made valgrind complain about using uninitialized memory later in undo stack.
2014-01-20Clear object recalc flag on loadTom Edwards
It is possible that object in .blend file will have non-zero recalc flags. Clear them on load in order to prevent possible unneeded recalc after the load. Differential Revision: https://developer.blender.org/D224
2014-01-17Build Modifier - Add "Reversed" OptionJoshua Leung
This commit introduces the ability to make the Build Modifier operate in reverse, essentially allowing it to be used as a "deconstruction" effect. (See D219 for more details about use cases for this)
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
2014-01-15Fix T38227: Cloth cache storing only every 10 frames.Sergej Reich
Make sure pointcache step is set to 1 for cloth when copying objects.
2014-01-14Fix to recent commit, == instead of = in do_versionHoward Trickey
2014-01-14Bevel Modifier: add width type and profile control.Howard Trickey
This adds to the modifier the new controls that have been added to the bevel tool.
2014-01-14Empties with Images draw type: add support for movies and image sequencesGeoffroy Krantz
This adds an ImageUser to such empties with all the typical settings. Reviewed By: brecht, campbellbarton Differential Revision: https://developer.blender.org/D108
2014-01-07Text3d: move text selection boxes from Curve to EditFont structCampbell Barton
resolves T38079
2014-01-05Fix memory leak caused by main library splitSergey Sharybin
Evaluation Context wasn't freed for temporary mains.
2014-01-03Text3d: store number of characters and utf8 length separatelyCampbell Barton
EditFont's use of Curve.len was very confusing, in editmode it represented the number of characters, in object mode the number of bytes. add Curve.len_wchar and keep track of both. Also don't convert the editmode text into utf8 on every keystroke. Now this is done on exiting editmode or save - to match most other object types. This also fixes curves 'body_format' being reported with an invalid size.
2014-01-01Fix crash happening in Cycles fcurve modifierSergey Sharybin
Summary: Crash was happening because of fcurve modifier stack used modifier's DNA to store temporary data. Now made it so storage for such a thing is being allocated locally per object update so multiple objects which shares the same animation wouldn't run into threading conflict anymore. This storage might be a part of EvaluationContext, but that'd mean passing this context all over in object_where_is which will clutter API for now without actual benefit for this. Optimization notes: storage is only being allocated if there're Cycles modifier in the stack, so there're no extra allocations happening in all other cases. To make code a bit less cluttered with this storage passing all over the place added extra callbacks to the FModifier storage which runs evaluation with the given storage. Reviewers: brecht, campbellbarton, aligorith CC: plasmasolutions Differential Revision: https://developer.blender.org/D147
2013-12-30Main API: refactor naming, use BKE_main_ prefix and add main arg.Campbell Barton
2013-12-30Code Cleanup: unused defines & styleCampbell Barton
2013-12-26Threaded object update and EvaluationContextSergey Sharybin
Summary: Made objects update happening from multiple threads. It is a task-based scheduling system which uses current dependency graph for spawning new tasks. This means threading happens on object level, but the system is flexible enough for higher granularity. Technical details: - Uses task scheduler which was recently committed to trunk (that one which Brecht ported from Cycles). - Added two utility functions to dependency graph: * DAG_threaded_update_begin, which is called to initialize threaded objects update. It will also schedule root DAG node to the queue, hence starting evaluation process. Initialization will calculate how much parents are to be evaluation before current DAG node can be scheduled. This value is used by task threads for faster detecting which nodes might be scheduled. * DAG_threaded_update_handle_node_updated which is called from task thread function when node was fully handled. This function decreases num_pending_parents of node children and schedules children with zero valency. As it might have become clear, task thread receives DAG nodes and decides which callback to call for it. Currently only BKE_object_handle_update is called for object nodes. In the future it'll call node->callback() from Ali's new DAG. - This required adding some workarounds to the render pipeline. Mainly to stop using get_object_dm() from modifiers' apply callback. Such a call was only a workaround for dependency graph glitch when rendering scene with, say, boolean modifiers before displaying this scene. Such change moves workaround from one place to another, so overall hackentropy remains the same. - Added paradigm of EvaluaitonContext. Currently it's more like just a more reliable replacement for G.is_rendering which fails in some circumstances. Future idea of this context is to also store all the local data needed for objects evaluation such as local time, Copy-on-Write data and so. There're two types of EvaluationContext: * Context used for viewport updated and owned by Main. In the future this context might be easily moved to Window or Screen to allo per-window/per-screen local time. * Context used by render engines to evaluate objects for render purposes. Render engine is an owner of this context. This context is passed to all object update routines. Reviewers: brecht, campbellbarton Reviewed By: brecht CC: lukastoenne Differential Revision: https://developer.blender.org/D94
2013-12-26Fix T37945: Crash after undoSergey Sharybin
Issue was caused by some typos in readfile.c made in original commit of image cache rewrite.
2013-12-22Style Cleanup: remove preprocessor indentation (updated wiki style guide too)Campbell Barton
2013-12-18Fix T37843: area split widget missing in python console editor.Brecht Van Lommel
Python was indirectly causing redraw tags during drawing, which interfered with the ARegion.drawrct, now ignore these during draw.
2013-12-18Game Engine: Level of detail support and toolsDaniel Stokes
Levels of detail can be added and modified in the object panel. The object panel also contains new tools for generating levels of detail, setting up levels of detail based on object names (useful for importing), and clearing an object's level of detail settings. This is meant as a game engine feature, though the level of details settings can be previewed in the viewport. Reviewed By: moguri, nexyon, brecht Differential Revision: http://developer.blender.org/D109
2013-12-16UI: Tabs categories for panels (D75)Campbell Barton
- works by defining panel categories, currently restricted to the toolbar. - no panels define bl_categories yet, so no user visible changes since tabs only show when there are multiple. - panel pinning is available in rmb menu or alt+lmb.
2013-12-14Code cleanup: Remove "TexFace to Material Convert", from the file menu. This ↵Thomas Dinges
was used for conversion from older 2.5x files. The do_version() code is still there and functioning though.
2013-12-13Image cache rewrite to using generic movie cacheSergey Sharybin
Summary: Behaves very much the same as cache for Movie Clip datablock: - Image now have `MovieCache *cache` field which replaced legacy `ListBase ibufs`. This allows image datablock to easily keep of image buffers which are owned by itself. This field isn't saved to the file and getting restored on undo steps. However, cache limit is global for movies, sequences and image datablocks now. So overall cached image buffers size will not go above cache limit size in user preferences. - Image buffers which are marked as BITMAPDIRTY will never be freed from the cache. - Added utility function to iterate over image buffers saved in movie cache. - Movie cache cleanup check callback now have ImBuf argument which can be used in a condition of cleanup. - Added some utility functions which replaces legacy ibufs iterations with image cache iteration which happens from inside a lock. - Fixed `image_mem_size()` which was only counting one of the buffers if both float and byte buffer present. Additional notes: - `BKE_image_get_first_ibuf()` is rather stupid, but direct access to ibufs->first was also the same stupid idea. Would consider avoid this function is another project. - There are some places which doesn't look threadsafe, but they already were not so much threadsafe anyway before. So think not a big deal with solving this later. Finally solves infinite memory usage by image sequences! :) Reviewers: brecht, campbellbarton Reviewed By: brecht CC: sebastian_k Differential Revision: http://developer.blender.org/D95
2013-12-13Fix T37572: text editor scrolling not working well with Mac trackpad panning.Brecht Van Lommel
The trackpad would give isolated mouse pan events with a distance smaller than one line or character. For other 2D views this is all accumulated in floats, but in the text editor it only keeps track of integers, and the small mouse pan events got lost due to rounding. Now it keeps track of sub-line or sub-character scroll offsets to avoid this.
2013-12-12Sculpt mode Gravity feature from GSOC 2010 by Jason Wilkins.Antony Riakiotakis
Reviewers: sergey, brecht, campbellbarton, jwilkins Differential Revision: http://developer.blender.org/D89