Commit Graph

56749 Commits

Author SHA1 Message Date
Campbell Barton
4ad0d33d69 UI: auto-run error could push buttons off the visible header 2014-12-01 14:54:13 +01:00
Joshua Leung
e7de96f5eb Fix: Strokes in image editor can finally be drawn using "fancy" 2D stroke tesslation
Inspired by the previous commit, I've finally found a way to fix a long standing
limitation/bug which meant that Grease Pencil strokes in the Image Editor could
not be drawn using the fancy stroke tesselation code, and were instead done using
the plain old OpenGL strokes instead.
2014-12-02 01:19:49 +13:00
Joshua Leung
dfc56f1776 Fix: Volumetric strokes now draw correctly in the Image Editor
This needed a correction factor (currently hardcoded to be 1 / 1000)
as it seems that the image editor uses 1 unit as its MAXIMUM dimension
whereas everything else uses 1 unit = 1 pixel.
2014-12-02 01:19:48 +13:00
Joshua Leung
965a49a3e6 Fix: Forgot to set fill colour when drawing 2D filled strokes 2014-12-02 01:19:48 +13:00
Joshua Leung
11ad517536 Fix: Changing Grease Pencil datablocks updates the view 2014-12-02 01:19:46 +13:00
Gaia Clary
8d42c2f3ea Improved Collada Armature Import
Collada does not support Bone length. It has only Joints.
This patch tries to improve the necessary "guesswork" for
importing Rigs.

Differential Revision: https://developer.blender.org/D920
2014-12-01 12:08:26 +01:00
Joshua Leung
e240bd3932 Re-enabling keymappings for straight line and poly drawing
These are no longer blocked by the pie hotkeys, so they shouldn't be a problem
2014-12-01 12:37:20 +13:00
Joshua Leung
2334e5ecd4 Bugfix T42763: In GPencil Edit Strokes: Proportional edit mode hidden when there is no active object in scene 2014-12-01 12:36:05 +13:00
Alexandr Kuznetsov
dc199369d1 Fix T42426. Add support for UK "`" key.
Because key == OEM_8, there no clear conversion for different keyboard layouts.
Also, we must map key to GhostKey for shortcuts.
2014-11-30 14:44:53 -05:00
Alexandr Kuznetsov
29c2b70a2c Fixed T35128. Progress bar sync on Windows.
Apply for all windows instead of active, otherwise progress doesn't update.
2014-11-30 13:33:51 -05:00
Campbell Barton
b7d053beaa Cleanup: warnings & space 2014-11-30 19:28:59 +01:00
Bastien Montagne
fd4cd626be More fixes related to D&D:
* Same issue as T42760 was also reproducible in some cases in 3DView.
* You got an error message about missing RNA prop in some drop-called operators.
* You could not drop a movie file in nodes, (some cases of) 3DView, nor ImageEditor.
2014-11-30 17:21:39 +01:00
Bastien Montagne
503dbb65c0 Fix T42760: Drag-to-add feature fails in a case.
We have to unset 'name' when we set 'filepath', and vice-versa.
2014-11-30 17:21:39 +01:00
Joshua Leung
b12dbdd93b Minor tweaks to quick palettes to avoid conflicts
For now, let's move the GPencil pies to avoid conflicts with dyntopo and other things
* DQ = Main pie (previously Ctrl-D; DD was too unpredictable)
* DW = Settings pie
2014-12-01 02:49:36 +13:00
Joshua Leung
f0278387e8 Typo fix for comment 2014-12-01 02:49:35 +13:00
Bastien Montagne
9ddc4b1fba Cleanup: tag unused args as such. 2014-11-30 14:39:11 +01:00
Joshua Leung
5f4c99e66f Fix for wrong RNA type causing asserts to fail in debug mode 2014-12-01 02:28:41 +13:00
Joshua Leung
75aaa476cb Removing last vestigial remains of old C-based UI for Grease Pencil
I'd kept the code around in the codebase until after the merge back to master
to avoid having too many conflicts if things changed there (or in case we
needed to roll back). Now, it's safe to jettison this!
2014-12-01 02:24:55 +13:00
Joshua Leung
14b951747f Grease Pencil - Storyboarding Features (merge from GPencil_EditStrokes branch)
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-12-01 01:52:06 +13:00
Campbell Barton
46c80d5d11 Correct includes for win32 2014-11-29 19:12:33 +01:00
Campbell Barton
1cb59394ae Cleanup: use const, avoid float -> double in matrix invert 2014-11-29 17:49:38 +01:00
Sergey Sharybin
46d2b6cd0b Followup for the previous commit
Don't have collada here, so need to use buildbot to test,,
2014-11-29 17:52:02 +05:00
Sergey Sharybin
0c60129331 Attempt to fix collada compilation after recent cleanup
This one call really smart script to check unused headers, huh? ;)
2014-11-29 17:47:08 +05:00
Joshua Leung
2491dc702b Compile Fix: BKE_mesh.h is needed for the BKE_MESH_OMP_LIMIT define 2014-11-29 12:17:24 +13:00
Campbell Barton
0154096fd5 Cleanup: unused headers 2014-11-28 23:12:12 +01:00
Campbell Barton
915235c87a Cleanup: unused headers 2014-11-28 22:16:14 +01:00
Campbell Barton
bcbbc66795 Cleanup: unused headers 2014-11-28 15:52:30 +01:00
Antony Riakiotakis
9afc5b09fd Delete GPU buffers if preference changes. 2014-11-28 15:15:19 +01:00
Antony Riakiotakis
2b7e1c6011 Cleanup GPU: get rid of some extremely legacy draw code.
Basically this commit gets rid of most of the derived mesh immediate mode
drawing (cases such as subsurf excluded). Even when VBO is turned off
in user preferences, we still use vertex arrays, which are very similar to
VBOs but memory is client side. Vertex arrays are OpenGL 1.1 so compatibility
is not an issue here.

