Commit Graph

961 Commits

Author SHA1 Message Date
Bastien Montagne cd5c706303 Blender manpage generator: use blender build date instead of current time.
It makes much more sense to use the build timestamp of the Blender
binary used to generate that manpage, than the current time.

As a bonus, when Blender building makes use of the SOURCE_DATE_EPOCH envvar
(through CMake, since previous commit), this also propagate automatically
to that man page.

Inspired by D5756 by Bernhard M. Wiedemann (@bmwiedemann), thanks.
2019-09-18 23:04:23 +02:00
Campbell Barton 7137d1470a Docs: update link 2019-09-13 07:46:25 +10:00
Campbell Barton c8c3e7d284 Cleanup: trailing space, remove tabs, pep8 2019-09-10 06:17:59 +10:00
Aaron Carlisle 5e77fb2482 API Docs: Correct Hotkey
Here we can link to the manual and keep the hotkey updated in the manual 
rather than the API docs.

Fixes T68371
2019-08-07 17:20:40 -04:00
Brecht Van Lommel 604fdb6e85 Spelling fixes in comments and descriptions, patch by luzpaz
Differential Revision: https://developer.blender.org/D3744
2019-07-31 14:27:35 +02:00
Brecht Van Lommel 2b8bc1a22e Doxygen: update version number to 2.81 2019-07-29 19:10:48 +02:00
Campbell Barton 419f137c64 Doxygen: update version number 2019-07-25 13:08:44 +10:00
Aaron Carlisle 52cf94eeb5 API Docs: Change handling of Blender Version 2019-07-08 20:53:15 -04:00
Aaron Carlisle 75d48c6efd API Docs: Hide Home Icon in Seach Area 2019-07-08 20:53:15 -04:00
Aaron Carlisle 9a0a952f72 API Docs: Fix file name 2019-07-08 11:45:25 -04:00
Aaron Carlisle 313097c267 API Docs: Fix Links 2019-07-06 19:46:05 -04:00
Aaron Carlisle e1fbab12dc API Docs: Update Changlog for 2.80 2019-07-06 17:01:11 -04:00
Aaron Carlisle 8933a3bbd0 API Docs: Fix Update changelog script to python3 2019-07-06 17:01:11 -04:00
Aaron Carlisle 1f2f5f660b API Docs: Use Opensearch 2019-07-06 17:01:11 -04:00
Aaron Carlisle f702830a79 API Docs: Theme: Prevent Super Long Enums 2019-07-06 17:01:10 -04:00
Aaron Carlisle 6fad70d551 Cleanup: API Doc Gen: move copying static dir to own function 2019-07-06 17:01:10 -04:00
Jeroen Bakker 669d50f803 Fix T66405: Python API documentation
removed glVertex from the Python bgl api documentation as they are
deprecated.
2019-07-04 09:19:48 +02:00
Aaron Carlisle d2788510fb API Docs: Update Build Dependencies 2019-07-03 22:47:44 -04:00
Aaron Carlisle 66a69fa220 API Docs: Theme Options
- Limit Nav depth to 1
- Turn off stick nav
- Add canonical_url
2019-07-03 22:46:52 -04:00
Bastien Montagne 74ffcad90e PyAPI Doc: Fix presets menu example. 2019-06-26 15:35:34 +02:00
Bastien Montagne 0e327968a9 PyAPI Doc: Minor updates to UIList examples... 2019-06-26 15:06:18 +02:00
Campbell Barton 52b4afacb2 Fix errors raised at generating Python API docs
D5121 by @Nutti
2019-06-24 20:07:20 +10:00
Campbell Barton 0c538fc923 Cleanup: spelling, grammar, and other corrections
D5084 by @nBurn with edits
2019-06-21 10:18:53 +10:00
Jacques Lucke 3a7af37e28 Python API Docs: fix some examples 2019-06-06 17:13:02 +02:00
Bastien Montagne 33e8db94b1 Fix (unreported) missing updates in scripts/docs after `scene.update()` removal.
This should really have been done together with API changes, simple
usage of grep does the trick to catch most places needing updates.
2019-06-04 14:39:51 +02:00
Campbell Barton 351e68e0a4 Docs: update quick-start
Resolves T64146
2019-06-04 13:12:59 +10:00
Dalai Felinto c01e43d024 Update Python GPU example to latest depsgraph API 2019-05-31 11:31:04 -03:00
Bastien Montagne 1885d234b0 Fix (unreported) API doc generation script after removal of some ObjectBase ietms from context. 2019-05-27 16:06:40 +02:00
Dalai Felinto caf52e3779 Update "Overriding Context" API example 2019-05-24 19:21:30 -03:00
Brecht Van Lommel 49593a2c38 Fix T64528: error in RenderEngine API docs example 2019-05-23 10:33:11 +02:00
Sybren A. Stüvel 8022bd7059 Depsgraph examples: don't assign to names of built-in Python objects
`object` is the superclass of all objects. Old-style code could still be
using `class SomeClass(object)` and assigning something else to `object`
could have unexpected results.

