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
2019-05-07Sound: Revert all the recent changes to soundSergey Sharybin
This happened to be a bigger rabbit hole to hell than it originally seemed, and there are higher priority design tasks to be handled (at this point high priority design task is more important than high priority bug fix). After talking to Brecht the decision was made to revert to the known isolated issue, which will allow everyone in the studio work same as prior to last Friday. The remaining bits will be worked on after all the design tasks are out of the way. This commit reverts: 4cdb4b9532c Fix T64161: Crashing using undo and multiple windows 064273a4ae7 Sound: Port more cases to be a part of dependency graph 2e582f8ab53 Sound: Fix access wrong dependency graph 5fc49d9c915 Sound: add stubs to build without audaspace c68c81a870b Sound: Make sure spin lock is initialized for new sound datablocks c02534469ac Sound: Delay creating sound scene handle for until is needed 9f681bea68f Fix T64144: Crash when displaying audio waveforms in VSE 2f79286453e Cleanup: unused vars bed8ad6f95a Fix crash in background rendering after recent sound changes 773691310f9 Fix T64143: Crash when scrubbing in the graph editor 888852055c1 Sound: Fix for being unable to jump to a frame during playback with A/V sync 6ab7b384645 Sound: More fixes for access of original scene 35db1195455 Sound: Fix access original scene during playback 211c4fd2e9a Depsgraph: Make comment about evaluation more obvious c5fe16e121e Sound: Make sound handles only be in evaluated datablocks b4e1e0946bf Depsgraph: Preserve sound and audio pointers through copy-on-write 4eedf784b04 Depsgraph: Store original sequencer strip pointer 6990ef151c1 Sound: Move evaluation to dependency graph d02da8de23b Sound: Delay opening handlers for until really needed 3369b828916 Depsgraph: Add scene audio component e8f10d64757 Depsgraph: Tag sequencer for update on changes 6e4b7a6e4d9 Depsgraph: Initial work to cover sequencer 17447ac5a6b Depsgraph: Make sound ID part of the graph
2019-05-07Cleanup: Remove remaining parts of frameserverSergey Sharybin
2019-05-07Cleanup: More clear naming for rendering functionsSergey Sharybin
2019-05-06Maintain Volume: introduce an option switching between modes.Alexander Gavrilov
After a lot of thinking about this, I decided that all operation modes that I've tried over the past couple of years, including the original 2.79 one, have their uses after all. Thus the only reasonable solution is to add yet another option. The modes are: - Strict: The current 2.80 mode, which overrides the original scaling of the non-free axes to strictly preserve the volume. This is the most obvious way one would expect a 'Maintain Volume' constraint to work. - Uniform: The original 2.79 mode, which assumes that all axes have been scaled the same as the free one when computing the volume. This seems strange, but the net effect is that when simply scaling the object uniformly with S, the volume is preserved; however, scaling the non- free axes individually allows deviating from the locked volume. This was obviously intended as a more or less convenient UI tool. - Single Axis: My own variant of the intent of the Uniform scale, which does volume-preserving if the object is scaled just on the Free axis, while passing the non-free axis scaling through. I.e. instead of uniform S scaling, the user has to scale the object just on its primary axis to achieve constant volume. This can allow reducing the number of animation curves when only constant volume scaling is needed, or be an easier to control tool inside a complex rig.
2019-05-06Drivers: add an Average Scale option to the Transform Channel driver vars.Alexander Gavrilov
Unlike location and rotation, there is a meaningful definition of overall/average scaling via the total change in the volume. This adds an option to retrieve that via a single driver variable, instead of having to use three and an expression. Using the determinant to compute the volume scaling also allows detecting flipping due to negative scale - this is impossible to do via the three variable approach. The volume_scale functions are added purely for code readability: 'volume scale factor' is easier to understand than determinant. Differential Revision: https://developer.blender.org/D4803
2019-05-06Sound: Port more cases to be a part of dependency graphSergey Sharybin
Mainly covers RNA callbacks which were still doing direct scene update, which was causing crashes. Now corresponding ID_RECALC flags are used, so all scenes can update accordingly. Also tested animated volume/pitch on strips, which now works as well. Fixes T64133: Assert after changing FPS Fixes T64154: Immediate crash when changing the current frame on the timeline Fixes T64185: Client Crashes when the frame position value is changed Fixes T64190: Blender Crash using Timeline Editor Fixes T64128: Click to close bug type on timeline Fixes T64147: Crash when setting current frame from Python Fixes T64152: Blender Auto-Close on timeline change
2019-05-05GPencil: Verify brush is valid for grease pencilAntonioya
Usually the brush type is correct, but for some old files the brush could be a not valid type. In this case, returns the object active material. This is related to T61413
2019-05-05Sound: add stubs to build without audaspaceCampbell Barton
2019-05-04Sound: Make sure spin lock is initialized for new sound datablocksSergey Sharybin
Should have been done as a part of 9f681bea68f.
2019-05-04Fix T64144: Crash when displaying audio waveforms in VSESergey Sharybin
2019-05-04Sculpt: Refactor draw manager sculpt drawing mechanismClément Foucault
Workbench/Eevee now displays multiple multi-materials correctly. Iterate over pbvh nodes when doing object iteration. This makes the rendering process more streamlined and allow for using different materials. This change will make possible to: - Add culling pass of each pbvh leaf node. (speedup if zoomed on a small area) - Reduce number of lead node iteration. - Reduce code complexity
2019-05-04Cleanup: unused varsCampbell Barton
2019-05-03Fix crash in background rendering after recent sound changesBrecht Van Lommel
2019-05-03Sound: Fix for being unable to jump to a frame during playback with A/V syncSergey Sharybin
2019-05-03Depsgraph: Make comment about evaluation more obviousSergey Sharybin
2019-05-03Sound: Make sound handles only be in evaluated datablocksSergey Sharybin
Quite straightforward change, which makes it so audio handles are only created inside of evaluated datablocks. Exception is adding sound strip to the sequencer, which needs an audio handle to query length and number of channels. This is done by temporarily loading sound file into an original datablock, and then tossing it away. There is an assert in sound.c which verifies that audio system is used from an evaluated domain, which should help porting all the cases which are likely missed by this commit. Some annoying parts: - `BKE_sound_update_scene()` is iterating over all bases, and does special ID tags to see whether sound has been handled or not already. This can not be done the old fashion now. Ideally, this will be done as a speaker datablock evaluation, but seems that would require a lock since audio API is not safe for threading. So this is not a desired way i'd say. Possible solution here would be to iterate over ID datablocks using dependency graph query API. - Frame jump needs to call `BKE_sound_seek_scene()` directly because there might be some flags assigned to the scene which could be clear after operator execution is over. Need to verify if that's the case though. This is a bit hairy code, so sticking to a safest and known to work approach for now. - Removed check for format when opening new sound file. Maybe we can have some utility function which queries channel and duration information, leaving the caller's code clean and tidy. Tested following cases: - Adding/removing/moving sequencer's sound strips. - Adding/moving speakers in viewport. - Rendering audio. Reviewers: brecht Differential Revision: https://developer.blender.org/D4779
2019-05-03Sound: Move evaluation to dependency graphSergey Sharybin
The sound handles are still in the original datablocks, so it's easier to test since there should be no functional changes.
2019-05-03Sound: Delay opening handlers for until really neededSergey Sharybin
Needs to be done in order to localize sound handlers to the evaluated IDs only. This commit might not be fully optimal, since it does more things on every scene update request, but that will be solved by the upcoming change which will put those updates to a dependency graph.
2019-05-03Fix crash opening file saved in editmode with a brush image texturePhilipp Oeser
started with recent UV Sculpt tool-system integration rB928becec60d1 Fixes T64094 Reviewers: brecht Maniphest Tasks: T64094 Differential Revision: https://developer.blender.org/D4788
2019-05-03Cleanup: warningsCampbell Barton
Quiet extra-semi-stmt & missing-variable-declarations
2019-05-02Workbench,EEVEE: Viewport Render SamplesJeroen Bakker
- Add `render_aa` and `viewport_aa` sampling setting for workbench. 0 samples means no AA, 1 sample uses FXAA and more samples will use TAA. The viewport `gpu_viewport_quality` can still limit viewport anti-aliasing method. - Use TAA when rendering images. (this used to be CPU based FSAA) - Removed `R_OSA` related settings. Reviewers: fclem, brecht Maniphest Tasks: T60847 Differential Revision: https://developer.blender.org/D4773
2019-05-02Fix T63697: correct stuck R_NO_CAMERA_SWITCH in scene->r.mode.Alexander Gavrilov
This flag becomes stuck in certain situations, causing the marker camera switch feature to not work. To fix old files with the problem, clear the flag on file load. Also, the line that is supposed to clear it has wrong bit math, causing seq_render_scene_strip to effectively toggle the flag on or off every time it's run, instead of restoring to original state. The flag and code were added in 001789d7337a by @campbellbarton.
2019-05-02Cleanup: unused warningCampbell Barton
2019-05-01Fix T61619: Some VSE attributes with keyframes are not sensibly evaluatedRichard Antalik
when the scene is referenced as a strip from another VSE scene Fix T49658: Evaluation / animation of f-curves does not correct for a scene's position within another scene Solution: Evaluate animdata before rendering scene seqbase. Reviewed By: brecht Differential Revision: https://developer.blender.org/D4755
2019-05-01Alembic: integrate cache file into the dependency graphBrecht Van Lommel
* The cache file datablock is now evaluated as part of the dependency graph, creating/freeing the Alembic file handle matching the current frame. Modifiers and constraints depend on this evaluation. * Cache file handles and readers now only exist on COW datablocks, never the original ones. * Object data paths are flushed back to the original for the user interface. * The cache file keeps a list of all readers associated with its handle, and automatically frees them when the handle is freed. This kind of sharing of data across datablocks is weak but we have no better mechanism for it. Fix T62720: Alembic sequences not working and crashing Differential Revision: https://developer.blender.org/D4774
2019-05-01Modifiers: support parallelism in Armature and Lattice Deform.Alexander Gavrilov
This partially mitigates the performance drop in Spring 02_055_A.anim caused by dependency changes in D4715. Differential Revision: https://developer.blender.org/D4753
2019-05-01Fix crash on unlinking sceneRichard Antalik
Fix crash when unlinking scene and "Use Sequence" property is set. Reviewed By: brecht Differential Revision: https://developer.blender.org/D4756
2019-05-01Use cache only in current sceneRichard Antalik
Disable cache use, when rendering another scene seqbase. Now cache limit applies only to one scene, so it can be overshot. Cache of other scenes can be filled manually still. Reviewed By: brecht Differential Revision: https://developer.blender.org/D4757
2019-05-01Fix T49589: 2.78 VSE no longer caching Node Editor scene stripsRichard Antalik
Sequencer cache was cleared when rendering compositor output. Reviewed By: brecht Differential Revision: https://developer.blender.org/D4758
2019-05-01UV Sculpt: improve tool-system integrationCampbell Barton
In 2.7x UV sculpt was a kind of sub-mode (a toggle with it's own key-map & drawing code). Move this to an operator that uses the tool-system, this simplifies internal logic, especially brush selection which now matches sculpt and other paint modes. - Remove toggle used to enable uv sculpt. - Expose the brush, which was already used but there was no way to select different brushes. - Make UV sculpt use paint paint tool slots (using brushes how all other paint mode currently do). - Move UV Sculpt keymap to the tools keymap. - Remove Q to toggle UV sculpt mode, S/P/G keys to switch tools.
2019-05-01Cleanup: Redundant struct specifierSergey Sharybin
2019-05-01BKE_pchan: add BKE_pchan_rot_to_mat3Campbell Barton
Useful to get the un-scaled rotation from a pose channel.
2019-05-01ClangFormat: run with ReflowComments on source/Campbell Barton
Prepare for enabling ReflowComments.
2019-05-01Cleanup: comments (long lines) in drawCampbell Barton
2019-04-30Fix broken build from recent rBae7db030dab0.Bastien Montagne
2019-04-30Fix T63343: Duplicated object is hidden whereas it should notDalai Felinto
We were mixing ob->flag and ob->base_flag. We shouldn't be using ob->flag & SELECT in 2.8x.
2019-04-30Stop using deprecated ob->flag & SELECTDalai Felinto
We still have base->flag_legacy & BA_WAS_SEL for the few cases we really need to have a per-object selection check (used in the transform code).
2019-04-30Remove BKE_scene_object_base_flag_sync_from_objectDalai Felinto
Note the fix for T62865 is still working fine.
2019-04-30Refactor: Use object select API - ED_object_base_selectDalai Felinto
We had a mix of BKE_view_layer_base_select (harmless), and places where we simply set the BASE_SELECTED flag with no regard to its selectable state.
2019-04-30Fix T63864 Duplicate Data options don't exist for Light Probe and Grease PencilAntonioya
See revision D4766
2019-04-30Sequencer: Scene Strip PerformanceJeroen Bakker
- Merged SEQ_OFSDRAW with V3D_OFSDRAW and define in the DNA_view3d_types: Due to this FSAA always kicked in making the rendering slow. - Removed `Texture Solid` and `DOF`. - Now when chosing Solid rendering the settings of the original scene is used. - Added a global override to use scene specific shading. In the Future we will need to enhanced this so user can change the settings. - Added support for LookDev. LookDev crashed as it needed the `evil_C` what was not set - LookDev mode will always show the scene + world lights. Reviewed By: brecht, fclem Maniphest Tasks: T62517 Differential Revision: https://developer.blender.org/D4738
2019-04-30Fix T63865: Animated Influence slider of NLA Strip doesn't updateSergey Sharybin
Add special case to construct PointerRNA from evaluated NLA strip to an original one when flushing animation back to the original ID. Reviewers: brecht Maniphest Tasks: T63865 Differential Revision: https://developer.blender.org/D4762
2019-04-29DRW: Improve edit mode selection time when using auto-smoothClément Foucault
Unfortunately it does not concern paint mode. Related to T63946
2019-04-29Fix T63616: applying armature modifier with another modifier under it doesnt ↵Bastien Montagne
apply right. Some deform modifiers (like armature) use passed Mesh parameter to retrieve some extra data (vgroups in our case), and default to obdata when it is not available. This should be fine in theory in the 'apply modifier to obdata' case, since this is always the first modifier, but here upper-level code passes **evaluated** object, not orig one, so ob->data is not orig anymore, and might miss some stuff... Note that am quiet unsure whether the way evaluated data is passed around in that apply modifier operator code is actually OK, but for now it seems to work at least...
2019-04-29Cleanup: internal apply modifier code: make it clear we use eval modifier ↵Bastien Montagne
and object.
2019-04-29Cleanup: spellingCampbell Barton
2019-04-29VSE: Cache rewriteRichard Antalik
This patch implements new cache system. Aim is to give user more control over cache, so it can be maximally utilized. This is done through sequencer timeline side panel in category proxy & cache. Cached images are also visualized in timeline, controled by sequencer timeline view->cache menu Functional changes: - NOT use IMB_moviecache API - refactor names of cached image types - each scene owns 1 sequencer cache - merge preprocess cache into per-sequencer cache - cache links images rendered per frame in order as they are created - add cache content visualization tool - add RNA properties to control the cache More info can be found in design notes in blenkernel/intern/seqcache.c and in https://developer.blender.org/D4443 Reviewed By: brecht Differential Revision: https://developer.blender.org/D4443
2019-04-28Fix T63794: duplicating an armature clears B-Bones' custom handle references.Tomoaki Kawada
This patch fixes T63794 by updating duplicated bones' custom handle references to point to the new armature's bones. The problem occurs because B-Bones of a duplicated armature keep pointing to the old armature's bones. The references are cleared upon entering Edit Mode because there are no matching `EditBone` for such bones, and `find_ebone_link` just returns `NULL` in such cases. Reviewers: mont29, angavrilov Maniphest Tasks: T63794 Differential Revision: https://developer.blender.org/D4726
2019-04-27Cleanup: comments (long lines) in blenkernelCampbell Barton
2019-04-26Minor cleanup in data transfer code.Bastien Montagne