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
2016-10-07Custom Manipulators Core BackendJulian Eisel
This commit lands the core backend of the Custom Manipulators project onto the blender2.8 branch. It is a generic backend for managinig interactive on-screen controls that can be integrated into any 2D or 3D edito. It's also already integrated into the window-manager and editor code where needed. NOTE: The changes here should not be visible for users at all. It's really just a back-end patch. Neither does this include any RNA or Python integration. Of course, there's still lots of work ahead for custom manipulators, but this is a big milestone. WIP code that actually uses this backend can be found in the 'custom-manipulators' branch (previously called 'wiggly-widgets'). The work here isn't completely my own, all the initial work was done by @Antony Riakiotakis (psy-fi) and - although it has changed a lot since them - it's still the same in essence. He definitely deserves a big credit! Some changes in this patch were also done by @Campbell Barton (campbellbarton). Thank you guys! Merge accepted by @brecht and @merwin. Patch: https://developer.blender.org/D2232 Code documentation: https://wiki.blender.org/index.php/Dev:2.8/Source/Custom_Manipulator Main task: https://developer.blender.org/T47343 More info: https://code.blender.org/2015/09/the-custom-manipulator-project-widget-project/
2016-08-21Merge branch 'master' into blender2.8Bastien Montagne
In addition to pack of conflicts listed below, also had to comment out particle part of new Alembic code... :/ Conflicts: intern/ghost/intern/GHOST_WindowWin32.cpp source/blender/blenkernel/BKE_effect.h source/blender/blenkernel/BKE_pointcache.h source/blender/blenkernel/intern/cloth.c source/blender/blenkernel/intern/depsgraph.c source/blender/blenkernel/intern/dynamicpaint.c source/blender/blenkernel/intern/effect.c source/blender/blenkernel/intern/particle_system.c source/blender/blenkernel/intern/pointcache.c source/blender/blenkernel/intern/rigidbody.c source/blender/blenkernel/intern/smoke.c source/blender/blenkernel/intern/softbody.c source/blender/depsgraph/intern/builder/deg_builder_relations.cc source/blender/gpu/intern/gpu_debug.c source/blender/makesdna/DNA_object_types.h source/blender/makesrna/intern/rna_particle.c
2016-08-18NDOF: compile 3D mouse code only if WITH_INPUT_NDOFMike Erwin
When WITH_INPUT_NDOF is disabled, 3D mouse handling code is removed from: - GHOST (was mostly done, finished the job) - window manager - various editors - RNA - keymaps The input tab of user prefs does not show 3D mouse settings. Key map editor does not show NDOF mappings. DNA does not change. On my Mac the compiled binary is 42KB smaller after this change. It runs fine WITH_INPUT_NDOF on or off.
2016-04-16Removed the ND_PARTICLE notifier and outliner particle elements.Lukas Tönne
2015-08-19Final 'FileBrowser First Stage' merge.Bastien Montagne
It basically rewrites most of filelist.c, with some more limited changes in other areas of filebrowser. From user perspective, it: * Removes some info in 'long' drawing mode (owner, permissions) - OS-specific data that do not really matter in Blender! * Makes short/long display 'fixed' size (among four choices, like thumbnails mode). * Allows to list several layers of dirtree at once, in a flat way (inside .blend files and/or real directories). * Consequently, adds datablocks types filtering. * Uses way less RAM when listing big directories, especially in thumbnail mode (we are talking of several hundred of MiB spared). * Generates thumbnails way faster. From code perspective, it: * Is ready for asset engine needs (on data structure level in filebrowser's listing). * Simplifies and makes 'generic' file listing much lighter. * Separates file listing in three different aspects: ** 'generic' filelisting (in BLI), which becomes a shallow wrapper around stat struct. ** 'filebrowser drawing' filelisting, which only contains current visible subset of the whole list (sliding window), with extra drawing data (strings for size, date/time, preview, etc.). ** 'asset-ready' filelisting, which is used for operations common to 'basic' filehandling and future asset-related one. * Uses uuid's to handle file selection/state in the browser, instead of using flags in filelisting items. * Uses much lighter BLI_task handling for previews, instead of heavy 'job' system (using the new 'notifier' timer to handle UI refresh, in similar way to jobs). * Moves .blend datablocks preview handling to IMB_thumbnail (necessary to avoid storing all datablock previews at once, and gives better consistency and performances too). Revision: https://developer.blender.org/D1316 Thanks to Campbell & Sergey for the reviews. :)
2015-04-27Cleanup: rename GRAB_POINTER -> GRAB_CURSORCampbell Barton
Term pointer is overloaded already.
2015-04-15Cleanup: use const for event->tablet_dataCampbell Barton
2015-04-07Revert Sticky Keys (and everything related to that)Julian Eisel
Our current keymap doesn't give us enough room to make such changes in the event system. To fix small issues caused by this, we would need to do drastic changes in Blender's keymaps and internal handling. It was worth a try, but it didn't work. I can write down a more descriptive statement in a few days, but for now I need a break of this stuff.
2015-04-03Sticky Keys backendJulian Eisel
Design task: T42339 Differential Revision: D840 Initial implementation proposal: T41867 Short description: With this we can distinguish between holding and tabbing a key. Useful is this if we want to assign to operators to a single shortcut. If two operators are assigned to one shortcut, we call this a sticky key. More info is accessible through the design task and the diff. A few people that were involved with this: * Sean Olson for stressing me with this burden ;) - It is his enthusiasm that pushed me forward to get this done * Campbell and Antony for the code and design review * Ton for the design review * All the other people that gave feedback on the patch and helped to make this possible A big "Thank You" for you all!
2015-03-28Cleanup: redundant struct declarationsCampbell Barton
2015-02-14cleanup: doxy commentsCampbell Barton
2015-01-19WM: add a notifier for camera/viewport optionsCampbell Barton
Added so viewport options only used in a camera view wont cause all 3d-views to redraw.
2015-01-06Event System Cleanup: Modifier Key Assignment Switchjulianeisel
Was quite messy previously, think this is much more readable and easier to follow.
2014-12-08Cleanup: remove unused operator-type memberCampbell Barton
2014-12-07Input Method Editor (IME) support for text buttonsSeverin
Original patch by @random (D765) with some minor work done by @campbell and me. At this place, I'd like call out a number of people who were involved and deserve a big "Thank you!": * At the first place @randon who developed and submitted the patch * The Blendercn community which helped a lot with testing - espacially * @yuzukyo, @leon_cheung and @kjym3 * @campbellbarton, @mont29 and @sergey for their help and advises during * review * @ton who realized the importance of this early on and asked me for * reviewing We are still not finished, as this is only the first part of the implementaion, but there's more to come!
2014-11-30Grease Pencil - Storyboarding Features (merge from GPencil_EditStrokes branch)Joshua Leung
This merge-commit brings in a number of new features and workflow/UI improvements for working with Grease Pencil. While these were originally targetted at improving the workflow for creating 3D storyboards in Blender using the Grease Pencil, many of these changes should also prove useful in other workflows too. The main highlights here are: 1) It is now possible to edit Grease Pencil strokes - Use D Tab, or toggle the "Enable Editing" toggles in the Toolbar/Properties regions to enter "Stroke Edit Mode". In this mode, many common editing tools will operate on Grease Pencil stroke points instead. - Tools implemented include Select, Select All/Border/Circle/Linked/More/Less, Grab, Rotate, Scale, Bend, Shear, To Sphere, Mirror, Duplicate, Delete. - Proportional Editing works when using the transform tools 2) Grease Pencil stroke settings can now be animated NOTE: Currently drivers don't work, but if time allows, this may still be added before the release. 3) Strokes can be drawn with "filled" interiors, using a separate set of colour/opacity settings to the ones used for the lines themselves. This makes use of OpenGL filled polys, which has the limitation of only being able to fill convex shapes. Some artifacts may be visible on concave shapes (e.g. pacman's mouth will be overdrawn) 4) "Volumetric Strokes" - An alternative drawing technique for stroke drawing has been added which draws strokes as a series of screen-aligned discs. While this was originally a partial experimental technique at getting better quality 3D lines, the effects possible using this technique were interesting enough to warrant making this a dedicated feature. Best results when partial opacity and large stroke widths are used. 5) Improved Onion Skinning Support - Different colours can be selected for the before/after ghosts. To do so, enable the "colour wheel" toggle beside the Onion Skinning toggle, and set the colours accordingly. - Different numbers of ghosts can be shown before/after the current frame 6) Grease Pencil datablocks are now attached to the scene by default instead of the active object. - For a long time, the object-attachment has proved to be quite problematic for users to keep track of. Now that this is done at scene level, it is easier for most users to use. - An exception for old files (and for any addons which may benefit from object attachment instead), is that if the active object has a Grease Pencil datablock, that will be used instead. - It is not currently possible to choose object-attachment from the UI, but it is simple to do this from the console instead, by doing: context.active_object.grease_pencil = bpy.data.grease_pencil["blah"] 7) Various UI Cleanups - The layers UI has been cleaned up to use a list instead of the nested-panels design. Apart from saving space, this is also much nicer to look at now. - The UI code is now all defined in Python. To support this, it has been necessary to add some new context properties to make it easier to access these settings. e.g. "gpencil_data" for the datablock "active_gpencil_layer" and "active_gpencil_frame" for active data, "editable_gpencil_strokes" for the strokes that can be edited - The "stroke placement/alignment" settings (previously "Drawing Settings" at the bottom of the Grease Pencil panel in the Properties Region) is now located in the toolbar. These were more toolsettings than properties for how GPencil got drawn. - "Use Sketching Sessions" has been renamed "Continuous Drawing", as per a suggestion for an earlier discussion on developer.blender.org - By default, the painting operator will wait for a mouse button to be pressed before it starts creating the stroke. This is to make it easier to include this operator in various toolbars/menus/etc. To get it immediately starting (as when you hold down DKEy to draw), set "wait_for_input" to False. - GPencil Layers can be rearranged in the "Grease Pencil" mode of the Action Editor - Toolbar panels have been added to all the other editors which support these. 8) Pie menus for quick-access to tools A set of experimental pie menus has been included for quick access to many tools and settings. It is not necessary to use these to get things done, but they have been designed to help make certain common tasks easier. - Ctrl-D = The main pie menu. Reveals tools in a context sensitive and spatially stable manner. - D Q = "Quick Settings" pie. This allows quick access to the active layer's settings. Notably, colours, thickness, and turning onion skinning on/off.
2014-09-16Fix T41818: Missing refresh on Undo for nodes (mask example)Sergey Sharybin
Added a special notifier now NC_WM|ND_UNDO in order to deal with such cases and now compositor/image will refresh when undo happens. There are much more ways to fail compo to update the resul, like undoing while it's not visible and so, but as mont29 said -- let's at least fix obvious crap in the workflow.
2014-08-26CommentsCampbell Barton
2014-07-21GSOC 2013 paintAntony Riakiotakis
Yep, at last it's here! There are a few minor issues remaining but development can go on in master after discussion at blender institute. For full list of features see: http://wiki.blender.org/index.php/Dev:Ref/Release_Notes/2.72/Painting Thanks to Sergey and Campbell for the extensive review and to the countless artists that have given their input and reported issues during development.
2014-06-03Code cleanup: use typedefs for ui handler functionsCampbell Barton
2014-04-01Code cleanup: remove TRUE/FALSE & WITH_BOOL_COMPAT defineCampbell Barton
2014-02-18NDOF: Fix for fly/walk mode ignoring axis invert optionsCampbell Barton
2014-01-29Option to lock the interface while renderingSergey Sharybin
Added function called WM_set_locked_interface which does two things: - Prevents event queue from being handled, so no operators (see below) or values are even possible to run or change. This prevents any kind of "destructive" action performed from user while rendering. - Locks interface refresh for regions which does have lock set to truth in their template. Currently it's just a 3D viewport, but in the future more regions could be considered unsafe, or we could want to lock different parts of interface when doing different jobs. This is needed because 3D viewport could be using or changing the same data as renderer currently uses, leading to threading conflict. Notifiers are still allowed to handle, so render progress is seen on the screen, but would need to doublecheck on this, in terms some notifiers could be changing the data. For now interface locking happens for render job only in case "Lock Interface" checkbox is enabled. Other tools like backing would also benefit of this option. It is possible to mark operator as safe to be used in locked interface mode by adding OPTYPE_ALLOW_LOCKED bit to operator template flags. This bit is completely handled by wm_evem_system, not with operator run routines, so it's still possible to run operators from drivers and handlers. Currently allowed image editor navigation and zooming. Reviewers: brecht, campbellbarton Reviewed By: campbellbarton Differential Revision: https://developer.blender.org/D142
2013-12-18Game Engine: Level of detail support and toolsDaniel Stokes
Levels of detail can be added and modified in the object panel. The object panel also contains new tools for generating levels of detail, setting up levels of detail based on object names (useful for importing), and clearing an object's level of detail settings. This is meant as a game engine feature, though the level of details settings can be previewed in the viewport. Reviewed By: moguri, nexyon, brecht Differential Revision: http://developer.blender.org/D109
2013-11-20* Remove more code for stars, missed those. Sorry!Thomas Dinges
2013-10-31remove return argument from wmOperatorType->cancel, was only ever returning ↵Campbell Barton
OPERATOR_CANCELLED.
2013-09-24Fix #36783: click outside splash screen to close it would not highlight theBrecht Van Lommel
button under the mouse, and so clicking the button failed without first moving the mouse. Similar issues could happen with popups and switching windows. The problem is that a notifier was being used to deactivate possible other activated buttons, but as notifiers are delayed it could undo the correct activation too. If anyone notices hanging tooltips or other issues after this fix, please report them.
2013-09-01Move GCC attributes into a centraized definesSergey Sharybin
Instead of having ifdef __GNUC__ all over the headers to use special compiler's hints use a special file where all things like this are concentrated. Makes code easier to follow and allows to manage special attributes in more efficient way. Thanks Campbell for review!
2013-06-25Fix unnecessary 3D viewport redraws in various cases, in particular when editingBrecht Van Lommel
node materials. Area and region listener callbacks now get the screen and area pointers passed, so they can do more fine grained checks to see if redraw is really needed, for example depending on the 3D view drawtype.
2013-06-18use booleans for operator check functions.Campbell Barton
2013-05-15Attempt to fix #35057 and #35372: slow texture painting performance.Brecht Van Lommel
After the paint refactoring for 2.67, the OpenGL texture was getting updated for every stroke point, rather than once for every redraw. With a small brush radius and low spacing the number of stroke points can be quite large, which might have a big performance impact depending on the graphics card / drivers. Also for 2D image paint, avoid redrawing the button panels and properties editor during painting. There is another possible cause for slowdowns with 3D texture painting which was not fixed. Projection painting is creating and destroying threads for every stroke point. Depending on the CPU/OS there might be a lot of overhead in doing that if the brush size is small.
2013-03-23A major code update for making the DNA file specification of Freestyle settingsTamito Kajiyama
and RNA for it independent of the build flag for enabling Freestyle. Suggested by Sergey Sharybin through a code review of the branch. * Many #ifdef WITH_FREESTYLE blocks were removed to always have Freestyle-specific DNA file specification and RNA for it built in Blender. This will allow Freestyle setting survive even when a non-Freestyle build is used for loading and saving files. It is noted that operations are still conditionally built through #ifdef WITH_FREESTYLE blocks. * To this end, new blenkernel files BKE_freestyle.h and intern/freestyle.c have been added. All API functions in FRS_freestyle_config.h as well as some of those in FRS_freestyle.h were moved to the new files. Now the relocated API functions have BKE_ prefix instead of FRS_.
2013-03-18Merged changes in the trunk up to revision 55357.Tamito Kajiyama
Resolved conflicts: release/datafiles/startup.blend source/blender/editors/space_nla/nla_buttons.c Also updated source/blender/blenkernel/intern/linestyle.c as a follow-up of recent changes for the use of bool.
2013-03-15Add the possibility to define the translation context for py rna classes ↵Bastien Montagne
(operators, panels and menus). Thanks to Campell and Brecht for the reviews!
2013-03-13code cleanup: use const events for modal and invoke operators.Campbell Barton
2013-02-10Merged changes in the trunk up to revision 54421.Tamito Kajiyama
Conflicts resolved: release/datafiles/startup.blend release/scripts/startup/bl_ui/properties_render.py source/blender/SConscript source/blender/blenloader/intern/readfile.c
2013-02-01code cleanup: make wmEvent's 'const' in interface code (reduces manual ↵Campbell Barton
checking that they are not modified).
2013-01-27Merged changes in the trunk up to revision 54110.Tamito Kajiyama
Conflicts resolved: source/blender/blenfont/SConscript source/blender/blenkernel/intern/subsurf_ccg.c source/blender/makesdna/intern/makesdna.c source/blender/makesrna/intern/rna_scene.c
2013-01-17fix airbrush + tablet pressure bug.Campbell Barton
Timer events used by the airbrush would always give a pressure of 1.0, ignoring the tablets real pressure in all paint modes. Move tablet data into its own struct-member so it can be used with timer events.
2012-12-23Merged changes in the trunk up to revision 53280.Tamito Kajiyama
2012-12-22code cleanup and minor changesCampbell Barton
- use DummyRNA_NULL_items to replace empty enums. - replace calloc with malloc in copy_dverts since its copied over after. - add wmGesture->userdata, so operators that use gestures have somewhere to store their own data (not used yet).
2012-12-20Another big patch set by Bastien Montagne, thanks a lot!Tamito Kajiyama
* Made Freestyle optional (turned on by default). * Fix for missing bpath.c updates in the previous merge of trunk changes.
2012-12-01Merged changes in the trunk up to revision 52690.Tamito Kajiyama
Conflicts resolved: release/datafiles/startup.blend source/blender/blenlib/intern/bpath.c
2012-11-26Fix #33310: unnecessary redraw of outliner when editing materials and textures.Brecht Van Lommel
2012-11-26Merged changes in the trunk up to revision 52546.Tamito Kajiyama
Conflicts resolved: release/datafiles/startup.blend release/scripts/startup/bl_ui/space_view3d.py source/blender/blenkernel/intern/idcode.c
2012-11-25Fix #33296: uv editing did unnecessary outliner redraw, giving slowdown.Brecht Van Lommel
2012-11-04Merged changes in the trunk up to revision 51853.Tamito Kajiyama
Conflicts resolved: source/blender/blenloader/intern/readfile.c source/blender/bmesh/operators/bmo_utils.c This commit also includes a fix of a bug identified during the merge and committed in revision 51853. Thanks Thomas (dingto) for the timely fix!
2012-10-31Bugfix #33032Ton Roosendaal
(since 2010) - Using 2-button mouse emulation (common for tablets) - Press LMB, start painting, press ALT, release LMB - This kept painting to run, since the release event was a MMB, not handled by paint code.
2012-10-29Merged changes in the trunk up to revision 51718.Tamito Kajiyama
Conflicts resolved: source/blender/blenloader/intern/readfile.c source/blender/makesrna/intern/rna_scene.c release/datafiles/startup.blend
2012-10-28Event system cleanup: bringing KM_CLICK back in control. Ton Roosendaal
- Solved Modal Keymap hijack of event codes (with note this should be coded better) - Added dedicated state variable check_click in event to trigger it All this in an attempt to get code understandable and predictable again. :) This solves error like: - editmode mesh - select a vertex - grab it, press control for grid snap - on LMB assign, it also did an extrude.