Commit Graph

2003 Commits

Author SHA1 Message Date
Tamito Kajiyama
dd9c53b312 Freestyle: View map caching.
New render layer option named "View map cache" is added to reuse a
previously computed view map for subsequent rendering.  The cache is
automatically updated when the mesh geometry of the input 3D scene has
been changed.

This functionality offers a major performance boost for Freestyle
animation rendering when camera-space mesh geometry is static, as well
as for repeated still renders with updates of line stylization options.

Although the "View map cache" toggle is a render layer option, the cache
memory is shared by all render layers and scenes.  This means that if
Freestyle is used for two or more render layers (possibly in different
scenes through the compositor), then the cached view map for one render
layer is replaced by a new view map for another render layer and hence
no performance gain is expected.
2014-10-02 17:52:13 +09:00
Tamito Kajiyama
2cb134be2b Freestyle: New line style options for sorting and chain selection.
The following two sort keys are added for sorting chains.

* Projected X - Sort by the projected X value in the image coordinate system.
* Projected Y - Sort by the projected Y value in the image coordinate system.

A new line style option for the selection of first N chains is also added.

Moreover, the chain sorting and chain selection operations are now executed
in this order instead of the reverse order used previously.  The UI has also
changed accordingly.  This functional change is backward compatible and
won't result in visual differences.
2014-10-01 16:01:40 +09:00
Lukas Tönne
6fa46ad315 Support for "virtual pixelsize" on 4k screens.
On 4k devices the default pixel size leads to tiny OpenGL drawing
that is hardly usable without doubling the DPI. The retina system
on OSX aims to alleviate this problem by introducing a general 2x
pixel size.

No equivalent feature exists on other platforms so far. However,
to emulate the effect this patch introduces a "virtual" pixel size
factor for OpenGL drawing.

Note that the user currently has to enable this manually by selecting
the "Virtual Pixel Mode" in the user preferences (defaults to native).
All windows of a Blender instance share the same virtual pixel size as well.
It may be possible to handle this on a per-window basis and automate
the selection somewhat (if enabled by the user), so working with
multiple screens becomes more convenient, but technical limitations
make this a bit difficult (on X11 with nvidia drivers the actual screen size
is not reported correctly).

Reviewers: ton, campbellbarton

Differential Revision: https://developer.blender.org/D669
2014-09-30 18:29:32 +02:00
Campbell Barton
5488630047 Add Face Region to 'Select-Similar' menu 2014-09-27 18:31:50 +10:00
Antony Riakiotakis
98153778b5 Expose show brush property for UV sculpting. 2014-09-25 15:38:32 +02:00
Lukas Tönne
14ee107b1f Fix T41918, Missing operator in Node Editor Menus.
This operator was renamed in rB52d7c357781237ad6f128a6b6d550b34627c2a96
but the menu entry was not renamed.
2014-09-23 14:06:03 +02:00
Antony Riakiotakis
d7ddb941a0 Projective painting:
* Make clone UI a bit more descriptive
* Don't set images to image editors that have a pinned image.
2014-09-22 11:01:50 +02:00
Antony Riakiotakis
1294fc7d93 Another minor correction, use "Mask" instead of "Stencil" so users can
correlate the panel to the mask tool.
2014-09-21 01:00:38 +02:00
Antony Riakiotakis
3d93eb47f3 Minor polishing, add UV layer selection in image projection painting
mode.
2014-09-21 00:29:50 +02:00
Antony Riakiotakis
6e56db8ce2 Paint system
* Add unified color settings to brush menus.
* Add notifier on fill tool from drag and drop to refresh icons
2014-09-20 23:47:10 +02:00
Campbell Barton
0e0e528ea4 Cleanup: pep8 2014-09-17 18:36:17 +10:00
Bastien Montagne
f0f398dcf3 Fix T41851: Useless ID selector UI element for sequencer's Sound strips
Currently, this pointer prop is not editable, and making it so does not seem
to be trivial (sound strip seems to use the filepath path, not the soundID pointer?),
so just hide the matching UI item.
2014-09-16 19:15:11 +02:00
Antony Riakiotakis
482354fd6a Fix T41780
Expose sliders for alpha over/under/overdrop
Now it's apparent that the effects work as explained in the manual.
2014-09-11 20:44:08 +02:00
Andrea Weikert
61914883ff Separate operators for Link and Append.
Since the choice to link or append has been removed in the file browser operator panel,
there was no way to tell whether as a user you were linking or appending.
To fix this the proposed patch separates the operators.

