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
2020-04-18Merge remote-tracking branch 'origin/blender-v2.83-release'Ray Molenkamp
2020-04-18Fix: Build error on headless buildGary Oberbrunner
This simple patch removes an "UNUSED_VARS" macro referencing a variable which doesn't exist (r_unit_size). It only affects the headless build Differential Revision: https://developer.blender.org/D7464 Reviewed By: harley
2020-04-17UI: Better split layout support for checkboxesJulian Eisel
Makes the following layout changes possible: {F8473498} {F8473499} {F8473502} The next commit will contain many layout changes to make good use of these new possibilities. The result should be more consistent, easier to read and should give a more organized impression. Additionally, it should be possible to replace many sub-panels with compacter layouts. Main changes: * Checkboxes now respect the property split layouts * Add support for row and column headers (i.e. `uiLayout.column(heading="Foo")`, `uiLayout.row(heading="Bar")`). If the first property added to this layout doesn't insert anything into the label split column, the heading is inserted there. Otherwise, it's inserted as own item. * Add support for manually inserting decorators for an existing item (`uiLayout.prop_decorator()`). That way layout creators can manually insert this, which was the only way I saw to support property split layouts with a checkbox before the actual property. {F8471883} * Autogenerated layouts for operator properties look bad if there are only checkboxes (which only use half the region width). So before creating the layout, we iterate over visible properties and disable split layout if all are booleans. I think this is fine, if needed we could also add layout hints to operators. * `uiTemplateOperatorPropertyButs()` now handles macros itself, the caller used to be responsible for this. Code that didn't handle these so far never used macros I think, so this change should be invisible. * Remove manual property split layout from autogenerated operator properties layout. * Padding of checkboxes is tweaked to make their label visually more connected to the checkboxes. * Support split layout for menus (should work for `uiLayout.menu()`, `.operator_menu_enum()`, `.prop_menu_enum()`, maybe more) Maniphest Task: https://developer.blender.org/T65965 Differential Revision: https://developer.blender.org/D7427 Reviewed by: Brecht Van Lommel, William Reynish, Pablo Vazques
2020-04-15UI: default to searching menus instead of operatorsCampbell Barton
Menus from the top-bar, space-header and key bindings are used to gather menus to populate the search popup. Giving better context and default options for operators. Part of T74157 Enabling "Developer Extras" exposes operator search in the Edit menu, as this can be useful for developers to run operators without first exposing them in the interface.
2020-04-15UI: Avoid manual right-alignment of text in splash screenYevgeny Makarov
Can use existing layout features for right-alignment instead. Differential Revision: https://developer.blender.org/D6549 Reviewed by: William Reynish, Julian Eisel
2020-04-15UI: Round splash image corners according to theme preferencesYevgeny Makarov
Round the corners of the splash screen image according to the theme's User Interface > Menu Back > Roundness preference. Previously the rounding was added to the image itself, which was fiddly to do. The rounded corners of the popup background would not match the one of the image if the preference was changed. The current splash image will likely be updated to not include rounded corners in a separate commit. Differential Revision: https://developer.blender.org/D6847 Reviewed by: Julian Eisel (with some changes)
2020-04-15Resources: Remove small splash screen image variantJulian Eisel
After the previous commit by Harley Acheson, scaling can be handled at runtime so we don't need to have two splash screen image variants anymore. Also removes the `splash_scale.sh` script used to create the down-scaled variant. Always nice to get rid of some binary files from the repository :)
2020-04-15UI: Automatically scale splash screen imageHarley Acheson
Previously, there had to be two splash images to deal with different DPI settings and hiDPI screens. The larger version was simply downscaled in an external program for the small one. When up-scaled, the images would look rather badly. We now handle scaling completely at runtime. The results should look pretty much identical for most cases. When up-scaled it should look better though. New bundled splash images should have a width of 1000px or more (used to be 1002px). More details with screenshots and comparisons in D6999. Reviewed By: William Reynish, Julian Eisel Differential Revision: https://developer.blender.org/D6999
2020-04-14Fix T75535: Compositor backdrop gizmo dragging interrupts with nodePhilipp Oeser
mouse over Caused by rB5929dd7129f6. Above commit would reset the gizmo highlight on node mouseover. This would also assert in gizmo_rect_pivot_from_scale_part() and stop the drag. So now, only reset the gizmo when we are not in EVT_GIZMO_UPDATE, allowing for starting the tweak outside a node and then travelling 'inside' while still preventing to use it over a node when starting a tweak there. Maniphest Tasks: T75535 Differential Revision: https://developer.blender.org/D7383
2020-04-13VSE: Add sample toolRichard Antalik
This tool is set as default tool, so default action on click doesn't have pernament effect. Reviewed By: campbellbarton Differential Revision: D7064
2020-04-08Fix Windows Tablet API preference not being usedMiguel Pozo
It was sometimes set before reading preferences, now it's passed to GHOST every time preferences are read. Differential Revision: https://developer.blender.org/D5641
2020-04-08Fix status bar message showing saved when saving failedCampbell Barton
Resolves the following issues: - For the first time you save a .blend file, there was no feedback. - If the file fails to save (eg "No space left on device") the status bar message replaces the error with an invalid "Saved" message. While there is a popup, the user may cancel it with mouse motion and be left with the status bar message saying the file saved. D7371 by @XDroid with edits.
2020-04-08Debugging: change Undo/Redo redraw timer to include dependency graph updateBrecht Van Lommel
This is often the slowest part and was not counted before.
2020-04-07Cleanup: BLI_path.h function renamingCampbell Barton
Use BLI_path_ prefix, more consistent names: BLI_parent_dir -> BLI_path_parent_dir BLI_parent_dir_until_exists -> BLI_path_parent_dir_until_exists BLI_ensure_filename -> BLI_path_filename_ensure BLI_first_slash -> BLI_path_slash_find BLI_last_slash -> BLI_path_slash_rfind BLI_add_slash -> BLI_path_slash_ensure BLI_del_slash -> BLI_path_slash_rstrip BLI_path_native_slash -> BLI_path_slash_native Rename 'cleanup' to 'normalize', similar to Python's `os.path.normpath`. BLI_cleanup_path -> BLI_path_normalize BLI_cleanup_dir -> BLI_path_normalize_dir BLI_cleanup_unc -> BLI_path_normalize_unc BLI_cleanup_unc16 -> BLI_path_normalize_unc16 Clarify naming for extracting, creating numbered paths: BLI_stringenc -> BLI_path_sequence_encode BLI_stringdec -> BLI_path_sequence_decode Part of T74506 proposal.
2020-04-04Cleanup: Split up Window-Manager VR file (and related changes)Julian Eisel
Splits up wm_xr.c into multiple files in their own folder: source/blender/windowmanager/xr. So this matches how the message bus and gizmo code have their own folder and files. This allows better structuring and should make the code scale better. I rather do this early on than to wait until we end up with a single, huge file. Also improves a bit how data is prepared and updated for drawing.
2020-04-03Code Quality: Replace for loops with LISTBASE_FOREACHDalai Felinto
Note this only changes cases where the variable was declared inside the for loop. To handle it outside as well is a different challenge. Differential Revision: https://developer.blender.org/D7320
2020-04-03Cleanup: Including "BLI_listbase.h" for LISTBASE_FOREACH macroDalai Felinto
These headers are not needed right away, but will be in the upcoming commit.
2020-04-03Cleanup: Rename ExtensionRNA variables from ext to rna_extJulian Eisel
Makes it more clear that code using this is related to the RNA integration of a type. Part of T74432. Also ran clang-format on affected files.
2020-04-03Cleanup: Rename bScreen variables from sc/scr to screenJulian Eisel
Part of T74432. Mostly a careful batch rename but had to do few smaller fixes. Also ran clang-format on affected files.
2020-04-03Cleanup: Rename ScrArea variables from sa to areaJulian Eisel
Follow up of b2ee1770d4c3 and 10c2254d412d, part of T74432. Now the area and region naming conventions should be less confusing. Mostly a careful batch rename but had to do few smaller fixes. Also ran clang-format on affected files.
2020-04-03Cleanup: Continue renaming ARegion variables from ar to regionJulian Eisel
Continuation of b2ee1770d4c3, now non-single word variables are also renamed. Part of T74432. Also ran clang-format on affected files.
2020-04-02Fix warnings caused by own earlier commitJulian Eisel
Caused by 34465a7fb091.
2020-04-02VR: Refactor DirectX context managementJulian Eisel
All DirectX management happens on Ghost level now, higher level code can just assume everything is OpenGL (except of the upside-down drawing that still needs to be done for DirectX). This is similar to how the metal-layer is hidden outside of Ghost. The Ghost-XR graphics binding for DirectX is responsible for managing the DirectX compatibility now.
2020-04-01Cleanup: use doxy sections for wm_draw.cCampbell Barton
2020-03-31Fix VR session toggle not changing reliably on session start/endJulian Eisel
The text and icon were supposed to change but didn't reliably, which was a race condition I think. It depended on how fast the OpenXR runtime would transition the session state. This also makes sure the correct notifier is sent on session exit.
2020-03-29Cleanup: spelling, commentsCampbell Barton
2020-03-28Cleanup: Removing unused parameter.Jörg Müller
2020-03-27Fix T58439: Info Editor does not show operator reports immediately whenPhilipp Oeser
operator cancelled. Lots of operators return OPERATOR_CANCELLED when no data really changed. Reports from those operators do not show immediately in the Info Editor [they only do if the operator returns OPERATOR_FINISHED]. Now also notify the Info Editor in case of OPERATOR_CANCELLED. Maniphest Tasks: T58439 Differential Revision: https://developer.blender.org/D7238
2020-03-27Cleanup: rename WM_modalkeymap API names, matching WM_keymapCampbell Barton
Rename: - WM_modalkeymap_add to WM_modalkeymap_ensure - WM_modalkeymap_get to WM_modalkeymap_find
2020-03-26Keymap: disallow modal key-maps in add-ons keyconfigCampbell Barton
Disable functionality reported in T60766 & only partially worked. This could be used if the key-map was added after Blender started as a way to customize modal key-maps, however it didn't work with the add-on enabled on startup. Add-on key-maps are intended to extend existing key-maps so they can call the add-on, not as a way to change modal key-maps for Blender's built-in functionality. Disable this since it's not needed as add-ons can't yet define modal key-maps.
2020-03-26Fix crash accessing the tool with no active spaceCampbell Barton
2020-03-26Fix crash closing a window in background modeCampbell Barton
2020-03-25UI: remove non-unicode font and simplify default font loading codeBrecht Van Lommel
There is no need to have another font embedded in the Blender executable, we can assume the bundled font exists. In the future we may provide a fallback if the font specified by the user in the preferences is missing a character, but that can use our bundled international font. Differential Revision: https://developer.blender.org/D6854
2020-03-25Fix VR viewer offset on session start with no positional trackingJulian Eisel
The current viewer pose position as determined by the OpenXR runtime would be applied as offset. This offset should however only be set when toggling the positional tracking while the session already runs.
2020-03-25Cleanup: update doxy sectionsCampbell Barton
2020-03-24UI: add Blender -> System menuCampbell Barton
Include technical operators here so they're available when using menu-search.
2020-03-24UI: add menu search functionality to operator search menuCampbell Barton
This has some advantages over operator search: - Some operators need options set to be usefully accessed. - Shows key bindings to access menus (for actions that don't have key bindings themselves). - Non operator actions such as check-boxes are also shown. - Menu items can control execution context, using invoke or execute where appropriate so we can control how the operator runs. Part of the design task T74157. This can be tested using the 'Experimental' preferences section or selected in the key-map editor.
2020-03-23Fix T72632: Blender crashes using Jack with AV Sync enabled (repeatable)Jörg Müller
2020-03-20Python API: add bl_use_stereo_viewport for RenderEngineBrecht Van Lommel
To indicate if the render engine supports rendering a stereo 3D viewport. This is not currently supported for Cycles. Fixes T62582
2020-03-20Cleanup: clang-format, comment indentationCampbell Barton
2020-03-19Cleanup/refactor: remove BKE_idcode, in favour of BKE_idtype.Bastien Montagne
Mpving utils from idcode to idtype proved to be somewhat painful for some reasons, but now all looks good. Had to add a fake/empty shell for the special snowflake too, `ID_LINK_PLACEHOLDER/INDEX_ID_NULL`...
2020-03-19Cleanup: `make format` after SortedIncludes changeDalai Felinto
2020-03-19Fix T73931: Stereo Viewport Color ManagementJeroen Bakker
Stereoscopic viewport didn't support Color Manangement due recent changes in the color management pipeline. In order to solve the issue we will migrate the strereo rendering into the GPUViewport. This will share some textures and reduce required GPU memory. Reviewed By: fclem, dfelinto Differential Revision: https://developer.blender.org/D6922
2020-03-19WindowManager: Remove Stereo OffscreenJeroen Bakker
Stereo offscreen rendering has been replaced with stereo viewport rendering. When an offscreen buffer is used it is only used for mono rendering. This patch will remove the second offscreen buffer. Reviewed By: fclem Differential Revision: https://developer.blender.org/D7153
2020-03-19Cleanup: rename variables which aren't specific to macOSCampbell Barton
2020-03-18Fix NULL-pointer dereference after error during VR session startJulian Eisel
2020-03-18Cleanup: Resolve HKEY conflictRay Molenkamp
Both the MS headers and blender headers define the HKEY which gives all kind of inclusion order issues. This diff renames all *KEY constants to EVT_*KEY to resolve this conflict. Reviewed By: brecht , dfelinto Differential Revision: http://developer.blender.org/D7164
2020-03-18Cleanup: spellingCampbell Barton
2020-03-18Objects: add Volume object type, and prototypes for Hair and PointCloudBrecht Van Lommel
Only the volume object is exposed in the user interface. It is based on OpenVDB internally. Drawing and rendering code will follow in another commit. https://wiki.blender.org/wiki/Source/Objects/Volume https://wiki.blender.org/wiki/Reference/Release_Notes/2.83/Volumes Hair and PointCloud object types are hidden behind a WITH_NEW_OBJECT_TYPES build option. These are unfinished, and included only to make it easier to cooperate on development in the future and avoid tricky merges. https://wiki.blender.org/wiki/Source/Objects/New_Object_Types Ref T73201, T68981 Differential Revision: https://developer.blender.org/D6945
2020-03-17VR: Initial Virtual Reality support - Milestone 1, Scene InspectionJulian Eisel
NOTE: While most of the milestone 1 goals are there, a few smaller features and improvements are still to be done. Big picture of this milestone: Initial, OpenXR-based virtual reality support for users and foundation for advanced use cases. Maniphest Task: https://developer.blender.org/T71347 The tasks contains more information about this milestone. To be clear: This is not a feature rich VR implementation, it's focused on the initial scene inspection use case. We intentionally focused on that, further features like controller support are part of the next milestone. - How to use? Instructions on how to use this are here: https://wiki.blender.org/wiki/User:Severin/GSoC-2019/How_to_Test These will be updated and moved to a more official place (likely the manual) soon. Currently Windows Mixed Reality and Oculus devices are usable. Valve/HTC headsets don't support the OpenXR standard yet and hence, do not work with this implementation. --------------- This is the C-side implementation of the features added for initial VR support as per milestone 1. A "VR Scene Inspection" Add-on will be committed separately, to expose the VR functionality in the UI. It also adds some further features for milestone 1, namely a landmarking system (stored view locations in the VR space) Main additions/features: * Support for rendering viewports to an HMD, with good performance. * Option to sync the VR view perspective with a fully interactive, regular 3D View (VR-Mirror). * Option to disable positional tracking. Keeps the current position (calculated based on the VR eye center pose) when enabled while a VR session is running. * Some regular viewport settings for the VR view * RNA/Python-API to query and set VR session state information. * WM-XR: Layer tying Ghost-XR to the Blender specific APIs/data * wmSurface API: drawable, non-window container (manages Ghost-OpenGL and GPU context) * DNA/RNA for management of VR session settings * `--debug-xr` and `--debug-xr-time` commandline options * Utility batch & config file for using the Oculus runtime on Windows. * Most VR data is runtime only. The exception is user settings which are saved to files (`XrSessionSettings`). * VR support can be disabled through the `WITH_XR_OPENXR` compiler flag. For architecture and code documentation, see https://wiki.blender.org/wiki/Source/Interface/XR. --------------- A few thank you's: * A huge shoutout to Ray Molenkamp for his help during the project - it would have not been that successful without him! * Sebastian Koenig and Simeon Conzendorf for testing and feedback! * The reviewers, especially Brecht Van Lommel! * Dalai Felinto for pushing and managing me to get this done ;) * The OpenXR working group for providing an open standard. I think we're the first bigger application to adopt OpenXR. Congratulations to them and ourselves :) This project started as a Google Summer of Code 2019 project - "Core Support of Virtual Reality Headsets through OpenXR" (see https://wiki.blender.org/wiki/User:Severin/GSoC-2019/). Some further information, including ideas for further improvements can be found in the final GSoC report: https://wiki.blender.org/wiki/User:Severin/GSoC-2019/Final_Report Differential Revisions: D6193, D7098 Reviewed by: Brecht Van Lommel, Jeroen Bakker