This is now also documented in the
[Python style guide](https://wiki.blender.org/wiki/Style_Guide/Python)
on the wiki.

Differential Revision: https://developer.blender.org/D4922

Reviewed by: sergey
2019-05-23 10:29:49 +02:00
Brecht Van Lommel 6864d0b6f1 API Docs: fix mistake in example code 2019-05-17 10:43:31 +02:00
Brecht Van Lommel 32b5f24c2a API Docs: add example use cases for mesh functions, fix wrong description 2019-05-17 10:34:20 +02:00
Sergey Sharybin 5186cfbea4 Depsgraph: State behavior details more explicitly 2019-05-17 10:24:45 +02:00
Sergey Sharybin 2ee762344f Cycles: Fix missing viewport updates after recent changes
We can not access ensured-to-be-evaluated dependency graph from the
render API: some of it is running from within evaluation which makes
it possible for engines to access list of evaluated IDs.

Solved by passing dependency graph to viewport functions, similar to
the final render functions.
2019-05-16 17:24:16 +02:00
Sergey Sharybin 32d5d127cb Tweak API to support adding evaluated meshes to main database
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-16 16:42:16 +02:00
Sergey Sharybin e693918d40 Dependency graph API changes
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-16 11:49:21 +02:00
Campbell Barton 928becec60 UV Sculpt: improve tool-system integration
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-05-01 20:32:38 +10:00
Campbell Barton 53e3fcdce4 Cleanup: use 2 space indentation for shell scripts
Already used by install_deps.sh
2019-04-17 06:08:01 +02:00
Jacques Lucke 3c7a538c9b Fix T60891: bgl docs still include deprecated opengl functions
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-04-04 16:14:59 +02:00
Brecht Van Lommel 99c98aa306 Python API: tweak RenderEngine example to be a bit more efficient.
Suggested by Germano Cavalcante.
2019-03-27 16:25:19 +01:00
Brecht Van Lommel 337eb8c1de Python API: add more detailed example for RenderEngine. 2019-03-26 19:57:51 +01:00
Campbell Barton dd1132416e Docs: update examples for 2.8x
Use fields for properties
2019-03-22 00:07:06 +11:00
Campbell Barton e7fd6c8f30 Cleanup: comment blocks 2019-03-19 15:17:46 +11:00
Bastien Montagne 94f55d14c3 Fix (unreported) broken Py API doc after adding gpencil to buttons_context... 2019-03-18 14:42:44 +01:00
Campbell Barton ad9addbf46 Cleanup: unused imports 2019-03-17 21:00:56 +11:00
Bastien Montagne 8ba1c3072c API Doc: Gotcha: add section about 'exceptions to the rules' known crashing 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-12 14:12:46 +01:00
Campbell Barton a71891085d Context: add pose_object
Needed for UI scripts to detect mixed weight paint + pose mode.
2019-03-12 10:22:53 +11:00
Bastien Montagne 49c100e56c API doc: info_gotcha: extend description of issues related to memory changes.
* 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-18 14:36:16 +01:00
Bastien Montagne 9299073d57 Cleanup: API doc 'info_gotcha': typos. 2019-02-18 14:36:16 +01:00
Campbell Barton 7d792976e1 doxygen: update doxygen & add balembic group 2019-02-18 11:23:40 +11:00
Campbell Barton 1085c2cc44 Doxygen: don't warn on undocumented params
We don't attempt to have docs for all args, so don't warn about this.
2019-02-06 15:02:07 +11:00
Campbell Barton f339b2fd41 Doxygen: update doxyfile 2019-02-06 15:01:04 +11:00
Campbell Barton 40f2afcf1d Cleanup: remove contributors for Python files
Following removal from C source code.

See: 8c68ed6df1
2019-02-05 09:17:00 +11:00
Brecht Van Lommel 2987782d6d Docs: update manpage and html with app description matching website. 2018-12-28 17:36:59 +01:00
Campbell Barton 63fcbfc3a7 RNA: naming, user-preferences -> preferences 2018-12-21 12:55:02 +11:00
Campbell Barton b322ce0847 Context: add objects_in_mode(_unique_data)
Needed for Python to easily support multi-object edit/pose modes.
2018-12-17 17:55:18 +11:00
Campbell Barton 7fac1bfc20 Context: remove active_gpencil_brush
We don't have this for other painting modes,
no need for a special case here.
2018-12-17 17:17:43 +11:00
Campbell Barton d6225c9caa Merge branch 'master' into blender2.8 2018-12-14 08:14:52 +11:00
Campbell Barton e961c1244c Fix typo in context docs. 2018-12-14 08:13:55 +11:00
Campbell Barton f81aeac2bc Docs: rename group -> collection 2018-11-30 09:10:40 +11:00
Campbell Barton 2a8f6946fe Docs: update quickstart for 2.8 2018-11-30 08:53:36 +11:00
Campbell Barton 6af997710b Merge branch 'master' into blender2.8 2018-11-30 08:39:59 +11:00
Campbell Barton 8ac2d85d2f Cleanup: trailing space 2018-11-30 08:38:25 +11:00
Campbell Barton 0ed4cadf5a Docs: use float in bpy.app.timer examples
Makes it clear seconds are not integers,
also avoids conversion to float.
2018-11-28 06:09:42 +11:00
Jacques Lucke dcb86689b0 Python API Docs: Examples for new timer api 2018-11-27 11:31:48 +01:00
Jacques Lucke 884638494d Python API: Fix partial build
`gpu_extras` was always visible
2018-11-27 10:56:37 +01:00
Jacques Lucke c1adf938e6 Timer: Generic BLI_timer with Python wrapper
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-26 20:25:15 +01:00
Brecht Van Lommel d203234dd0 Python API Docs: better titles.
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-21 19:31:20 +01:00
Campbell Barton 3c8c976086 Cleanup: gpu docs 2018-11-20 07:38:20 +11:00
Jacques Lucke 422992a135 Py API Docs: use new bind context manager in gpu examples 2018-11-19 14:32:51 +01:00
Jacques Lucke 78207eac9b Py API Docs: New custom shader example 2018-11-14 18:41:33 +01:00
Jacques Lucke 9caa587519 Py API Docs: Remove older GPUOffScreen example
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-13 16:43:17 +01:00
Jacques Lucke 3aa30406dd Py API Docs: New Example for off screen rendering 2018-11-13 16:38:12 +01:00
Jacques Lucke 15a5cc6ca0 Py API Docs: another use case for offscreen rendering 2018-11-12 17:54:51 +01:00
Jacques Lucke 406452ec5d Py API Docs: Another example for offscreen rendering 2018-11-12 17:17:59 +01:00
Jacques Lucke ded780f13e Py API Docs: fix typos/wording
found by Omar Ahmad
2018-11-12 13:48:31 +01:00
Jacques Lucke 492dbae4d1 Py API Docs: Restructure gpu module introduction 2018-11-12 12:14:18 +01:00
Jacques Lucke a4bfccc439 Py API Docs: More gpu module documentation 2018-11-09 19:20:55 +01:00
Dalai Felinto 49a7bcafd9 gpu.offscreen, fix pydoc, example and rename modelviewmatrix > viewmatrix
Technically this is only the view matrix, not model view matrix.
And view layer was missing from the pydoc.
2018-11-09 13:54:38 -02:00
Campbell Barton f12d2adc87 RNA: Object.select_set use boolean, only select
- 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-08 08:54:55 +11:00
Jacques Lucke b82eac8986 Py API Docs: improve 2D image example 2018-11-07 16:14:11 +01:00
Jacques Lucke 9a38526be0 Py API Docs: show gpu_extras module 2018-11-07 15:45:28 +01:00
Bastien Montagne 7b38df41ae Fix/cleanup RNA viewlayer API.
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-06 17:20:49 +01:00
Bastien Montagne a22167b9a2 Fix/Updated Object API example.
Was still 2.7x code... ;)
2018-11-05 20:42:00 +01:00
Jacques Lucke a8e9959e07 API Docs: gpu api introduction + examples 2018-11-05 19:28:28 +01:00
Campbell Barton ca8fee62ab Update gpu offscreen PyAPI example 2018-10-26 12:13:03 +11:00
Bastien Montagne af58646467 Fix py API docgen script for new context members. 2018-10-19 20:13:50 +02:00
Brecht Van Lommel e65784a051 Python API: add loop triangles access, remove tessfaces.
Loop triangles are tessellated triangles create from polygons, for renderers
or exporters that need to match Blender's polygon tesselation exactly. These
are a read-only runtime cache.

