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-05-27Cleanup: rename blender-launcher source file.Ray Molenkamp
blender-laucher.c was not an ideal name for this file since it's not directly clear it is windows only. This change renames it to blender_launcher_win32.c to be more in line with other win32 specific files we have.
2021-05-27Geometry Nodes: Draw curve data in the viewportHans Goudey
This patch adds relatively small changes to the curve draw cache implementation in order to draw the curve data in the viewport. The dependency graph iterator is also modified so that it iterates over the curve geometry component, which is presented to users as `Curve` data with a pointer to the `CurveEval` The idea with the spline data type in geometry nodes is that curve data itself is only the control points, and any evaluated data with faces is a mesh. That is mostly expected elsewhere in Blender anyway. This means it's only necessary to implement wire edge drawing of `CurveEval` data. Adding a `CurveEval` pointer to `Curve` is in line with changes I'd like to make in the future like using `CurveEval` in more places such as edit mode. An alternate solution involves converting the curve wire data to a mesh, however, that requires copying all of the data, and since avoiding it is rather simple and is in-line with future plans anyway, I think doing it this way is better. Differential Revision: https://developer.blender.org/D11351
2021-05-27Fix T88452: Point Separate crash on curve componentHans Goudey
The point separate node should create a point cloud from control points in this case, but for now disable the node on curves to avoid the crash.
2021-05-27Cleanup: Use consistent variable namesHans Goudey
2021-05-27Cleanup: rename BKE_main_id_{clear_newpoins => newptr_and_tag_clear}Campbell Barton
It wasn't obvious this function cleared the tag as well.
2021-05-27Cleanup: remove duplicate LIB_TAG_NEW untag codeErik Abrahamsson
This patch removes unnecessary calls to `BKE_main_id_tag_all` where the same job is done by `BKE_main_id_clear_newpoins` on the following line. Reviewed By: campbellbarton, mont29 Ref D11379
2021-05-27LineArt: List Optimization for tile linked data.YimingWu
Use array instead of ListBase for line art bounding area linked triangles and edges. Reviewed By: Sebastian Parborg (zeddb) Differential Revision: https://developer.blender.org/D11302
2021-05-27Cleanup: Line art variable naming.YimingWu
Change `reln` to `eln`. Reviewed By: Sebastian Parborg (zeddb) Differential Revision: https://developer.blender.org/D11411
2021-05-27LibOverride: Add heuristic protection against infinite loop due to libraries ↵Bastien Montagne
inter-dependencies. This is not supposed to happen, but better be safe than sorry, and assume it is beyond unlikely that someone would use chains of over 10k linked libraries.
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-27Fix (studio-reported) infinite loop in resync code.Bastien Montagne
Very stupid mistake in libraries indirect-level building code, was not skipping 'loop-back' ID pointers. Note that we also need some level of checks for the case where there would be an actual dependency loop between libraries, this is not supposed to be possible, but better be safe than sorry. Will add in next commit.
2021-05-27Cleanup: inconsistent parameter nameJacques Lucke
2021-05-27Cleanup: inconsistent parameter nameJacques Lucke
2021-05-27Cleanup: simplify logic for copying vector button as textCampbell Barton
An arbitrary size offsets was used in float_array_to_string, simplify the loop, use exact size limits. Also rename variables so it's clear which array the length apply to.
2021-05-27Fix incorrect BLI_snprintf usageCampbell Barton
Event though in practice this wasn't causing problems as the fixed size buffers are generally large enough not to truncate text. Using the result from `snprint` or `BLI_snprintf` to step over a fixed size buffer allows for buffer overruns as the returned value is the size needed to copy the entire string, not the number of bytes copied. Building strings using this convention with multiple calls: ofs += BLI_snprintf(str + ofs, str_len_max - ofs); .. caused the size argument to become negative, wrapping it to a large value when cast to the unsigned argument.
2021-05-27Cleanup: specify array sizes, remove warnings in commentsCampbell Barton
2021-05-27Cleanup: spellingCampbell Barton
2021-05-27Nodes: fix material node copied over when socket is copiedJacques Lucke
This was missing from rB207472930834a2916cf18bbdff51bcd77c6dd0c0.
2021-05-27Geometry Nodes: disable multi-threading in evaluator for nowJacques Lucke
A deadlock could happen under certain circumstances when geometry nodes is used on multiple objects. Once T88598 is resolved, multi-threading can be enabled again. Differential Revision: https://developer.blender.org/D11405
2021-05-27Cleanup: use UndoMesh as links instead of allocating LinkDataCampbell Barton
While the advantage isn't large, it's simpler to skip the intermediate link. Also remove unused next and previous struct members from MeshUndoStep_Elem.
2021-05-27Undo: resolve inefficient edit-mesh memory use with multiple objectsCampbell Barton
When editing more than 1 object at a time, complete copies of each mesh were being stored. Now the most recent undo-data for each mesh is used (when available).
2021-05-27Cleanup: Remove completed "TODO" commentHans Goudey
Since rBb67fe05d4bea, the dependency graph supports relations on collection geometry, and the nodes modifier uses that.
2021-05-27Cleanup: Simplify spline point attribute materialize functionsHans Goudey
- Iterate over the mask directly instead of using an index. - Use Span slice and copy_from instead of a lower level function.
2021-05-27Geometry Nodes: Support interpolation between curve domainsHans Goudey
This commit adds interpolation from the point domain to the spline domain and the other way around. Before this, spline domain attributes were basically useless, but now they are quite helpful as a way to use a shared value in a contiguous group of points. I implementented a special virtual array for the spline to points conversion, so that conversion should be close to the ideal performance level, but there are a few ways we could optimize the point to spline conversion in the future: - Use a function virtual array to mix the point values for each spline on demand. - Implement a special case for when the input virtual array is one of the virtual arrays from the spline point attributes. In other words, decrease curve attribute access overhead. Differential Revision: https://developer.blender.org/D11376
2021-05-27Win: Add launcher to hide the console window flashRay Molenkamp
This patch fixes a long-standing complaint from users: the console window shortly flashing when they start blender. This is done by adding a new executable called blender-launcher.exe which starts blender.exe while hiding the console. Any command line parameters given to blender-launcher will be passed on to blender.exe so it'll be a drop in replacement. Starting blender.exe on its own will still function as a proper console app so no changes required here for users that use blender for batch processing. Notable changes: Registering blender (-R switch) will now register blender-launcher as the preferred executable. This patch updates the installer and updates the shortcuts to start blender-launcher.exe rather than blender.exe Differential Revision: https://developer.blender.org/D11094 Reviewed by: brecht, harley
2021-05-27Cleanup: Specify amount of buffers through preprocessor directivesGermano Cavalcante
2021-05-27Fix T88603: Crash with spline attributes after curve resampleHans Goudey
The output curve's spline attribute domain custom data needs to be reallocated with the correct length after adding the splines.
2021-05-26Revert "DrawManager: Use Compute Shader to Update Hair."Jeroen Bakker
This reverts commit 8f9599d17e80254928d2d72081a4c7e0dee64038. Mac seems to have an error with this change. ``` ERROR: /Users/blender/git/blender-vdev/blender.git/source/blender/draw/intern/draw_hair.c:115:44: error: use of undeclared identifier 'shader_src' ERROR: /Users/blender/git/blender-vdev/blender.git/source/blender/draw/intern/draw_hair.c:123:13: error: use of undeclared identifier 'shader_src' ERROR: make[2]: *** [source/blender/draw/CMakeFiles/bf_draw.dir/intern/draw_hair.c.o] Error 1 ERROR: make[1]: *** [source/blender/draw/CMakeFiles/bf_draw.dir/all] Error 2 ERROR: make: *** [all] Error 2 ```
2021-05-26Cleanup: array-parameter warning with GCC 11Campbell Barton
Pass the string size as this is less error prone in general.
2021-05-26GPencil: Cleanup - Conform with RNA naming schemeFalk David
The newly added `disable_masks_viewlayer` RNA property did not conform with the RNA naming scheme. This renames it to `use_viewlayer_masks`.
2021-05-26Fix T88111: Skin modifier assets within invalid face normalsCampbell Barton
The skin modifier was moving vertices without updating normals for the connected faces, this happened when smoothing and welding vertices. Reviewed By: mont29 Ref D11397
2021-05-26Cleanup: shadow warningCampbell Barton
Move reproject_type into an extern, to avoid declaring multiple times.
2021-05-26LibOverride: add recursive resync.Bastien Montagne
Recursive resync means also resyncing overrides that are linked from other library files into current working file. Note that this allows to get 'working' files even when their dependencies are out of sync. However, since linked data is never written/saved, this has to be re-done every time the working file is loaded, until said dependencies are updated properly. NOTE: This is still missing the 'report' side of things, which is part of a larger task to enhance reports regarding both linking, and liboverrides (see T88393). ---------- Technical notes: Implementing this proved to be slightly more challenging than expected, mainly because one of the key aspects of the feature was never done in Blender before: manipulating, re-creating linked data. This ended up moving the whole resync code to use temp IDs out of bmain, which is better in the long run anyway (and more aligned with what we generally want to do when manipulating temp ID data). It should also give a marginal improvement in performances for regular resync. This commit also had to carefully 'sort' libraries by level of indirect usage, as we want to resync first the libraries that are the least directly used, i.e. libraries that are most used by other libraries.
2021-05-26LibOverride: add helper to retrieve override data from an ID.Bastien Montagne
Embedded IDs do not own their own override data, but rather use the one from their owner.
2021-05-26IDManagement: Shapekey: add a `owner_get` callback.Bastien Montagne
Even though shepkeys are not strictly speaking an embedded data, they share quiet a few points with those, and from liboverride perspective they are embedded, so...
2021-05-26LibOverride: Do not try to generate override data of linked data.Bastien Montagne
This is obviously not saved, and should never be editable, so was only a waste of time.
2021-05-26ID management: remapping: add flag to enforce refcounting handling.Bastien Montagne
While indeally we should only skip refcounting when relevant tag is set, doing this in remapping code is too risky for now. Related to previous commit and T88555.
2021-05-26ID management: Do not assume that `NO_MAIN` means `NO_USER_REFCOUNT`Bastien Montagne
While this is still very fuzzy in current code, this old behavior makes it close to impossible to efficiently use out-of-main temp data, as it implies that we'd need to update refcounts everytime we add something back into BMain (an 'un-refcount' ID usages when removing from BMain). Now that we have two separate flags/tags for those two different things, let's not merge them anymore. Note that this is somewhat on-going process, still needs more checks and cleanup. Related to T88555.
2021-05-26DrawManager: Use Compute Shader to Update Hair.Jeroen Bakker
This patch will use compute shaders to create the VBO for hair. The previous implementation uses tranform feedback. Timings master (transform feedback with GPU_USAGE_STATIC between 0.000069s and 0.000362s Timings transform feedback with GPU_USAGE_DEVICE_ONLY. between 0.000057s and 0.000122s Timings compute shader between 0.000032 and 0.000092s Future improvements: * Generate hair Index buffer using compute shaders: currently done single threaded on CPU, easy to add as compute shader. Reviewed By: fclem Differential Revision: https://developer.blender.org/D11057
2021-05-26GPU: Compute Pipeline.Jeroen Bakker
With the compute pipeline calculation can be offloaded to the GPU. This patch only adds the framework for compute. So no changes for users at this moment. NOTE: As this is an OpenGL4.3 feature it must always have a fallback. Use `GPU_compute_shader_support` to check if compute pipeline can be used. Check `gpu_shader_compute*` test cases for usage. This patch also adds support for shader storage buffer objects and device only vertex/index buffers. An alternative that had been discussed was adding this to the `GPUBatch`, this was eventually not chosen as it would lead to more code when used as part of a shading group. The idea is that we add an `eDRWCommandType` in the near future. Reviewed By: fclem Differential Revision: https://developer.blender.org/D10913
2021-05-26GPencil: Add option to disable masks in view layerFalk David
This patch adds an option in the Layers > Relations panel called "Disable Masks in Render". When checked, no masks on this layer are included in the render. Example: | {F10087680} | {F10087681} | See T88202 for why this is needed. Reviewed By: antoniov Maniphest Tasks: T88202 Differential Revision: https://developer.blender.org/D11234
2021-05-26Merge branch 'blender-v2.93-release'Falk David
2021-05-26Fix: GPencil mask shows in view layer renderFalk David
Currently when rendering the view layer of a grease pencil layer that has a mask layer attached, the mask layer would show in the rendered image. This is inconsistent with the default behaviour with no mask on the grease pencil layer, because it would only render what's on that particular layer and not anything from any other layer. This patch makes the masks invisible in the render. Note: This might seem like not the best solution, but because masks are just regular grease pencil layers, it's tricky to pass this edge-case to the drawing code. The way it is handled right now is the best I could come up with, without making changes that could affect something else. Reviewed By: antoniov Maniphest Tasks: T88202 Differential Revision: https://developer.blender.org/D11403