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-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.
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-06Cleanup/Windows: Separate out the MS-CRT into a subfolderRay Molenkamp
In older versions the ms crt was only a few dlls, in recent versions this jumped to over 40 leading to quite a bit of clutter in our bin folder. This change moves the CRT into its own folder. For developers that generally already have the runtime globaly available on their machine, there is a new cmake option (WITH_WINDOWS_BUNDLE_CRT, default ON) that you can use to toggle installing the runtime to the blender bin folder, and save some time during the initial build, this option is off by default for only the developer profile. Reviewed By: brecht Differential Revision: https://developer.blender.org/D6132
2019-12-05Cleanup: Windows Manifest usage.Ray Molenkamp
We had a manifest file, but it was seemingly not used, some settings were done using linker pragmas, some of them visual studio would set by default for us, others where not set at all. This patch changes: - Single manifest file where we can maintain all settings in a single location, removal of any linker pragmas related to the manifest. - Compatibly settings for win vista - win10, without this any call to any of the GetVersion and related functions (GetVersionEx, VerifyVersionInfo, IsWindowsXxxx) will by default say we are on vista and OS specific optimizations in external libraries may be missed. -Rather than having it in the .RC file in an #ifdef which may or may not trigger depending on the build tool used, we tell cmake to treat it as a source file and it will do the right thing for both the ninja and visual studio generators. Differential Revision: https://developer.blender.org/D6136 Reviewers: brecht
2019-11-27Cleanup/CMake: Remove dormant windows codesign codeRay Molenkamp
This was added years ago to prepare for code-signing the executable but was never used, buildbots use a different mechanism now to sign so no need to keep this around.
2019-11-25CMake: support building without PythonCampbell Barton
Resolve linking issues, warnings.
2019-11-23Windows: Disable tbbmalloc for debug builds.Ray Molenkamp
TBBMalloc seems to have a race condition somewhere on shutdown that seems to show up in debug builds only, ideally we find the issue and send a patch upstream but due to its racy nature it has eluded capture so far. This patch disables TBBMalloc for debug builds so that developers that actually need to get some work done can work without being bothered by this misbehaviour.
2019-11-18GHOST: Only spam about X11 errors when using --debug-ghostSergey Sharybin
This commit adds a new command line argument --debug-ghost and makes it so X11 errors happening during context initialization are only printed when this new flag is sued. There is no need to flood users with errors when their GPU is not supporting latest OpenGL version. Or, at a very minimum, the error must be more meaning full. Differential Revision: https://developer.blender.org/D6057
2019-11-18msvc: Use debug versions of tbb malloc for debug buildsRay Molenkamp
Using the release versions gave unpredictable results when the msvc debugger was attached for some developers.
2019-11-13Merge branch 'blender-v2.81-release'Sergey Sharybin
2019-11-13Initial implementation of code signing routinesSergey Sharybin
This changes integrates code signing steps into a buildbot worker process. The configuration requires having a separate machine running with a shared folder access between the signing machine and worker machine. Actual signing is happening as a "POST-INSTALL" script run by CMake, which allows to sign any binary which ends up in the final bundle. Additionally, such way allows to avoid signing binaries in the build folder (if we were signing as a built process, which iwas another alternative). Such complexity is needed on platforms which are using CPack to generate final bundle: CPack runs INSTALL target into its own location, so it is useless to run signing on a folder which is considered INSTALL by the buildbot worker. There is a signing script which can be used as a standalone tool, making it possible to hook up signing for macOS's bundler. There is a dummy Linux signer implementation, which can be activated by returning True from mock_codesign in linux_code_signer.py. Main purpose of this signer is to give an ability to develop the scripts on Linux environment, without going to Windows VM. The code is based on D6036 from Nathan Letwory. Differential Revision: https://developer.blender.org/D6216
2019-11-13Add support for the TBB allocator on windows.Ray Molenkamp
The heap on windows is single threaded causing it to lag behind linux in performance in allocation heavy multithreaded scenarios, BVH building is a prime example. See https://developer.blender.org/D6218 for benchmark results for testing with the allocator enabled/disabled you can set the environment variable TBB_MALLOC_DISABLE_REPLACEMENT=1 to disable the TBB allocator. Reviewed By: @sergey Differential Revision: https://developer.blender.org/D6218
2019-10-21Cleanup: styleCampbell Barton
2019-10-21CMake: fix building as a Python module on macOSCampbell Barton
Caused by c553b790fc781
2019-10-09CMake: Move software-gl to generic install procedureSergey Sharybin
Removes custom logic from buildbot's packing step. This also removes icons/ folder, but CMake was already copying the icons to the root of the install folder.
2019-10-07CMake: Add support for building with OpenMP support for clang on windows.Ray Molenkamp
mostly minor c/cxx/linker flags, only tested with clang 9.0.0 Differential Revision: https://developer.blender.org/D5976 Reviewers: brecht, jesterking
2019-09-29Fix T69935: Silence Win32 OS Error DialogsHarley Acheson
Call SetErrorMode() at startup to prevent error mode dialogs. Differential Revision: https://developer.blender.org/D5941 Reviewed by Brecht Van Lommel
2019-09-27fix:wrong python pdb copied for Windows-VS when building for pydebugGaia Clary
2019-09-25Windows: Fill ProductVersion of blender executableLaurent Noel
On windows, the ProductVersion field of the blender executable was empty, see [1] for more information. This field might be required by windows tools such as SCCM agent to track usage statistics. It seems that it was due to the BLEN_VER_RC_STR macro used in winblender.rc not being a string. [1] https://docs.microsoft.com/en-us/windows/win32/menurc/versioninfo-resource Differential Revision: https://developer.blender.org/D5896
2019-09-19Cleanup: spellingCampbell Barton
2019-09-13Cleanup: unused headers (GPU)Campbell Barton
2019-09-11LibOverride: Enable them in UI by default.Bastien Montagne
This is minimal 'flip-switch' commit, proper cleanup and removal of the option thing will happen later, once we are sure that we can release 2.81 with it enabled. For now, we have a `--disable-library-override` now. ;)
2019-09-10Python: don't include distutils Windows installer executables for Linux/macOSBrecht Van Lommel
They were detected as (false positive) malware with ClamAV. It's unlikely someone would need these files, and e.g. the Debian Python package also excludes them with a custom patch.
2019-09-09Move callbacks API from BLI to BKESergey Sharybin
Preparing for the bigger changes which will be related on passing dependency graph to various callbacks which need it. Differential Revision: https://developer.blender.org/D5725
2019-08-30Windows: Fix compatibility with older cmakeRay Molenkamp
Older cmake did not find the BlendThumb sub project.
2019-08-30Windows: Move building of blendthumb into the blender codebase.Ray Molenkamp
Previously this was done in the deps builder due to the fact we needed both 32 and 64 bit versions of this dll and CMAKE does not support that in a single build folder. Now that 32 bit support has been dropped, this can be safely moved into the codebase. Reviewers: brecht Differential Revision: https://developer.blender.org/D5633
2019-08-16Cleanup: spellingCampbell Barton
2019-08-15Cleanup: use booleanCampbell Barton
2019-08-14cleanup: fix python related build error on windows.Lazydodo
Recent python changes caused issues on some systems.
2019-08-14deps: python 3.7.4 for windows.Lazydodo
This also updates to a new packaging method where python is runnable from the library folder rather than having tarballs in the release folder.
2019-08-02Cleanup: doxy sectionsCampbell Barton
2019-08-01Cleanup: use _ex suffix instead of _extCampbell Barton
Convention is to use ex, not ext for extended versions of a functions.
2019-08-01Cleanup/msvc: Remove math.h from creator_signals.cLazydodo
Was never needed, looks like it was copy/pasted from creator.c spotted by @campbellbarton