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
2017-06-06Cycles: Fix infinite update when using duplisSergey Sharybin
The issue was caused by usage of address of dupli-object (which will vary from iteration process to iteration process) as something denoting whether we've got the data synchronized to Cycles or not. For now solved by using address of original object (the one DupliObject points to) as a pointer for the map. Need to do more thoughts about this.
2017-06-06Cycles: Support rendering objects from dupli-listSergey Sharybin
This commit extends the work from Dalai made around scene iterators to support iterating into objects from dupli-lists. Changes can be summarized as: - Depsgraph iterator will hold pointer to an object which created current duplilist. It is available via `dupli_parent` field of the iterator. It is only set when duplilist is not NULL and guaranteed to be NULL for all other cases. - Introduced new depsgraph.duplis collection which gives a more extended information about depsgraph iterator. It is basically a collection on top of DEGObjectsIteratorData. It is used to provide access to such data as persistent ID, generated space and so on. Things which still needs to be done/finished/clarified: - Need to introduce some sort of `is_instance` boolean property which will indicate Python and C++ RNA that we are inside of dupli-list. - Introduce a way to skip dupli-list for particular objects. So, for example, if we are culling object due to distance we can skip all objects it was duplicating. - Introduce a way to skip particular duplicators. So we can skip iterating into particle system. - Introduce some cleaner API for C side of operators to access all data such as persistent ID and friends. This way we wouldn't need de-reference iterator and could keep access to such data really abstract. Who knows how we'll be storing internal state of the operator in the future. While there is still stuff to do, current state works and moves us in the proper direction.
2017-06-06Make particle size follow world space instead of screen spaceLuca Rood
2017-06-03Eevee: Polishing of Exponential Shadow mappingClément Foucault
Added exponent parameter to tweak light bleeding. Added depth bias to the shadow test. Added better blurring using 32 samples.
2017-06-03UI: Change shadow map bias tooltipClément Foucault
2017-06-03Eevee: Update Light data panelClément Foucault
2017-06-02Cleanup: Trailign whitespaceSergey Sharybin
2017-06-02Fixup for 824bf261f773 so Cycles does not show dupliDalai Felinto
Cycles is using rna_depsgraph, not rna_scene. Duplis are still not working there but now at least it shows it was showing before the commit. To show duplis in Cycles do: - data->flag = DEG_OBJECT_ITER_FLAG_SET; + data->flag = DEG_OBJECT_ITER_FLAG_ALL;
2017-06-02Silence annoying rna warnings from EeveeDalai Felinto
2017-06-02Initial implememtation for dupli objectsDalai Felinto
Now dupli groups, objects, particles, ... are all working. This introduces a flag for the iterator to determine whether we go over Set and dupli objects or not. Important to remember to keep the iteration of DEG_ as readonly. Cycles is not working well for dupli groups, and it's memleaking for dupli particles. So for now we iterate over main objects and set only, not dupli. To change that go in rna_scene.c and: -DEG_OBJECT_ITER(graph, ob, DEG_OBJECT_ITER_FLAG_SET) +DEG_OBJECT_ITER(graph, ob, DEG_OBJECT_ITER_FLAG_ALL) Review and suggestions by Sergey Sharybin
2017-06-01Move custom transform orientations to workspaceJulian Eisel
This commit moves the list of transform orientations from scenes to workspaces. Main reasons for this are: * Transform orientations are UI data and should not be stored in the scene. * Introducion of workspaces caused some (expected) glitches with transform orientations. Mainly when removing one. * Improves code. More technically speaking, this commit does: * Move list of custom transform orientations from Scene to WorkSpace struct. * Store active transform orientation index separate from View3D.twmode (twmode can only be set to preprocessor defined values now). * Display custom transform orientation name in header when transforming in it (used to show "global" which isn't really correct).
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-05-31Merge branch 'master' into blender2.8Sergey Sharybin
2017-05-30Alembic: simplified sub-frame samplingSybren A. Stüvel
It's now less confusing (for example, using nr_of_samples directly, instead of using 1 / 1 / nr_of_samples). Might also have fixed a bug. Also added unittests.
2017-05-30Tweak UI messgae checking macro, identifiers are not always available...Bastien Montagne
2017-05-30Silence warning in RNA when building without fluidsim.Bastien Montagne
2017-05-30Fix strict compiler warning in C++ RNASergey Sharybin
Hopefully it is supported by all the compilers.
2017-05-30Face Maps: custom-data, UI and RNA APICampbell Barton
Add face maps, needed for face-map widgets, only data structure, widgets will be separate commit. This comes from 'custom-manipulator' branch with only minor changes.
2017-05-30Fix T50775: Missing parenthesis on fluid bake button.Bastien Montagne
Yep, that got reported... Was slightly more involved than UI message fixing though: RNA string length getter shall return exact lentgh of string (same as strlen), not size of allocated buffer to contain it! Otherwise, NULL final char leaks in and...
2017-05-29Fix T51657: ID user count error when deleting a newly created object with an ↵Bastien Montagne
assigned dupli_group Stupid RNA accessor was not handling usercount at all on Object.dupli_group...
2017-05-29Rename Eevee post process effectsDalai Felinto
No need to have "Enable" in their names.
2017-05-29Fix crash on rna show diffuse color updateDalai Felinto
(untested because texture painting is not working)
2017-05-29Fix crash when setting sculpt settingsDalai Felinto
2017-05-29Access node backdrop as vectorCampbell Barton
Minor change from 'custom-manipulators' branch, avoid conflicts.
2017-05-29Add some missing VSE tooltipsAaron Carlisle
Part of T51061 Differential Revision: https://developer.blender.org/D2664
2017-05-28Merge branch 'master' into blender2.8Bastien Montagne
2017-05-27Remove MinGW supportAaron Carlisle
The Issue ======= For a long time now MinGW has been unsupported and unmaintained and at this point, it looks like something that we should just leave behind and move on. Why Remove ========== One of the big motivations for MinGW back in the day is that it was free compared to MSVC which was licensed based. However, now that this is no longer true we have basically stopped updating the need CMake files. Along with the CMake files, there are several patches to the extern libs needed to make this work. For example, see: https://developer.blender.org/diffusion/B/browse/master/extern/carve/patches/mingw_w64.patch If we wanted to keep MinGW then we would need to make more custom patches to the external libs and this is not something our platform maintainers are willing to do. For example, here is the patches needed to build python: https://github.com/Alexpux/MINGW-packages/tree/master/mingw-w64-python3 Fixes T51301 Differential Revision: https://developer.blender.org/D2648
2017-05-26Rename BKE_layer_collection_active > BKE_layer_collection_get_activeDalai Felinto
2017-05-26Merge branch 'master' into blender2.8Campbell Barton
2017-05-26Depsgraph: Rename DAG > DEG functions from depsgraph_query.ccDalai Felinto
2017-05-25Docs: Image.has_data clarificationCampbell Barton
Resolves T51615
2017-05-25TexFace removal part 3Campbell Barton
- MTexPoly structure & layer type. - The 'Mesh.uv_textures' layers. - DerivedMesh TexFace drawing. - Scripts & UI.
2017-05-24TexFace removal part 2Campbell Barton
- Derived-mesh drawing. - All non UV members of TexFace structs. MTexPoly is now redundant but keeping with a dummy member, will check on complete removal later.
2017-05-24Remove TexFace, per-face imagesCampbell Barton
TexFace complicates the now more popular shading pipeline by having per-face images, see: T51382 for details. To keep the ability to select a per-material edit-image (used with UV-mapping workflow), the material now stores an image which will be set when changing images in edit-mode. This is used as a bake-target when not using Cycles too.
2017-05-24Fix T51561: Normal maps fail w/ quad + eeveeCampbell Barton
Generalize derived-mesh tangent calculation so it can be used by Batch cache creation too.
2017-05-23Merge branch 'master' into blender2.8Sybren A. Stüvel
2017-05-23Fix T51592: Simplify AO Cycles setting remains active while Simplify is disabledSergey Sharybin
2017-05-22Merge branch 'master' into blender2.8Bastien Montagne
Conflicts: source/blender/blenloader/intern/versioning_270.c
2017-05-22Fix T51308: Bright/Contrast Doesn't respect Pre-multiplied AlphaSergey Sharybin
Brightness/contrast node was changing color but did not modify alpha or ensured colors are premultiplied on the output. This was giving artifacts later on unless alpha was manually converted. Compositor is supposed to work in premultiplied alpha (except of some really corner cases) so it makes sense to ensure premultiplied alpha after brightness/contrast node. This is now done as an option enabled by default, so we: (a) Keep compatibility with old files. (b) Have correct behavior for newly created files. Later on we can get rid of this option.
2017-05-22Fix T51318: Non-update of preview when switching from world to lamp panel.Bastien Montagne
Lamp preview panel is in DATA buttons context...
2017-05-22Fix T51578: Blender 2.8 crash when select Dopesheet->Grease PencilDalai Felinto
2017-05-21Cleanup: warningsCampbell Barton
2017-05-19Change particle draw_size default and limitsLuca Rood
Particle draw size can now no longer be less than 1px, and the default value has been changed to 4.
2017-05-19Merge branch 'master' into blender2.8Bastien Montagne
Conflicts: source/blender/blenloader/intern/versioning_270.c source/blender/depsgraph/intern/depsgraph_tag.cc source/blender/editors/mask/mask_draw.c
2017-05-19Remove use_display_lists optionCampbell Barton
2017-05-19remove GPU_geometry_shader_support, instanced_drawing_support queriesMike Erwin
These are always supported now - instancing as of GL 3.1 - geometry shaders as of GL 3.2 The change to rna_scene.c could use some cleanup, since we don't really need a runtime query function.
2017-05-18Remove "Modern Viewport"Dalai Felinto
The "Modern Viewport" was an option in the Viewport panel that would use the new fancy wire frame code and some depth debugging functionality. This was introduced as a quick and dirty way to get the new drawing system showing in the viewport. Overtime we built a complete Draw Manager system, leaving this original approach deprecated which adds clutter to Blender code since it would be removed sooner or later. Note: The new fancy wireframes and related shaders (white out other objects) are still in Blender code, though you can't use them anymore. If we are to have any of those drawing options they should be integrated in the new draw manager, instead of integrated in the old drawing pipeline as it was originally coded.
2017-05-18Rename Iterator struct to BLI_IteratorDalai Felinto
2017-05-16Fix T50673: OpenEXR multilayer image truncated on saveSergey Sharybin
The issue is in OpenEXR itself. See the report fomr some more details.
2017-05-16Fix info header stats to iterator over layer instead of sceneDalai Felinto
Although this is working fine, there are two changes expected in the new future once depsgraph copy on write is implemented: 1) To call ED_info_stats_clear a callback from depsgraph, instead of the notifier system. (that would also allow us to clear only one SceneLayer). 2) To store/get stats from the evaluated SceneLayer, as well as iterate over the evaluated objects as well.