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
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-08-01Cleanup: unused vars, imports, pep8Campbell Barton
2016-07-30Cleanup: pep8Campbell Barton
2016-07-29Add GMock library which is responsive for dealing with mock objectsSergey Sharybin
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-07-12Revert "OpenJPEG: update to 2.1 from 1.5"Sergey Sharybin
This reverts commit f12204196fb1ee985ab9745cf9c70877601145f9. Campbell, sorry. have to revert this for the time being. We've missed some very important bits, such as: - FFmpeg is usually linked against OpenJPEG - OIIO needs OpenJPEG as well. For FFmpeg issues we can either disable OpenJPEG there (since we don't really use it), or bump FFmpeg to version 3.1.1 which can use either of OpenJPEG 1.5 or 2.1. For OIIO we do need OpenJPEG support (otherwise Cycles will not be able to use j2k/j2c textures) and currently there is NO solution to make OIIO working with OpenJPEG 2.1. According to Matthias Fauconneau (aka mfv) Larry is working on the patch to get OIIO work with OpenJPEG 2.1, but it'll take some time still. I've tried to look into support of some sort of build system flag and do ifdefs, but it all becomes quite nasty, especially with bundled OpenJPEG bumped to 2.1. Surely such an update is something we'll have to apply to but at this exact moment it causes quite some pain for all developers. Suggest to wait for until OIIO supports OpenJPEG 2.1 and then go with the updates for real.
2016-07-12OpenJPEG: update to 2.1 from 1.5Campbell Barton
Stream handling has changed so this required changes to how files & memory are accessed.
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-05-10CMake: optional date/time overrides for reproducible buildsCampbell Barton
2016-04-29Cleanup: warnings. spellingCampbell Barton
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-23Cleanup: cmakeCampbell Barton
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-04-12CMake: consistency check now reports stale ignoresCampbell Barton
Also update ignore list.
2016-04-12Remove exception for file which no longer existsSergey Sharybin
2016-04-12CMake: ignore headerCampbell Barton
2016-03-30CMake cleanup target_link_libraries_decoupledMartijn Berger
2016-03-25CMake: Disable Cycles OSL for the light configurationSergey Sharybin
While it was indirectly disabled already, it's handy to use the config as template and enable certain features. In case of Cycles enabling it would also enable OSL which is not very expected.
2016-03-15CMake: remove unused libpath'sCampbell Barton
Also add note that these should be deprecated in favor of absolute libs.
2016-03-11CMake: Avoid call of find_package(Git) for every compile with buildinfo enabledSergey Sharybin
This is a bit tricky, find_package(Git) was only used to check if git is installed and actual git command was assumed to be in the PATH (while ideally it should have been GIT_COMMAND variable). This commit makes re-compile output cleaner, especially when using Ninja. Adding proper GIT_COMMAND to buildinfo.cmake is also possible via argument. Reviewers: campbellbarton Reviewed By: campbellbarton Differential Revision: https://developer.blender.org/D1847
2016-03-03CMake: Remove redundant print of Git Found messageSergey Sharybin
find_package(Git) will already print this.
2016-02-23CMake: Enable BLOSC for OpenVDB for the full configSergey Sharybin
This will respect the official build configuration where we should have BLOSC enabled. We can't really detect if OpenVDB was compiled with BLOSC or not, so seems we can't really avoid this extra flag.
2016-02-10add openvdb to blender config (and buildbot)Martijn Berger
2016-02-07move windows out of source dirCampbell Barton
2016-02-06Fix GTests compilations on WindowsSergey Sharybin
Unfortunately this doesn't make all tests compilable due to all sort of weird and wonderful bad levels includes on Windows (G referenced from bf_blenlib) but at least allows to selectively build tests for now.
2016-02-06CMake: Remove mention of extern_redcode, it was removedSergey Sharybin
2016-02-03Imbuf: remove libredcodeCampbell Barton
D1751, remove this library since its quite a specific - only supports an older version of this codec. Also ffmpeg has added support for recent versions of the codec.
2016-01-31Cleanup: pep8Campbell Barton
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-19CMake: check for LLVM static library by defaultCampbell Barton
Even when static option isn't enabled, use the static library path if the dynamic library isn't found.
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-14CMake: Add additional search path for OpenSubdivSergey Sharybin
This patch will match where install_deps puts OpenSubdiv.
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-04Next step of fix for gtests (but still not working...)Bastien Montagne
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-27Fix for error w/ QtCreator project builderCampbell Barton
cmake_qtcreator_project.py now takes a '--build-dir' argument. Since introduction of argparse, accessing last argv from project_info is no longer working. Now require a call to project_info.init before use.