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-06-26Fix T78295: reload scripts disables Cycles render passes in the compositorBrecht Van Lommel
Don't auto update render passes in nodes when unregistering render passes or quitting Blender, this should only happen on explicit user action to change the engine or passes.
2020-06-10Fix T77356: Texture Preview not taking alpha into accountPhilipp Oeser
Since rB329b4c3363e4 a texture preview is not rendered through the preview.blend and a renderengine anymore [unlike materials etc.] Alpha wasnt handled in that commit, take that into account now. sidenote: not sure if we should be looking into drawing alpha with a checkerboard in the background for texture previews (see texture previews elsewhere)? sidenote 2: might also be good to document where the "calculate" and "invert" alpha options are still used? [looks a bit inconsistent: compositor uses it, Image Editor as well as Render Engines dont?] Maniphest Tasks: T77356 Differential Revision: https://developer.blender.org/D7929
2020-05-28Cleanup: remove unused struct members from RenderStatsCampbell Barton
2020-05-20Cleanup: make guarded memory allocation always thread safeBrecht Van Lommel
Previously this would be enabled when threads were used, but threads are now basically always in use so there is no point. Further, this is only needed for guarded allocation with --debug-memory which is not performance critical.
2020-05-20Cleanup: remove legacy mmap memory allocation for 32 bitBrecht Van Lommel
This helped to go beyond the 4GB limit, but is no longer relevant for 64 bit.
2020-05-18Merge branch 'blender-v2.83-release'Campbell Barton
2020-05-18Fix error mixing incompatible enums when generating the proxy nameCampbell Barton
2020-05-10Merge branch 'blender-v2.83-release'Richard Antalik
2020-05-10Fix T71300: Crash on rendering scene recursively from sequencerRichard Antalik
Adding recursive scenes has been disabled, but old files still can be opened. Add check if scene will render itself. Opening such file will produce warning on open and error on running render. Reviewed By: campbellbarton Differential Revision: https://developer.blender.org/D7562
2020-04-30Task: Use TBB as Task SchedulerBrecht Van Lommel
This patch enables TBB as the default task scheduler. TBB stands for Threading Building Blocks and is developed by Intel. The library contains several threading patters. This patch maps blenders BLI_task_* function to their counterpart. After this patch we can add more patterns. A promising one is TBB:graph that can be used for depsgraph, draw manager and compositor. Performance changes depends on the actual hardware. It was tested on different hardwares from laptops to workstations and we didn't detected any downgrade of the performance. * Linux Xeon E5-2699 v4 got FPS boost from 12 to 17 using Spring's 04_010_A.anim.blend. * AMD Ryzen Threadripper 2990WX 32-Core Animation playback goes from 9.5-10.5 FPS to 13.0-14.0 FPS on Agent 327 , 10_03_B.anim.blend. Reviewed By: brecht, sergey Differential Revision: https://developer.blender.org/D7475
2020-04-21CleanUp: Renamed `BLI_task_pool_userdata` to `BLI_task_pool_user_data`Jeroen Bakker
In preparation for {D7475}
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-04-09TaskScheduler: Minor Preparations for TBBBrecht Van Lommel
Tasks: move priority from task to task pool {rBf7c18df4f599fe39ffc914e645e504fcdbee8636} Tasks: split task.c into task_pool.cc and task_iterator.c {rB4ada1d267749931ca934a74b14a82479bcaa92e0} Differential Revision: https://developer.blender.org/D7385
2020-04-03Code Quality: Replace for loops with LISTBASE_FOREACHDalai Felinto
Note this only changes cases where the variable was declared inside the for loop. To handle it outside as well is a different challenge. Differential Revision: https://developer.blender.org/D7320
2020-04-03Cleanup: Animation, move AnimData API to `anim_data.c`/`BKE_anim_data.h`Sybren A. Stüvel
The `BKE_animsys.h` and `anim_sys.c` files already had a an "AnimData API" section. The code in that section has now been split off, and placed into `BKE_anim_data.h` and `anim_data.c`. All files that used to include `BKE_animsys.h` have been adjusted to only include the animation headers they need (sometimes none). No functional changes.
2020-04-03Cleanup: Rename bScreen variables from sc/scr to screenJulian Eisel
Part of T74432. Mostly a careful batch rename but had to do few smaller fixes. Also ran clang-format on affected files.
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-04-03Cleanup: use abbreviated names for unsigned types in editorsCampbell Barton
2020-03-26Add option to Copy the active view layer, and add an empty view layerChris Clyne
Modify the view layer add operator (and underlying `BKE_view_layer_add`) to allow for copying the current view layer, as well as adding a new one but with all LayerCollections disabled by default (this is important for heavy scenes where currently adding view layers can take a long time due to enabling every collection by default). Reviewed By: mont29 Differential Revision: https://developer.blender.org/D6862
2020-03-19Cleanup: `make format` after SortedIncludes changeDalai Felinto
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-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-11EEVEE: Replace octahedron reflection probe by cubemap arrayClément Foucault
We implement cubemap array support for EEVEE's lightcache reflection probes. This removes stretched texels and bottom hemisphere seams artifacts caused by the octahedral projection previously used. This introduce versioning code for the lightcache which will discard any lightcache version that is not compatible. Differential Revision: https://developer.blender.org/D7066
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: Rename ARegion variables from ar to regionJulian Eisel
The old convention was easy to confuse with ScrArea. Part of https://developer.blender.org/T74432. This is mostly a batch rename with some manual fixing. Only single word variable names are changed, no prefixed/suffixed names. Brecht van Lommel and Campbell Barton both gave me a green light for this convention change. Also ran clan clang format on affected files.
2020-03-06Cleanup: move camera, lights, world to IDTypeInfoBrecht Van Lommel
2020-03-06CodeCleanup: Added enums to opengl render functionsJeroen Bakker
Motivation the functions get 3 different kind of flag parameters (ImBuf, DrawType, OffscreenRendering) the naming of the flags were not clear, leading to mistakes and unnecessary time spend debugging.
2020-03-06Cleanup: rename 'verify' to 'ensure' for BKE_image_viewer functionsCampbell Barton
2020-03-05Cleanup: material API namingCampbell Barton
- Use 'BKE_object_material_*', 'BKE_id_material_*' prefix for functions that operate on Object and ID types. - Use '_len' suffix for length (matching BLI naming). - Use '_p' suffix for functions that return a pointer to values where the value would typically be returned. Functions renamed: - BKE_object_material_resize was BKE_material_resize_object - BKE_object_material_remap was BKE_material_remap_object - BKE_object_material_remap_calc was BKE_material_remap_object_calc - BKE_object_material_array_p was BKE_object_material_array - BKE_object_material_len_p was BKE_object_material_num - BKE_id_material_array_p was BKE_id_material_array - BKE_id_material_len_p was BKE_id_material_num - BKE_id_material_resize was BKE_material_resize_id - BKE_id_material_append was BKE_material_append_id - BKE_id_material_pop was BKE_material_pop_id - BKE_id_material_clear was BKE_material_clear_id
2020-02-28Preview Render: Disable Unneeded Render PassesJeroen Bakker
2020-02-20Fix T73871: improve assignement of material to selection in multi objectPhilipp Oeser
editmode This was already supported in "Select" & "Deselect" but not in "Assign". So similar to rB6b39dc7672eb, we now check if the material corresponding to the currently selected material slot is found in other objects materials and assign this (instead of always assigning their 'own' actcol). Maniphest Tasks: T73871 Differential Revision: https://developer.blender.org/D6869
2020-02-17Fix T73906: Crash calling render from PythonCampbell Barton
2020-02-15Cleanup: remove unused RenderData.displaymodeCampbell Barton
2020-02-13Refactor libquery ID looper callback to take a single parameter.Bastien Montagne
Using a struct here allows to change given parameters to the callbacks without having to edit all callbacks functions, which is always noisy and time consuming.
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-07Cleanup: `make format`Dalai Felinto
Dear developers remember to set your coding environment to use clang-format.
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-30Cleanup: ED_editors_flush_* functionsCampbell Barton
- Remove the only_render arg from ED_editors_flush_edits was only used in one place, the '_ex' version can be used instead. - Split out the single object version of this function as currently flushing is being done in-line, often only accounting for edit-mode, ignoring sculpt mode for e.g.
2020-01-14Fix T72861: Viewport Render Keyframes ignores Grease Pencil and Shape KeysSybren A. Stüvel
The Viewport Render Keyframes operator didn't include keyframes from grease pencil animation or from mesh shape key animation (see T72861). To find all related datablocks that could be considered as part of the selected object, `BKE_library_foreach_ID_link(..., IDWALK_RECURSE)` is used. To prevent relations like constraint targets from being visited, the recursion is stopped when it finds a different object. Reviewed By: mont29 Differential Revision: https://developer.blender.org/D6558
2019-12-20Cleanup: spellingCampbell Barton
2019-12-20Cleanup: use BLI_bitmap typeCampbell Barton
2019-12-19Animation: Added option to playblast only keyframes of selected objectsSybren A. Stüvel
This feature makes it possible to do a viewport render (a.k.a. playblast) by only rendering those frames on which the selected objects have a keyframe. The frames to render are stored in a `BLI_bitmap`, which has a bit for each frame set to 0 (skip) or 1 (render). An alternative approach would be to construct a set of all keyframes to render, but that would make both constructing the list and looking up frames in the list more complex. The only thing this feature does is skip OpenGL rendering of a frame. As a result, 'skipped' frames are still included in the output, but just use the render result of the last-rendered frame. This is exactly what's described in T72229. Differential Revision: https://developer.blender.org/D6443 Reviewed By: zeddb Design task: T72229
2019-12-18Animation: Clarified tooltip for Viewport Render AnimationSybren A. Stüvel
The tooltip was static, so it was the same for viewport-rendering the current frame and for the entire animation. It is now different for those two. The structure of `screen_opengl_render_description()` is such that it allows for adding a new description for a soon-to-come feature (T72229).
2019-12-12Add support for tiled images and the UDIM naming schemeLukas Stockner
This patch contains the work that I did during my week at the Code Quest - adding support for tiled images to Blender. With this patch, images now contain a list of tiles. By default, this just contains one tile, but if the source type is set to Tiled, the user can add additional tiles. When acquiring an ImBuf, the tile to be loaded is specified in the ImageUser. Therefore, code that is not yet aware of tiles will just access the default tile as usual. The filenames of the additional tiles are derived from the original filename according to the UDIM naming scheme - the filename contains an index that is calculated as (1001 + 10*<y coordinate of the tile> + <x coordinate of the tile>), where the x coordinate never goes above 9. Internally, the various tiles are stored in a cache just like sequences. When acquired for the first time, the code will try to load the corresponding file from disk. Alternatively, a new operator can be used to initialize the tile similar to the New Image operator. The following features are supported so far: - Automatic detection and loading of all tiles when opening the first tile (1001) - Saving all tiles - Adding and removing tiles - Filling tiles with generated images - Drawing all tiles in the Image Editor - Viewing a tiled grid even if no image is selected - Rendering tiled images in Eevee - Rendering tiled images in Cycles (in SVM mode) - Automatically skipping loading of unused tiles in Cycles - 2D texture painting (also across tiles) - 3D texture painting (also across tiles, only limitation: individual faces can not cross tile borders) - Assigning custom labels to individual tiles (drawn in the Image Editor instead of the ID) - Different resolutions between tiles There still are some missing features that will be added later (see T72390): - Workbench engine support - Packing/Unpacking support - Baking support - Cycles OSL support - many other Blender features that rely on images Thanks to Brecht for the review and to all who tested the intermediate versions! Differential Revision: https://developer.blender.org/D3509
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-06Draw: Removal of MultiSample BuffersJeroen Bakker
Multisample buffers were used for smooth line drawing. As we now have an algorithm that doesn't need the multisample buffers we can remove them. The user preference for viewport multi_sampling is replaced by single toggle overlay `use_overlay_smooth_wire`. By default this setting is enabled as the new drawing is really quick (<1ms) and uses zero hacks. Reviewed By: fclem Differential Revision: https://developer.blender.org/D6367
2019-12-04Fix T72156: Render Viewport Animation Meta DataJeroen Bakker
When using Render Viewport Animation the meta data was only stamped when a float buffer was used. In recent changes it was possible to use a char buffer for the result. This commit will also support stamping of metadata using a char buffer.
2019-11-27Cleanup: Remove BIF_gl.hJeroen Bakker
BIF_gl.h included hacks like redefining glew functions and a constant. The named constant `GLA_PIXEL_OFS` has been moved to `GPU_viewport.h` Reviewed By: brecht Differential Revision: https://developer.blender.org/D5860
2019-11-27Curve: CurveMapping Extend OptionJeroen Bakker
Extend options are currently stored per curve. This was not clearly communicated to the user and they expected this to be a setting per CurveMapping. This change will move the option from `Curve` to `CurveMapping`. In order to support this the API had to be changed. BPY: CurveMap.evaluate is also moved to CurveMapping.evaluate what breaks Python API. Cycles has been updated but other add-ons have not. After release of 2.81 we can merge this to master and adapt the add-ons. Reviewed By: campbellbarton Differential Revision: https://developer.blender.org/D6169
2019-11-27RenderViewport: Texture FormatJeroen Bakker
When doing viewport rendering the color management happens on the CPU. This has overhead in downloading a float texture from the gpu and performing color management on the CPU. Based on the scene fileformat bit depth the result will be rendered to a byte texture where the colormanagement happens on the GPU or a float texture where the colormanagement happens on the CPU. This is only done during `Viewport Render Animation` in other cases a float texture is being used. Baseline (HD render of wanderer.blend workbench engine no samples) 15.688038 s After changes: 9.412880s Reviewed By: fclem Differential Revision: https://developer.blender.org/D6195