Reviewers: campbellbarton, sergey, jwilkins

Differential Revision: https://developer.blender.org/D919
2014-11-28 14:38:18 +01:00
Antony Riakiotakis
c9675b460e Material not set in edit derived meshes after last material modification
commits.
2014-11-28 14:29:56 +01:00
Bastien Montagne
c979f2656d Fix for previous commit (forgot to update rev UID, sorry). 2014-11-28 13:00:00 +01:00
Bastien Montagne
143bac3350 Install_deps: switch to OSL 1.5.11 (ammended with blender-fixes). 2014-11-28 12:44:40 +01:00
Sergey Sharybin
f386f574b1 Cycles: Only report exporting curves if there are particle systems on the object 2014-11-28 16:16:50 +05:00
Sergey Sharybin
af18fb8036 Cycles: Code cleanup, remove dead code 2014-11-28 15:51:09 +05:00
Antony Riakiotakis
5561a0bbef Fix graph editor rename button resetting focus when escaping from it.
This is a copy of what the outliner does and seems to work.
2014-11-28 11:41:52 +01:00
Campbell Barton
2240c260c1 Cleanup: duplicate headers 2014-11-27 23:24:47 +01:00
Campbell Barton
6a45b2a232 Partial Fix T42652: Transform falloff for mesh islands
This doesn't currently do anything clever when a single vertex is shared by multiple islands
(uses closest only).
2014-11-27 21:40:01 +01:00
Antony Riakiotakis
f4f5f3b209 Addition/correction to previous commit:
subsurf needs the same modifications in its derived mesh function or
materials don't get updated at all anymore.
2014-11-27 20:12:46 +01:00
Antony Riakiotakis
2e8ba179f7 Fix T42653, solidify modifier not displaying correctly under edit mode.
Basically, our drawing code assumed we always use the edit mesh
materials, which can be different from the derived mesh
materials in modifiers doing overrides. We usually we want to use the
derived mesh when it is available instead.

There are two fixes here for both solid and textured mode. Unfortunately
the fixes do not help to make the display code less labyrinthian but I
expect this "should work" (tm and famous last words)

Solid mode fix is 95% from Bastien, thanks!
2014-11-27 19:19:55 +01:00
Campbell Barton
3d3f82a8df Transform: fix for fcurve transform crash
counting handles was out of sync, now use exact same logic.
2014-11-27 19:10:30 +01:00
Campbell Barton
ef8b0043f5 Transform: correct flag -> bool 2014-11-27 18:53:36 +01:00
Campbell Barton
eb62d47ff4 Fix own commit: broke add background image 2014-11-27 11:15:43 +01:00
Campbell Barton
e7cb4d2a0d API Docs: remove hardcoded self from shellscript 2014-11-26 20:24:04 +01:00
Dalai Felinto
cdcef1d993 Fix for walk navigation not working with stereo camera (multiview)
Reviewers: campbellbarton

Differential Revision: https://developer.blender.org/D917
2014-11-26 16:55:17 -02:00
Antony Riakiotakis
8152a6c66c Do not use mipmapping on envmaps, can cause discontinuities on
environmental mapping when crossing the seam boundary.

Also output our favourite magenda on missing texture.
2014-11-26 19:19:25 +01:00
Antony Riakiotakis
d21e254907 Fix GLSL drawing of math absolute node.
Patch by Romanov Alexander of blen4web team!

Differential: D842

Thanks for the patch!
2014-11-26 15:46:18 +01:00
Martijn Berger
77785ce708 cmake/windows Change python installation so it does not trigger on simple rebuilds 2014-11-26 15:30:13 +01:00
Tamito Kajiyama
3fea13ed6c Freestyle: Fix for view map caching not flashed properly in view port rendering. 2014-11-26 23:26:20 +09:00
Antony Riakiotakis
8fa55d95e4 World background working on cycle nodes.
This is added in the spirit of the general cycles GLSL system
which is pretty much WIP still.

This will only work on cycles at the moment but generating for blender
internal is possible too of course though it will be done in a separate
commit.

This hasn't been tested with all and every node in cycles, but
environment and regular textures with texture coordinates work.

There is some difference between the way cycles treats some coordinates,
which is in world space and the way GLSL treats them, which is in view
space.
We might want to explore and improve this further in the future.

...also </drumroll>
2014-11-26 15:07:26 +01:00
Campbell Barton
8bc84e10f5 CMake: correct own error using undefined var 2014-11-26 13:26:26 +01:00