Tessfaces are a legacy data structure from before Blender supported n-gons,
and were already mostly removed from the C code.

Details on porting code to loop triangles is in the release notes.

Differential Revision: https://developer.blender.org/D3539
2018-10-10 17:43:44 +02:00
Campbell Barton 6ebe211644 Cleanup: pep8 2018-09-27 09:41:18 +10:00
Dalai Felinto a3020d5558 Fixup for gpu.types.GPUOffscreen.py example
Addressing the changes introduced on: 43fa51835a
2018-09-21 13:34:53 -03:00
mano-wii 43fa51835a gpu.types.GPUOffscreen.py example file: Move the shader reference removal code to execute on __main__ 2018-09-21 13:26:23 -03:00
mano-wii 964bb28e21 gpu.types.GPUOffscreen.py example file: Delete the reference of the previous shader.
Strange that the `bpy.utils.register_class` utility does not remove the reference of the class with same name.
2018-09-21 12:36:38 -03:00
Dalai Felinto fbc837b2f8 Updated gpu.types.GPUOffscreen.py example file
The image I get is a bit too dark, which is the same I get in the viewport
itself when there is no Display Device. So I believe for cases like this
we need to have color management on top of the buffer.

Also, on EEVEE it looks like it needs to clear some extra buffers. You can see
that, by rotating the camera view around.

