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
2017-06-05Merge branch 'master' into blender2.8Campbell Barton
2017-06-03PyAPI: Cleanup "Python API Overview" docnBurn
Reword to clean up some odd grammar (mostly dangling modifiers) and improve readability. Differential Revision: https://developer.blender.org/D2699
2017-06-02Merge branch 'master' into blender2.8Campbell Barton
2017-06-02PyAPI: update to bpy.types.Operator.5.pynBurn
This is a minor update add more information on how Blender handles modal operators. The existing docs provide a good overview, but might not be as helpful to those unfamiliar with modal programming. This patch also corrects a few small grammar issues.
2017-06-01Main Workspace IntegrationJulian Eisel
This commit does the main integration of workspaces, which is a design we agreed on during the 2.8 UI workshop (see https://wiki.blender.org/index.php/Dev:2.8/UI/Workshop_Writeup) Workspaces should generally be stable, I'm not aware of any remaining bugs (or I've forgotten them :) ). If you find any, let me know! (Exception: mode switching button might get out of sync with actual mode in some cases, would consider that a limitation/ToDo. Needs to be resolved at some point.) == Main Changes/Features * Introduces the new Workspaces as data-blocks. * Allow storing a number of custom workspaces as part of the user configuration. Needs further work to allow adding and deleting individual workspaces. * Bundle a default workspace configuration with Blender (current screen-layouts converted to workspaces). * Pressing button to add a workspace spawns a menu to select between "Duplicate Current" and the workspaces from the user configuration. If no workspaces are stored in the user configuration, the default workspaces are listed instead. * Store screen-layouts (`bScreen`) per workspace. * Store an active screen-layout per workspace. Changing the workspace will enable this layout. * Store active mode in workspace. Changing the workspace will also enter the mode of the new workspace. (Note that we still store the active mode in the object, moving this completely to workspaces is a separate project.) * Store an active render layer per workspace. * Moved mode switch from 3D View header to Info Editor header. * Store active scene in window (not directly workspace related, but overlaps quite a bit). * Removed 'Use Global Scene' User Preference option. * Compatibility with old files - a new workspace is created for every screen-layout of old files. Old Blender versions should be able to read files saved with workspace support as well. * Default .blend only contains one workspace ("General"). * Support appending workspaces. Opening files without UI and commandline rendering should work fine. Note that the UI is temporary! We plan to introduce a new global topbar that contains the workspace options and tabs for switching workspaces. == Technical Notes * Workspaces are data-blocks. * Adding and removing `bScreen`s should be done through `ED_workspace_layout` API now. * A workspace can be active in multiple windows at the same time. * The mode menu (which is now in the Info Editor header) doesn't display "Grease Pencil Edit" mode anymore since its availability depends on the active editor. Will be fixed by making Grease Pencil an own object type (as planned). * The button to change the active workspace object mode may get out of sync with the mode of the active object. Will either be resolved by moving mode out of object data, or we'll disable workspace modes again (there's a `#define USE_WORKSPACE_MODE` for that). * Screen-layouts (`bScreen`) are IDs and thus stored in a main list-base. Had to add a wrapper `WorkSpaceLayout` so we can store them in a list-base within workspaces, too. On the long run we could completely replace `bScreen` by workspace structs. * `WorkSpace` types use some special compiler trickery to allow marking structs and struct members as private. BKE_workspace API should be used for accessing those. * Added scene operators `SCENE_OT_`. Was previously done through screen operators. == BPY API Changes * Removed `Screen.scene`, added `Window.scene` * Removed `UserPreferencesView.use_global_scene` * Added `Context.workspace`, `Window.workspace` and `BlendData.workspaces` * Added `bpy.types.WorkSpace` containing `screens`, `object_mode` and `render_layer` * Added Screen.layout_name for the layout name that'll be displayed in the UI (may differ from internal name) == What's left? * There are a few open design questions (T50521). We should find the needed answers and implement them. * Allow adding and removing individual workspaces from workspace configuration (needs UI design). * Get the override system ready and support overrides per workspace. * Support custom UI setups as part of workspaces (hidden panels, hidden buttons, customizable toolbars, etc). * Allow enabling add-ons per workspace. * Support custom workspace keymaps. * Remove special exception for workspaces in linking code (so they're always appended, never linked). Depends on a few things, so best to solve later. * Get the topbar done. * Workspaces need a proper icon, current one is just a placeholder :) Reviewed By: campbellbarton, mont29 Tags: #user_interface, #bf_blender_2.8 Maniphest Tasks: T50521 Differential Revision: https://developer.blender.org/D2451
2017-04-29Merge branch 'master' into blender2.8Campbell Barton
2017-04-29Cleanup: menu exampleCampbell Barton
remove some redundant checks, imports
2017-04-29Implementation of custom python entries in all right click menusThomas Beck
Hi Guys, as one of my clients needs the possibility to have custom menu entries in the general right click menu (all over Blender: in the node editor, properties, toolbars,..) I talked with Campbell about expanding our hard coded menu a bit. This is the outcome. As I only need those two, I support currently a button_prop and a button_pointer. {F540397} I tested the changes with a custom script where I added a custom entry and executed an operator on click - it seems to work exactly how it's intended to. The script: {F540435} As I'm not too experienced in rna stuff I would really appreciate any review. Thanks very much Campbell for his open ears & help on this issue! Reviewers: campbellbarton, mont29 Reviewed By: campbellbarton, mont29 Subscribers: sybren, mont29 Tags: #addons Differential Revision: https://developer.blender.org/D2612
2017-03-02Remove all instances of OBACT from drawobject.c and related changesDalai Felinto
2017-03-01Merge branch 'master' into blender2.8Campbell Barton
2017-02-28Cleanup: Grey --> GrayAaron Carlisle
2017-02-26Merge branch 'master' into blender2.8Brecht Van Lommel
2017-02-24Fix some more minor issue with updated py doc generation.Bastien Montagne
2017-02-24Fix Py API doc generation - missing new context members definition.Bastien Montagne
2017-02-24Fix stupid mistake in previous commit for release builds of API doc.Bastien Montagne
2017-02-23Update py API doc generation tools to comply to new name scheme on server.Bastien Montagne
- for rc/release: /api/2.79c/, zip file named blender_python_reference_2.79c_release.zip - for dev: /api/master/, zip file named blender_python_reference_2_79_4.zip
2017-01-24Use new manual URLAaron Carlisle
2017-01-23Update script generating/uploading py API doc to new addresses ↵Bastien Montagne
(docs.blender.org).
2017-01-20API: Do not show "Created using Sphinx" in the footerAaron
I talked to Campbell and he said there is no need for this
2017-01-02API: Fix rst syntaxAaron Carlisle
2017-01-02API: Fix redirect in bgl pageAaron Carlisle
2017-01-02API: Update to modern sphinx syntaxAaron Carlisle
2017-01-02API: Fix double slashes in URLsAaron Carlisle
2016-12-28Various UI message and API doc tweaks and fixes.Bastien Montagne
Mostly from patch D2256 by Aaron Carlisle (@Blendify), thanks!
2016-11-13Fix T50007: blender offline python documentation in zipped HTML files, not ↵Bastien Montagne
shown correctly. Stupid mistake, os.scandir is not recursive... Patch by @brecht, thanks.
2016-10-25API: Fix LinksAaron Carlisle
Self-explanatory. to find broken links run `sphinx-build -b linkcheck sphinx-in sphinx-out` Reviewers: mont29 Tags: #bf_blender, #python, #infrastructure:_websites Differential Revision: https://developer.blender.org/D2297
2016-10-23API doc: enable 'split index' option.Aaron Carlisle
2016-10-23Add a built-in sphinx extension to allow cross-linking to the blender manual.Aaron Carlisle
This works by downloading the objects.inv file (https://www.blender.org/manual/objects.inv) and using it to resolve links with blender-manual: before them.
2016-10-14BPY Docs: Correct spelling (Addon --> Add-on)Aaron Carlisle
Differential Revision: https://developer.blender.org/D2293
2016-10-13Fix OLD pre-git links in the API, add missing factory-startup option to ↵Aaron Carlisle
blender executions. Reviewers: mont29 Reviewed By: mont29 Tags: #bf_blender, #python, #infrastructure:_websites Differential Revision: https://developer.blender.org/D2290
2016-09-13API doc update script: Fix generated zipfile name, was broken in 'release' ↵Bastien Montagne
case...
2016-09-05API doc: add new pure-rsync py script to update API doc on Blender server.Bastien Montagne
The other one (sphinx_doc_gen.sh) needs an ssh account on the server to work - and I hate bash, too! :P
2016-09-02Blender 2.78 commit!Sergey Sharybin
Includes: - Version bump to 2.78 - Doxy file update - New splash screen - Wrapped some do_versions with version check - Updated template to use proper font After poking around a lot it seems Droid Sans was used during 2.7x series. (or at least difference between using this font and comparing to previous splash screens gives none visible difference).
2016-08-21Update sphinx_doc_gen.py to work with recent changes (GPv2).Bastien Montagne
2016-07-31Docs: add initial idprop.types API docsCampbell Barton
2016-07-31Docs: simplify EXCLUDE_MODULES handlingCampbell Barton
2016-07-31Cleanup: capitalize Blender & PythonCampbell Barton
2016-07-30Cleanup: pep8Campbell Barton
2016-07-25Call to python3 for stand-alone scriptsCampbell Barton
Needed since Debian & FreeBSD both move away from keeping a synlink to `python`.
2016-06-22T48694: fix bge.texture.Texture.refresh() documentationBenoit Bolsee
first parameter is mandatory and must be a bool indicating if the image source should be refreshed after updating the texture.
2016-06-12Docs: Support out-of-source reference-API buildsCampbell Barton
This was originally supported, however relative links to examples & templates made it fail. Now files in the source tree are copied to the build-dir, with ".." replaced with "__" to avoid having to mirror Blender's source-layout in the Sphinx build-dir. Also skip uploading the built docs when an SSH user-name isn't passed to sphinx_doc_gen.sh instead of aborting (so people w/o SSH access to our servers can use the shell-script).
2016-06-12Cleanup: API docs (whitespace/line length)Campbell Barton
2016-06-11BGE: DeckLink card support for video capture and streaming.Benoit Bolsee
You can capture and stream video in the BGE using the DeckLink video cards from Black Magic Design. You need a card and Desktop Video software version 10.4 or above to use these features in the BGE. Many thanks to Nuno Estanquiero who tested the patch extensively on a variety of Decklink products, it wouldn't have been possible without his help. You can find a brief summary of the decklink features here: https://wiki.blender.org/index.php/Dev:Source/GameEngine/Decklink The full API details and samples are in the Python API documentation. bge.texture.VideoDeckLink(format, capture=0): Use this object to capture a video stream. the format argument describes the video and pixel formats and the capture argument the card number. This object can be used as a source for bge.texture.Texture so that the frame is sent to the GPU, or by itself using the new refresh method to get the video frame in a buffer. The frames are usually not in RGB but in YUV format (8bit or 10bit); they require a shader to extract the RGB components in the GPU. Details and sample shaders in the documentation. 3D video capture is supported: the frames are double height with left and right eyes in top-bottom order. The 'eye' uniform (see setUniformEyef) can be used to sample the 3D frame when the BGE is also in stereo mode. This allows to composite a 3D video stream with a 3D scene and render it in stereo. In Windows, and if you have a nVidia Quadro GPU, you can benefit of an additional performance boost by using 'GPUDirect': a method to send a video frame to the GPU without going through the OGL driver. The 'pinned memory' OGL extension is also supported (only on high-end AMD GPU) with the same effect. bge.texture.DeckLink(cardIdx=0, format=""): Use this object to send video frame to a DeckLink card. Only the immediate mode is supported, the scheduled mode is not implemented. This object is similar to bge.texture.Texture: you need to attach a image source and call refresh() to compute and send the frame to the card. This object is best suited for video keying: a video stream (not captured) flows through the card and the frame you send to the card are displayed above it (the card does the compositing automatically based on the alpha channel). At the time of this commit, 3D video keying is supported in the BGE but not in the DeckLink card due to a color space issue.
2016-06-11BL_Shader.setUniformEyef(name)Benoit Bolsee
defines a uniform that reflects the eye being rendered in stereo mode: 0.0 for the left eye, 0.5 for the right eye. In non stereo mode, the value of the uniform is fixed to 0.0. The typical use of this uniform is in stereo mode to sample stereo textures containing the left and right eye images in a top-bottom order. python: shader = obj.meshes[0].materials[mat].getShader() shader.setUniformEyef("eye") shader: uniform float eye; uniform sampler2D tex; void main(void) { vec4 color; float ty, tx; tx = gl_TexCoord[0].x; ty = eye+gl_TexCoord[0].y*0.5; // ty will be between 0 and 0.5 for the left eye render // and 0.5 and 1.0 for the right eye render. color = texture(tex, vec2(tx, ty)); ... }
2016-06-11BGE: Various render improvements.Benoit Bolsee
bge.logic.setRender(flag) to enable/disable render. The render pass is enabled by default but it can be disabled with bge.logic.setRender(False). Once disabled, the render pass is skipped and a new logic frame starts immediately. Note that VSync no longer limits the fps when render is off but the 'Use Frame Rate' option in the Render Properties still does. To run as many frames as possible, untick the option This function is useful when you don't need the default render, e.g. when doing offscreen render to an alternate device than the monitor. Note that without VSync, you must limit the frame rate by other means. fbo = bge.render.offScreenCreate(width,height,[,samples=0][,target=bge.render.RAS_OFS_RENDER_BUFFER]) Use this method to create an offscreen buffer of given size, with given MSAA samples and targetting either a render buffer (bge.render.RAS_OFS_RENDER_BUFFER) or a texture (bge.render.RAS_OFS_RENDER_TEXTURE). Use the former if you want to retrieve the frame buffer on the host and the latter if you want to pass the render to another context (texture are proper OGL object, render buffers aren't) The object created by this function can only be used as a parameter of the bge.texture.ImageRender() constructor to send the the render to the FBO rather than to the frame buffer. This is best suited when you want to create a render of specific size, or if you need an image with an alpha channel. bge.texture.<imagetype>.refresh(buffer=None, format="RGBA", ts=-1.0) Without arg, the refresh method of the image objects is pretty much a no-op, it simply invalidates the image so that on next texture refresh, the image will be recalculated. It is now possible to pass an optional buffer object to transfer the image (and recalculate it if it was invalid) to an external object. The object must implement the 'buffer protocol'. The image will be transfered as "RGBA" or "BGRA" pixels depending on format argument (only those 2 formats are supported) and ts is an optional timestamp in the image depends on it (e.g. VideoFFmpeg playing a video file). With this function you don't need anymore to link the image object to a Texture object to use: the image object is self-sufficient. bge.texture.ImageRender(scene, camera, fbo=None) Render to buffer is possible by passing a FBO object (see offScreenCreate). bge.texture.ImageRender.render() Allows asynchronous render: call this method to render the scene but without extracting the pixels yet. The function returns as soon as the render commands have been send to the GPU. The render will proceed asynchronously in the GPU while the host can perform other tasks. To complete the render, you can either call refresh() directly of refresh the texture to which this object is the source. Asynchronous render is useful to achieve optimal performance: call render() on frame N and refresh() on frame N+1 to give as much as time as possible to the GPU to render the frame while the game engine can perform other tasks. Support negative scale on camera. Camera scale was previously ignored in the BGE. It is now injected in the modelview matrix as a vertical or horizontal flip of the scene (respectively if scaleY<0 and scaleX<0). Note that the actual value of the scale is not used, only the sign. This allows to flip the image produced by ImageRender() without any performance degradation: the flip is integrated in the render itself. Optimized image transfer from ImageRender to buffer. Previously, images that were transferred to the host were always going through buffers in VideoTexture. It is now possible to transfer ImageRender images to external buffer without intermediate copy (i.e. directly from OGL to buffer) if the attributes of the ImageRender objects are set as follow: flip=False, alpha=True, scale=False, depth=False, zbuff=False. (if you need to flip the image, use camera negative scale)
2016-06-07Correct exit-code checkCampbell Barton
2016-05-15BGE: Fix KX_LightObject python API documentation.Porteries Tristan
Replace "..attribute::" by ".. attribute::".
2016-04-25Refactor BKE_blender into separate headersCampbell Barton
- BKE_blender_version.h (only version defines & versionstr). - BKE_blender_copybuffer.h (currently only used for view3d copy/paste). - BKE_blender_undo.h (global undo functions). - BKE_blendfile.h (high level blend file read/write API).
2016-04-21Fix T48212: Typos in bpy enum props examples.Bastien Montagne
2016-04-15Add lib for n-dimensional cubic curve fittingCampbell Barton
This will be used for calculating bezier curves from freehand drawing, may be used for other areas too. Original code from GraphicsGems, 1990 (FitCurve.c), with updates from OpenToonz, under 3 clause BSD license. with own minor modifications for integration with Blender: - support adding extra custom-data. - improved handle clamping.