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
2019-05-27Depsgraph API: Allow preserving custom data layersSergey Sharybin
This commit extends dependency graph API with an argument which denotes that all custom data layers are to be preserved. This forces modifier stack re-evaluation with more inclusive mask. Far from ideal, since this might fail in certain configurations with indirectly used objects which might be missing layers needed for the current object evaluation. But this is how it worked for a long time, so should be good enough for until more sophisticated solution is found. In order to use this new behavior two things are to be passed: - Pass keep_all_data_layers=True - Pass a valid dependency graph. The dependency graph is only needed if keep_all_data_layers=True and is NOT to be passed if keep_all_data_layers=False. If keep_all_data_layers=True the dependency graph MUST be passed. Reviewers: mont29, brecht Reviewed By: mont29 Maniphest Tasks: T64994, T64794 Differential Revision: https://developer.blender.org/D4940
2019-05-21Fix T64903: Freestyle line alpha not working for EeveeBrecht Van Lommel
2019-05-16Cycles/Eeeve: unify film transparent settingJeroen Bakker
For existing files, it will use the setting from Cycles or Eevee depending on the render engine in the scene. Differential Revision: https://developer.blender.org/D4874
2019-05-16Tweak API to support adding evaluated meshes to main databaseSergey Sharybin
One of the usecases is to create mesh from an object is a manner similar to how Apply Modifiers does it, and have it in the bmain so it can be referenced by other objects. This usecase is something what went unnoticed in the previous API changes, so here is a followup. Summary of changes: * bpy.meshes.new_from_object() behaves almost the same as before this change. The difference now is that it now ensures all referenced data-blocks are original (for example, materials referenced by the mesh). * object.to_mesh() now creates free-standing Mesh data-block which is outside of any bmain. The object owns it, which guarantees the memory never leaks. It is possible to force free memory by calling object.to_mesh_clear(). Reviewers: brecht Reviewed By: brecht Differential Revision: https://developer.blender.org/D4875
2019-05-16Dependency graph API changesSergey Sharybin
Main goal here is to make it obvious and predictable about what is going on. Summary of changes. - Access to dependency graph is now only possible to a fully evaluated graph. This is now done via context.evaluated_depsgraph_get(). The call will ensure both relations and datablocks are updated. This way we don't allow access to some known bad state of the graph, and also making explicit that getting update dependency graph is not cheap. - Access to evaluated ID is now possible via id.evaluated_get(). It was already possible to get evaluated ID via dependency graph, but that was a bit confusing why access to original is done via ID and to evaluated via depsgraph. If datablock is not covered by dependency graph it will be returned as-is. - Similarly, request for original from an ID which is not evaluated will return ID as-is. - Removed scene.update(). This is very expensive to update all the view layers. - Added depsgraph.update(). Now when temporary changes to objects are to be done, this is to happen on original object and then dependency graph is to be updated. - Changed object.to_mesh() to behave the following way: * When is used for original object modifiers are ignored. For meshes this acts similar to mesh-copy, not very useful but allows to keep code paths similar (i.e. for exporter which has Apply Modifiers option it's only matter choosing between original and evaluated object, the to_mesh() part can stay the same). For curves this gives a mesh which is constructed from displist without taking own modifiers and modifiers of bevel/taper objects into account. For metaballs this gives empty mesh. Polygonization of metaball is not possible from a single object. * When is used for evaluated object modifiers are always applied. In fact, no evaluation is happening, the mesh is either copied as-is, or constructed from current state of curve cache. Arguments to apply modifiers and calculate original coordinates (ORCO, aka undeformed coordinates) are removed. The ORCO is to be calculated as part of dependency graph evaluation. File used to regression-test (a packed Python script into .blend): {F7033464} Patch to make addons tests to pass: {F7033466} NOTE: I've included changes to FBX exporter, and those are addressing report T63689. NOTE: All the enabled-by-default addons are to be ported still, but first want to have agreement on this part of changes. NOTE: Also need to work on documentation for Python API, but, again, better be done after having agreement on this work. Reviewers: brecht, campbellbarton, mont29 Differential Revision: https://developer.blender.org/D4834
2019-05-15Fix T64623: Freestyle procedural noise not consistent across platformsBrecht Van Lommel
Use the Blender RNG instead of rand() to solve it.
2019-05-03Cleanup: warningsCampbell Barton
Quiet extra-semi-stmt & missing-variable-declarations
2019-05-02Cleanup: typos in commentsCampbell Barton
2019-05-01Cleanup: correct arg wrapping from recent cleanupCampbell Barton
2019-05-01Cleanup: comments (long lines) in freestyleCampbell Barton
2019-04-18Cleanup: add trailing commas to avoid right shiftCampbell Barton
2019-04-18Cleanup: comment blocksCampbell Barton
2019-04-17ClangFormat: format '#if 0' code in source/Campbell 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-16Cleanup: trailing commasCampbell Barton
2019-03-25Cleanup: styleCampbell Barton
2019-03-16Cleanup: fix compiler warnings.Brecht Van Lommel
2019-03-15Cleanup: indentation, wrappingCampbell Barton
Mostly functions wrapping args, not confirming to our style guide.
2019-03-08Cleanup: use plural names for Main listsCampbell Barton
Convention was not to but after discussion on 918941483f7e we agree its best to change the convention. Names now mostly follow RNA. Some exceptions: - Use 'nodetrees' instead of 'nodegroups' since the struct is called NodeTree. - Use 'gpencils' instead of 'grease_pencil' since 'gpencil' is a common abbreviation in the C code. Other exceptions: - Leave 'wm' as it's a list of one. - Leave 'ipo' as is for versioning.
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-16DNA: rename near/far -> clip_start/clip_endCampbell Barton
Rename for Camera, View3D (also CameraParams & Render not DNA)
2019-02-13Fix T61477: freestyle not updating in animation render (again).Brecht Van Lommel
Must use the right function to get animation updates now.
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-04Cleanup: Typos in comments (to to)Pablo Vazquez
2019-02-03Cleanup: trailing commasCampbell Barton
Needed for clan-format not to wrap onto one line.
2019-02-02Cleanup: remove author/date info from doxy headersCampbell Barton
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-25Fix Freestyle (ASAN detected) crashDalai Felinto
This was very simple to reproduce, just turn on Freestyle and press render. Now to the truth of things. Most (if not all) of ~BlenderStrokeRenderer() can be removed. I believe this was done back when freestyle was using G.main, and since we gave freestyle its own main we can just leave the cleanup for later. I will leave this for freestyle maintainers to think over though. Note: There is a chance this was the issue reported on T57890. I will wait for the reporter to confirm this as fixed though.
2019-01-24Fix T60095: freestyle not rendering animated camera correctly.Brecht Van Lommel
Replace legacy view matrix access with same one used by Eevee.
2019-01-24Fix freestyle renders not including some types of animation.Brecht Van Lommel
Freestyle Python scripts need to get the evaluated view layer and scene, not the original one.
2019-01-24Fix T60669: freestyle rendering holdout / indirect only collections.Brecht Van Lommel
To match Cycles we can hide freestyle lines for these.
2019-01-15Cleanup: rename BKE_libblock_delete to BKE_id_delete.Bastien Montagne
2019-01-15Cleanup: replace usages of deprecated BKE_libblock_free_ex by BKE_id_free_ex.Bastien Montagne
2019-01-15Cleanup: replace usages of deprecated BKE_libblock_free by BKE_id_free.Bastien Montagne
2019-01-08Cleanup: comments causing bad clang-format outputCampbell Barton
2019-01-04Fix T57890: freestyle rendering crash.Brecht Van Lommel
Depsgraph objects are deleted after conversion to Freestyle data structures, so don't keep a pointer to their name strings.
2019-01-04Fix T58669, T59772: freestyle + EEVEE render not working.Brecht Van Lommel
2019-01-03Cleanup: preprocessor indentationCampbell Barton
2018-12-27cleanup: remove unused passesPhilipp Oeser
- use_pass_indirect, use_pass_specular from ViewLayer RNA - RGBA, DIFFUSE, SPEC, REFLECT, REFRACT, INDIRECT usages from remaining places Reviewers: brecht Differential Revision: https://developer.blender.org/D4117
2018-12-24Fix/cleanup typos and such in UI messages (and some comments).Bastien Montagne
2018-12-12Merge branch 'master' into blender2.8Campbell Barton
2018-12-12Cleanup: use colon separator after parameterCampbell Barton
Helps separate variable names from descriptive text. Was already used in some parts of the code, double space and dashes were used elsewhere.
2018-12-07Depsgraph: Remove duplicated sets of recalc/update flagsSergey Sharybin
There were at least three copies of those: - OB_RECALC* family of flags, which are rudiment of an old dependency graph system. - PSYS_RECALC* which were used by old dependency graph system as a separate set since the graph itself did not handle particle systems. - DEG_TAG_* which was used to tag IDs. Now there is a single set, which defines what can be tagged and queried for an update. It also has some aggregate flags to make queries simpler. Lets once and for all solve the madness of those flags, stick to a single set, which will not overlap with anything or require any extra conversion. Technically, shouldn't be measurable user difference, but some of the agregate flags for few dependency graph components did change. Fixes T58632: Particle don't update rotation settings
2018-11-10Merge branch 'master' into blender2.8Campbell Barton
2018-11-10PyAPI: add imports arg to BPY_execute_stringCampbell Barton
Allows for avoiding `__import__` in expressions, was already supported for BPY_execute_string_as_* API calls.
2018-11-07Cleanup: remove some useless BKE_library and BKE_main includes.Bastien Montagne
Makes it simpler to make some changes... Also fix order of some includes (use alphabetical please).
2018-11-07Cleanup: Remove 'BKE_library.h' include from 'BKE_main.h'Bastien Montagne
That kind of implicit includes should really only be done when totally, absolutely necessary, and ideally only with rather simple 'second-level' headers. Otherwise not being explicit with includes always end up biting in unexpected ways...
2018-11-05Merge branch 'master' into blender2.8Brecht Van Lommel
2018-11-04Fix T57388: Blender Internal + Freestyle viewport render wrongly using FSAA.Irie Shinsuke
2018-10-11RNA: remove redundant new_from_object/to_mesh argCampbell Barton
If the caller wants loop-tris, there is a function to calculate them.