That said, this is the first step to bring back fun addons
that use external offscreen buffers.

Note: When using gpu offscreen with POST_VIEW (as oppose to POST_PIXEL)
I get a crash with DST having 0xFF..
2018-09-20 22:21:19 +00:00
Brecht Van Lommel 6b433f4eb3 Merge branch 'master' into blender2.8 2018-09-19 18:20:50 +02:00
Brecht Van Lommel a4f2ebc78d Spelling fixes in comments and descriptions, patch by luzpaz.
Differential Revision: https://developer.blender.org/D3700
2018-09-19 18:18:05 +02:00
Campbell Barton 83d4328ce7 PyDoc: add gpu.shader
Also some syntax corrections.
2018-09-15 10:35:03 +10:00
Campbell Barton aacdd28edd PyDoc: add bpy.app.icons to docs 2018-09-13 19:21:08 +10:00
Campbell Barton 1c2358224f Merge branch 'master' into blender2.8 2018-09-13 16:35:09 +10:00
Campbell Barton c062d360ca PyDoc: replace use of deprecated API call 2018-09-13 16:33:34 +10:00
Campbell Barton a4e4dc1b75 Merge branch 'master' into blender2.8 2018-09-13 15:39:21 +10:00
Campbell Barton ffe5b92325 PyDoc: disable ASAN exit code for doc building
Prevented docs from building on any minor issue when ASAN was enabled.
2018-09-13 15:37:30 +10:00
Campbell Barton 26a6e58e9a Cleanup: add editor gizmo doxy group 2018-09-13 08:33:21 +10:00
Brecht Van Lommel e0a4dc6a79 UI / Python: rename X-Ray to In Front, Draw to Display.
See T56648.
2018-09-06 13:26:46 +02:00
mano-wii 6d04e48539 Join the python modules `gpu` and `_gpu` into one.
Maybe it's still early to set the new drawing api for python.
But joining these two modules is an initial step.

