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-12-19Fix T63407: 'Select linked' operator in UV editor is broken in when ↵Philipp Oeser
multi-object-editing contains an empty mesh Since BM_uv_vert_map_create would return NULL for an empty mesh, code would then return from uv_select_linked_multi [where it should just skip and continue instead...] Maniphest Tasks: T63407 Differential Revision: https://developer.blender.org/D6441
2019-12-19UI: use DPI scale for transform cursorsCampbell Barton
2019-12-19Cleanup: use 'context' to make panels show in their sectionCampbell Barton
All panels were calling poll to draw in their section causing a lot of repeated boiler plate poll functions. Also rename 'PreferencePanel' to 'CenterAlignMixIn' since this is it's purpose.
2019-12-18Animation: Clarified tooltip for Viewport Render AnimationSybren A. Stüvel
The tooltip was static, so it was the same for viewport-rendering the current frame and for the entire animation. It is now different for those two. The structure of `screen_opengl_render_description()` is such that it allows for adding a new description for a soon-to-come feature (T72229).
2019-12-18Gizmo: add the ability to postpone refreshing while tweakingCampbell Barton
This resolves a logical problem using tweak as a fallback tool. See: T66304#828742 The select action would immediately show the gizmo underneath it, then the tweak would be handled by the gizmo instead of moving the item under the cursor. Currently this works by hiding the gizmo until the tweak event ends. While it's simpler to check if the gizmo received a mouse-down event, it causes flickering before each drag event which feels like a glitch. This is optional for each gizmo type because there are cases where this can be useful to activate the gizmo immediately (mesh rip for example).
2019-12-18Image Editor: Load UDIMs even if secondary tile is selectedLukas Stockner
Previously the user had to select the 1001 tile for this to work, now any tile will work as long as the 1001 tile still exists on disk.
2019-12-18Image Editor: Disable tile operators if tile 1001 is missingLukas Stockner
2019-12-18Image Editor: Add option to create multiple tiles at onceLukas Stockner
Any existing tiles will be skipped.
2019-12-18Image Editor: Add option to fill UDIM tiles during creationLukas Stockner
2019-12-18Fix T72487: Painting on unitialized UDIM tile crashesLukas Stockner
The UDIM commit accidentally removed the check for whether an ImBuf exists before trying to paint on it.
2019-12-17Fix T72430: GPencil normalize command crashes blenderAntonio Vazquez
When the stroke weights array was NULL, the function crash. Just check NULL value.
2019-12-17USD Exporter: show export options by defaultSybren A. Stüvel
There are options for the exporter that are relevant for each export, for example the choice between Viewport or Render settings, or whether to export the current frame or an animation. It's better to have the options panel opened by default.
2019-12-17Fix unreported: Crash when confirms GRAPH_OT_decimatemano-wii
`dgo` is MEM_freed just before.
2019-12-17UI: Prevent crash when opening file browser with mouse not in windowSybren A. Stüvel
When the mouse is not inside the Blender window, `CTX_wm_area(C)` returns `NULL`, but this wasn't checked for.
2019-12-17Fix T68665: FCurve group disappear on Curve/Surface object dataSybren A. Stüvel
When going from EDIT to OBJECT mode, Blender updates the object data from the edit-mode data. This took care of renaming FCurves that animate Curve control points when control points are added/removed, but this didn't keep the FCurve groups intact. Since the FCurve groups are tightly connected to the Action channels, it's hard to keep the group pointers intact during this process. Instead of making the code even more complex in an attempt to do that, I implemented a function (`BKE_action_groups_reconstruct()`) that rebuilds the group channel pointers. The call to `action_groups_add_channel()` had to be removed because it updates the the next/prev pointers of the FCurve while we're looping over them, causing infinite loops.
2019-12-17Cleanup: Animation: mark function parameter as `const`Sybren A. Stüvel
`fcurve_path_rename(..., rna_path, ...)` doesn't change `rna_path` at all, so it can be marked as `const char *`. No functional changes.
2019-12-17Fluid: Fix particle settings typeSebastián Barschkis
2019-12-17Cleanup: de-duplicate tool gizmoCampbell Barton
2019-12-17Fix T72416: Tool settings ignored when activated from gizmoCampbell Barton
2019-12-17Cleanup: renaming guiding -> guideCampbell Barton
The term guide makes sense on it's own in this context.
2019-12-17Cleanup: remove redundant string initializationCampbell Barton
Fixed sized strings are always initialized & this is not done elsewhere before calling BLI_path_join. Remove since it's not needed and makes it read as if the function might not initialize the output argument.
2019-12-17Cleanup: use snake case variable & function namesCampbell Barton
2019-12-17Cleanup: redundant struct declarationsCampbell Barton
2019-12-17Cleanup: style, always use bracesCampbell Barton
2019-12-17Fix deprecated DNA define checksCampbell Barton
Also remove dead code which checked for SPACE_TIME.
2019-12-17Cleanup: remove contributors, license begin/end & doxy file argumentCampbell Barton
This had already been removed for all source files, recent patches re-introduced them.
2019-12-17Cleanup: compiler warningsCampbell Barton
2019-12-17Cleanup: clang-formatCampbell Barton
2019-12-17Fix linking errors WITH_MOD_FLUID=OFFCampbell Barton
2019-12-16Mantaflow [Part 6]: Updates in /blender/sourceSebastián Barschkis
A collection of smaller changes that are required in the /blender/source files. A lot of them are also due to variable renaming. Reviewed By: sergey Maniphest Tasks: T59995 Differential Revision: https://developer.blender.org/D3855
2019-12-16Mantaflow [Part 7]: Added bake configurationSebastián Barschkis
Similarly to physics_fluid.c (in same directory) which handled the baking process for Elbeem, there is now physics_manta.c which handles it for Mantaflow. There are two types of jobs: one for baking and another for freeing. The generic jobs will be used to bake / free specific parts of the simulation (e.g. bake mesh, free particles, etc.). The jobs are only being used in the "modular" cache mode where the simulation has to be baked in parts. Reviewed By: sergey Maniphest Tasks: T59995 Differential Revision: https://developer.blender.org/D3856
2019-12-16Fix T72440: Dragging & dropping color in the Image Editor crashesLukas Stockner
This was caused by a call to paint_2d_bucket_fill that I missed in the UDIM changes. Now, this feature does not only not crash, but it even works with tiled images!
2019-12-16Fix typo in UDIM operator (always capitalize UI labels)Dalai Felinto
2019-12-13Image Editor: Increase size of Add Tile popupLukas Stockner
2019-12-13Gizmo: add gizmos for UV transform translate/rotate/scaleCampbell Barton
2019-12-13USD: Introducing a simple USD ExporterSybren A. Stüvel
This commit introduces the first version of an exporter to Pixar's Universal Scene Description (USD) format. Reviewed By: sergey, LazyDodo Differential Revision: https://developer.blender.org/D6287 - The USD libraries are built by `make deps`, but not yet built by install_deps.sh. - Only experimental support for instancing; by default all duplicated objects are made real in the USD file. This is fine for exporting a linked-in posed character, not so much for thousands of pebbles etc. - The way materials and UV coordinates and Normals are exported is going to change soon. - This patch contains LazyDodo's fixes for building on Windows in D5359. == Meshes == USD seems to support neither per-material nor per-face-group double-sidedness, so we just use the flag from the first non-empty material slot. If there is no material we default to double-sidedness. Each UV map is stored on the mesh in a separate primvar. Materials can refer to these UV maps, but this is not yet exported by Blender. The primvar name is the same as the UV Map name. This is to allow the standard name "st" for texture coordinates by naming the UV Map as such, without having to guess which UV Map is the "standard" one. Face-varying mesh normals are written to USD. When the mesh has custom loop normals those are written. Otherwise the poly flag `ME_SMOOTH` is inspected to determine the normals. The UV maps and mesh normals take up a significant amount of space, so exporting them is optional. They're still enabled by default, though. For comparison: a shot of Spring (03_035_A) is 1.2 GiB when exported with UVs and normals, and 262 MiB without. We probably have room for optimisation of written UVs and normals. The mesh subdivision scheme isn't using the default value 'Catmull Clark', but uses 'None', indicating we're exporting a polygonal mesh. This is necessary for USD to understand our normals; otherwise the mesh is always rendered smooth. In the future we may want to expose this choice of subdivision scheme to the user, or auto-detect it when we actually support exporting pre-subdivision meshes. A possible optimisation could be to inspect whether all polygons are smooth or flat, and mark the USD mesh as such. This can be added when needed. == Animation == Mesh and transform animation are now written when passing `animation=True` to the export operator. There is no inspection of whether an object is actually animated or not; USD can handle deduplication of static values for us. The administration of which timecode to use for the export is left to the file-format-specific concrete subclasses of `AbstractHierarchyIterator`; the abstract iterator itself doesn't know anything about the passage of time. This will allow subclasses for the frame-based USD format and time-based Alembic format. == Support for simple preview materials == Very simple versions of the materials are now exported, using only the viewport diffuse RGB, metallic, and roughness. When there are multiple materials, the mesh faces are stored as geometry subset and each material is assigned to the appropriate subset. If there is only one material this is skipped. The first material if any) is always applied to the mesh itself (regardless of the existence of geometry subsets), because the Hydra viewport doesn't support materials on subsets. See https://github.com/PixarAnimationStudios/USD/issues/542 for more info. Note that the geometry subsets are not yet time-sampled, so it may break when an animated mesh changes topology. Materials are exported as a flat list under a top-level '/_materials' namespace. This inhibits instancing of the objects using those materials, so this is subject to change. == Hair == Only the parent strands are exported, and only with a constant colour. No UV coordinates, no information about the normals. == Camera == Only perspective cameras are supported for now. == Particles == Particles are only written when they are alive, which means that they are always visible (there is currently no code that deals with marking them as invisible outside their lifespan). Particle-system-instanced objects are exported by suffixing the object name with the particle's persistent ID, giving each particle XForm a unique name. == Instancing/referencing == This exporter has experimental support for instancing/referencing. Dupli-object meshes are now written to USD as references to the original mesh. This is still very limited in correctness, as there are issues referencing to materials from a referenced mesh. I am still committing this, as it gives us a place to start when continuing the quest for proper instancing in USD. == Lights == USD does not directly support spot lights, so those aren't exported yet. It's possible to add this in the future via the UsdLuxShapingAPI. The units used for the light intensity are also still a bit of a mystery. == Fluid vertex velocities == Currently only fluid simulations (not meshes in general) have explicit vertex velocities. This is the most important case for exporting velocities, though, as the baked mesh changes topology all the time, and thus computing the velocities at import time in a post-processing step is hard. == The Building Process == - USD is built as monolithic library, instead of 25 smaller libraries. We were linking all of them as 'whole archive' anyway, so this doesn't affect the final file size. It does, however, make life easier with respect to linking order, and handling upstream changes. - The JSON files required by USD are installed into datafiles/usd; they are required on every platform. Set the `PXR_PATH_DEBUG` to any value to have the USD library print the paths it uses to find those files. - USD is patched so that it finds the aforementioned JSON files in a path that we pass to it from Blender. - USD is patched to have a `PXR_BUILD_USD_TOOLS` CMake option to disable building the tools in its `bin` directory. This is sent as a pull request at https://github.com/PixarAnimationStudios/USD/pull/1048
2019-12-13Gizmo: fix button 2D hotspot sizeCampbell Barton
Happened when used in 2D view.
2019-12-13Cleanup: unused function, spellingCampbell Barton
2019-12-12Add support for tiled images and the UDIM naming schemeLukas Stockner
This patch contains the work that I did during my week at the Code Quest - adding support for tiled images to Blender. With this patch, images now contain a list of tiles. By default, this just contains one tile, but if the source type is set to Tiled, the user can add additional tiles. When acquiring an ImBuf, the tile to be loaded is specified in the ImageUser. Therefore, code that is not yet aware of tiles will just access the default tile as usual. The filenames of the additional tiles are derived from the original filename according to the UDIM naming scheme - the filename contains an index that is calculated as (1001 + 10*<y coordinate of the tile> + <x coordinate of the tile>), where the x coordinate never goes above 9. Internally, the various tiles are stored in a cache just like sequences. When acquired for the first time, the code will try to load the corresponding file from disk. Alternatively, a new operator can be used to initialize the tile similar to the New Image operator. The following features are supported so far: - Automatic detection and loading of all tiles when opening the first tile (1001) - Saving all tiles - Adding and removing tiles - Filling tiles with generated images - Drawing all tiles in the Image Editor - Viewing a tiled grid even if no image is selected - Rendering tiled images in Eevee - Rendering tiled images in Cycles (in SVM mode) - Automatically skipping loading of unused tiles in Cycles - 2D texture painting (also across tiles) - 3D texture painting (also across tiles, only limitation: individual faces can not cross tile borders) - Assigning custom labels to individual tiles (drawn in the Image Editor instead of the ID) - Different resolutions between tiles There still are some missing features that will be added later (see T72390): - Workbench engine support - Packing/Unpacking support - Baking support - Cycles OSL support - many other Blender features that rely on images Thanks to Brecht for the review and to all who tested the intermediate versions! Differential Revision: https://developer.blender.org/D3509
2019-12-12Cleanup: Fix typo in user preference codeDalai Felinto
2019-12-12Fix tool fallback being ignored with transform gizmosCampbell Barton
This only worked once the gizmo was displayed.
2019-12-12Modifier: New Weld Modifiermano-wii
Part of T70240 This is the initial implementation of Weld Modifier. New features will be added later. ToDo: - Seams: restrict welding to vertices along boundary edges. - Edge Collapse: collapse edges below the length threshold. - New icon. - Some customdata are not being correctly interpolated. Differential Revision: https://developer.blender.org/D6383
2019-12-11DrawManager: Disable Clipping in material/rendered modeJeroen Bakker
Viewport: Disable Clipping For EEVEE and External Renderers Currently it is possible that, when using viewport clipping, the display and tools communicate different information to the user then the renderer does. The reason is that the renderer does not support viewport clipping. Both EEVEE and Cycles do not support it. This patch will disable the clipping in all the tools and drawing code when the viewport drawing mode is `Material Preview` or `Rendered`. This patch introduces a `RV3D_CLIPPING_ENABLED` util that checks if clipping is enabled for the given `rv3d` and `v3d`. Also in places where it was needed we added the `ViewContext` as a carrier for the `View3D` and `RegionView3D`. There are a few areas in the tooling (select, projection painting) that still needs to be tackled after this patch. Reviewed By: fclem Differential Revision: https://developer.blender.org/D6047
2019-12-11UI: show tool cycling shortcuts in the toolbarCampbell Barton
2019-12-11Cleanup: spellingCampbell Barton
2019-12-10Cycles: support for custom shader AOVsLukas Stockner
Custom render passes are added in the Shader AOVs panel in the view layer settings, with a name and data type. In shader nodes, an AOV Output node is then used to output either a value or color to the pass. Arbitrary names can be used for these passes, as long as they don't conflict with built-in passes that are enabled. The AOV Output node can be used in both material and world shader nodes. Implemented by Lukas, with tweaks by Brecht. Differential Revision: https://developer.blender.org/D4837
2019-12-10Fix menu buttons not displaying down arrow with emboss=FalseBrecht Van Lommel
2019-12-10Fix: Fullscreen File Browser showing override warning on file openJulian Eisel
Steps to reproduce were: * Change File Browser display mode to fullscreen in Preferences * File > Save As (make sure existing .blend is selected) * File > Open The file name would still be shown in red and the + and - icons would be visible, which should only be the case for saving files, not opening. Note that this change makes all `FileSelectParams.flag` values be reset on re-opening a File Browser, which *may* in fact cause other issues. It's easy to fix those though, and I'd prefer properly resetting the flags and only keeping specific ones in that case.
2019-12-10CMake: fix linking Blender as a Python moduleCampbell Barton
Remove direct links to Blender binary, only link to the window manager and rely on indirect links for everything else.
2019-12-10Fix T72258: Loading keymap crashes on startupCampbell Barton