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-01-28Change libavcodec CODEC_ID_* to AV_CODEC_ID_*Anton Khirnov
CODEC_ID_* have been replaced with AV_CODEC_ID_* in new libavcodec versions. Update the code to use those new identifiers. Added a compatibility code to ffmpeg_compat.h
2014-01-27Revert the removal of Blender Internal Edge rendering, after artist feedback.Thomas Dinges
This reverts commit fb91a602c756f3ee5a122efa1862b8be7604186b.
2014-01-27Code cleanup: use booleans where appropriateCampbell Barton
2014-01-27Use includes for blenderplayer stubsCampbell Barton
exposes many incorrect and redundant stubs
2014-01-27Implement clipboard for mask splinesSergey Sharybin
So now it's possible to copy-paste splines between layers. Implementation is pretty much straightforward and duplicates some logic which we've got in sequencer/tracking clipboards. Will work on a common routine for clipboards later, for now it's not so much crucial to have.
2014-01-27Code Cleanup: de-duplicate nested node tree checkingCampbell Barton
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-26Cleanup of BLI_smallhashBastien Montagne
Factorized a bit the code here, think it's more readable now... No performance enhancement though. Reviewed by: campbellbarton Differential Revision: https://developer.blender.org/D259
2014-01-26Code Cleanup: style and correct API class refCampbell Barton
2014-01-24Fix currently harmless issue with converting ImBuf from sequencer spaceSergey Sharybin
2014-01-23Fix T38337: Crash when calling to_mesh() on a Curve object after clearing ↵Sergey Sharybin
its parent This is rather a workaround which only works because curve evaluation is only called for a temporary object. Not a big deal if we'll skip path creation for such objects. Still would need to think of general solution.
2014-01-23Cleanup: int/short to bool in BKE_cdderivedmesh.h functions (and TRUE/FALSE ↵Bastien Montagne
to true/false in code using them).
2014-01-23Fix crash when changing space type to 3D space when having multiple windowsSergey Sharybin
it is possible that different windows shares scene but displays different layers. And it's also possible that different areas in the same window will show different layers. First case was violated in `dag_current_scene_layers()` which only checked scene layers only once and if multiple windows shares the same scene only one window was handled. Now made it so layers from all windows will be squashed together into a single `DagSceneLayer`. This mainly solves issue with `DAG_on_visible_update()` which didn't work reliable with multiple open windows. Second case required call of `DAG_on_visible_update()` when changing space are type. This commit slows things a bit actually because `dag_current_scene_layers()` is actually called on every main WM loop iteration. It is possible to speed some logic up perhaps. Not sure it's so much critical to do now because there are unlikely to be more than few windows open anyway. Will rather think of skipping all that flushing things if no objects are tagged for update actually.
2014-01-23Fix T38284: Crash with several shrinkwrap constraint using same targetSergey Sharybin
Issue is caused by the race condition between getting custom data layers from target's derived mesh (for vertices and faces) and releasing this derived mesh from other threads. When one releases the derived mesh it'll free temporary data from it, and it'll also update data layers mapping. General rule for threading is that no one is ever allowed to modify data he doesn't own. This means that no temp layers are to be allocated in derived mesh and making it so `CustomData_free_temporary()` doesn't update mapping if nothing was freed will solve the race condition. It is still possible to do other improvements, namely detect which additional data/layers are to be present in derived mesh and create it as a part of `object_handle_update()`, but this is to be solved separately.
2014-01-23Removed the omat matrix from DupliObject.Lukas Tönne
This was storing the original object matrix, which builds on the assumption that obmat is modified during dupli construction, which is a bad hack. Now the obmats are still modified, but this only happens outside of the dupli system itself and the original ("omat") is stored as local variables in the same place where the obmat manipulation takes place. This is easier to follow and avoids hidden hacks as much as possible. Reviewed By: campbellbarton Differential Revision: https://developer.blender.org/D254
2014-01-23Fix T38328: GLSL display shows texture mapping completely messed up in some ↵Bastien Montagne
cases Own stupid typo in rB28ca299d4dfc...
2014-01-22Fix T38316: Half of a Face is Missing on Newly Created Cubes or Cylinders.Bastien Montagne
Own bug from rBc691551249f3. Now at least I understand why `test_index_face()` is needed for tessellated quads! Added a bunch of comments to explain the issue, as it's far from an obvious one... We loose some performances, but it's still much quicker than org code.
2014-01-22Fix T37198: Vorbis encoding is brokenSergey Sharybin
Issue was caused by wrong PTS calculation. This commit makes this calculation closer to what's happening in FFmpeg itself. Seems everything is working now including newer FFmpeg, but there's one thing which still doesn't work: writing avi files with h264 codec and Vorbis audio doesn't play correct in mplayer here. But didn't manage to get this working even using FFmpeg CLI, so this might be just a bug in FFmpeg/mplayer. Since this file works fine in blender just fine wouldn't consider this is crucial thing to look into at this moment.
2014-01-22Fix for particle emission bug, reported on IRC by Thomas BeckLukas Tönne
(@plasmasolutions): When the particle emitter is parented to a fast moving object, the emission locations will not be interpolated over subframes. This works if the particle emitter is animated itself. Particle system evaluates the emitter location for each subframe, but has to do this for the parent objects as well to get reliable results.
2014-01-22Fix T38312: Crash when using snap transform in edit modeSergey Sharybin
Issue was caused by uninitialized boolean flag.
2014-01-22Fix T38306: dupliframes causing viewport render to continually restart.Brecht Van Lommel
Evaluating the animation is causing the object to get tagged as changed, but in this case it's not a permanent change so no one should be notified. Also found a case where the persistent ID for duplis wasn't unique, fixed that as well.
2014-01-21Code Cleanup: reduce sign conversionCampbell Barton
2014-01-21Code Cleanup: use bool for return values and correct commentsCampbell Barton
also remove CDDM_Check, theres no need for it.
2014-01-21Optimize tessellation code (min 20% better, up to 300% with some CD layers ↵Bastien Montagne
to tessellate). The main idea is to store (during tessellation) or recreate (during tessdata update) a tessfaceverts-to-loops mapping, and then update all tessdata in one pass, instead of calling `BKE_mesh_loops_to_mface_corners` repeatedly for all tfaces! Differential Revision: https://developer.blender.org/D226 Reviewed by Campbell, thanks a lot!
2014-01-21Fix T38302: sequencer animation data lost in original scene when copying scene.Brecht Van Lommel
2014-01-21Fix for dupli's using float for id's and signed/unsigned conversionCampbell Barton
Enable strict flags exposed some strange issues.
2014-01-21Code cleanup and structural improvements for dupli generation.Lukas Tönne
This is a first step toward improving our dupli system. It implements a more generic way of treating the various methods of dupli generation by adding a few structs: * DupliContext holds a number of arguments commonly used in the recursive dupli functions and defines a recursion state for generating sub-duplis (nested groups). It also helps to prevent bloated argument lists. * DupliGenerator is a type struct that unifies the different dupli creation methods (groups, frames, verts, text chars, faces, particles). (As with context there should be no overhead from pointer indirection because everything can still be inlined inside anim.c) Beside making the code more easily understandable this implementation should also help to avoid weird side effects from custom matrix hacks by defining clearly what a generator does. The DupliContext is deliberately made const, so a generator can not simply add hidden matrix or flag modifications that are hard to track down. The result container for the generated duplis is stored in the context instead of being passed explicitly. This means the generators are oblivious to the storage of duplis, all they need to do is call the make_dupli function. This will allow us to implement more efficient ways of storing DupliObject instances, such as MemPools or batches. These can be implemented alongside the current ListBase so we can improve dupli bottlenecks without having to replace each and every dupli use case at once. Differential Revision: https://developer.blender.org/D189
2014-01-21Code Cleanup: styleCampbell Barton
2014-01-21Fix T38264: undo/redo broken with text overwrite mode in text editor (insert ↵Justin Dailey
key).
2014-01-20Fix T38294: enabling hair dynamics very slow / hangs with many hairs.Brecht Van Lommel
This function call was accidentally placed inside a loop which gave O(n^2) behavior, but there's no reason for it.
2014-01-20Fix T38267: dynamic paint Use Object Material not working correct in some cases.Brecht Van Lommel
2014-01-20Fix T38221: node fcurves in compositor get deleted when muting a node.Lukas Tönne
This is because of the animdata cleanup in rBd2e55cb. This works ok in general, but causes issues with the localized node trees used for compo/ shader/texture previews. These localized trees share the same default action as their original trees, and then remove fcurves when removing muted nodes (which should affect the localized tree only). node_free_node_ex now has an argument for disabling animdata cleanup, which is also not necessary when freeing the whole node tree (because animdata is freed in advance anyway). In addition to that it also checks the NTREE_IS_LOCALIZED flag to prevent freeing of fcurves in the action.
2014-01-20Followup for 1728c1e: we don't need to replace flags at allSergey Sharybin
Replacing the flags isn't thread safe and could lead to bi troubles. Such things are to be handled by the dependency graph.
2014-01-20Fix for flag not being restored in BKE_vfont_to_curve_exCampbell Barton
2014-01-18Increase maximum allowed amount of points for Splines in both U and V directionsSimon Repp
Increase the maximum allowed amount of points in a spline from currently 32,767 (short) to 2,147,483,647 (int). Change variables that get assigned the value from pntsu/pntsv to int type all over the codebase. Change function parameters that previously passed the count as short to int type as well. (because https://developer.blender.org/T38191) Reviewed By: sergey Differential Revision: https://developer.blender.org/D212
2014-01-18Send sequencer render context as const pointer rather than as valueSergey Sharybin
No functional changes just creepy to send rather huge structure by value.
2014-01-17Sequencer: don't cache frames during proxy rebuild jobSergey Sharybin
2014-01-17Followup to d03e768: was wrongly (void) non-existing argumentSergey Sharybin
2014-01-17Fix T38260: Missing object update with two visible scenesSergey Sharybin
It was an issue with early object update check which was screwing up for second scene because of first one reset ID recalc flags. From the comment in the code about this: We need to check all visible scenes, otherwise resetting OB_ID changed flag will only work fine for first scene of multiple visible and all the rest will skip update. This could also lead to wrong behavior scene update handlers because of missing ID datablock changed flags. This is a bit of a bummer to allocate list here, but likely it wouldn't become too much bad because it only happens when objects were actually changed.
2014-01-17Code Cleanup: spellingCampbell Barton
2014-01-16Code Cleanup: style and redundant castsCampbell Barton
2014-01-16Code Cleanup: simplify matcaps checks and quiet warningCampbell Barton
2014-01-16Tweak to early threaded update escapeSergey Sharybin
Issue was caused by some objects being in bMain and tagged for update but not being in the DAG. This means objects wouldn't be updated and their recalc flag remains untouched triggering threaded for the next frame. Solved by tweaking POST_UPDATE_HANDLER_WORKAROUND in the way that it checks objects' recalc flags from the DAG, not from the bMain. This will work a bit longer since DAG stored more nodes than objects in the scene, but this code only runs in cases when there're some objects tagged for update, which keeps overall CPU usage on such a workaround pretty low. Now CPU usage on 11a_comp scene from project Pampa went down from ~15% down to ~5% (2,69 release uses ~%7). Pointed by Thomas Dinges in IRC.
2014-01-15Potential fix for T38111: Duplicating BOIDS emitter cause glitchy operationSergey Sharybin
Need to reset cached KD tree when duplicating particle system.
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-15Eek, terrible typo in previous commitSergey Sharybin
Pointed by Bastien!
2014-01-15Fix T38224: Blender crashes on duplicating curveSergey Sharybin
Issue is caused by the evaluation flags getter called with NULL depsgraph. It happens on direct object update from the transform code after duplicating the curve. Proper solution is probably to make sure depsgraph is rebuild after duplication, but for now it's better to prevent crashes.
2014-01-15Fix T38216: Cycles render crash Blender in some scene in versionsSergey Sharybin
Issue was caused by evaluation flags getter function polluting the DAG. Need to use dag_find_node() instead. Still need to doublecheck exporting objects with curve deform works properly. On the first thought it should, but might be wrong again.
2014-01-15Fix a bunch of UI string issues...Bastien Montagne
2014-01-14Fix T38196: Crash with smoke simulationSergey Sharybin
Issue was caused by KD tree being allocated with the wrong size.