```
>>> gpu.
        matrix
        select
        types
```
```
>>> gpu.types.GPU
                 Batch(
                 OffScreen(
                 VertBuf(
                 VertFormat(
```
The creation of a new offscreen object is now done by the `GPUOffscreen.__new__` method.

Reviewers: campbellbarton, dfelinto

Reviewed By: campbellbarton, dfelinto

Tags: #bf_blender_2.8

Differential Revision: https://developer.blender.org/D3667
2018-09-05 21:15:44 -03:00
Bastien Montagne a43ebc63fa Merge branch 'master' into blender2.8
Conflicts:
	source/blender/blenkernel/intern/collision.c
2018-09-03 17:44:36 +02:00
Brecht Van Lommel 4da2acae3a Spelling fixes in comments and descriptions, patch by luzpaz.
Differential Revision: https://developer.blender.org/D3668
2018-09-03 16:55:01 +02:00
Brecht Van Lommel 0d085790d1 Python / Cleanup: rename INFO_MT to TOPBAR_MT/VIEW3D_MT to reflect actual location. 2018-08-29 16:25:50 +02:00
Campbell Barton 590a6b5269 Cleanup: pep8 2018-08-28 21:01:22 +10:00
Campbell Barton e9fb2feb2e UI: text keyword argument to label
Prepare for keyword only args
2018-08-28 12:34:51 +10:00
Andrew Hale 1e6a5eb087 Implement BMesh Operator string enumerators and docs generation.
Partial implementation of T56496 for review.

Reviewers: campbellbarton

Reviewed By: campbellbarton

Differential Revision: https://developer.blender.org/D3635
2018-08-27 16:15:54 +02:00
Campbell Barton f689c821f0 Documentation: fixes for building w/ 2.8
Note, bpy.app.icons needs to be supported eventually.
2018-08-17 00:02:36 +10:00
Campbell Barton 3730839958 Correct error in py doc generation 2018-08-14 22:18:46 +10:00
Aaron Carlisle 12acf1e4f8 Cleanup: Update some links to new wiki 2018-08-13 21:55:30 -04:00
Aaron Carlisle 0e7dd01944 PyDoc: remove old undocumented message 2018-08-13 21:43:51 -04:00
Aaron Carlisle e040cfe15a PyDoc: Remove "API" from version 2018-08-13 20:53:45 -04:00
Aaron Carlisle 44871e0e0f Pydoc: Switch theme to sphinx_rtd_theme 2018-08-13 20:51:36 -04:00
Aaron Carlisle 0a93685dcc PyDoc: Add missing application icons link 2018-08-13 20:51:36 -04:00
Aaron Carlisle 721321bf9e Cleanup: copy paste error in tooltip 2018-08-13 20:51:35 -04:00
Aaron Carlisle 34c09bc21e PyDoc: Various fixes to generation process 2018-08-13 20:51:34 -04:00
Aaron Carlisle a3cc1fcaf3 PyAPI Docs: Fix syntax error 2018-08-13 20:51:34 -04:00
Aaron Carlisle 57e6359920 PyDoc: Remove hack to rename main doc from 'contents' to 'index' 2018-08-13 20:51:33 -04:00
Aaron Carlisle 7d8477e019 PyAPI: Docs: Remove old Blender.org theme
This also makes the generator script only allow one theme.
Having this be an argument does not make sense, just over complicating 
things.
2018-08-13 20:51:32 -04:00
Aaron Carlisle d062c86ed0 PyDoc: Use captions for section headers 2018-08-13 20:51:31 -04:00
Aaron Carlisle d0acfba937 PyAPI Docs: Move change log link to top with info docs 2018-08-13 20:51:31 -04:00
Aaron Carlisle 27be340616 PyAPI Docs: Remove large note about changing modules
These are stable now. We may want another note about
new 2.8 modules
2018-08-13 20:51:30 -04:00
Aaron Carlisle bee348a388 PyAPI Docs: Remove BGE related documenation 2018-08-13 20:51:30 -04:00
Aaron Carlisle 6218cd3261 PyAPI Docs: Fix Space in URL Name 2018-08-13 20:51:29 -04:00
Campbell Barton b29b73a67e Gizmo: update Python templates 2018-07-15 19:51:11 +02:00
Campbell Barton 49b86bcfec Merge branch 'master' into blender2.8 2018-07-05 07:54:47 +02:00
Campbell Barton cd17b32583 Cleanup: pep8 2018-07-05 07:53:21 +02:00
Campbell Barton 969111f9b5 Cleanup: pep8 2018-07-03 22:35:37 +02:00
Campbell Barton 00fc1d70a7 Merge branch 'master' into blender2.8 2018-07-03 06:58:34 +02:00
Campbell Barton 8c15d612a5 Cleanup: pep8 2018-07-03 06:55:02 +02:00
Campbell Barton a61480c271 Merge branch 'master' into blender2.8 2018-06-26 22:56:39 +02:00
Campbell Barton 532c8ac583 Cleanup: pep8 function indentation 2018-06-26 19:58:56 +02:00
Brecht Van Lommel 17bd5c9d4b Collections and groups unification
OVERVIEW

