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-07-24Allocator: make leak detection work with static variablesJacques Lucke
When definining static variables that own memory, you should use the "construct on first use" idiom. Otherwise, you'll get a warning when Blender exits. More details are provided in D8354. Differential Revision: https://developer.blender.org/D8354
2020-07-16Simulation: Rename `physics` directory to `simulation`Jacques Lucke
Function names will be updated in a separate commit. This will be the place for the new particle system and other code related to the Simulation data block. We don't want to have all that code in blenkernel. Approved by brecht.
2020-07-14Cleanup: sort header, cmake pathsCampbell Barton
2020-07-03Disable clang-tidy for code-generated RNA filesSergey Sharybin
This needs some extra care, which is probably easier once the initial pass over integration is done.
2020-06-23Preferences: New experimental settings for particle system and hairJacques Lucke
This replaces the cmake options `WITH_NEW_OBJECT_TYPES` and `WITH_NEW_SIMULATION_TYPE` with two experimental userpref settings: * `use_new_particle_system`: Enables the point cloud type and the simulation editor. * `use_new_hair_type`: Only displays the add-operator in the add menu for now. Note, in the current state you can't do anything productive with the new particle system or the new hair type. Features will be added step by step in the upcoming weeks and months. Reviewers: brecht Differential Revision: https://developer.blender.org/D8096
2020-06-16CMake: Fix compilation errors related on missing dna_type_offsets.hSergey Sharybin
Some of the files were (indirectly) using dna_type_offsets.h without adding dependency from bf_dna (which is needed to ensure the file is generated prior to library compilation).
2020-05-20Fix Windows build after recent guardedalloc changesBrecht Van Lommel
2020-04-20Simulations: Add new simulation data blockJacques Lucke
This data block will be the container for simulation node trees. It will be used for the new particle node system (T73324). The new data block has the type `ID_SIM`. It is not visible to users and other developers by default yet. To enable it, activate the cmake option `WITH_NEW_SIMULATION_TYPE`. New simulation data blocks can be created by running `bpy.data.simulations.new("name")`. Reviewers: brecht Differential Revision: https://developer.blender.org/D7225
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-06Cleanup: move Alembic, AVI, Collada, and USD to `source/blender/io`Sybren A. Stüvel
This moves the `alembic`, `avi`, `collada`, and `usd` modules into a common `io` directory. This also cleans up some `#include "../../{somedir}/{somefile}.h"` by adding `../../io/{somedir}` to `CMakeLists.txt` and then just using `#include "{somefile}.h"`. No functional changes.
2020-01-23CMake: Refactor external dependencies handlingSergey Sharybin
This is a more correct fix to the issue Brecht was fixing in D6600. While the fix in that patch worked fine for linking it broke ASAN runtime under some circumstances. For example, `make full debug developer` would compile, but trying to start blender will cause assert failure in ASAN (related on check that ASAN is not running already). Top-level idea: leave it to CMake to keep track of dependency graph. The root of the issue comes to the fact that target like "blender" is configured to use a lot of static libraries coming from Blender sources and to use external static libraries. There is nothing which ensures order between blender's and external libraries. Only order of blender libraries is guaranteed. It was possible that due to a cycle or other circumstances some of blender libraries would have been passed to linker after libraries it uses, causing linker errors. For example, this order will likely fail: libbf_blenfont.a libfreetype6.a libbf_blenfont.a This change makes it so blender libraries are explicitly provided their dependencies to an external libraries, which allows CMake to ensure they are always linked against them. General rule here: if bf_foo depends on an external library it is to be provided to LIBS for bf_foo. For example, if bf_blenkernel depends on opensubdiv then LIBS in blenkernel's CMakeLists.txt is to include OPENSUBDIB_LIBRARIES. The change is made based on searching for used include folders such as OPENSUBDIV_INCLUDE_DIRS and adding corresponding libraries to LIBS ion that CMakeLists.txt. Transitive dependencies are not simplified by this approach, but I am not aware of any downside of this: CMake should be smart enough to simplify them on its side. And even if not, this shouldn't affect linking time. Benefit of not relying on transitive dependencies is that build system is more robust towards future changes. For example, if bf_intern_opensubiv is no longer depends on OPENSUBDIV_LIBRARIES and all such code is moved to bf_blenkernel this will not break linking. The not-so-trivial part is change to blender_add_lib (and its version in Cycles). The complexity is caused by libraries being provided as a single list argument which doesn't allow to use different release and debug libraries on Windows. The idea is: - Have every library prefixed as "optimized" or "debug" if separation is needed (non-prefixed libraries will be considered "generic"). - Loop through libraries passed to function and do simple parsing which will look for "optimized" and "debug" words and specify following library to corresponding category. This isn't something particularly great. Alternative would be to use target_link_libraries() directly, which sounds like more code but which is more explicit and allows to have more flexibility and control comparing to wrapper approach. Tested the following configurations on Linux, macOS and Windows: - make full debug developer - make full release developer - make lite debug developer - make lite release developer NOTE: Linux libraries needs to be compiled with D6641 applied, otherwise, depending on configuration, it's possible to run into duplicated zlib symbols error. Differential Revision: https://developer.blender.org/D6642
2019-12-17Cleanup: sort file listsCampbell Barton
2019-12-16Mantaflow [Part 6]: Updates in /blender/sourceSebastián Barschkis
A collection of smaller changes that are required in the /blender/source files. A lot of them are also due to variable renaming. Reviewed By: sergey Maniphest Tasks: T59995 Differential Revision: https://developer.blender.org/D3855
2019-11-25CMake: support building without PythonCampbell Barton
Resolve linking issues, warnings.
2019-11-22Cleanup: rename mirror -> mesh_mirrorCampbell Barton
The term mirror on it's own is too ambiguous, use BKE_mesh prefix.
2019-11-21Bevel: Custom Profile and CurveProfile WidgetHans Goudey
Custom profiles in bevel allows the profile curve to be controlled by manually placed control points. Orientation is regularized along groups of edges, and the 'pipe case' is updated. This commit includes many updates to comments and changed variable names as well. A 'cutoff' vertex mesh method is added to bevel in addition to the existing grid fill option for replacing vertices. The UI of the bevel modifier and tool are updated and unified. Also, a 'CurveProfile' widget is added to BKE for defining the profile in the interface, which may be useful in other situations. Many thanks to Howard, my mentor for this GSoC project. Reviewers: howardt, campbellbarton Differential Revision: https://developer.blender.org/D5516
2019-10-28CMake: add missing headers, use space before commentsCampbell Barton
2019-09-11RNA: automatically initialize defaults from DNACampbell Barton
Use defaults from DNA_*_defaults.h headers, this avoids calling RNA_def_property_*_default explicitly & having to repeat values.
2019-08-22Cleanup: Split some code out of rna_access.cBastien Montagne
That file was getting out of control, now comparison/override RNA code is in `rna_access_compare_override.c`. 1K lines of code for now, but that area is likely to grow more in the future... Note that we can probably split more out of `rna_access.c`, but for now that will do.
2019-04-24Cleanup: sort CMake include pathsCampbell Barton
2019-04-17ClangFormat: apply to source, most of internCampbell Barton
Apply clang format as proposed in T53211. For details on usage and instructions for migrating branches without conflicts, see: https://wiki.blender.org/wiki/Tools/ClangFormat
2019-04-16CMake: add libs needed for gtestsCampbell Barton
2019-04-16CMake: add library deps to CMakeLists.txtCampbell Barton
Tested to work on Linux and macOS. This will be enabled once all platforms are verified. See D4684
2019-04-14CMake: prepare for BLENDER_SORTED_LIBS removalCampbell Barton
No functional change, this adds LIB definition and args to cmake files. Without this it's difficult to migrate away from 'BLENDER_SORTED_LIBS' since there are many platforms/configurations that could break when changing linking order. Manually add and enable WITHOUT_SORTED_LIBS to try building without sorted libs (currently fails since all variables are empty). This check will eventually be removed. See T46725.
2019-02-27Cleanup: file rename lamp -> lightCampbell Barton
2019-02-22Revert "makesrna: Fix build error on windows."Campbell Barton
This reverts commit 8b235dd2e3995a61e2a7db1ac2bc9eefe1394456.
2019-02-22makesrna: Remove usage of dynamically linked pthreads4wRay Molenkamp
With pthreads now being static, there is no more reason to copy the dll.
2019-02-21makesrna: Fix windows build.Ray Molenkamp
makesrna requires the pthread dll to be available before it can run.
2019-02-21makesrna: Fix build error on windows.Ray Molenkamp
rB94f83a4ebd929e7c4f405b1c78d9db842dfe1689 introduced a dependency on pthreads but did not add it to the linker inputs.
2019-02-18RNA: use clog for logging error messagesCampbell Barton
Some RNA errors are quite similar, use clog for consistent logging that always includes the file, function and line number - making errors quicker to troubleshoot.
2019-02-05Cleanup: remove contributors for CMake filesCampbell Barton
Following removal from C source code. See: 8c68ed6df16d8893
2019-01-25Cleanup: sort cmake file listsCampbell Barton
2018-11-26Enable OpenSubdiv modifier by defaultSergey Sharybin
This commit makes it so that subsurf/multires modifiers will respect the WITH_OPENSUBDIV option. The WITH_OPENSUBDIV_MODIFIER option is now gone. For artists it mean that subsurf modifier will behave same as it is planned for 2.80. Multires will now support sculpting, but it has some known limitations. Those will be worked on before the final release. If OpenSubdiv is disabled, no subsurf/multires functionality will present. For the details see: https://wiki.blender.org/wiki/Reference/Release_Notes/2.80/Modeling#Subsurf.2FMultires
2018-08-29Cleanup: rename files from group to collection to match contents.Brecht Van Lommel
2018-08-13Subsurf: Introduce quality optionSergey Sharybin
For users it defines how accurate vertex positions are in terms of limit surface (as in, how close the vertices locations to the condition when they are calculated for an infinitely subdivided mesh). This affects things like: - Irregular vertices (joint of 3 or more edges) - Crease Keep quality value low for performance. NOTE: Going higher does not necessarily mean real improvement in quality, ideal case might be reached well before maximum quality of 10. Quality of 3 is a good starting point. Internally quality is translated directly to adaptive subdivision level. Reviewers: brecht Reviewed By: brecht Differential Revision: https://developer.blender.org/D3599
2018-07-31New Grease Pencil object for 2D animationAntonioya
This commit merge the full development done in greasepencil-object branch and include mainly the following features. - New grease pencil object. - New drawing engine. - New grease pencil modes Draw/Sculpt/Edit and Weight Paint. - New brushes for grease pencil. - New modifiers for grease pencil. - New shaders FX. - New material system (replace old palettes and colors). - Split of annotations (old grease pencil) and new grease pencil object. - UI adapted to blender 2.8. You can get more info here: https://code.blender.org/2017/12/drawing-2d-animation-in-blender-2-8/ https://code.blender.org/2018/07/grease-pencil-status-update/ This is the result of nearly two years of development and I want thanks firstly the other members of the grease pencil team: Daniel M. Lara, Matias Mendiola and Joshua Leung for their support, ideas and to keep working in the project all the time, without them this project had been impossible. Also, I want thanks other Blender developers for their help, advices and to be there always to help me, and specially to Clément Foucault, Dalai Felinto, Pablo Vázquez and Campbell Barton.
2018-07-15WM: rename files, manipulator -> gizmoCampbell Barton
Edit doxy files and header guards only.
2018-06-12T55454: removal of clay engineJeroen Bakker
The ClayEngine was introduced to test the blender2.8 architecture during development. As currently we have the wanted features implemented with matcaps we are going to remove the clay engine as it was never intended to be an official releasable engine Note: The test cases are never run. But when enabled will be skipped as they were implemented over the Clay Engine
2018-06-01Merge branch 'master' into blender2.8Bastien Montagne
Conflicts: source/blender/editors/io/io_collada.c source/blender/editors/object/object_bake.c source/blender/editors/object/object_edit.c source/blender/editors/render/render_internal.c source/blender/makesrna/intern/rna_object_api.c source/blenderplayer/bad_level_call_stubs/stubs.c
2018-05-31Add Asan support for clang on windows.Ray Molenkamp
This will currently only work for the RelWithDebInfo configuration since asan does not support the debug crt. for source line information in the reports, you need a copy of llvm-symbolizer in the blender folder or set the ASAN_SYMBOLIZER_PATH environment variable to point to it. Currently (as of 6.0.0) llvm-symbolizer does not ship with the binary clang/llvm distribution. Reviewers: campbellbarton Differential Revision: https://developer.blender.org/D3446
2018-05-17Tool System: per space/mode tool supportCampbell Barton
This patch adds support for: - Per space-type tools (3D view and edit). - Per mode tools (object, edit, weight-paint .. etc). The top-bar shows the last activated tools options, this is a design issue with using a global topbar to show per-space settings. See D3395
2018-05-09Remove Frame ServerCampbell Barton
This feature is limited (only byte PPM output, no multi-view), only works with specific configurations. This also causes some maintenance overhead when testing changes to the render pipeline.
2018-04-17Removing Blender Game Engine from Blender 2.8Dalai Felinto
Folders removed entirely: * //extern/recastnavigation * //intern/decklink * //intern/moto * //source/blender/editors/space_logic * //source/blenderplayer * //source/gameengine This includes DNA data and any reference to the BGE code in Blender itself. We are bumping the subversion. Pending tasks: * Tile/clamp code in image editor draw code. * Viewport drawing code (so much of this will go away because of BI removal that we can wait until then to remove this.
2017-10-23Refactor: Move rna_scene.c layer/collection to rna_layer.cDalai Felinto
rna_scene.c was getting way too big with data that was related to DNA_layer_types.h. I tried doing it earlier, but failed. But now with the new changes I think it's better to do this sooner than later.
2017-09-25Merge branch 'master' into blender2.8Sergey Sharybin
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-08-18Audaspace: Moving audaspace 1.3 into extern.Jörg Müller
Deleting the old internal audaspace. Major changes from there are: - The whole library was refactored to use C++11. - Many stability and performance improvements. - Major Python API refactor: - Most requested: Play self generated sounds using numpy arrays. - For games: Sound list, random sounds and dynamic music. - Writing sounds to files. - Sequencing API. - Opening sound devices, eg. Jack. - Ability to choose different OpenAL devices in the user settings.
2017-08-01Merge branch 'master' into blender2.8Campbell Barton
2017-08-01Cleanup: use static vars where appropriateCampbell Barton