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-07-30Cleanup: clang-format (re-run after v12 version bump)Campbell Barton
2021-07-26Cleanup: spelling in commentsCampbell Barton
2021-06-24Cleanup: comment blocks, trailing space in commentsCampbell Barton
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-19Materials: support changing materials during evaluationJacques Lucke
This commit allows that the evaluated geometry of an object has different materials from the original geometry. This is needed for geometry nodes. The main thing that changes for render engines and exporters is that the number of material slots on an object and its geometry might not match anymore. For original data, the slot counts are still equal, but not for evaluated data. Accessing material slots though rna stays the same. The behavior adapts automatically depending on whether the object is evaluated. When accessing materials of an object through `BKE_object_material_*` one has to use a new api for evaluated objects: `BKE_object_material_get_eval` and `BKE_object_material_count_eval`. In the future, the different behavior might be hidden behind a more general C api, but that would require quite a few more changes. The ground truth for the number of materials is the number of materials on the geometry now. This is important in the current design, because Eevee needs to know the number of materials just based on the mesh in `mesh_render_mat_len_get` and similar places. In a few places I had to add a special case for mesh edit mode to get it to work properly. This is unfortunate, but I don't see a way around that for now. Differential Revision: https://developer.blender.org/D11236
2021-02-14Cleanup: Source Code Typosluzpaz
Corrects approximately 36 spelling errors in source variable names. Differential Revision: https://developer.blender.org/D10347 Reviewed by Hans Goudey
2021-02-05Cleanup: correct spelling in commentsCampbell Barton
2020-11-12Cleanup: warningsCampbell Barton
2020-11-11GPencil: Fix unreported crash when style is NULLAntonio Vazquez
2020-09-19Cleanup: consistent TODO/FIXME formatting for namesCampbell Barton
Following the most widely used convention for including todo's in the code, that is: `TODO(name):`, `FIXME(name)` ... etc.
2020-09-18GPencil: Implement Holdout materialsAntonio Vazquez
This new feature allows to use the strokes as an eraser of any stroke below. This is very handy to open holes in filled areas. After running some tests, we have decided to keep the additive effect of the holdout color. To get clean holdout areas, just move the color to black to remove any additive effect. To have additive effect can be used in situations like tint slightly a transparent window with blue to simulate the glass. See T79878 for more details Differential Revision: https://developer.blender.org/D8932
2020-08-07Cleanup: declare arrays arrays where possibleCampbell Barton
2020-08-07Cleanup: Draw, Clang-Tidy else-after-return fixes (incomplete)Sybren A. Stüvel
This addresses warnings from Clang-Tidy's `readability-else-after-return` rule in the `source/blender/draw` module. Not all warnings are addressed in this commit. No functional changes.
2020-07-21Cleanup: CodeQuality: Replace OB_DRAWXRAY by OB_DRAW_IN_FRONTClément Foucault
This is to match the option name and to avoid confusion with workbench xray mode.
2020-07-01Cleanup: spellingCampbell Barton
2020-06-17GPencil: Fix unreported Vertex Opacity Overlay not workingAntonio Vazquez
This values was not working because was removed by error in refactor. Reviewed By: mendio, fclem Differential Revision: https://developer.blender.org/D8061
2020-06-03Cleanup: DRW: Remove persistent uniform functionsClément Foucault
2020-04-14GPencil: Add missing 2.82 Random Layer color removed in refactorAntonio Vazquez
Use a single color by object in grease pencil is not practical because is necessary to see all layers. To tint by layer, the layer tint parameter is used and not the material color as is done in other modes. This function has been backported from 2.82 because was removed in the 2.83 refactor.
2020-03-30GPencil: Rename Overlay blend mode to Hard LightAntonio Vazquez
Differential Revision: https://developer.blender.org/D7280
2020-03-19Cleanup: `make format` after SortedIncludes changeDalai Felinto
2020-03-11Cleanup: spellingCampbell Barton
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-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-01-07GPencil: Fix unreported memory leakAntonio Vazquez
Thanks to @dfelinto for his help
2019-10-03Fix T70484: GPencil particles crash when original stroke is hiddenAntonio Vazquez
Due the internal design of the drawing engine and the special requirements for 2D inside 3D, it's required to keep the original stroke visible in order to display the particles. If the original stroke is hidden, the particles are hidden too. This commit only fix the segmentation fault. Make visible the particles when the original is hidden would require a complete redesign and maybe would break some 2D features.
2019-08-24Cleanup: use eval as a suffixCampbell Barton
Follow conversion already used in most places.
2019-08-24Fix T66924 : Move GPencil Modifiers evaluation to DepsgraphAntonio Vazquez
Before, the evaluation of modifers were done in draw manager. The reason of the old design was grease pencil was designed before depsgraph was in place. This commit moves this logic to depsgraph to follow general design and reduce Draw Manager complexity. Also, this is required in order to use modifiers in Edit modes. Really, there is nothing really new in the creation of derived data, only the logic has been moved to depsgraph, but the main logic is the same. In order to get a reference to the original stroke and points, a pointer is added to Runtime data as part of the evaluated data. These pointers allow to know and use the original data. As the modifiers now are evaluated in Depsgraph, the evaluated stroke is usable in Edit modes, so now it's possible to work with the evaluated version instead to use a "ghost" of the final image over the original geometry as work today. Reviewed By: brecht Differential Revision: https://developer.blender.org/D5470
2019-04-18Cleanup: comment blocksCampbell 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-13Fix T63563: Grease pencil not visible when contained in a collection ↵Antonioya
instanced in a foreign scene. The check of DUPLI object was used, but as the original object was not in the scene, the VBO data was not available and the draw was empty. Now, the function checks if the original data is in the scene, and set the object as not Dupli to generate the VBO data.
2019-03-02GPencil: Fix Display Textures in Solid modeAntonioya
There was a bug when selected Solid mode with Material or Texture mode. The textures were not visible. Now, the mode is passed to shaders to decide if use the solid color or the result texture color. The mode is passed using an array with shading type and mode.
2019-02-27GP: Use unique names for instance objectsAntonioya
When instance objects linked, the name could not be unique.
2019-02-26Fix T61956: Errors when instancing grease pencil objectsAntonioya
The problem was not only for instances, but for particles too, and produced segment fault. For some reason due any internal modification of how duplicated objects are generated, the duplicated object are not available when the draw manager try to use runtime data. Now, before drawing the particle or the instance, the pointers of the duplicated objects are reassigned to the original "real object" to get full access to runtime data.
2019-02-26GP: Redesign wireframe modeAntonioya
Now it's possible use the different Wire modes (Single, Object & Random) Also support for x-ray mode. For random colors, the name of the object and the name of the layer is used. Also some parameters cleanup.
2019-02-24GP: Don't set cache as dirty with OnionAntonioya
2019-02-18doxygen: add newline after \fileCampbell Barton
While \file doesn't need an argument, it can't have another doxy command after it.
2019-02-06Cleanup: remove redundant doxygen \file argumentCampbell Barton
Move \ingroup onto same line to be more compact and make it clear the file is in the group.
2019-02-01Cleanup: remove redundant, invalid info from headersCampbell Barton
BF-admins agree to remove header information that isn't useful, to reduce noise. - BEGIN/END license blocks Developers should add non license comments as separate comment blocks. No need for separator text. - Contributors This is often invalid, outdated or misleading especially when splitting files. It's more useful to git-blame to find out who has developed the code. See P901 for script to perform these edits.
2019-01-30GP: Remove DEG_get_original_id() from draw managerAntonioya
Only keep this function when drawing to avoid COW overhead that reduce performance. After some changes I did some time ago, the use of original ID was not required and this only added depsgraph overhead and problems. This change solves the problems with updates in render mode. Related to T57484 and the changes requested by Sergey.
2019-01-25GP: Apply scale to particlesAntonioya
The particles were using the scale of the original object and the thickness of the stroke was not correct. Now, the scale is applied by particle.
2019-01-24GP: Use matrix location instead of locAntonioya
2019-01-23Cleanup: add BEGIN/END to GPL headersCampbell Barton
2019-01-15Cleanup: rename BASE_FROMDUPLI -> BASE_FROM_DUPLICampbell Barton
Matches `BASE_FROM_SET`.
2018-12-20GP: Changes in API to make internal updateAntonioya
Now, the internal data is recalculated when add or remove a point. The change in the API affect to stroke.points.add() that now requires a datablock parameter. This parameter is required to identify the datablock affected. For example: stroke.points.add(gpencil, 1) instead of stroke.points.add(1) This is the second try to fix T59600
2018-12-10GP: Enable Object Onion Skin by defaultAntonioya
Now, the main switchis on, and the layer onion skin is off.
2018-11-26GP: New Blend Layers functionalityAntonioya
Now it's possible define the blend mode between layers including the option to clamp the layer using underlying layers. Also a new Simplify option has been added to disable blend layers.
2018-11-20GP: Refactor drawing engine to single VBOAntonioya
This is part of T57829. Reduce the number of batches used to only one by shader type. This reduces GPU overhead and increase a lot the FPS. As the number of batches is small, the time to allocate and free memory was reduced in 90% or more. Also the code has been simplified and all batch management has been removed because this is not necessary. Now, all shading groups are created after all vertex buffer data for all strokes has been created using DRW_shgroup_call_range_add(). All batch cache data has been moved to the Object runtime struct and not as before where some parts (derived data) were saved inside GPD datablock. For particles, now the code is faster and cleaner and gets better FPS. Thanks to Clément Foucault for his help and advices to improve speed.
2018-10-21Cleanup: styleCampbell Barton
2018-10-21Cleanup: trailing spaceCampbell Barton
2018-10-21Cleanup: compiler warningsCampbell Barton