* In 2.7 terminology, all layers and groups are now collection datablocks.
* These collections are nestable, linkable, instanceable, overrideable, ..
  which opens up new ways to set up scenes and link + override data.
* Viewport/render visibility and selectability are now a part of the collection
  and shared across all view layers and linkable.
* View layers define which subset of the scene collection hierarchy is excluded
  for each. For many workflows one view layer can be used, these are more of an
  advanced feature now.

OUTLINER

* The outliner now has a "View Layer" display mode instead of "Collections",
  which can display the collections and/or objects in the view layer.
* In this display mode, collections can be excluded with the right click menu.
  These will then be greyed out and their objects will be excluded.
* To view collections not linked to any scene, the "Blender File" display mode
  can be used, with the new filtering option to just see Colleciton datablocks.
* The outliner right click menus for collections and objects were reorganized.
* Drag and drop still needs to be improved. Like before, dragging the icon or
  text gives different results, we'll unify this later.

LINKING AND OVERRIDES

* Collections can now be linked into the scene without creating an instance,
  with the link/append operator or from the collections view in the outliner.
* Collections can get static overrides with the right click menu in the outliner,
  but this is rather unreliable and not clearly communicated at the moment.
* We still need to improve the make override operator to turn collection instances
  into collections with overrides directly in the scene.

PERFORMANCE

* We tried to make performance not worse than before and improve it in some
  cases. The main thing that's still a bit slower is multiple scenes, we have to
  change the layer syncing to only updated affected scenes.
* Collections keep a list of their parent collections for faster incremental
  updates in syncing and caching.
* View layer bases are now in a object -> base hash to avoid quadratic time
  lookups internally and in API functions like visible_get().

VERSIONING

* Compatibility with 2.7 files should be improved due to the new visibility
  controls. Of course users may not want to set up their scenes differently
  now to avoid having separate layers and groups.
* Compatibility with 2.8 is mostly there, and was tested on Eevee demo and Hero
  files. There's a few things which are know to be not quite compatible, like
  nested layer collections inside groups.
* The versioning code for 2.8 files is quite complicated, and isolated behind
  #ifdef so it can be removed at the end of the release cycle.

KNOWN ISSUES

* The G-key group operators in the 3D viewport were left mostly as is, they
  need to be modified still to fit better.
* Same for the groups panel in the object properties. This needs to be updated
  still, or perhaps replaced by something better.
* Collections must all have a unique name. Less restrictive namespacing is to
  be done later, we'll have to see how important this is as all objects within
  the collections must also have a unique name anyway.
* Full scene copy and delete scene are exactly doing the right thing yet.

Differential Revision: https://developer.blender.org/D3383

https://code.blender.org/2018/05/collections-and-groups/
2018-05-18 13:34:24 +02:00
Ton Roosendaal 51b796ff15 Remove Blender Internal and legacy viewport from Blender 2.8.
Brecht authored this commit, but he gave me the honours to actually
do it. Here it goes; Blender Internal. Bye bye, you did great!

* Point density, voxel data, ocean, environment map textures were removed,
  as these only worked within BI rendering. Note that the ocean modifier
  and the Cycles point density shader node continue to work.
* Dynamic paint using material shading was removed, as this only worked
  with BI. If we ever wanted to support this again probably it should go
  through the baking API.
