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
2017-09-22Remove quicktime supportAaron Carlisle
It has been deprecated since at least macOS 10.9 and fully removed in 10.12. I am unsure if we should remove it only in 2.8. But you cannot build blender with it supported when using a modern xcode version anyway so I would tend towards just removing it also for 2.79 if that ever happens. Reviewers: mont29, dfelinto, juicyfruit, brecht Reviewed By: mont29, brecht Subscribers: Blendify, brecht Maniphest Tasks: T52807 Differential Revision: https://developer.blender.org/D2333
2017-05-27Remove MinGW supportAaron Carlisle
The Issue ======= For a long time now MinGW has been unsupported and unmaintained and at this point, it looks like something that we should just leave behind and move on. Why Remove ========== One of the big motivations for MinGW back in the day is that it was free compared to MSVC which was licensed based. However, now that this is no longer true we have basically stopped updating the need CMake files. Along with the CMake files, there are several patches to the extern libs needed to make this work. For example, see: https://developer.blender.org/diffusion/B/browse/master/extern/carve/patches/mingw_w64.patch If we wanted to keep MinGW then we would need to make more custom patches to the external libs and this is not something our platform maintainers are willing to do. For example, here is the patches needed to build python: https://github.com/Alexpux/MINGW-packages/tree/master/mingw-w64-python3 Fixes T51301 Differential Revision: https://developer.blender.org/D2648
2017-04-21CMake: Add option to build against system-wide GlogSergey Sharybin
Similar to previous commit for Gflags.
2017-04-21CMake: Add option to link against system-wide Gflags librarySergey Sharybin
It is disabled by default, so should not affect existing configurations. Main benefits of this goes as: - Linux distros can use that to avoid libraries duplication and link blender package against gflags package from the system. - It it easier to test whether Blender works with updated version of Gflags prior to re-bundling the library.
2017-04-06CMake: Fixed order of bf_alembic in SETUP_BLENDER_SORTED_LIBSSybren A. Stüvel
bf_alembic depends on bf_bmesh, and should therefore be above it.
2017-03-11Cleanup: code style & cmakeCampbell Barton
2017-01-25[Cycles/MSVC/Testing] Fix broken test code.lazydodo
Currently the tests don't run on windows for the following reasons 1) render_graph_finalize has an linking issue due missing a bunch of libraries (not sure why this is not an issue for linux) 2) This one is more interesting, in test/python/cmakelists.txt ${TEST_BLENDER_EXE_BARE} and ${TEST_BLENDER_EXE} are flat out wrong, but for some reason this doesn't matter for most tests, cause ctest will actually go out and look for the executable and fix the path for you *BUT* only for the command, if you use them in any of the parameters it'll happily pass on the wrong path. 3) on linux you can just run a .py file, windows is not as awesome and needs to be told to run it with pyton. 4) had to use the NAME/COMMAND long form of add_test otherwise $<TARGET_FILE:blender> doesn't get expanded, why? beats me. 5) missing idiff.exe for msvc2015/x64 in the libs folder. This patch addresses 1-4 , but given I have no working Linux build environment, I'm unsure if it'll break anything there 5 has been fixed in rBL61751 Reviewers: juicyfruit, brecht, sergey Reviewed By: sergey Subscribers: Blendify Tags: #cycles, #automated_testing Differential Revision: https://developer.blender.org/D2367
2016-10-25CMake: Followup to previous commit, try to ensure -ldl is always lastSergey Sharybin
Seems CMake will rearrange and copy libraries which are passed to the linker when some of the libraries is listed twice (for example, -lz from png libraries and -l for blender itself). This was causing libopenimageio to be added somewhere at the end of linking flags without -ldl followed after which was causing linking issues.
2016-09-14CMake: decouple WITH_CYCLES_OPENSUBDIV from WITH_OPENSUBDIV, and enable on OS X.Brecht Van Lommel
Reviewed By: sergey Differential Revision: https://developer.blender.org/D2227
2016-08-31[Windows] Add support for code signing the final binaries.lazydodo
The option is controlled with the WITH_WINDOWS_CODESIGN option and needs: - Signtool must be found on the system, the standard windows sdk folders will be searched for it. - The path to the pfx file (WINDOWS_CODESIGN_PFX) - The password for the pfx , this can either be set by the WINDOWS_CODESIGN_PFX_PASSWORD variable but given that ends up in CMakeCache.txt (which might be undesirable) there is a backup option of setting the PFXPASSWORD environment variable on the system. Reviewers: sergey, juicyfruit Reviewed By: juicyfruit Tags: #bf_blender, #platform:_windows Differential Revision: https://developer.blender.org/D2182
2016-08-26Fix linking issue with OpenEXR and Zlib.Kévin Dietrich
Link Zlib after OpenEXR. Differential Revision: https://developer.blender.org/D2176
2016-08-06Basic Alembic supportKévin Dietrich
All in all, this patch adds an Alembic importer, an Alembic exporter, and a new CacheFile data block which, for now, wraps around an Alembic archive. This data block is made available through a new modifier ("Mesh Sequence Cache") as well as a new constraint ("Transform Cache") to somewhat properly support respectively geometric and transformation data streaming from alembic caches. A more in-depth documentation is to be found on the wiki, as well as a guide to compile alembic: https://wiki.blender.org/index.php/ User:Kevindietrich/AlembicBasicIo. Many thanks to everyone involved in this little project, and huge shout out to "cgstrive" for the thorough testings with Maya, 3ds Max, Houdini and Realflow as well as @fjuhec, @jensverwiebe and @jasperge for the custom builds and compile fixes. Reviewers: sergey, campbellbarton, mont29 Reviewed By: sergey, campbellbarton, mont29 Differential Revision: https://developer.blender.org/D2060
2016-07-18[MSVC/LNK4199/Cleanup] Delay loading is causing linker warnings.Ray Molenkamp
We recently added delay-loading of the openmp dll's so we no longer had to use the stub loader, we however put these linker flags on the global linker flags causing any sub projects not using openmp to spit linker warning 4199 while building, ``` Warning LNK4199 /DELAYLOAD:vcomp140.dll ignored; no imports found from vcomp140.dll datatoc k:\BlenderGit\build_windows_2015a\source\blender\datatoc\LINK 1 ``` This patch makes the delay-load only apply to the blender project. Reviewers: sergey Subscribers: sergey Tags: #bf_blender Differential Revision: https://developer.blender.org/D2092
2016-07-14CMake: per-target CFLAG & CXXFLAG supportCampbell Barton
Applying cflags globally can be problematic especially with extern, intern libs. Now flags from target named will be used when defined, allowing for developers to define flags for modules they maintain. Convention is CMAKE_CFLAGS_${UPPERCASE_TARGET_NAME}, (CXXFLAGS for C++). eg: CMAKE_CFLAGS_BF_BLENDER, CMAKE_CFLAGS_MAKESDNA, CMAKE_CXXFLAGS_CYCLES_KERNEL On Linux run `make help` for full list of names, MSVC shows these in the solution.
2016-06-11BGE: DeckLink card support for video capture and streaming.Benoit Bolsee
You can capture and stream video in the BGE using the DeckLink video cards from Black Magic Design. You need a card and Desktop Video software version 10.4 or above to use these features in the BGE. Many thanks to Nuno Estanquiero who tested the patch extensively on a variety of Decklink products, it wouldn't have been possible without his help. You can find a brief summary of the decklink features here: https://wiki.blender.org/index.php/Dev:Source/GameEngine/Decklink The full API details and samples are in the Python API documentation. bge.texture.VideoDeckLink(format, capture=0): Use this object to capture a video stream. the format argument describes the video and pixel formats and the capture argument the card number. This object can be used as a source for bge.texture.Texture so that the frame is sent to the GPU, or by itself using the new refresh method to get the video frame in a buffer. The frames are usually not in RGB but in YUV format (8bit or 10bit); they require a shader to extract the RGB components in the GPU. Details and sample shaders in the documentation. 3D video capture is supported: the frames are double height with left and right eyes in top-bottom order. The 'eye' uniform (see setUniformEyef) can be used to sample the 3D frame when the BGE is also in stereo mode. This allows to composite a 3D video stream with a 3D scene and render it in stereo. In Windows, and if you have a nVidia Quadro GPU, you can benefit of an additional performance boost by using 'GPUDirect': a method to send a video frame to the GPU without going through the OGL driver. The 'pinned memory' OGL extension is also supported (only on high-end AMD GPU) with the same effect. bge.texture.DeckLink(cardIdx=0, format=""): Use this object to send video frame to a DeckLink card. Only the immediate mode is supported, the scheduled mode is not implemented. This object is similar to bge.texture.Texture: you need to attach a image source and call refresh() to compute and send the frame to the card. This object is best suited for video keying: a video stream (not captured) flows through the card and the frame you send to the card are displayed above it (the card does the compositing automatically based on the alpha channel). At the time of this commit, 3D video keying is supported in the BGE but not in the DeckLink card due to a color space issue.
2016-06-07readfile: optimization for undoCampbell Barton
Was using O(n^2) lookup on ID's with undo. This caused undo to hang with 1000's of data-blocks (especially with heavy scenes & outliner-space, which doesn't even need to be visible to cause a slow-down). Internally this uses a ghash per id-type, which is lazy-initialized. Each key uses the name and library since there may be name collisions between libraries. Developer Notes: - Adds small `BKE_main_idmap_*` API. - Needed to change linking order for this to build.
2016-05-30CMake: Workaround to get Libmv compiled with latest GccSergey Sharybin
2016-05-24ndof: build system cleanupMike Erwin
Only Linux needs a lib linked in (libspnav). ghostndof3dconnexion refers to an obsolete Mac driver shim.
2016-05-22Code refactor: add generic Cycles node infrastructure.Brecht Van Lommel
Differential Revision: https://developer.blender.org/D2016
2016-05-22CMake: Solve compilation error with pre-compiled libraries and new GCC-6Sergey Sharybin
Since version 6 G++ switched to C++11 by default, which breaks some logic around WITH_CXX11 checks in out CMake files, leading to compilation errors. This is easy to solve by explicitly enabling older C++ standard when C++11 was not explicitly enabled by CMake options. However, G++-6 will also use new ABI by default even if older standard was specified in the compiler options. This is being addressed by a special define flag. This tricks made it possible to use new G++-6 without need to recompile any of pre-compiled libraries. However, this might break compilation with existing system libraries, which might already be using new ABI. We can't address this automatically, so now we simply default WITH_C11 and WITH_CXX11 options to whatever defaults of the current compiler are. This means, for G++-6 we'll set WITH_CXX11 to truth. This should make linking with system libraries working just fine, but to make pre-compiled libraries we still might need to disable CXX11. This should work fine work for a new environments with G++-6 and install_deps script run from scratch there, because C++ standard will be the same for both Blender dependencies and Blender itself.
2016-05-19CMake: use signed char for recastnavigationCampbell Barton
External libraries may need char to be signed.
2016-04-25Refactor BKE_blender into separate headersCampbell Barton
- BKE_blender_version.h (only version defines & versionstr). - BKE_blender_copybuffer.h (currently only used for view3d copy/paste). - BKE_blender_undo.h (global undo functions). - BKE_blendfile.h (high level blend file read/write API).
2016-04-22Silence some annoying warnings when doing full build with strict flagsSergey Sharybin
This mainly touches extern libraries and few debug-only places in intern. Some summary: - External libraries are not strict at all about missing declarations, so we can rather safely remove such warning together with other strict flags. - Bullet has some static functions which are not used. Those were commented out. - Carve now has some unused debug-only functions commented out as well. While we're on the way of getting rid of Carve, it makes sense to make things a bit cleaner for the time being. - In LZMA we have some parts disabled which gives some set but unused variables which is rather correct. - Elbeem had quite some variables set and never used because their usage is inside of debug-only code which is commented out. Note about patching upstream libraries: surely one might say that we have to make local patchset against this, but own experience says it only gives extra work trying to merge such tweaks to a new upstream version and usually it's just faster to re-apply such fixes again after bundling new upstream library.
2016-04-15Add lib for n-dimensional cubic curve fittingCampbell Barton
This will be used for calculating bezier curves from freehand drawing, may be used for other areas too. Original code from GraphicsGems, 1990 (FitCurve.c), with updates from OpenToonz, under 3 clause BSD license. with own minor modifications for integration with Blender: - support adding extra custom-data. - improved handle clamping.
2016-03-30CMake cleanup target_link_libraries_decoupledMartijn Berger
2016-03-15CMake: remove unused libpath'sCampbell Barton
Also add note that these should be deprecated in favor of absolute libs.
2016-02-06CMake: Remove mention of extern_redcode, it was removedSergey Sharybin
2016-01-27OpenVDB: Get rid of hardcoded TBB variables and enabled for Linux buildbotSergey Sharybin
2016-01-23Implementation of OpenVDB as a possible cache format for smokeKévin Dietrich
simulations. This commits implements OpenVDB as an extra cache format in the Point Cache system for smoke simulations. Compilation with the library is turned off by default for now, and shall be enabled when the library is present. A documentation of its doings is available here: http:// wiki.blender.org/index.php/User:Kevindietrich/OpenVDBSmokeExport. A guide to compile OpenVDB can be found here (Linux): http:// wiki.blender.org/index.php?title=Dev:Doc/Building_Blender/Linux/ Dependencies_From_Source#OpenVDB Reviewers: sergey, lukastoenne, brecht, campbellbarton Reviewed By: brecht, campbellbarton Subscribers: galenb, Blendify, robocyte, Lapineige, bliblubli, jtheninja, lukasstockner97, dingto, brecht Differential Revision: https://developer.blender.org/D1721
2016-01-17CMake: clarify missing Python package messageCampbell Barton
Blender builds properly without extra Python packages, avoid FUD for new devs.
2016-01-16Cleanup: stdbool no longer optional, remove checksCampbell Barton
2016-01-14CMake: Silence messages about unordered map and shared pointer on second runSergey Sharybin
This variables are being cached anyway and can only be changed on first run, no need to keep reporting them again and again.
2016-01-14Cycles: Add option to directly link against CUDA librariesSergey Sharybin
The main purpose of such linking is to make Blender compatible with NVidia's debuggers and profilers which are doing some LD_PRELOAD magic to intercept some function calls. Such magic conflicts with our CUDA wrangler magic and causes segmentation faults. The option is disabled by default, so there's no affect on any of artists. In order to make Blender linked directly against CUDA library use the WITH_CUDA_DYNLOAD CMake option (it's marked as advanced).
2016-01-08Remove raskter librarySergey Sharybin
it's no longer used by any of the parts of Blender.
2016-01-04Move Libmv from extern/ to intern/Sergey Sharybin
Logically it is intern library since being mainly developed by 1.5 blender guys.
2016-01-04Re-organize structure of GLog/GFlags CMake librariesSergey Sharybin
The idea is to split them into two separate targets and have dedicated include directories list for each of them in order to avoid some annoying include header modifications in comparison with upstream. Reviewers: campbellbarton, juicyfruit Differential Revision: https://developer.blender.org/D1706
2016-01-04Remove SCons building systemSergey Sharybin
While SCons building system was serving us really good for ages it's no longer having much attention by the developers and started to become quite a difficult task to maintain. What's even worse -- there started to be quite serious divergence between SCons and CMake which was only accumulating over the releases now. The fact that none of the active developers are really using SCons and that our main studio is also using CMake spotting bugs in the SCons builds became quite a difficult task and we aren't always spotting them in time. Meanwhile CMake became really mature building system which is available on every platform we support and arguably it's also easier and more robust to use. This commit includes: - Removal of actual SCons building system - Removal of SCons git submodule - Removal of documentation which is stored in the sources and covers SCons - Tweaks to the buildbot master to stop using SCons submodule (this change requires deploying to the server) - Tweaks to the install dependencies script to skip installing or mentioning SCons building system - Tweaks to various helper scripts to avoid mention of SCons folders/files as well Reviewers: mont29, dingto, dfelinto, lukastoenne, lukasstockner97, brecht, Severin, merwin, aligorith, psy-fi, campbellbarton, juicyfruit Reviewed By: campbellbarton, juicyfruit Differential Revision: https://developer.blender.org/D1680
2015-12-10Eigen: fold remaining OpenNL code into intern/eigen.Brecht Van Lommel
Differential Revision: https://developer.blender.org/D1662
2015-12-10Eigen: move C API into intern/eigen.Brecht Van Lommel
2015-12-02Buildbot: Initial work to move linux build environment to CMakeSergey Sharybin
This is so called "seems to work in dry tests" commit which is aimed to switch linux release environment to CMake. Some notes: - There's no special handle of libstdc++, but it wasn't really static for quite some time in SCons configuration and nobody really complained. - It was quite tricky to get OpenMP linked statically with just using some configuration so we went ahead and added a special option to CMake now which is only exist on Linux and advertised as shouldn't be used. - Packing is happening manually in slave_pack.py. This is because we have to add some really special files to the archive (mesa libraries for example) which we can't really handle from CMake/CPack in a nice generic way. Don't think it's bad approach, at least crappynness is localized and it's not _that_ crappy anyway. - Windows buildbot should keep working, but needs doublechecing. It's just a build folder changed, but you never know what it might imply. - Some further tweaks are likely needed to ensure all builders are working. Thanks Campbell for assistance in this patch!
2015-09-02CMake: use generator expressionsCampbell Barton
2015-08-18Refactor translation code out of blenfontCampbell Barton
- Add blentranslation `BLT_*` module. - moved & split `BLF_translation.h` into (`BLT_translation.h`, `BLT_lang.h`). - moved `BLF_*_unifont` functions from `blf_translation.c` to new source file `blf_font_i18n.c`.
2015-07-28Audaspace: fixing problems for the merge to master suggested by Campbell and ↵Jörg Müller
Sergey. - rename WITH_EXTERNAL_AUDASPACE to WITH_SYSTEM_AUDASPACE. - rename C/PYAUDASPACE to AUDASPACE_C/PY - simplifying cmake defines and includes. - fixing include paths and enabling WITH_SYSTEM_AUDASPACE for windows. - fixing scons building. - other minor build system fixes.
2015-07-28Audaspace: use standalone library.Jörg Müller
- Added the cmake configuration option WITH_EXTERNAL_AUDASPACE. - Fixes to build without standalone library as well.
2015-07-20OpenSubdiv: Commit of OpenSubdiv integration into BlenderSergey Sharybin
This commit contains all the remained parts needed for initial integration of OpenSubdiv into Blender's subdivision surface code. Includes both GPU and CPU backends which works in the following way: - When SubSurf modifier is the last in the modifiers stack then GPU pipeline of OpenSubdiv is used, making viewport performance as fast as possible. This also requires graphscard with GLSL 1.5 support. If this requirement is not met, then no GPU pipeline is used at all. - If SubSurf is not a last modifier or if DerivesMesh is being evaluated for rendering then CPU limit evaluation API from OpenSubdiv is used. This only replaces the legacy evaluation code from CCGSubSurf_legacy, but keeps CCG structures exactly the same as they used to be for ages now. This integration is fully covered with ifdef and not enabled by default because there are several TODOs to be solved first: - Face varying data interpolation is not really cleanly implemented for GPU in OpenSubdiv 3.0. It is also not implemented for limit evaluation API. This basically means we'll have really hard time supporting UVs. - Limit evaluation only works with adaptivly subdivided meshes so far, which basically means all the points of CCG are pushed to the limit. This gives different result from old code. - There are some serious optimizations possible on the topology refiner creation, which would speed up initial OpenSubdiv mesh creation. - There are some hardcoded asumptions in the GPU and DerivedMesh areas which could be generalized. That's something where Antony and Campbell can help, making it so the code is structured in a way which is reusable by all planned viewport projects. - There are also some workarounds in the dependency graph to make sure OpenGL buffers are only freed from the main thread. Those who'll be wanting to make experiments with this code should grab dev branch (NOT master) from https://github.com/Nazg-Gul/OpenSubdiv/tree/dev There are some patches applied in there which we're working on on getting into upstream.
2015-07-13Add a skeleton of C API for Eigen3.Bastien Montagne
Title says pretty much everything. For now, only thing available is a solver of eigen values/vectors for self-adjoint matrices. We can easily add more when needed. Thanks to Sergey and Campbell for quick review.
2015-06-30CMake: minor editsCampbell Barton
2015-06-23CMake: quiet warnings in GTestCampbell Barton
2015-06-23CMake: support multiple args to remove_cc_flagCampbell Barton
2015-06-17CMake: use parent scope setting cflags in funcionCampbell Barton