Reviewers: campbellbarton, carter2422, venomgfx

Subscribers: fsiddi

Maniphest Tasks: T41593

Differential Revision: https://developer.blender.org/D770
2014-09-04 19:35:18 +02:00
Antony Riakiotakis
16dc208ef6 Expose "select all strips to left/right" in the select menu.
Shortcut is ctrl click but might not be discoverable, as we found out
the hard way on gooseberry.
2014-09-03 11:18:44 +02:00
Sergey Sharybin
f71da49bb8 Fix T41695: No label in UV/Image editor waveform mode
That's indeed rather creepy to show only icon for the enum where
all the elements have the same exact icon.
2014-09-03 12:44:34 +06:00
Antony Riakiotakis
43303625af Expose preview setting operators on menus for sequencer and timeline
(could not find them anywhere before)
2014-09-01 14:22:42 +02:00
Antony Riakiotakis
cf3ce7322a Texture painting:
Include explicit control for texturing:

This commit introduces a painting mode option, available in
the slots panel. The default value "Material"  will create slots from the
blender material, same as just merged from the paint branch.

The new option "Image", will use an explicit image field that artists can use
to select the image to paint on. This will should allow painting regardless
of the renderer used or for use in modifiers.
2014-08-28 20:41:05 +02:00
Antony Riakiotakis
512b738352 Texture paint system:
* Add ability to choose blend type and enable/disable toggle for each
slot for blender internal.
2014-08-28 15:50:42 +02:00
Antony Riakiotakis
4e3f76e06b Fix T41406:
Disallow kernels bigger than 2x2 for blur/sharpen in projective painting
due to performance considerations.
2014-08-27 15:07:57 +02:00
Antony Riakiotakis
db844959d1 Add operator that deletes a texture paint layer for blender internal. 2014-08-26 19:00:25 +02:00
Bastien Montagne
f6e049cd5a Sculpt mode: fix 'stroke method' of Brush menu. 2014-08-26 16:45:40 +02:00
Bastien Montagne
f34685d8a1 Fix T39020: Undo/Redo/History buttons missing in "Edit mode"
Remotely based on patch by kevindietrich (Kévin Dietrich), but using
a single generic panel here, as suggested by UI team.

Note we add this panel in all modes (only one tweak in scuplt mode,
where there is no history menu generated it seems, unlike other
'paint-like' modes), we can decide to move it into its own tab later.

Differential Revision: https://developer.blender.org/D733
2014-08-26 16:45:40 +02:00
Bastien Montagne
ba35761d33 SplitNormals UI tweaks: add own color for normals drawing, and own 'face corner' icon. 2014-08-25 12:54:35 +02:00
Antony Riakiotakis
20700ca43e Based on user input that we never listen to:
* Move "save all edited" operator to layer tab
* Duplicate operator in image menu in image editor.
2014-08-25 00:15:43 +02:00
Campbell Barton
e44cd30abb Fix T41507: Empty prevents image deletion
Also allow assigning `Object.data = None` from Python
2014-08-21 17:05:47 +10:00
Bastien Montagne
71ce415f4a Fix T41462: "Reload from trusted" button not prompting for confirmation.
Made 'revert_mainfile' op also handle the 'use scripts' option, and use it
for this feature (since it has a nice simple invoke confirmation popup).
2014-08-18 14:13:55 +02:00
Campbell Barton
b9ebf44139 BMesh: intersect tool
Modeling tool to cut intersections into geometry (like boolean, without calculating inside/outside).
Faces are split along intersections, leaving new edges selected.

Access from Face menu.
2014-08-18 17:09:30 +10:00
Campbell Barton
27b4a1f7dd Correction to last commit, rna naming 2014-08-15 19:35:14 +10:00
Campbell Barton
3296d98ec1 Solidify Modifier "Rim Only" Option
D737 by scorpion81 with own edits
2014-08-15 19:17:05 +10:00
Antony Riakiotakis
77b01f7393 Switch sampler icon to the right, it's easier for artists to access. 2014-08-14 16:27:19 +02:00
Tamito Kajiyama
b941ab972d Added support for Feestyle edge/face marks in the 3D view window in Cycles. 2014-08-12 10:10:54 +09:00
Tamito Kajiyama
7f3488f992 Freestyle: show "use_nodes" option in the UI when Cycles is enabled.
The "use_textures" option is intended for the BI and does not make sense in Cycles.
2014-08-12 10:10:30 +09:00
Tamito Kajiyama
87f75299e1 Implemented a basic framework for node-based shaders.
Shader nodes will be used to define materials for stroke rendering, so as to
allow users to interactively configure textures.
2014-08-12 10:10:14 +09:00
Tamito Kajiyama
d956a074e3 Freestyle: Show the Freestyle Line panel of the Material properties context also in Cycles 2014-08-12 10:10:13 +09:00
Tamito Kajiyama
f70e1ad2fb Proof-of-concept implementation of Freestyle support for Cycles. 2014-08-12 10:10:05 +09:00
Antony Riakiotakis
028fd29eeb Pie Menus C code backend.
This commit merges the code in the pie-menu branch.