* GPU shader export through the Python API was removed. This only worked
  for the old BI GLSL shaders, which no longer exists. Doing something
  similar for Eevee would be significantly more complicated because it
  uses a lot of multiplass rendering and logic outside the shader, it's
  probably impractical.
* Collada material import / export code is mostly gone, as it only worked
  for BI materials. We need to add Cycles / Eevee material support at some
  point.
* The mesh noise operator was removed since it only worked with BI
  material texture slots. A displacement modifier can be used instead.
* The delete texture paint slot operator was removed since it only worked
  for BI material texture slots. Could be added back with node support.

* Not all legacy viewport features are supported in the new viewport, but
  their code was removed. If we need to bring anything back we can look at
  older git revisions.
* There is some legacy viewport code that I could not remove yet, and some
  that I probably missed.
* Shader node execution code was left mostly intact, even though it is not
  used anywhere now. We may eventually use this to replace the texture
  nodes with Cycles / Eevee shader nodes.

* The Cycles Bake panel now includes settings for baking multires normal
  and displacement maps. The underlying code needs to be merged properly,
  and we plan to add back support for multires AO baking and add support
  to Cycles baking for features like vertex color, displacement, and other
  missing baking features.

* This commit removes DNA and the Python API for BI material, lamp, world
  and scene settings. This breaks a lot of addons.
* There is more DNA that can be removed or renamed, where Cycles or Eevee
  are reusing some old BI properties but the names are not really correct
  anymore.
* Texture slots for materials, lamps and world were removed. They remain
  for brushes, particles and freestyle linestyles.
* 'BLENDER_RENDER' remains in the COMPAT_ENGINES of UI panels. Cycles and
  other renderers use this to find all panels to show, minus a few panels
  that they have their own replacement for.
2018-04-19 17:35:25 +02:00
Dalai Felinto 159806140f Removing Blender Game Engine from Blender 2.8
Folders removed entirely:
* //extern/recastnavigation
* //intern/decklink
* //intern/moto
* //source/blender/editors/space_logic
* //source/blenderplayer
* //source/gameengine

This includes DNA data and any reference to the BGE code in Blender itself.
We are bumping the subversion.

Pending tasks:
* Tile/clamp code in image editor draw code.
* Viewport drawing code (so much of this will go away because of BI removal
  that we can wait until then to remove this.
2018-04-17 17:51:28 +02:00
Dalai Felinto 8a695efe9b Merge remote-tracking branch 'origin/master' into blender2.8 2018-04-17 17:36:39 +02:00
Dalai Felinto c558d8fa7c bpy blf api example update
With changes from Campbell Barton as well.
2018-04-17 12:25:51 +02:00
Campbell Barton 55939bf219 Merge branch 'master' into blender2.8 2018-04-16 07:27:53 +02:00
Aaron Carlisle 447622f717 Pydoc: Fix multiple bpy.type modules 2018-04-15 11:45:25 -04:00
Campbell Barton f3a8f97fcf Merge branch 'master' into blender2.8 2018-04-15 10:52:14 +02:00
Aaron Carlisle 73dfd3d382 Pydocs: Expand bge.contraint docs
Takes information from the manual and dumps it here.
2018-04-14 18:08:32 -04:00
Campbell Barton 89fdd88906 Merge branch 'master' into blender2.8 2018-04-02 15:18:10 +02:00
Campbell Barton 4ffa05c30b Cleanup: move undo into it's own directory
Split out undo API from ED_util.h into ED_undo.h
2018-04-02 15:07:40 +02:00
Campbell Barton b65ea517eb Merge branch 'master' into blender2.8
- Undo that changes modes currently asserts,
  since undo is now screen data.

  Most likely we will change how object mode and workspaces work
  since it's not practical/maintainable at the moment.

- Removed view_layer from particle settings
  (wasn't needed and complicated undo).
2018-04-01 11:03:25 +02:00
Campbell Barton 5f59c22bf1 Docs: doxygen docs for clog 2018-03-31 12:27:18 +02:00
Aaron Carlisle ee2aa31982 PyDoc: Merge manual docs for bge.texture
https://docs.blender.org/manual/en/dev/game_engine/python_api/videotexture.html

Had a few things that this file did not while this file having things the other did not.
To fix, I merged both documents into the python api.
2018-03-29 18:02:04 -04:00