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-05-14Merge branch 'blender-v2.83-release'Brecht Van Lommel
2020-05-14Fix T59089: --engine command line option does not affect 3D viewport renderBrecht Van Lommel
2020-05-05Merge branch 'blender-v2.83-release'Pablo Dobarro
2020-05-05Fix T76414: crash using Python module that uses NVRTCBrecht Van Lommel
Hide the nvrtc* symbols just like we did for cu* already.
2020-05-04Windows: Move tbb to being dynamic libraryRay Molenkamp
Static tbb has always been frowned upon [1] sofar it has worked for us but given our reliance on tbb is about to increase (D7475), I'd like to move the library to more supported configuration. Which means moving it to be a dynamic library The libs part of this change is in rBL62416 Reviewed By: Brecht Differential Revision: https://developer.blender.org/D7570
2020-05-03Cleanup: clang-formatCampbell Barton
2020-05-02Merge branch 'blender-v2.83-release'Brecht Van Lommel
2020-05-01Fix some LLVM symbols outside of the llvm namespace being public on LinuxBrecht Van Lommel
This may help with T68052, crashes with Intel NEO OpenCL driver.
2020-05-01Windows: Support backtraces on release builds.Ray Molenkamp
This diff add supports for crash logs on windows for release builds. This can be toggled on/off with the `WITH_WINDOWS_PDB` cmake option. by default it is on. Things to take into consideration: Release builds are hightly optimized and the resulting backtraces can be wrong/misleading, take the backtrace as a general area where the problem resides rather than an exact location. By default we ship a minimized symbol file that can only resolve the function names. This was chosen to strike a balance between growth in size of the download vs functionality gained. If more detailed information is required such as source file + line number information a full pdb can be shipped by setting `WITH_WINDOWS_STRIPPED_PDB` to off. Differential Revision: https://developer.blender.org/D7520 Reviewed by: brecht
2020-04-30Revert "Windows: Support backtraces on release builds."Ray Molenkamp
Issues with older cmake.
2020-04-30clean-up: Remove left over debug print.Ray Molenkamp
2020-04-30Windows: Support backtraces on release builds.Ray Molenkamp
This diff add supports for crash logs on windows for release builds. This can be toggled on/off with the `WITH_WINDOWS_PDB` cmake option. by default it is on. Things to take into consideration: Release builds are hightly optimized and the resulting backtraces can be wrong/misleading, take the backtrace as a general area where the problem resides rather than an exact location. By default we ship a minimized symbol file that can only resolve the function names. This was chosen to strike a balance between growth in size of the download vs functionality gained. If more detailed information is required such as source file + line number information a full pdb can be shipped by setting `WITH_WINDOWS_STRIPPED_PDB` to off. The Release in the title of this diff refers to the release build type, not the official blender releases. Initially this will only be enabled for nightly build bot versions of blender, official releases as of now will not ship with symbols. Differential Revision: https://developer.blender.org/D7520 Reviewed by: brecht
2020-04-30Task: Use TBB as Task SchedulerBrecht Van Lommel
This patch enables TBB as the default task scheduler. TBB stands for Threading Building Blocks and is developed by Intel. The library contains several threading patters. This patch maps blenders BLI_task_* function to their counterpart. After this patch we can add more patterns. A promising one is TBB:graph that can be used for depsgraph, draw manager and compositor. Performance changes depends on the actual hardware. It was tested on different hardwares from laptops to workstations and we didn't detected any downgrade of the performance. * Linux Xeon E5-2699 v4 got FPS boost from 12 to 17 using Spring's 04_010_A.anim.blend. * AMD Ryzen Threadripper 2990WX 32-Core Animation playback goes from 9.5-10.5 FPS to 13.0-14.0 FPS on Agent 327 , 10_03_B.anim.blend. Reviewed By: brecht, sergey Differential Revision: https://developer.blender.org/D7475
2020-04-23Fix headless build failure on macOSBrecht Van Lommel
2020-04-16Fix T73977, T73825: ignore Python user site-packages directory by defaultBrecht Van Lommel
This goes along with the existing changes to ignore PYTHONPATH by default. --python-use-system-env now controls both. Differential Revision: https://developer.blender.org/D6962
2020-04-08Cleanup: rename to BLI_path_cwd to BLI_path_abs_from_cwdCampbell Barton
This is now more clearly a function that makes the path absolute using the current working directory.
2020-04-07Fix Blender not rebuilding when changing linker scriptBrecht Van Lommel
2020-04-05Build: hide USD symbols, make Blender symbols visible againBrecht Van Lommel
Following up to b555b8d. Building Blender with hidden symbols but using libraries with visible symbols was giving linker warnings, specifically for USD. So revert that for now, as it was not needed for the bugfix. Hide USD symbols (some of which are not in the USD namespace) to avoid potential conflicts. May potentially help with AMD OpenCL issues in T74262.
2020-04-02Fix: Build error when building with python offRay Molenkamp
2020-03-31Build: hide most symbols on macOS on Linux to avoid conflictsBrecht Van Lommel
This means symbols from Blender itself and most external libraries. We can't just hide all because that breaks some libraries. The better solution would be to rebuild all library dependencies with hidden visibility. Fixes T75223: Luxrender add-on failing to load on macOS
2020-03-30Fix help message misc argument groupingCampbell Barton
Correct reference to non-existent argument.
2020-03-29Cleanup: spelling, commentsCampbell Barton
2020-03-26CMake: Fix Blender.app creation/modification timeSergey Sharybin
It was failing on first run of CMake since the Blender.app is not yet created.
2020-03-25Fix error after recent change when WITH_INTERNATIONAL=OFFBrecht Van Lommel
Always need to install font files now.
2020-03-19Cleanup: `make format` after SortedIncludes changeDalai Felinto
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
2020-03-17Fix error using CUDA in plug-ins on Linux/macOS, hide our CUDA symbolsBrecht Van Lommel
Better solution will be to hide all symbols by default, but this works for now.
2020-03-08Cleanup: comments in main()Campbell Barton
Clarify references to functions.
2020-03-07Cleanup: replace BLI_make_file_string with BLI_join_dirfile where possibleCampbell Barton
Use 'BLI_join_dirfile' for joining paths that don't need to expand '//'.
2020-03-05Initial step for IDTypeInfo refactor 'cleanup' project.Bastien Montagne
Introduce new IDTypeInfo structure. Each ID type will have its own, with some minimal basic common info, and ID management callbacks. This patch only does it for Object type, for demo/testing purpose. Moving all existing IDs is a goal of next "cleanup Friday". Note that BKE_idcode features should then be merged back into BKE_idtype - but this will have to be done later, once all ID types have been properly converted to the new system. Another later TODO might be to try and add callbacks for file read/write, and lib_query ID usages looper. This is part of T73719. Thanks to @brecht for initial idea, and reviewing the patch. Differential Revision: https://developer.blender.org/D6966
2020-02-17Embree: avoid potential clashing symbols with external renderer add-onsBrecht Van Lommel
2020-02-10Cleanup: Rename `BKE_library_override_` functions to `BKE_lib_override_library_`Bastien Montagne
pqrt of T72604.
2020-02-10USD: Install USD library via install_deps.shSybren A. Stüvel
This commit adds the download, extract, patch, build, and install of the Universal Scene Description (USD) library to the `install_deps.sh` script. Reviewed By: mont29, LazyDodo Differential Revision: https://developer.blender.org/D6478
2020-02-10Cleanup/refactor: Rename `BKE_library` files to `BKE_lib`.Bastien Montagne
Note that `BKE_library.h`/`library.c` were renamed to `BKE_lib_id.h`/`lib_id.c` to avoid having a too generic name here. Part of T72604.
2020-02-05T73589: Code Quality: Renaming on BKE_material.hAntonio Vazquez
Old Name New Name ========= ========= init_def_material BKE_materials_init BKE_material_gpencil_default_free BKE_materials_exit test_object_materials BKE_object_materials_test test_all_objects_materials BKE_objects_materials_test_all give_matarar BKE_object_material_array give_totcolp BKE_object_material_num give_current_material_p BKE_object_material_get_p give_current_material BKE_object_material_get assign_material BKE_object_material_assign assign_matarar BKE_object_material_array_assign give_matarar_id BKE_id_material_array give_totcolp_id BKE_id_material_num assign_material_id BKE_id_material_assign clear_matcopybuf BKE_material_copybuf_clear free_matcopybuf BKE_material_copybuf_free copy_matcopybuf BKE_material_copybuf_copy paste_matcopybuf BKE_material_copybuf_paste BKE_material_init_gpencil_settings BKE_gpencil_material_attr_init BKE_material_add_gpencil BKE_gpencil_material_add BKE_material_gpencil_get BKE_gpencil_material BKE_material_gpencil_default_get BKE_gpencil_material_default BKE_material_gpencil_settings_get BKE_gpencil_material_settings
2020-01-31Merge branch 'blender-v2.82-release'Brecht Van Lommel
2020-01-31Fix tests failing on AMD Ryzen, due TBB initialization order issueBrecht Van Lommel
Similar fix as the one we did for the blender executable, see T72015.
2020-01-25Cleanup: spellingCampbell Barton
2020-01-24Merge branch 'blender-v2.82-release'Sergey Sharybin
2020-01-24Fix/workaround initialization order of static TBB/MKLSergey Sharybin
Was caused by recent refactor of dependencies in 517870a4a11f. While there is no fully reliable solution to this issue other than making TBB a dynamic library dependency (as documentation tells us to do), there seems to be simple workaround which doesn't require deeper changed in build process and packaging. Tested on Brecht's computer who managed to reproduce the issue on Linux (T72015#857423).
2020-01-18Merge remote-tracking branch 'origin/blender-v2.82-release'Ray Molenkamp
2020-01-18Fix: T71159 missing python3.dllRay Molenkamp
File got forgotten during the last repack of python.
2020-01-16Merge branch 'blender-v2.82-release'Philipp Oeser
2020-01-16Python: disable environment variables by defaultCampbell Barton
This avoids the problem where Blender doesn't start because the PYTHONPATH points to an incompatible Python version, see T72807. Previously we chose to assume people who set the PYTHONPATH know what they're doing, however users may have set this for non Blender projects. So it's not obvious that this is the cause of Blender not to launch on their system. To use Python's environment vars, pass the argument: --python-use-system-env Note that this only impacts Python run-time environment variables documented in `python --help`, Access from `os.environ` remains.
2020-01-15Fix T51054: NULL-dereferences in crash-handler callbackJulian Eisel
2019-12-17Cleanup: spellingCampbell Barton
2019-12-16Cleanup: whitespaceCampbell 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-11CMake: recent removal of linked libs gave errors in some casesCampbell Barton
While I can't redo the error, it looks to be related to tbb & mkldnn. Adding back in this case for now.