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-05-02WM: utility to check if an operator will draw a UICampbell Barton
Checking if a redo operator will show something is needed to avoid empty redo popover.
2018-05-01Fix: Silence |RNA_boolean_get: WM_OT_save_as_mainfile.exit not found." ↵Joshua Leung
warning on exit The operator in question doesn't define this property. I'm commenting out for now in case another operator actually still uses it.
2018-05-01Tool System: support non-brush tools w/ paint modesCampbell Barton
Allows select, gradient tools not to conflict with brush keymap.
2018-04-30Fix linking brushes crashing on loadCampbell Barton
We need to link brushes for all windows that use a workspace.
2018-04-30Fix T54900: radial control drawing in wrong place after recent WM changes.Brecht Van Lommel
2018-04-30Fix Eevee shadows not working in certain cases, after recent WM changes.Brecht Van Lommel
2018-04-29UI: better support for dynamically sized regions in topbar.Brecht Van Lommel
Dynamically sized regions in the topbar were flickering due to only updating their size after redraws. Now there is an optional layout() callback for all regions in an area to do UI layout first, then refresh the region layout, and then do the actual drawing for each region. Task T54753
2018-04-29Fix missing NULL check when setting the toolCampbell Barton
2018-04-29Cleanup: warning, use STRNCPY macroCampbell Barton
2018-04-29Tool System: support data-blocks in toolsCampbell Barton
Needed so tools can set the active brush.
2018-04-28Python/UI: add more convenient API for drawing based on DPI.Brecht Van Lommel
system.ui_scale: size multiplier to use when drawing custom UI elements. system.ui_line_width: suggested line thickness and point size in pixels.
2018-04-28UI: fix incorrect scaling of manipulator widgets with DPI.Brecht Van Lommel
U.ui_scale is the setting from the user preferences and should never be used for drawing. UI_DPI_FAC is the final scale after DPI from the operating system is taken into account.
2018-04-28Cleanup: style, duplicate includesCampbell Barton
2018-04-27WM: new offscreen window draw method to replace all existing methods.Brecht Van Lommel
For Blender 2.8 we had to be compatible with very old OpenGL versions, and triple buffer was designed to work without offscreen rendering, by copying the the backbuffer to a texture right before swapping. This way we could avoid redrawing unchanged regions by copying them from this texture on the next redraws. Triple buffer used to suffer from poor performance and driver bugs on specific cards, so alternative draw methods remained available. Now that we require newer OpenGL, we can have just a single draw method that draw each region into an offscreen buffer, and then draws those to the screen. This has some advantages: * Poor 3D view performance when using Region Overlap should be solved now, since we can also cache overlapping regions in offscreen buffers. * Page flip, anaglyph and interlace stereo drawing can be a little faster by avoiding a copy to an intermediate texture. * The new 3D view drawing already writes to an offscreen buffer, which we can draw from directly instead of duplicating it to another buffer. * Eventually we will be able to remove depth and stencil buffers from the window and save memory, though at the moment there are still some tools using it so it's not possible yet. * This also fixes a bug with Eevee sampling not progressing with stereo drawing in the 3D viewport. Differential Revision: https://developer.blender.org/D3061
2018-04-27Fix build error after recent changes (missing FILE).Brecht Van Lommel
2018-04-27Tool System: publish/subscribe to tool changesCampbell Barton
2018-04-27WM: message bus rna utilkity macrosCampbell Barton
2018-04-25WM: Add GHOST lazy init for background mode.Clément Foucault
This allows for background rendering with EEVEE and other opengl render engine. I've only tested it on Linux for the moment so I can't say about other platforms. We do lazy init because we cannot assume we will need Ghost for rendering before having parsed all arguments and we cannot know if a script will trigger rendering. This is also because it currently does not work without any display server (blender will crash).
2018-04-25Fix T54806: Editors drawing glitch when using lasso selectionDalai Felinto
We should always reset to default glBlendFunc after done drawing.
2018-04-25Cleanup: typosCampbell Barton
2018-04-25UI: Apply remove redo regionCampbell Barton
This was a disabled part of the top-bar merge (code by @Severin) The only change made is to move to redo UI into a popover.
2018-04-24Hide top-bar in fullscreenJulian Eisel
Fullscreen as in the Alt+F10 fullscreen.
2018-04-24Manipulators: Enable AntiAliased drawing of manipulators by default.Clément Foucault
This exhibit some little artifacts inherent to GL_LINE/POLYHON_SMOOTH but it's far less distracting than really bad Aliasing.
2018-04-23Fix opening new windows would try to open global areas twiceJulian Eisel
Would cause weird & broken areas below the topbar.
2018-04-23Fix crash when opening file-browser through top-bar menusJulian Eisel
Was probably caused by top-bar merge.
2018-04-23Manipulators/Tools: always draw a cursor while interactingInes Almeida
Cursor can be a system one or drawn with OpenGL. Before, dragging the transform manipulator would hide the cursor and reset it to the initial positon.
2018-04-22Cleanup: trailing spacesCampbell Barton
Applied to newly added files in 2.8
2018-04-21Cleanup: styleCampbell Barton
2018-04-21Fix active region flickering in some cases, now always update before draw.Brecht Van Lommel
2018-04-20Dopesheet-Timeline: Removal of Timeline Editor!Joshua Leung
This commit removes all references to the old timeline editor. Unfortuantely, the removal of the Timeline spacetype defining functions has ended up breaking the version patching code I'd been working on earlier (as now, the editor gets marked as "unknown/info" before we get a chance to patch it!)
2018-04-20UI: New Global Top-Bar (WIP)Julian Eisel
== Main Features/Changes for Users * Add horizontal bar at top of all non-temp windows, consisting out of two horizontal sub-bars. * Upper sub-bar contains global menus (File, Render, etc.), tabs for workspaces and scene selector. * Lower sub-bar contains object mode selector, screen-layout and render-layer selector. Later operator and/or tool settings will be placed here. * Individual sections of the topbar are individually scrollable. * Workspace tabs can be double- or ctrl-clicked for renaming and contain 'x' icon for deleting. * Top-bar should scale nicely with DPI. * The lower half of the top-bar can be hided by dragging the lower top-bar edge up. Better hiding options are planned (e.g. hide in fullscreen modes). * Info editors at the top of the window and using the full window width with be replaced by the top-bar. * In fullscreen modes, no more info editor is added on top, the top-bar replaces it. == Technical Features/Changes * Adds initial support for global areas A global area is part of the window, not part of the regular screen-layout. I've added a macro iterator to iterate over both, global and screen-layout level areas. When iterating over areas, from now on developers should always consider if they have to include global areas. * Adds a TOPBAR editor type The editor type is hidden in the UI editor type menu. * Adds a variation of the ID template to display IDs as tab buttons (template_ID_tabs in BPY) * Does various changes to RNA button creation code to improve their appearance in the horizontal top-bar. * Adds support for dynamically sized regions. That is, regions that scale automatically to the layout bounds. The code for this is currently a big hack (it's based on drawing the UI multiple times). This should definitely be improved. * Adds a template for displaying operator properties optimized for the top-bar. This will probably change a lot still and is in fact disabled in code. Since the final top-bar design depends a lot on other 2.8 designs (mainly tool-system and workspaces), we decided to not show the operator or tool settings in the top-bar for now. That means most of the lower sub-bar is empty for the time being. NOTE: Top-bar or global area data is not written to files or SDNA. They are simply added to the window when opening Blender or reading a file. This allows us doing changes to the top-bar without having to care for compatibility. == ToDo's It's a bit hard to predict all the ToDo's here are the known main ones: * Add options for the new active-tool system and for operator redo to the topbar. * Automatically hide the top-bar in fullscreen modes. * General visual polish. * Top-bar drag & drop support (WIP in temp-tab_drag_drop). * Improve dynamic regions (should also fix some layout glitches). * Make internal terminology consistent. * Enable topbar file writing once design is more advanced. * Address TODO's and XXX's in code :) Thanks @brecht for the review! And @sergey for the complaining ;) Differential Revision: D2758
2018-04-20Remove Armature Sketching & RetargetCampbell Barton
While the feature is interesting, it's not much from what we can tell. Retargeting is an important feature but needs to fit in better with typical animation work-flows. See: T52809
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-19Cleanup: styleCampbell Barton
2018-04-18Workspaces: remove workspace engine, use 3D viewport draw mode instead.Brecht Van Lommel
ViewRender was removed, which means we can't get the render engine for files saved in 2.8. We assume that any files saved in 2.8 were intended to use Eevee and set the engine to that. A fix included with this is that .blend thumbails now draw with Clay mode, and never Eevee or Cycles. These were drawn with solid mode in 2.7, and should be very fast and not e.g. load heavy image textures. Differential Revision: https://developer.blender.org/D3156
2018-04-17Remove Shift+F2 and other related BGE keymapsDalai Felinto
Reported by Pablo Vazquez (venomgfx)
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-16Depsgraph: remove EvaluationContext, pass Depsgraph instead.Brecht Van Lommel
The depsgraph was always created within a fixed evaluation context. Passing both risks the depsgraph and evaluation context not matching, and it complicates the Python API where we'd have to expose both which is not so easy to understand. This also removes the global evaluation context in main, which assumed there to be a single active scene and view layer. Differential Revision: https://developer.blender.org/D3152
2018-04-13Depsgraph: don't pass evaluation context to update functions.Brecht Van Lommel
The depsgraph now contains all the state needed to evaluate it. Differential Revision: https://developer.blender.org/D3147
2018-04-13Depsgraph: remove engine type from evaluation context.Brecht Van Lommel
This was only used for viewport rendering, where we can just pass the engine type directly. There is no technical reason why we can't draw the same depsgrpah with different render engines. It also led to some weird things like requiring a render engine for snapping and raycast API functions. Differential Revision: https://developer.blender.org/D3145
2018-04-10WM: Fix a crash (assert) when creating a new window.Clément Foucault
This happened when creating a window with the cursor over the timeline area. I still don't know exactly what happened but for a reason batches were not reset in this case.
2018-04-08UI: Perf: Use GWN_draw_primitive for drawing triple buffers texture.Clément Foucault
2018-04-08Merge branch 'master' into blender2.8Sybren A. Stüvel
2018-04-06Cleanup: style, doxy headersCampbell Barton
2018-04-05UI: Add accelerator keys to quit confirmation popupJulian Eisel
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-04-03Missed in last mergeCampbell Barton
2018-04-02Merge branch 'master' into blender2.8Campbell Barton
2018-04-02Cleanup: move undo into it's own directoryCampbell Barton
Split out undo API from ED_util.h into ED_undo.h
2018-04-01Merge branch 'master' into blender2.8Campbell Barton
- 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).