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
2018-08-03New grease pencil primitive STROKEAntonioya
This creates a simple stroke with several colors to have a basic structure to start drawing.
2018-07-31New Grease Pencil object for 2D animationAntonioya
This commit merge the full development done in greasepencil-object branch and include mainly the following features. - New grease pencil object. - New drawing engine. - New grease pencil modes Draw/Sculpt/Edit and Weight Paint. - New brushes for grease pencil. - New modifiers for grease pencil. - New shaders FX. - New material system (replace old palettes and colors). - Split of annotations (old grease pencil) and new grease pencil object. - UI adapted to blender 2.8. You can get more info here: https://code.blender.org/2017/12/drawing-2d-animation-in-blender-2-8/ https://code.blender.org/2018/07/grease-pencil-status-update/ This is the result of nearly two years of development and I want thanks firstly the other members of the grease pencil team: Daniel M. Lara, Matias Mendiola and Joshua Leung for their support, ideas and to keep working in the project all the time, without them this project had been impossible. Also, I want thanks other Blender developers for their help, advices and to be there always to help me, and specially to Clément Foucault, Dalai Felinto, Pablo Vázquez and Campbell Barton.
2018-07-30Cleanup/Refactor: Move CurveCache runtime data into Object.runtime struct.Bastien Montagne
Also, fix missing cleanup of Object.runtime when copying Object datablocks!
2018-07-27Cleanup: Remove occurances of GPULampClément Foucault
2018-07-10DrawData: Change drawdata to a generic struct shared accross ID typesClément Foucault
This makes tagging much more generic and make the world updates more in line with the new tagging system (Depsgraph).
2018-06-29Merge branch 'master' into blender2.8Campbell Barton
2018-06-29Cleanup: trailing newlinesCampbell Barton
2018-06-22Outliner: Aggregate ID types and object types together with numbersDalai Felinto
We draw small numbers over the icon of multiple objects of the same type. Also, we make all inlined elements to be non-clickabled. For modifiers we still do it the old way. In this case it is more important to see the order then the ammount. Reviewers: brecht, campbellbarton Subscribers: billreynish, venomgfx Design task and mockup: T54707 Differential Revision: https://developer.blender.org/D3497
2018-06-17Merge branch 'master' into blender2.8Campbell Barton
2018-06-17Cleanup: trailing space for DNA headersCampbell Barton
2018-06-07Cleanup: typo.Bastien Montagne
2018-06-06Depsgraph: remove legacy code for dupli group updates.Brecht Van Lommel
This caused crashes in some cases, and should be fully handled by the depsgraph now.
2018-06-04Fix crash when making objects to share same meshSergey Sharybin
Make it more reliable and predictable way of getting pointer to an original mesh which came from copy-on-write engine. Related change: made it (hopefully) more clear name for flags.
2018-05-30Add deformed evaluated mesh to objectSergey Sharybin
This is a first step to have correspondence of legacy derivedDeform within a new formulation. Only base ground for now to support file reading, copy-on-write remapping and such.
2018-05-30Cleanup: Wrap object runtime eval members into own structSergey Sharybin
2018-05-30Cleanup: Naming, match policy with rest of copy-on-write designSergey Sharybin
2018-05-30Merge branch 'master' into blender2.8Campbell Barton
2018-05-30DNA: add OB_DATA_SUPPORT_EDITMODE macroCampbell Barton
2018-05-18Collections and groups unificationBrecht Van Lommel
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-09T55014: Optionally: objects not cast shadows in workbenchJeroen Bakker
2018-05-08Collections: remove per collection and view layer engine overrides.Brecht Van Lommel
This will be handled by the new view layer override system which will store data elsewhere, removing the code already for easier refactoring.
2018-05-08Clenup: typos.Bastien Montagne
2018-04-30DNA: Unnecessarily big padding size in Object structJulian Eisel
Was added in 159806140fd33e6.
2018-04-20Workbench: Removed Clay engine draw modeJeroen Bakker
- need a draw mode in workbench engine. - reorganized render engine retrieval in 3d view. There are 2 places where this happenes 1. 3d view draw code and 2. draw manager. the draw manager code is not used for external engines, currently added an exception in for cycles. will need to have a better solution in place.
2018-04-20Workbench: Clay renderer was not accessible anymoreJeroen Bakker
issue was the factoring of the workspace engine that was removed. the logic implied that the clay could not be rendered as clay will be a draw mode we placed it already there so it is accessible in any engine. Should eventually fix the clay engine by migrating it to the workbench engine.
2018-04-19Remove Blender Internal and legacy viewport from Blender 2.8.Ton Roosendaal
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-19Workbench: Option to use Object colorJeroen Bakker
- added `object_color_type` where the user can set if the collection determines the color, or the object will be used for the color. Implemented it as an enum as later this can have a random color option. - moved OB_LIGHTING_* to DNA_view3d_types and renamed it. - Fixed some DRY in workbench_materials.c. Can remove more DRY's but will need to discuss the responsibility of the workbench engine as it might become part of the eevee renderer.
2018-04-17Workbench: clean up the viewport shading codeJeroen Bakker
- added the drawtype_solid, drawtype_wireframe, drawtype_texture to View3D - enabled workbench panels for important render engines - merged workbench_materials to solid_flat_mode. All draw modes will get its own fast implementation in the workbench
2018-04-17Removing Blender Game Engine from Blender 2.8Dalai Felinto
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-13Python API: remove object.dupli_list_create and dupli_list_clear.Brecht Van Lommel
Cycles is no longer using this. There are still addons using it but for correct results with the new depsgraph this API should not be used. Differential Revision: https://developer.blender.org/D3143
2018-04-05Remove workspace object mode, reverts changes w/ 2.8Campbell Barton
This caused too many problems syncing object modes with multiple objects/windows/workspaces, see: D3130 for details.
2018-02-08Object Mode: move to workspace structCampbell Barton
- Read-only access can often use EvaluationContext.object_mode - Write access to go to WorkSpace.object_mode. - Some TODO's remain (marked as "TODO/OBMODE") - Add-ons will need updating (context.active_object.mode -> context.workspace.object_mode) - There will be small/medium issues that still need resolving this does work on a basic level though. See D3037
2018-02-06Merge branch 'master' into blender2.8Campbell Barton
2018-02-06DNA: move eObjectMode into own headerCampbell Barton
Add a enum headers to DNA, to be included in other headers so function signatures can use enums for better type safety. Add DNA_*_enums.h matching DNA_*.types.h as needed.
2018-01-29Fix T53598: OpenGL Render Animation does not update shadowsSergey Sharybin
General idea of the fix: skip the whole draw manager callback madness which was used to tag object's engine specific data as dirty. Use generic recalc flag in ObjectEngineData structure instead. This gives us the following benefits; - Sovles mentioned bug report. - Avoids whole interface lookup for opened viewports for EVERY changed ID. - Fixes missing updates when viewport is temporarily invisible. Reviewers: dfelinto, fclem Differential Revision: https://developer.blender.org/D3028
2018-01-29Refactor object engine data storageSergey Sharybin
Main idea is to make specific engine types be a subclass of generic ObjectEngineData structure. This required following changes: - Have extra size argument to engine data allocation function. Not sure whether there is less error-prone way of doing this. - Add init() callback to engine data allocation function. Additionally, added some extra checks to Eevee's engine data getters, so we do not silently cast lamp data to lightprobe data. Reviewers: dfelinto, fclem Differential Revision: https://developer.blender.org/D3027
2018-01-16Cleanup: Remove deprecated enum flagsSergey Sharybin
Those are not used anymore.
2018-01-16Cleanup: Get rid of legacy extra recalc flagsSergey Sharybin
Those are not used by new dependency graph and are not needed for properly created rigs with new granular nodes.
2017-12-21Implement duplicator viewport/render visibility optionsDalai Felinto
This allows a duplicator (as known as dupli parent) to be in a visible collection so its duplicated objects are visible, however while being invisible for the final render. An object that is a particle emitter is also considered a duplicator. Many thanks for the reviewers for the extense feedback. Reviewers: sergey, campbellbarton Differential Revision: https://developer.blender.org/D2966
2017-12-15Merge branch 'master' into blender2.8Sergey Sharybin
2017-12-14DNA: Add dedicated recalc flag to IDSergey Sharybin
Currently unused, but this is where LIB_TAG_ID_RECALC* flags will go. Also modified other DNA to make pointer property being followed by pointer. Makes it easier to keep track of alignment and extend nested structures without ruining anything.
2017-12-01Groups and collection: initial integrationDalai Felinto
Since we are ditching layers from Blender (2.8) we need a replacement to control groups visibility. This commit introduces collections as the building blocks for groups, allowing users to control visibility as well as overrides for groups. Features ======== * Groups now have collections This way you can change the visibility of a collection inside a group, and add overrides which are part of the group and are prioritized over other overrides. * Outliner Groups can inspect their collections, change visibility, and add/remove members. To change an override of a group collection, you need to select an instance of the group, and then you can choose "group" in the collection properties editor to edit this group active collection instead of the view layer one. * Dupli groups overrides We can now have multiple instances of the same group with an original "override" and different overrides depending on the collection the instanced object is part of. Technical ========= * Layers We use the same api for groups and scene as much as possible. Reviewers: sergey (depsgraph), mont29 (read/write and user count) Differential Revision: https://developer.blender.org/D2892
2017-12-01Depsgraph: Remove legacy recalc flag from DNASergey Sharybin
2017-11-30Merge branch 'master' into blender2.8Sergey Sharybin
2017-11-30Transform: Use single flag with more meaningful name to prevent snapping to ↵Sergey Sharybin
a dependent object The idea of this flag was to prevent snapping onto an object which depends on currently modifying ones. Using single flag makes more sense here, and also makes it possible to replace some ob->recalc based magic with depsgraph query to set those flags.
2017-11-29Depsgraph: Remove object-specific flag which was storing update tagSergey Sharybin
There were following issues: - This was used in a similar way of DEG's ID update callback. No reason to have yet-another-way of informing editors/engines about changes. Better to keep regular update mechanism usable and fast for those needs. - It wasn't granular at all, and granularity in flags is something what we need to support anyway, even for existing ID update. - There is no reason to have it per-object. Depsgraph operates on IDs. - It wasn't clear when and who clears the flag, and was possible to run into conflicts.
2017-11-08Farewell Scene->baseDalai Felinto
While getting rid of Scene->base we got the following fixes: * Fix "Convert To" operator * Fix "NLA allowing to selected objects that are not selectable * Fix scene.objects (readonly, no option to link/unlink) Note: Collada needs to use the context SceneLayer for adding objects however I added a placeholder, so Collada maintainers can fix this properly.
2017-10-17Merge branch 'master' into blender2.8Campbell Barton
2017-10-17Cleanup: use 'e' prefix for enum typedefsCampbell Barton
Convention was only followed loosely, apply to DNA where changes aren't likely to conflict. (Skipped ModifierType for eg).
2017-09-27Merge branch 'master' into blender2.8Campbell Barton