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
path: root/doc
AgeCommit message (Collapse)Author
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-01UV Sculpt: improve tool-system integrationCampbell Barton
In 2.7x UV sculpt was a kind of sub-mode (a toggle with it's own key-map & drawing code). Move this to an operator that uses the tool-system, this simplifies internal logic, especially brush selection which now matches sculpt and other paint modes. - Remove toggle used to enable uv sculpt. - Expose the brush, which was already used but there was no way to select different brushes. - Make UV sculpt use paint paint tool slots (using brushes how all other paint mode currently do). - Move UV Sculpt keymap to the tools keymap. - Remove Q to toggle UV sculpt mode, S/P/G keys to switch tools.
2019-04-17Cleanup: use 2 space indentation for shell scriptsCampbell Barton
Already used by install_deps.sh
2019-04-04Fix T60891: bgl docs still include deprecated opengl functionsJacques Lucke
In a separate step, all new functions should be added. However, the best way to do this, is not clear yet. A list of functions, that have to be added is available in D4280. Differential Revision: https://developer.blender.org/D4280
2019-03-27Python API: tweak RenderEngine example to be a bit more efficient.Brecht Van Lommel
Suggested by Germano Cavalcante.
2019-03-26Python API: add more detailed example for RenderEngine.Brecht Van Lommel
2019-03-21Docs: update examples for 2.8xCampbell Barton
Use fields for properties
2019-03-19Cleanup: comment blocksCampbell Barton
2019-03-18Fix (unreported) broken Py API doc after adding gpencil to buttons_context...Bastien Montagne
2019-03-17Cleanup: unused importsCampbell Barton
2019-03-12API Doc: Gotcha: add section about 'exceptions to the rules' known crashing ↵Bastien Montagne
cases. As exposed in T62406, we can have some rare cases of crashes due to memory re-allocation happening outside of expected scenarii. Ideally this should be re-designed, but at least keep track of those known exceptions to general rules...
2019-03-12Context: add pose_objectCampbell Barton
Needed for UI scripts to detect mixed weight paint + pose mode.
2019-02-18API doc: info_gotcha: extend description of issues related to memory changes.Bastien Montagne
* Added a TL;DR first paragraph summarizing that one shall not keep any reference to Blender data when modifying its container. * Added some info about fact that adding items to some data containers (like Collection) can also invalidate existing items (due to array re-allocation). * Added a Do/Don't example which shows a crash after adding some items to a collection. Related to T61297.
2019-02-18Cleanup: API doc 'info_gotcha': typos.Bastien Montagne
2019-02-18doxygen: update doxygen & add balembic groupCampbell Barton
2019-02-06Doxygen: don't warn on undocumented paramsCampbell Barton
We don't attempt to have docs for all args, so don't warn about this.
2019-02-06Doxygen: update doxyfileCampbell Barton
2019-02-05Cleanup: remove contributors for Python filesCampbell Barton
Following removal from C source code. See: 8c68ed6df16d8893
2018-12-28Docs: update manpage and html with app description matching website.Brecht Van Lommel
2018-12-21RNA: naming, user-preferences -> preferencesCampbell Barton
2018-12-17Context: add objects_in_mode(_unique_data)Campbell Barton
Needed for Python to easily support multi-object edit/pose modes.
2018-12-17Context: remove active_gpencil_brushCampbell Barton
We don't have this for other painting modes, no need for a special case here.
2018-12-14Merge branch 'master' into blender2.8Campbell Barton
2018-12-14Fix typo in context docs.Campbell Barton
2018-11-30Docs: rename group -> collectionCampbell Barton
2018-11-30Docs: update quickstart for 2.8Campbell Barton
2018-11-30Merge branch 'master' into blender2.8Campbell Barton
2018-11-30Cleanup: trailing spaceCampbell Barton
2018-11-27Docs: use float in bpy.app.timer examplesCampbell Barton
Makes it clear seconds are not integers, also avoids conversion to float.
2018-11-27Python API Docs: Examples for new timer apiJacques Lucke
2018-11-27Python API: Fix partial buildJacques Lucke
`gpu_extras` was always visible
2018-11-26Timer: Generic BLI_timer with Python wrapperJacques Lucke
There is a new `bpy.app.timers` api. For more details, look in the Python API documentation. Reviewers: campbellbarton Differential Revision: https://developer.blender.org/D3994
2018-11-21Python API Docs: better titles.Brecht Van Lommel
The HTML title did not make it clear that these are docs for the API rather than a general Blender documentation. Some of the page titles were also too long and redundant.
2018-11-19Cleanup: gpu docsCampbell Barton
2018-11-19Py API Docs: use new bind context manager in gpu examplesJacques Lucke
2018-11-14Py API Docs: New custom shader exampleJacques Lucke
2018-11-13Py API Docs: Remove older GPUOffScreen exampleJacques Lucke
I think this example does not belong into the api docs and certainly not in the place where it was until now. Maybe this can become a template in Blender but personally I don't see much value in it as an "official example" because it is hard to see what is going on exactly. There are a few other examples that show how to use the GPUOffScreen object now.
2018-11-13Py API Docs: New Example for off screen renderingJacques Lucke
2018-11-12Py API Docs: another use case for offscreen renderingJacques Lucke
2018-11-12Py API Docs: Another example for offscreen renderingJacques Lucke
2018-11-12Py API Docs: fix typos/wordingJacques Lucke
found by Omar Ahmad
2018-11-12Py API Docs: Restructure gpu module introductionJacques Lucke
2018-11-09Py API Docs: More gpu module documentationJacques Lucke
2018-11-09gpu.offscreen, fix pydoc, example and rename modelviewmatrix > viewmatrixDalai Felinto
Technically this is only the view matrix, not model view matrix. And view layer was missing from the pydoc.
2018-11-08RNA: Object.select_set use boolean, only selectCampbell Barton
- Was setting active state, making it necessary to backup/restore active object in cases where this isn't needed. Existing scripts are explicitly setting the active object when needed. - Use a boolean select arg (toggle selection wasn't used anywhere). - Add an optional view layer argument since scripts should be able to operate outside the user context.
2018-11-07Py API Docs: improve 2D image exampleJacques Lucke
2018-11-07Py API Docs: show gpu_extras moduleJacques Lucke
2018-11-06Fix/cleanup RNA viewlayer API.Bastien Montagne
RNA's ViewLayer would present 'first level' of layer collection as a list (collection property), when it is actually now only a single item, same as the scene's master collection. Note: did not try to update view_layer python tests, those are already fully broken for quiet some time I guess (they still assume view_layer.collections to be mutable e.g.)...
2018-11-05Fix/Updated Object API example.Bastien Montagne
Was still 2.7x code... ;)