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-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-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-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-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-30Remove BKE_scene_object_base_flag_sync_from_objectDalai Felinto
Note the fix for T62865 is still working fine.
2019-04-27Cleanup: comments (long lines) in blenkernelCampbell Barton
2019-04-22Cleanup: style, use braces for blenkernelCampbell Barton
2019-04-17ClangFormat: apply to source, most of internCampbell Barton
Apply clang format as proposed in T53211. For details on usage and instructions for migrating branches without conflicts, see: https://wiki.blender.org/wiki/Tools/ClangFormat
2019-04-14Gizmo: individual toggles for 3D view gizmosCampbell Barton
The popover for displaying gizmos now has options for empty, light & camera gizmos. Transform toggles are now checkboxes, which has the advantage that it's more obvious they can be mixed however changing from one to another now uses 3x clicks instead of a single click-drag action. We might need a faster way to switch between transform types.
2019-04-13Gizmo: move transform to a persistent optionCampbell Barton
Based on feedback from animators, this is useful to keep as a view option (as in 2.7x). Now the transform gizmos can be enabled from the popover, the tools still work for location/scale/rotation. The transform tool has been removed. See T63518
2019-04-02Cleanup: Scene Copy: remove scene's camera remapping in core func.Bastien Montagne
This is useless at that point, since no object has been duplicated yet...
2019-04-02Fix T62970: Scene Copy: remove 'linked objects/obdata', add 'linked ↵Bastien Montagne
collections'. 'Linked objects' option was not behaving correctly before, effectively linking in collections, so this one has been renamed to just 'Linked Copy', and gives a fully shallow copy of current scene. 'Linked Obdata' was not really useful, kind of confusing, and was painful to maintain, so dropping it now.
2019-03-25Fix T62927: Assert when opening default 2.79 startup file in 2.80.Bastien Montagne
Not sure why that was asserted on instead of handling the flag properly, if base is not selectable, then just do not select it... Have the feeling this code handling sync of flags between bases and objects could use some cleanup, but that will be for another day.
2019-03-19Cleanup: comment blocksCampbell Barton
2019-03-15Fix T62614: Copy eevee settings when scene is copiedJacques Lucke
Reviewers: brecht, fclem Differential Revision: https://developer.blender.org/D4520
2019-03-12Cleanup: BLI_utildefines struct macrosCampbell Barton
Use the term "AFTER" instead of "OFS" since it wasn't obvious these macros operate on everything after the struct member passed. Avoid casting to non-const types when only reading.
2019-03-11Fix T62310: Batch generate data-block previews broken.Bastien Montagne
Some uninitialized colormanagement data was breaking RNA acces for them, exposed in batch preview management when generating previews for scenes because we have to backup/restore scene and all its settings before/after rendering it...
2019-03-08Cleanup: use plural names for Main listsCampbell Barton
Convention was not to but after discussion on 918941483f7e we agree its best to change the convention. Names now mostly follow RNA. Some exceptions: - Use 'nodetrees' instead of 'nodegroups' since the struct is called NodeTree. - Use 'gpencils' instead of 'grease_pencil' since 'gpencil' is a common abbreviation in the C code. Other exceptions: - Leave 'wm' as it's a list of one. - Leave 'ipo' as is for versioning.
2019-03-06Cleanup: remove no-op BKE_collection_copy_full().Bastien Montagne
That one was an empty place-holder, BKE_collection_duplicate() is now doing that. And its call from full scene copying is not needed currently, 'deep copy' in that case is handled in editor's `ED_scene_add()`. Note that at some point, we might want to move that logic into BKE, but for now let's keep thing as they are - working.
2019-03-06DNA: remove none particle brush & deprecated flagsCampbell Barton
The none brush doesn't make sense to have anymore with the tool system. Also remove deprecated flags & types for object, armature & text.
2019-02-253D View: support for editing cursor rotationCampbell Barton
Add buttons for editing the cursor rotation as well as rotation modes, similar to object and pose bones.
2019-02-18Fix T57457: animated image sequences not working in Eevee.Brecht Van Lommel
The dependency graph now handles updating image users to point to the current frame, and tags images to be refreshed on the GPU. The image editor user is still updated outside of the dependency graph. We still do not support multiple image users using a different current frame in the same image, same as 2.7. This may require adding a GPU image texture cache to keep memory usage under control. Things like rendering an animation while the viewport stays fixed at the current frame works though.
2019-02-18doxygen: add newline after \fileCampbell Barton
While \file doesn't need an argument, it can't have another doxy command after it.
2019-02-17Units: add support for light power units in Watt. Use for Eevee lights.Brecht Van Lommel
This affects point, spot and area lights. Sun light strength remains without a unit. This change does not affect .blend file compatibility in any way, as with the rest of the unit system it's purely a display and editing feature. Not used for Cycles yet, that will be done after unifying the settings with Eevee.
2019-02-17DNA: rename dup_* struct members to instance_*Campbell Barton
2019-02-17Cleanup: rename Mesh.edit_btmesh -> edit_meshCampbell Barton
When bmesh was in a branch we had both edit_mesh and edit_btmesh, now there is no reason to use this odd name.
2019-02-08Cleanup: rename V3D_MANIP_* -> V3D_ORIENT_*Campbell Barton
Wasn't obvious it's related to orientation, also term manipulator is no longer in use.
2019-02-06Cleanup: remove redundant doxygen \file argumentCampbell Barton
Move \ingroup onto same line to be more compact and make it clear the file is in the group.
2019-02-05Fix (unreported) linestyle/greasepencil actions not being duplicated by full ↵Bastien Montagne
scene copy. Noted those as missing in XXX comments some time ago, running again on that code I still see no reason for this missing feature, so now when doing a full scene copy, including duplication of Freestyl's linestyles and scene's greasepencil data, their potential Actions will also be properly duplicated (like it was already the case for world, and scene itself).
2019-02-05Cleanup: typo in comment.Bastien Montagne
2019-02-05Cleanup: replace BKE_id_copy_ex by BKE_id_copy where possible.Bastien Montagne
That way it is obvious when we are using default ID copy behaviour, and when we are using advanced/specialized ones.
2019-02-05Cleanup: BKE_library: rename id_copy to BKE_id_copy.Bastien Montagne
Time to follow conventions for that one as well.
2019-02-05Cleanup: BKE_library: remove 'test' param of id_copy.Bastien Montagne
This was used in *one* place only... much better to have a dedicated helper for that kind of things. ;)
2019-02-01Color management: change view transform for color pickers and display modes.Brecht Van Lommel
* Use simple default view transform for color pickers, as Filmic does not work well for all types of colors. We better handle this with an option and tagging of colors as emissive or albedo like. * For solid/workbench we also no longer use Filmic, as there is not enough contrast and it's not really needed since this is not physically based lighting. * For lookdev always take into account the view transform and look. Other view settings like exposure are only taken into account if scene lighting is used, since these are often dependent on scene light intensity. Fixes T61022, T57649, T59363.
2019-02-01Cleanup: remove redundant, invalid info from headersCampbell Barton
BF-admins agree to remove header information that isn't useful, to reduce noise. - BEGIN/END license blocks Developers should add non license comments as separate comment blocks. No need for separator text. - Contributors This is often invalid, outdated or misleading especially when splitting files. It's more useful to git-blame to find out who has developed the code. See P901 for script to perform these edits.
2019-01-31Fix T59495, T59992, T59904, T59178, T60598: broken keyframed value editing.Brecht Van Lommel
This removes a bunch of animation/driver evaluations and recalc flags that should be redundant in the new depsgraph, and were incorrectly affecting the evaluated scene in a permanent way. Still two cases that could be removed if the depsgraph is improved, in BKE_object_handle_data_update and BKE_cachefile_update_frame. For physics subframe interpolation there are also still calls to BKE_object_where_is_calc that should ideally be removed as well, though they are not known to cause keyframing bugs. Differential Revision: https://developer.blender.org/D4274
2019-01-26Cleanup: remove redundant BKE/BLI/BIF headersCampbell Barton
2019-01-17Physically based defaults for Eevee Bloom and ShutterClément Foucault
Some of Eevee's Bloom defaults are not very good for physically based rendering. This patches addresses this issue. This picture shows one of the problems with current default. Bloom looks very foggy: {F6280495} Even worse, light emitters much dimmer than the Sun can make everything equally hazy if Clamp is set to 1.0 and intensity to 0.8 (current default). Artists often forget to adjust Clamp value and do not know what value to use for realistic intensity. Also, currently both Clamp and Intensity do not have good UI ranges. This is why often Eevee renders end up very hazy and bloom often does not look right. Bloom effect plays important role to help to distinguish between bright and relatively dim light sources. With current defaults this is broken because Clamp set to 1.0. Also, it cannot be disabled if set to 0 like expected. This patch fixes this and sets it to 0 by default. If users need to clamp, they can do so easily with UI range up to 1000. This range is good enough for most cases and provides enough precision to control lower values, and the highest value helps to limit bloom from the Sun if necessary and will leave untouched most other light emitters. If needed, much higher values for Clamp can be entered manually up to 100000. 10000 is still affects the Sun, but up to 100000 highest limit allows to clamp anything that is much brighter than the Sun if user needs to limit bloom in such cases (for example, bright explosion in the sky or anything else very bright). I propose new default for bloom Intensity - 0.05 and UI range to suggests realistic values. Bloom Intensity > 0.1 is not realistic for clean lens but the user can enter manually much larger values if needed. For comparison, here is a my own photo with and without bloom caused by the Sun (on second photo the Sun was occluded with an object). {F6280500} {F6280492} In real life bloom is much more subtle and does not look hazy. If Clamp is disabled, then out of 0.1, 0.05 and 0.025 values I have tried, 0.05 looks most similar to the photo. Here is test render with and without bloom with the Sun in similar position like on the photo: {F6280496} {F6280494} Using color probe 27x27 I compared lightness below the horizon under the Sun. In rendered by Eevee images lightness difference was 17. In case of the photos lightness difference in similar place was 11. I then compared leftmost spot (also below the horizon) and lightness difference was approximately 2 between two photos and 1 between rendered images. In other words, with these settings bloom effect is not too strong and is not too weak. Visually it may seem like decreasing bloom intensity may increase photorealism, but then bloom effect would be too localized even for the Sun. Besides this single test, I tested in many other scenes as well, with and without the Sun, with different HDRIs, and as far as I can tell 0.05 intensity turned out to be good default - it produces bloom strong enough to be noticeable and not too hazy. In Cycles shutter default value is 0.50, so for consistency set to 0.5 by default in Eevee too. Besides, 0.5 is typical standard for real cameras, and values higher than 0.5 usually are needed only if very strong motion blur is desired. Here is summary of all changes: Bloom Intensity: 0.8 > 0.05 Bloom Intensity UI range: 0-10 > 0-0.1 Bloom Clamp: 1.0 > 0.0 (disabled by default) Bloom Clamp manual range: 0-1000 > 0-100000 Bloom Clamp UI range: 0-10 > 0-1000 Shutter: 1.0 > 0.5 This patch is related to the discussion in this thread, there are more examples of what bloom will look like with 0.05 intensity by me and others: https://devtalk.blender.org/t/eevee-needs-to-have-physically-based-defaults/4700 Reviewers: fclem Reviewed By: fclem Subscribers: pablovazquez, billreynish, rboxman Tags: #eevee Differential Revision: https://developer.blender.org/D4212
2019-01-11GP: New Cutter, Constraints and Segment selectionAntonioya
This commit groups a set of new tools that were tested in grease pencil object branch before moving to master. We decide to do all the development in a separated branch because it could break master during days or weeks before the new tools were ready to deploy. The commit includes: - New Cutter tool to trim strokes and help cleaning up drawings. - New set of constraints and guides to draw different types of shapes. All the credits for this development goes to Charlie Jolly (@charlie), thanks for your help! - Segment selection mode to select strokes between intersections. - New operator to change strokes cap mode. - New option to display only keyframed frames. This option is very important when fill strokes with color. - Multiple small fixes and tweaks. Thanks to @pepeland and @mendio for their ideas, tests, reviews and support. Note: Still pending the final icons for Cutter in Toolbar and Segment Selection in Topbar. @billreynish could help us here?
2019-01-03Fix T60119: incorrect filter size in new scenes.Brecht Van Lommel
2018-12-20Cleanup: argument wrapping indentationCampbell Barton
2018-12-19Gizmo: optional custom orientations for transformCampbell Barton
This aims to resolve a conflict where some users want to keep keyboard axis setting global, even when the orientation is set to something else. Move/rotate/scale can optionally each have a separate orientation. Some UI changes will be made next.
2018-12-18Fix T59536: safe area values were swappedJacques Lucke
Reviewers: brecht Differential Revision: https://developer.blender.org/D4097
2018-12-18Transform: when snap affect is off for a transform mode, ignore snap ↵Brecht Van Lommel
settings entirely. Ref D4022.
2018-12-18Transform: option to use incremental snappingCampbell Barton
This resolves this issue where users would enable a snapping mode besides incremental (vertex for eg), then notice strange behavior w/ rotate and scale. While this ability can be useful, it's quite an obscure use case. Now changing snap-modes keeps rotate and scale using incremental snap, with the option for these modes to be affected by other snapping modes. D4022 by @kioku w/ own minor edits.
2018-12-15GP: New Curve primitive and other primitive improvementsAntonioya
This commit adds support for new curve tool and adds more functionalities to the existing primitives, including new handles, editing, stroke thickness curve, noise, preview of the real stroke, etc. Thanks to @charlie for his great contribution to this improvement.
2018-12-14Attempt to sanitize node tree deletionSergey Sharybin
Make it explicit when freeing node tree which is owned by other ID or when freeing node tree which is outside of a bmain.
2018-12-14Merge branch 'master' into blender2.8Campbell Barton