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-04-03Cleanup: Rename ScrArea variables from sa to areaJulian Eisel
Follow up of b2ee1770d4c3 and 10c2254d412d, part of T74432. Now the area and region naming conventions should be less confusing. Mostly a careful batch rename but had to do few smaller fixes. Also ran clang-format on affected files.
2020-03-27Fix error in macOS system file detection in recent changesAnkit
Differential Revision: https://developer.blender.org/D7250
2020-03-26Fix T60682: adds macOS alias redirection for directoriesBrecht Van Lommel
This adds support for macOS aliases in addition to symlinks. It also adds support for hidden, readonly and system file attributes. Contributed by Ankit (ankitm) with modifications by me. Differential Revision: https://developer.blender.org/D6679
2020-03-25Cleanup: use 'r_' prefix for output argumentsCampbell Barton
Also pass some args as 'const'.
2020-03-24Cleanup: spellingCampbell Barton
2020-03-19Cleanup: `make format` after SortedIncludes changeDalai Felinto
2020-03-19VSE: Disk cacheRichard Antalik
This patch implements dumping images from cache to HDD. The main goal of this system is to provide a means to achieve consistent playback speed mainly for strips that are not possible to preview in real time. How to use: Disk cache has own settings in user preferences for path to storage, size limit and compression level. To use disk cache, you need to check `Use Disk Cache` box, set `Disk Cache Directory`, `Disk Cache Limit` and save or open existing .blend file. By default sequencer output will be cached only. Manual setting is possible in cache panel. Uses: - Replacement or alternative for proxies. Disk cache will work with any strip type, supports float images as well. - Storage for strip thumbnails. - Less RAM needs to be allocated for preview cache How it works: Disk cache is extension of RAM cache. Every image, that is stored or deleted in RAM will be stored or deleted on HDD as well. Images can be compressed to save space and for use on slower drives. Compressed images are slower to write and read though. Images are stored in bulk of 100 rendered frames per one file. This is to overcome slow file access time for large amount of files. Drawback is, that if one frame needs to be redrawn, all 100 frames are deleted. Reviewed By: sergey Differential Revision: https://developer.blender.org/D5524
2020-03-18Cleanup: Prepare for sorted headers on windowsRay Molenkamp
To prepare for D6811 small changes were needed. we can no longer undefine near/far since the windows headers use those extensively. some of the imbuf files need to include the windows headers explicitly to make sure it builds.
2020-03-18Cleanup: 64 bit file IO on windows.Ray Molenkamp
Unlike Linux where fseek/tell will be either 32 or 64 bit depending on the target platform, it will always be 32 bit on windows. We had some macro magic in BLI_winstuff.h that substituted them for 64 bit versions, but that is upsetting the system headers if they get included after BLI_winstuff.h which is problematic for D6811. This diff adds proper functions in blenlib and updates all calls that were using the BLI_winstuff.h header to gain 64 bit file IO. note: Anything that was using the 32 bit versions (ie not including BLI_winstuff.h) will still be using the 32 bit versions, which is perhaps a good code quality Friday project. Differential Revision: https://developer.blender.org/D7160 Reviewers: brecht dfelinto
2020-03-18Cleanup: Fix build warnings on windows.Ray Molenkamp
Two headers define the _USE_MATH_DEFINES symbol now, if both are included warnings are generated. Added some guards, all good again.
2020-03-18Cleanup: Resolve HKEY conflictRay Molenkamp
Both the MS headers and blender headers define the HKEY which gives all kind of inclusion order issues. This diff renames all *KEY constants to EVT_*KEY to resolve this conflict. Reviewed By: brecht , dfelinto Differential Revision: http://developer.blender.org/D7164
2020-03-18Cleanup: spellingCampbell Barton
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-15Cleanup: use 'r_' prefix for return argsCampbell Barton
2020-03-14Cleanup: spellingCampbell Barton
2020-03-11Workbench Simplification RefactorClément Foucault
This patch is (almost) a complete rewrite of workbench engine. The features remain unchanged but the code quality is greatly improved. Hair shading is brighter but also more correct. This also introduce the concept of `DRWShaderLibrary` to make a simple include system inside the GLSL files. Differential Revision: https://developer.blender.org/D7060
2020-03-09GPencil: Refactor of Draw Engine, Vertex Paint and all internal functionsAntonio Vazquez
This commit is a full refactor of the grease pencil modules including Draw Engine, Modifiers, VFX, depsgraph update, improvements in operators and conversion of Sculpt and Weight paint tools to real brushes. Also, a huge code cleanup has been done at all levels. Thanks to @fclem for his work and yo @pepeland and @mendio for the testing and help in the development. Differential Revision: https://developer.blender.org/D6293
2020-03-09Cleanup: Replace ABS/SQUARE/CUBE with function callsSergey Sharybin
While it might be handy to have type-less functionality which is similar to how C++ math is implemented it can not be easily achieved with just preprocessor in a way which does not have side-effects on wrong usage. There macros where often used on a non-trivial expression, and there was at least one usage where it was causing an actual side effect/bug on Windows (see change around square_f(sh[index++]) in studiolight.c). For such cases it is handy to have a function which is guaranteed to have zero side-effects. The motivation behind actually removing the macros is that there is already a way to do similar calculation. Also, not having such macros is a way to guarantee that its usage is not changed in a way which have side-effects and that it's not used as an inspiration for cases where it should not be used. Differential Revision: https://developer.blender.org/D7051
2020-03-06Cleanup: Fix forward declaration of headersDalai Felinto
2020-03-06Fix build error on windowsGermano Cavalcante
``` Error C4013 '_VA_ELEM1' undefined; assuming extern returning int ```
2020-03-06Fix integer overflow in BLI_mempool_as_arrayN()Sergey Sharybin
`(size_t)(int * int)` will actually cast overflown integer to size_t, which isn't what was intended here. Correct thing would be to cast in the following manner `(size_t)int * int`. In this particular case can as well use function which is designed to allocate an array of memory without overflow.
2020-03-06Cleanup: use ELEM macro for path slash checksCampbell Barton
2020-03-06Cleanup: avoid use of BLI_cleanup_dirCampbell Barton
Some cases don't need to add the trailing slash. Use BLI_cleanup_path in this case.
2020-03-06Cleanup: remove BLI_cleanup_fileCampbell Barton
In practice, references to files rarely have trailing slashes (by accident). Remove this function in favor of BLI_cleanup_path.
2020-03-06Cleanup: spellingCampbell Barton
2020-03-06Cleanup: spellingCampbell Barton
2020-03-05Cleanup: formatting, strip trailing spaceCampbell Barton
2020-03-04Cleanup: remove unused BLI_strncat_utf8Campbell Barton
Behaves differently to strncat, BLI_strncpy_utf8_rlen can be used for a similar purpose.
2020-03-04BLI_string_utils: add BLI_string_join_array_by_sep_charCampbell Barton
Utility to join strings into a fixed size buffer.
2020-03-04BLI_math: inline clamp functionsCampbell Barton
These are used in some per-pixel operations such as image sampling and color conversion, where replacing existing macro use could add overhead.
2020-03-04BLI_math: add clamp_v# and clamp_v#_v#v# utility functionsTiago Chaves
2020-03-03Fix delaunay triangulation, bad indices for output faces.Howard Trickey
If there were merged vertices, sometimes the output faces had wrong vertex indices. Added a test for this, and fixed.
2020-03-03Cleanup: formatting, spellingCampbell Barton
2020-03-02Cleanup: make remaining blenlib headers work in C++Jacques Lucke
Differential Revision: https://developer.blender.org/D6988 Reviewers: brecht
2020-03-02Fix T65568: sewing and self collision issueIsh Bosamiya
As explained in T65568 by @LucaRood, the self collision system should exclude triangles that are connected by sewing springs. Differential Revision: https://developer.blender.org/D6911
2020-03-01Fix problem with Delaunay triangulalation re output mapping.Howard Trickey
The array giving original vertex indices should not contain entries for newly created vertices. Added a test to check this.
2020-02-29Made BLI_delaunay_2d_cdt_calc better at tiny feature elimination.Howard Trickey
The 'random' unit tests and some examples from the new boolean code triggered asserts and crashes. This fixes those. There is a new flag in the input that optionally disables a pass over input to snap segment edges to other segments.
2020-02-28BLI: fix utf8 character counting when there is an incomplete utf8 charJacques Lucke
D6923 by Kim Geonwoo
2020-02-28Fix BLI_str_rstrip skipping the first characterCampbell Barton
2020-02-26Build: add compatibility between precompiled libraries and new glibcBrecht Van Lommel
On Linux, precompiled libraries may be made with a glibc version that is incompatible with the system libraries that Blender is built on. To solve this we add a few -ffast-math symbols that can be missing. Differential Revision: https://developer.blender.org/D6930
2020-02-26BLI_fileops: add utility to read text with newlines set to nilCampbell Barton
2020-02-26Cleanup: spellingCampbell Barton
2020-02-24Fix unused variable warning on LinuxJulian Eisel
2020-02-21UI: Windows File Attributes and Hidden ItemsHarley Acheson
File Browser using Windows file attributes for decorating and hiding items. Differential Revision: https://developer.blender.org/D6816 Reviewed by Campbell Barton
2020-02-20BLI_math: add 2x2 matrix utilitiesTiago Chaves
2020-02-20Cleanup: rename mul_m2v2 to mul_m2_v2Campbell Barton
Matches mul_m3_v3
2020-02-20Cleanup: remove use of 'register'Campbell Barton
This isn't needed with modern compilers.
2020-02-20Cleanup: unused enumsCampbell Barton
2020-02-19BLI_math: unify zero area checks for barycentric weight calculationCampbell Barton
This applies the change from T73348 fix to related functions. Instead of checking against an epsilon to avoid divide by zero, perform the division and check the result is finite. This is needed since small faces can have an area under 'FLT_EPSILON', and dividing by values close to zero can result in 'inf'.
2020-02-18Fix making paths relative on windowsCampbell Barton
Comparing the drive letter was case sensitive, causing 'BLI_path_rel' to fail in common cases (manually entering a lower case drive letter for example). Surprisingly this issue dates back to 2005 and wasn't reported.