As per decisions taken the last few days, there are no pie menus
included and there will be an official add-on including overrides of
some keys with pie menus. However, people will now be able to use the
new code in python.

Full Documentation is in http://wiki.blender.org/index.php/Dev:Ref/

Thanks:
Campbell Barton, Dalai Felinto and Ton Roosendaal for the code review
and design comments

Jonathan Williamson, Pawel Lyczkowski, Pablo Vazquez among others for
suggestions during the development.

Special Thanks to Sean Olson, for his support, suggestions, testing and
merciless bugging so that I would finish the pie menu code. Without him
we wouldn't be here. Also to the rest of the developers of the original
python add-on, Patrick Moore and Dan Eicher and finally to Matt Ebb, who
did the research and first implementation and whose code I used to get
started.
2014-08-11 11:02:26 +02:00
Campbell Barton
1923a5c134 UI: move button to set dupli-offset into group menu 2014-08-07 04:45:37 +10:00
Antony Riakiotakis
ef68faa2f9 Fix T41343, hard to remove group from objects.
Added a small menu with a few helper oerators next to each group panel:

* Remove group from all objects
* Select objects in group

More could be added possibly in the future.

Thanks to Campbell for the advice here.
2014-08-06 20:03:16 +02:00
Antony Riakiotakis
2e50b4dc51 Minor changes:
* Changing UV map updates the UV editor.
* UV Layer -> UV Map
2014-07-25 15:27:17 +02:00
Sergey Sharybin
157fc43369 Implement option to parent object to undistorted position of 2D track 2014-07-24 21:01:19 +06:00
Antony Riakiotakis
d2cf9f0c4b Fix UI still allowing addition of slots in cycles if material did not
use nodes.
2014-07-24 15:28:02 +02:00
Antony Riakiotakis
36b6b69173 Fixes:
* Crash with image drag'n'drop
* Drag'n drop color to paint 2d canvas not working
* Change "Layers" to "Slots" to appease purists.
2014-07-24 15:18:49 +02:00
Antony Riakiotakis
6a933c858c Move stencil options to own panel under layer tab. 2014-07-24 12:41:39 +02:00
Antony Riakiotakis
a93ec34ac8 Fix minor issues from recent commits.
* Clone from layer UI not working
* Get trash color when entering texture painting for the first time
2014-07-24 12:08:23 +02:00
Antony Riakiotakis
cc40925c36 UI cleanup:
New layer in texture painting will now allow entering image parameters,
similar to new image.
2014-07-24 11:39:04 +02:00
Antony Riakiotakis
6e41b008e3 Allow renaming images from list in layers panel by double clicking.
Thanks to Sebastian Koenig for the report!
2014-07-24 11:05:37 +02:00
Antony Riakiotakis
af162658e1 Texture painting:
Add ability to select UV layer from the layer panel.
2014-07-23 20:06:41 +02:00
Antony Riakiotakis
1134ca7420 Fix T41157
Was an issue with python interpretation error. Second part of the bug is
fixed by Campbell.
also minor UI tweak for occlusion UI.
2014-07-23 16:05:35 +02:00
Antony Riakiotakis
17021171f1 Occlusion Query based selection.
This patch creates an interface for selection mechanisms in opengl. This
makes it possible to switch between occlusion query based or select
rendermode based selection transparently.

This is really useful on graphics drivers that do not accelerate the
select rendermode path (some ATI cards are notorious for this, and the
new path is used by default there), since occlusion queries are always
hardware accelerated due to their use in games.

The option can be found under system - selection. Auto just enables
occlusion queries for ATI users while the rest of the options enforce
one of the two methods always.

There is just one known change, previous code enforced nearest bone to
always get selected, even when mouse selecting near the same position, I
couldn't replicate the behaviour though.

patch by me with edits and review by Campbell.

Thanks!
2014-07-23 15:26:08 +02:00