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-14Preferences: file menu item to temporarily load factory settingsCampbell Barton
It's common to load factory settings as a test without wanting to overwrite your own settings on exit.
2019-05-13Cycles/Eevee: unify light strength and colorBrecht Van Lommel
Cycles lights now use strength and color properties of the light outside of the shading nodes, just like Eevee. The shading nodes then act as a multiplier on this, and become optional unless textures, fallof or other effects are desired. Backwards compatibility is not exact, as we can't be sure which renderer the .blend was designed for or even if it was designed for a single one. If the render engine in the active scene is set to Cycles, lights are converted to ensure overall light strength remains the same, and removing unnecessary shader node setups that only included a single emission node. If the engine is set to Eevee, we increase strength to remove the automatic 100x multiplier that was there to match Cycles. Differential Revision: https://developer.blender.org/D4588
2019-05-13Cycles/Eevee: unified and improved texture image color space handlingBrecht Van Lommel
Cycles now uses the color space on the image datablock, and uses OpenColorIO to convert to scene linear as needed. Byte images do not take extra memory, they are compressed in scene linear + sRGB transfer function which in common cases is a no-op. Eevee and workbench were changed to work similar. Float images are stored as scene linear. Byte images are compressed as scene linear + sRGB and stored in a GL_SRGB8_ALPHA8 texture. From the GLSL shader side this means they are read as scene linear, simplifying the code and taking advantage of hardware support. Further, OpenGL image textures are now all stored with premultiplied alpha. Eevee texture sampling looks a little different now because interpolation happens premultiplied and in scene linear space. Overlays and grease pencil work in sRGB space so those now have an extra conversion to sRGB after reading from image textures. This is not particularly elegant but as long as engines use different conventions, one or the other needs to do conversion. This change breaks compatibility for cases where multiple image texture nodes were using the same image with different color space node settings. However it gives more predictable behavior for baking and texture painting if save, load and image editing operations have a single color space to handle. Differential Revision: https://developer.blender.org/D4807
2019-05-13Depsgraph: Use for_render flag for curves from depsgraphSergey Sharybin
Fixes issue with Eevee always using viewport curve resolution.
2019-05-13Curve: Remove duplicated and confusing argumentSergey Sharybin
Curve function had two arguments: - for_render, which was originally supposed to be used to control whether viewport or render visibility for modifiers is to be used. - use_render_resolution, which sounds like it is supposed to control whether viewport or render resolution for curves is to be used. What is totally confusing is that those arguments were used interchangeably: sometimes use_render_resolution would control modifiers visibility. This commit makes it so there is one single argument for this. Reviewers: brecht Reviewed By: brecht Differential Revision: https://developer.blender.org/D4850
2019-05-13Fix T64120: Dynamic Paint Doesn't Recalculate Normals with Smooth Shading.Bastien Montagne
For wome reason, tag to mark normals as needing recompute was commented out instead of updated to new system, during conversion of DynaPaint code for 2.8 new evaluation stack... Trivial fix.
2019-05-13Preferences: auto-save on exitCampbell Barton
Save modified preferences on exit by default, with the option to disable this.
2019-05-13Preferences: support loading factory preferencesCampbell Barton
Previously it was only possible to load factory startup & preferences.
2019-05-11Outliner Visibility UpdateDalai Felinto
See T61578 for discussions and mockups. Visibility Options ================== We are adding more granular control over restriction columns in the outliner, exposing "indirect only" and "holdout" as options, and change the way users enable/disable collections in a viewlayer. We also rename the object viewport restriction to hide instance. So the options we have are: Collection ---------- * Render Visibility * Instance Visibility * Selectable (View) Layer Collection ----------------------- * Enable * Holdout * Indirect Only * Viewport Shortcuts ========= Isolate Collection ------------------ * Ctr + click isolates the collection. It turns all its parents and children "visible", and all the other collections "invisible". If ALL the collections were already properly set, we re-set the collections to their default value. Set Collection Inside Collections and Objects --------------------------------------------- * Shift + click: Set/unset inside collections and objects. We only set objects values as well when we are in View Layer mode and (obviously) when the objects have a matching property. Icons ===== Little reminder that we will need better icons for holdout, indirect only, and probably instanced (nothing wrong with the current, but it differs from the proposal when it is turned off). Also, we need to decide where do we want the modifier/bones/... icons to be (in which column) and ideally make sure their icons match the ones we use for collections/objects. At the moment those are using the screen icon, which is not being used by collections. Reviewers: brecht, billrey Subscribers: pablovazquez Differential Revision: https://developer.blender.org/D4823
2019-05-10Cleanup: Use const qualifier for curve utilitiesSergey Sharybin
2019-05-10Cleanup: Remove unused functionsSergey Sharybin
2019-05-10Cleanup: Remove old deprecated DerivedMesh functionsSergey Sharybin
Were ifdef-ed for a long time.
2019-05-10Cleanup: split setup_app_data into two functionsCampbell Barton
Allows for skipping either preferences or data-blocks. Previously setup_app_data was used for both.
2019-05-10Preferences: add is_dirty memberCampbell Barton
Tag preferences as dirty when changed (prepare for adding auto-save).
2019-05-10Cleanup: move preference saving logic into blendfile.cCampbell Barton
2019-05-10Fix T64304: Objects in appended scene from 2.79 file disappear after saving.Bastien Montagne
Versionning code generating collections from old 2.79 scene layers was setting new collections' library from scene, but it also needs to properly set the `LIB_TAG_INDIRECT` tag, otherwise localizing code does not know what to do, and most of append process fails.
2019-05-09DepsGraph: Multi ViewLayer SelectionJeroen Bakker
When using multiple viewlayers and switching between them the selection gets buggy. The reason for this is that the select_id is updated based on the index in the viewlayer. This makes the select_id not unique as objects might be shared or not shared at all. This fix will update the select_id on all objects in main. This will be triggered in all the selection operators. Reviewed By: sergey, brecht Maniphest Tasks: T55617 Differential Revision: https://developer.blender.org/D4824
2019-05-08Defaults: change default settings in a few editorsBrecht Van Lommel
* Timeline has summary collapsed to show only one row of keyframes. * Cavity default is screen space curvature (faster). * Scripting workspace text editor uses syntax highlight and line numbers. * Marker lines enabled by default in all animation editors. * Movie clip editor pivot point default to median. Ref T63986.
2019-05-08Cleanup: Remove BKE_MESH_BATCH_DIRTY_MAYBE_ALLClément Foucault
2019-05-08Cleanup: Mesh Batch Cache: Remove unused BKE_MESH_BATCH_DIRTY_SCULPT_COORDSClément Foucault
2019-05-08Spline IK: fix a scaling hiccup as bones roll off the end of the curve.Alexander Gavrilov
2019-05-08Copy Scale: support raising the copied scale to an arbitrary power.Alexander Gavrilov
Since scale is multiplicative, the appropriate way to partially copy it is to use power. However, the influence slider of constraints uses linear interpolation. Thus, there is no way to correctly split scale via constraints without adding this feature. In addition, this allows inverting scale by using negative powers, fulfilling the function of Copy Rotation's Invert checkboxes.
2019-05-07Spline IK: support using both original scaling and volume preservation.Alexander Gavrilov
Add a new option that makes the Spline IK solver apply volume preservation on top of the original scaling, considering the pre-IK scale of the bone as the goal volume to be preserved. This basically works similar to the Stretch To constraint, and allows easily rigging a stretchy chain that uniformly follows its parent's scaling. Since the Stretch To behavior is more familiar, the new option is on by default for newly created Spline IK constraints.
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