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
2021-06-08PyAPI: use keyword only argumentsCampbell Barton
Use keyword only arguments for the following functions. - addon_utils.module_bl_info 2nd arg `info_basis`. - addon_utils.modules 1st `module_cache`, 2nd arg `refresh`. - addon_utils.modules_refresh 1st arg `module_cache`. - bl_app_template_utils.activate 1nd arg `template_id`. - bl_app_template_utils.import_from_id 2nd arg `ignore_not_found`. - bl_app_template_utils.import_from_path 2nd arg `ignore_not_found`. - bl_keymap_utils.keymap_from_toolbar.generate 2nd & 3rd args `use_fallback_keys` & `use_reset`. - bl_keymap_utils.platform_helpers.keyconfig_data_oskey_from_ctrl 2nd arg `filter_fn`. - bl_ui_utils.bug_report_url.url_prefill_from_blender 1st arg `addon_info`. - bmesh.types.BMFace.copy 1st & 2nd args `verts`, `edges`. - bmesh.types.BMesh.calc_volume 1st arg `signed`. - bmesh.types.BMesh.from_mesh 2nd..4th args `face_normals`, `use_shape_key`, `shape_key_index`. - bmesh.types.BMesh.from_object 3rd & 4th args `cage`, `face_normals`. - bmesh.types.BMesh.transform 2nd arg `filter`. - bmesh.types.BMesh.update_edit_mesh 2nd & 3rd args `loop_triangles`, `destructive`. - bmesh.types.{BMVertSeq,BMEdgeSeq,BMFaceSeq}.sort 1st & 2nd arg `key`, `reverse`. - bmesh.utils.face_split 4th..6th args `coords`, `use_exist`, `example`. - bpy.data.libraries.load 2nd..4th args `link`, `relative`, `assets_only`. - bpy.data.user_map 1st..3rd args `subset`, `key_types, `value_types`. - bpy.msgbus.subscribe_rna 5th arg `options`. - bpy.path.abspath 2nd & 3rd args `start` & `library`. - bpy.path.clean_name 2nd arg `replace`. - bpy.path.ensure_ext 3rd arg `case_sensitive`. - bpy.path.module_names 2nd arg `recursive`. - bpy.path.relpath 2nd arg `start`. - bpy.types.EditBone.transform 2nd & 3rd arg `scale`, `roll`. - bpy.types.Operator.as_keywords 1st arg `ignore`. - bpy.types.Struct.{keyframe_insert,keyframe_delete} 2nd..5th args `index`, `frame`, `group`, `options`. - bpy.types.WindowManager.popup_menu 2nd & 3rd arg `title`, `icon`. - bpy.types.WindowManager.popup_menu_pie 3rd & 4th arg `title`, `icon`. - bpy.utils.app_template_paths 1st arg `subdir`. - bpy.utils.app_template_paths 1st arg `subdir`. - bpy.utils.blend_paths 1st..3rd args `absolute`, `packed`, `local`. - bpy.utils.execfile 2nd arg `mod`. - bpy.utils.keyconfig_set 2nd arg `report`. - bpy.utils.load_scripts 1st & 2nd `reload_scripts` & `refresh_scripts`. - bpy.utils.preset_find 3rd & 4th args `display_name`, `ext`. - bpy.utils.resource_path 2nd & 3rd arg `major`, `minor`. - bpy.utils.script_paths 1st..4th args `subdir`, `user_pref`, `check_all`, `use_user`. - bpy.utils.smpte_from_frame 2nd & 3rd args `fps`, `fps_base`. - bpy.utils.smpte_from_seconds 2nd & 3rd args `fps`, `fps_base`. - bpy.utils.system_resource 2nd arg `subdir`. - bpy.utils.time_from_frame 2nd & 3rd args `fps`, `fps_base`. - bpy.utils.time_to_frame 2nd & 3rd args `fps`, `fps_base`. - bpy.utils.units.to_string 4th..6th `precision`, `split_unit`, `compatible_unit`. - bpy.utils.units.to_value 4th arg `str_ref_unit`. - bpy.utils.user_resource 2nd & 3rd args `subdir`, `create` - bpy_extras.view3d_utils.location_3d_to_region_2d 4th arg `default`. - bpy_extras.view3d_utils.region_2d_to_origin_3d 4th arg `clamp`. - gpu.offscreen.unbind 1st arg `restore`. - gpu_extras.batch.batch_for_shader 4th arg `indices`. - gpu_extras.batch.presets.draw_circle_2d 4th arg `segments`. - gpu_extras.presets.draw_circle_2d 4th arg `segments`. - imbuf.types.ImBuf.resize 2nd arg `resize`. - imbuf.write 2nd arg `filepath`. - mathutils.kdtree.KDTree.find 2nd arg `filter`. - nodeitems_utils.NodeCategory 3rd & 4th arg `descriptions`, `items`. - nodeitems_utils.NodeItem 2nd..4th args `label`, `settings`, `poll`. - nodeitems_utils.NodeItemCustom 1st & 2nd arg `poll`, `draw`. - rna_prop_ui.draw 5th arg `use_edit`. - rna_prop_ui.rna_idprop_ui_get 2nd arg `create`. - rna_prop_ui.rna_idprop_ui_prop_clear 3rd arg `remove`. - rna_prop_ui.rna_idprop_ui_prop_get 3rd arg `create`. - rna_xml.xml2rna 2nd arg `root_rna`. - rna_xml.xml_file_write 4th arg `skip_typemap`.
2021-06-04Nodes: Add Multiply Add to Vector Math nodesCharlie Jolly
Cycles, Eevee, OSL, Geo, Attribute This operator provides consistency with the standard math node. Allows users to use a single node instead of two nodes for this common operation. Reviewed By: HooglyBoogly, brecht Differential Revision: https://developer.blender.org/D10808
2021-06-02Add workaround for gcc 11 compiler bugJacques Lucke
Differential Revision: https://developer.blender.org/D11462
2021-06-01Cleanup: spelling in commentsKévin Dietrich
2021-05-31Cycles: optimize 3D viewport rendering with camera passepartoutBrecht Van Lommel
If the area outside the camera is fully opaque, don't render it. Contributed by Kdaf. Differential Revision: https://developer.blender.org/D11182
2021-05-27Merge branch 'blender-v2.93-release'Clément Foucault
2021-05-27Cleanup: Unused include in CyclesSergey Sharybin
2021-05-27Refactor: Move display pass to Cycles viewport parametersSergey Sharybin
Allows to centralize storage and modification checks in a single place, avoiding duplication in the synchronization code. Ideally we would somehow be able to more granularly modify Cycles side objects. Leaving this for a future decision, because it might be better to implement it as a graph on the sync side.
2021-05-27Cleanup: Redundnat member init in Cycles viewport parametersSergey Sharybin
2021-05-27Refactor: Naming in Cycles viewport methodsSergey Sharybin
Makes it more explicit they operate on shading/light. Gives room to move more viewport related settings into this class and cover with specific or generic modification checks.
2021-05-27Cleanup: Use logical OR in Cycles background shaderSergey Sharybin
2021-05-27Cleanup: const qualifier of return typeSergey Sharybin
2021-05-27Refactor: Remove friend class from Cycles viewport parametersSergey Sharybin
Such pattern should only be used when it is really needed. Otherwise just stick to a more regular design, without worrying who is the user of the class. Otherwise it will be annoying to subclass or unit test.
2021-05-27Refactor: Rename pass accessor in viewport parametersSergey Sharybin
No need to state that it is a viewport display pass, since the method is within viewport parameters it is implied that parameters do belong to the viewport. Brings this code closer to the Cycles-X branch.
2021-05-26Revert "Cycles: optimize ensure_valid_reflection(), reduces render time by ↵Brecht Van Lommel
about 1%" Both before and after can have artifacts with some normal maps, but this seems to give worse artifacts on average which are not worth the minor performance increase. This reverts commit 21bc1a99baa765d81c3203fd2e451681b8a7fd55. Ref T88368, D10084
2021-05-26Cycles: optimize attributes device updatesKévin Dietrich
When an `AttributeSet` is tagged as modified, which happens after the addition or removal of an `Attribute` from the set, during the following GeometryManager device update, we update and repack the kernel data for all attribute types. However, if we only add or remove a `float` attribute, `float2` or `float3` attributes should not be repacked for efficiency. This patch adds some mechanisms to detect which attribute types are modified from the AttributeSet. Firstly, this adds an `AttrKernelDataType` to map the data type of the Attribute to the one used in the kernel as there is no one to one match between the two since e.g. `Transform` or `float4` data are stored as `float3s` in the kernel. Then, this replaces the `AttributeSet.modified` boolean with a set of flags to detect which types have been modified. There is no specific flag type (e.g. `enum ModifiedType`), rather the flags used derive simply from the `AttrKernelDataType` enumeration, to keep things synchronized. The logic to remove an `Attribute` from the `AttributeSet` and tag the latter as modified is centralized in a new `AttributeSet.remove` method taking an iterator as input. Lastly, as some attributes like standard normals are not stored in the various kernel attribute arrays (`DeviceScene::attribute_*`), the modified flags are only set if the associated standard corresponds to an attribute which will be stored in the kernel's attribute arrays. This makes it so adding or removing such attributes does not trigger an unnecessary update of other type-related attributes. Reviewed By: brecht Differential Revision: https://developer.blender.org/D11373
2021-05-26Fix T88552: Cycles changing Render Passes in viewport does not workSergey Sharybin
2021-05-26Cleanup: Simplify Cycles viewport parametersSergey Sharybin
Use early output and access shading RNA object only once.
2021-05-26Cleanup: Remove unused argument in Cycles syncSergey Sharybin
Makes it easier to see where exactly the viewport is used.
2021-05-25Fix T88096: Baking with OptiX and displacement failsPatrick Mours
Using displacement runs the shader eval kernel, but since OptiX modules are not loaded when baking is active, those were not available and therefore failed to launch. This fixes that by falling back to the CUDA kernels.
2021-05-21Cleanup: spellingLeon Zandman
Includes fixes to misspelled function names. Ref D11280
2021-05-21Cleanup: Use named unused arguments in Cycles DeviceSergey Sharybin
2021-05-20Merge remote-tracking branch 'origin/blender-v2.93-release'Sybren A. Stüvel
2021-05-19Fix T87793: Cycles OptiX crash hiding objects in viewport renderBrecht Van Lommel
2021-05-19Cycles OpenCL: disable AO preview kernelsBrecht Van Lommel
These seem to be causing some stability issues, and really are just not that useful in practice. Compiling them is slow already, so it does not improve the user experience much to show an AO preview if it's not nearly instant.
2021-05-18Cycles: Avoid unnecessary data updates in viewportSergey Sharybin
The BlenderSync will do quite a bit of work on every sync_data() call even if there is nothing changed in the scene. There will be early outputs done deeper in the call graph, but this is not really enough to ensure best performance during viewport navigation. This change makes it so sync_data() is only used when dependency graph has any update tags: if something changed in the scene the dependency graph will know it. If nothing changed there will be no IDs tagged for an update in the dependency graph. There are two weak parts in the current change: - With the persistent data there is a special call to ignore the check of the dependency graph tags. This is more of a safety, because it is not immediately clear what the correct state of recalc flags is. - Deletion of objects is detected indirectly, via tags of scene and collections. It might not be bad for the first version of the change. The test file used: {F10117322} Simply open the file, start viewport render, and navigate the viewport. On my computer this avoids 0.2sec spend on data_sync() on every up[date of viewport navigation. We can do way more granular updates in the future: for example, avoid heavy objects sync when it is only camera object which changed. This will need an extended support from the dependency graph API. Doing nothing if nothing is changed is something we would want to do anyway. Differential Revision: https://developer.blender.org/D11279
2021-05-18Cleanup: formatKévin Dietrich
2021-05-18Cleanup: clang-formatCampbell Barton
2021-05-18Alembic procedural: fix wrong property used as base for attributeKévin Dietrich
lookups We use the schema so that we can access top level attributes as well. This is already done for polygon meshes and curves, so this only modifies the behavior for subdivision objects.
2021-05-18Alembic procedural: fix crash accessing invalid ICompoundPropertiesKévin Dietrich
Although it is not a pointer, accessing an ICompoundProperty dereferences a pointer under the hood, so check for validity.
2021-05-17Merge branch 'blender-v2.93-release'Brecht Van Lommel
2021-05-17Fix T85892: disable progressive refine when using adaptive samplingBrecht Van Lommel
This is giving too bright pixel values, as the sample scaling and random number sample are wrong. The proper fix for this is complicated. It will be solved in Cycles X, for now we disable this combination.
2021-05-17Fix T88216: Cycles persistent data fails with animated object transform in ↵Brecht Van Lommel
instance
2021-05-17Fix T88210: Cycles persistent data failing with image sequencesBrecht Van Lommel
2021-05-17Fix OpenCL group size performance issue on Intel GPUsBrecht Van Lommel
Contributed by Intel. On some scenes like classroom with particular integrated GPUs this speeds up rendering 1.97x. With other benchmarks and GPUs it's between 0.99-1.14x.
2021-05-14Python GPU: Replace part of the code that uses 'bgl' with 'gpu'Germano Cavalcante
This is part of the process described in T80730. The aim is to deprecate the bgl module. Reviewed By: fclem, brecht, campbellbarton Revision: D11147
2021-05-14Cleanup: spelling, rename metas to meta-strips / meta-ballsCampbell Barton
2021-05-14Cleanup: clang-formatCampbell Barton
2021-05-14Merge branch 'blender-v2.93-release'Kévin Dietrich
2021-05-14Fix T87929: Cycles, missing update when visibility is modifiedKévin Dietrich
This issue originates from a missing BVH packing for visibility data when it is modified. To fix this, this adds update flags to the managers to carry the modified visibility information from the Objects' modified flag to the GeometryManager. Another set of flags is added to determine which data need to be packed: geometry, vertices, or visibility. Those flags are then used when packing the primivites. Reviewed By: brecht Maniphest Tasks: T87929 Differential Revision: https://developer.blender.org/D11219
2021-05-12Merge branch 'blender-v2.93-release'Sergey Sharybin
2021-05-12Fix non-finite tangent in Cycles with missing UV mapSergey Sharybin
Was causing calculation issues later on in the kernel. This change catches the most obvious case: missing attribute. The old code was trying to set tangent to 0, but because it was transformed as a normal it got converted to non-finite value. This change makes it so that no transform is involved and 0 is written directly to the SVM stack. To cover all cases it will require using safe_normalize() in this node and in the normal transform function. This is more involved change from performance point of view, would be nice to verify whether we really want to go this route. I've left asserts in the BSDF allocation functions. Don't have strong connection to them, but think they are handy and are not different from having an assert in the path radiance checks. Differential Revision: https://developer.blender.org/D11235
2021-05-12Merge branch 'blender-v2.93-release'Sergey Sharybin
2021-05-12Cycles X: Fix possible use of uninitialized ShaderClosureSergey Sharybin
It is possible that BSDF allocation will advance pointer in the allocation "pool" but will return null pointer if the weight is too small. One artist-measurable issue this change fixes is random issues with denoising: normal pass for denoising could have accessed non-initialized normal of a closure. Differential Revision: https://developer.blender.org/D11230
2021-05-12Cycles: fix inconsistent-missing-override warningsAnkit Meel
LLVM Clang 13, macOS. Reviewed By: brecht Differential Revision: https://developer.blender.org/D11207
2021-05-12Merge branch 'blender-v2.93-release'Brecht Van Lommel
2021-05-11Fix T72791: Cycles wrong results when mixing multiple random walk BSSRDFsChris Eveleigh
Take into account the closure sample weight for the throughput. Differential Revision: https://developer.blender.org/D10936
2021-05-11Fix T88093: persistent data and particle object instancing not workingBrecht Van Lommel
2021-05-11Fix T88099: error with persistent data and motion blurBrecht Van Lommel
2021-05-06Cleanup: spellingCampbell Barton