Commit Graph

2322 Commits

Author SHA1 Message Date
Bastien Montagne
18e4224142 Split Normals I (1/5): basis for split normals (nearly nothing user-visible here):
* Add a new calcLoopNormals function to DerivedMesh struct, and implement it for CDDM and CCGDM (subsurf).
  EditDerivedBMesh (edit mode DM) only gets a dummy one in this commit.
* Add a tessellated version of CD_LOOPNORMAL layer (CD_TESSLOOPNORMAL), with relevant code to handle it
  (tessellation, rna access, etc.).
* Change auto_smooth options of Mesh (angle now in radian internaly, and toggle is now used to enable/disable
  split normals in DM creation process). Note BI render code is not touched here, hence its behavior regarding
  this option is now incoherent, will be addressed in a separate commit.

Reviewers: campbellbarton

CC: brecht

Differential Revision: https://developer.blender.org/D365
2014-04-13 12:19:00 +02:00
Bastien Montagne
8714ae09f8 Fix T39563: Tiny unit-display problem in constraint panels.
There is no good solution here, since RNA props can only have one type/unit.
Tried to find the less worse one - have different RNA props for same DNA value
(a bit like the angle/length for camera lens).

Also fixed two other issues with Transform conctraint:
* Angle were still in degrees (yes, another backward-compatibility breacking).
* Scale was absolute, unlike loc/rot.

Also cleaned up a bit the code, replaced some magic numbers by proper enums, ...
2014-04-07 12:17:01 +02:00
Campbell Barton
0ebade55fc Fix T37509: regression in smart-uv island orientation 2014-04-03 22:03:53 +11:00
Campbell Barton
f38331adef Code cleanup: style 2014-04-03 09:24:09 +11:00
Kevin Dietrich
cb7cfd3ab6 Cycles: add dedicated UV Map node, easier to find and has convenient auto complete.
Fixes T37954.

Reviewed By: brecht, dingto

Differential Revision: https://developer.blender.org/D230
2014-04-02 11:53:44 +02:00
Jens Verwiebe
16537a8f89 Sculpt: the thread controls where unintentianlly greyed out along with capabilities.has_gravity condition 2014-04-01 22:52:10 +02:00
Grigory Revzin
420da872a6 Fix T39378: Revert, Recover Last Session and Load Factory Settings have no prompt.
Now they do, to make it harder to accidentally press them and lose work.

Reviewed By: brecht, carter2422

Differential Revision: https://developer.blender.org/D440
2014-04-01 18:00:07 +02:00
Campbell Barton
d25ba1eccd Changes to openmp threads commit (UI and RNA)
- use same names as render threads
- remove OpenMP from UI
- remove details from tips
2014-04-01 08:30:24 +11:00
Antony Riakiotakis
262fd0865a Revert using slider for detail size on previous commit, makes changing
detail slightly harder.
2014-03-31 20:01:28 +03:00
Antony Riakiotakis
fa3d9f4fbd Make dyntopo detail size maximum smaller (more than 40 pixels should not
be needed according to mapping in code) and change the property to
float.
2014-03-31 19:30:51 +03:00
Jens Verwiebe
277fb1a31f Sculpt/dyntopo: Make the omp threads configurable to overcome performance issues
- autodetect optimal default, which typically avoids HT threads
- can store setting in .blend per scene
- this does not touch general omp max threads, due i found other areas where the calculations are fitting for huge corecount
- Intel notes, some of the older generation processors with HyperThreading would not provide significant performance boost for FPU intensive applications. On those systems you might want to set OMP_NUM_THREADS = total number of cores (not total number of hardware theads).
2014-03-31 13:51:49 +02:00
Campbell Barton
2fc7d04804 Add Simple randomize vertex tool
D432 from Walid Shouman with normal & uniform options added.
2014-03-31 14:56:43 +11:00
Sergey Sharybin
1af69b6df3 Implement asymmetric and free handles type for masks
Summary:
The title actually says it all, it's just possible to
have independent free handles for mask splines. Also
it's now possible to have aligned handles displayed
as independent handles.

Required changes in quite a few places, but they're
rather straightforward.

From user perspective there's one really visible change
which is removed Handle Type menu from the panel. With
asymmetric handles it's not clear which handle type to
display there. So now the only way to change handle type
is via V-key menu.

Rewrote normal evaluation function to make it deal
with new type of handles we support. Now it works in
the following way:

- Offset the original spline by maximal weight
- Calculate vector between corresponding U positions
  on offset and original spline
- Normalize this vector.

Seems to be giving more adequate results and doesn't
tend to self-intersect as much as old behavior used to,

There're still some changes which needed to be done, but
which are planned for further patch:

- Support colors and handle size via themes.
- Make handles color-coded, just the same as done for
  regular bezier splines in 3D viewport.

Additional changes to make roto workflow even better:
- Use circles to draw handles
- Support AA for handles
- Change click-create-drag to change curvature of the
  spline instead of adjusting point position.

Reviewers: campbellbarton

CC: sebastian_k, hype, cronk

Differential Revision: http://developer.blender.org/D121
2014-03-28 17:54:38 +06:00
Lukas Treyer
97cb76a45d Bevel Factor Mapping
Bevel Factor Mapping allows to control the relation between bevel factors
(number between 0 and 1) and the rendered start and end point of a beveled
spline.

There are three options: "Resolution", "Segments", "Spline". "Resolution"
option maps bevel factors as it was done < 2.71, "Spline" and "Segments"
are new.

* "Resolution“: Map the bevel factor to the number of subdivisions of a
  spline (U resolution).
* "Segments“: Map the bevel factor to the length of a segment and to the
  number of subdivisions of a segment.
* "Spline": Map the bevel factor to the length of a spline.

Reviewers: yakca, sergey, campbellbarton

CC: sanne

Differential Revision: https://developer.blender.org/D294
2014-03-28 16:44:33 +06:00
Sv. Lockal
7397ef8666 UI: Fix more double ":" in UI labels 2014-03-27 07:15:08 +04:00
Thomas Beck
7b644952c1 UI: Dynamic paint labels had a double ":" at the end of some strings like "Vertex Group::" 2014-03-26 23:27:51 +01:00
Antony Riakiotakis
0adc1ba209 Attempt to fix T39412
do not use different stroke property names for different paint systems.
This was done due to different stroke sets being supported for each
system, but this lead to trouble if we changed the names (due to
different stroke sets being supported) and users created custom keymaps
with the old property name saved.

The first part of this fix addresses master. A similar commit will be
done to soc-2013-paint.
2014-03-27 00:04:59 +02:00
Antony Riakiotakis
1c22ba1e0e UI naming:
Change topology panel labels to "dyntopo"
2014-03-24 23:17:29 +02:00
Bastien Montagne
7a21330421 Fix T39356: unsatisfied with uv pin unpin button, small bug 2014-03-23 14:30:10 +01:00
Bastien Montagne
4c73001093 Fix T39353: Make Single User menu entries do not work correctly. 2014-03-23 11:33:40 +01:00
Antony Riakiotakis
97e26494ee Slight cosmetic improvement on UI. Add eyedropper icon to detail sample
operator and move it next to the detail slider
2014-03-23 00:01:46 +02:00
Antony Riakiotakis
e732c5809c Detail sampling operator
Located on topology panel.

To use just click on button and click on mesh.
Operator will just use the dimensions of the triangles below to set the
constant detail setting.

Also changed pair of scale/detail size with nice separate float
percentage value.
2014-03-22 23:35:41 +02:00
Antony Riakiotakis
0ef416722e Flood fill for dyntopo constant detail mode.
Nothing spectacular here, fill tools are easy. Just take the dyntopo
code and repeat until nothing more to do.

The tool can be located in the dyntopo panel when the dyntopo constant
detail is on.

Also added scale factor for constant detail. This may change when detail
sampling gets in, I am not very happy with having two numbers here,
still it will give some more control for now.
2014-03-22 17:47:18 +02:00
Joshua Leung
daccaa713b Patch T22084: Robert Penner Easing Equations for FCurves
This commit introduces support for a number of new interpolation types
which are useful for motion-graphics work. These define a number of
"easing equations" (basically, equations which define some preset
ways that one keyframe transitions to another) which reduce the amount
of manual work (inserting and tweaking keyframes) to achieve certain
common effects. For example, snappy movements, and fake-physics such
as bouncing/springing effects.

The additional interpolation types introduced in this commit can be found
in many packages and toolkits (notably Qt and all modern web browsers).
For more info and a few live demos, see [1] and [2].


Credits:
* Dan Eicher (dna)              - Original patch
* Thomas Beck (plasmasolutions) - Porting/updating patch to 2.70 codebase
* Joshua Leung (aligorith)      - Code review and a few polishing tweaks

Additional Resources:
[1] http://easings.net
[2] http://www.robertpenner.com/easing/
2014-03-22 03:00:27 +13:00
Sergey Sharybin
29f359c975 Fix T39270: Since as the Move Clip Editor have only two modes, menu on tab is needless 2014-03-20 16:08:42 +06:00
Campbell Barton
cc2cdfb08a Code cleanup: de-triplicate add menu/toolbars, also style edits 2014-03-20 01:34:24 +11:00
Bastien Montagne
7698322846 Usual UI messages fixes... 2014-03-19 15:25:32 +01:00
Campbell Barton
22873eaeba Fix T31598: smart UV failed for small faces
previous fixes only tweaked epsilon, but logic for skipping zero area
boxes was still wrong.
2014-03-18 01:34:14 +11:00
Thomas Dinges
13ae541be4 UI: Move OpenGL Settings (AA and Alpha) into the Info Editor render menu. 2014-03-15 17:37:42 +01:00
Joshua Leung
0dd52d1b26 UI Tweak: Add a convenience button for switching to Bone Constraints Tab
To reduce user confusion, we were already presenting users with an error message
when they tried to edit constraints for bones from the Object Constraints tab.
This commit just makes things more convenient by adding a button which takes
users to the right tab when clicked.
2014-03-15 11:45:53 +13:00
Campbell Barton
a349a3a94e UI: Show edge draw options for duplis, it applied to their instances 2014-03-14 02:15:18 +11:00
Campbell Barton
ba81fb70b2 NDOF: enable orbit sensitivity menuitem outside 3d view
The color picker uses.
2014-03-12 03:38:07 +11:00
Tamito Kajiyama
a7ab389d54 Fix for missing 'field-of-view angle' property for a panoramic camera. 2014-03-12 00:08:28 +09:00
Bastien Montagne
a2ffd8e423 Fix T39028: Quadview views inaccessible with python except bottom right view.
Expose all four quadviews in a collection in RNA API.

Note the region returned by old region_quadview property is now region_quadviews[2].
2014-03-11 15:22:09 +01:00
Lukas Tönne
658b4c0d56 New Corner Pin node: uses explicit corner values for a plane warp transformation.
This was suggested by Christopher Barrett (terrachild). Corner pin is a common feature in compositing.

The corners for the plane warping can be defined by using vector node inputs to allow using perspective plane transformations without having to go via the MovieClip editor tracking data.
Uses the same math as the PlaneTrack node, but without the link to MovieClip and Object.

{F78199}

The code for PlaneTrack operations has been restructured a bit to share it with the CornerPin node.

* PlaneDistortCommonOperation.h/.cpp: Shared generic code for warping images based on 4 plane corners and a perspective matrix generated from these. Contains operation base classes for both the WarpImage and Mask operations.

* PlaneTrackOperation.h/.cpp: Current plane track node operations, based on the common code above. These add pointers to MovieClip and Object which define the track data from wich to read the corners.

* PlaneCornerPinOperation.h/.cpp: New corner pin variant, using explicit input sockets for the plane corners.

One downside of the current compositor design is that there is no concept of invariables (constants) that don't vary over the image space. This has already been an issue for Blur nodes (size input is usually constant except when "variable size" is enabled) and a few others. For the corner pin node it is necessary that the corner input sockets are also invariant. They have to be evaluated for each tile now, otherwise the data is not available. This in turn makes it necessary to make the operation "complex" and request full input buffers, which adds unnecessary overhead.
2014-03-11 14:12:08 +01:00
Antony Riakiotakis
03afa6f9e7 Experimental dyntopo feature:
Dyntopo detail in object space. This allows to set the detail in
percentage of blender units and sculpt in this detail constantly,
regardless of the distance to the mesh.

This commit just enables the functionality, which is really trivial.
There will be some more commits like detail flood fill and
detail sampling in the future.
2014-03-06 20:15:44 +02:00
Thomas Dinges
ef2815eb5a UI: "Option" panel in 'Particle Edit' mode was appearing in Tools and GP tab, now only show in Tools.
Patch by Kévin Dietrich.

Reviewed by: dingto
Differential Revision: https://developer.blender.org/D378
2014-03-03 10:37:27 +01:00
Campbell Barton
6b693ab7bf NDOF: add navigation modes to user preferences
also comment debug prints for raytracing
2014-03-01 21:47:46 +11:00
Campbell Barton
0bfd75aa14 Fix T38883: Toolbar origin buttons missing for armature
Also allow mirror for any object type
2014-02-28 17:39:40 +11:00
Campbell Barton
8af2ed80a4 RNA: rename matrix_for_frame -> matrix_from_frame 2014-02-27 08:39:25 +11:00
Sergey Sharybin
3b44ca08a9 Fix 3D tracks to mesh not aligning mesh properly
Also fixed wrong frame number used for reconstructed object
visualization in 3D viewport.
2014-02-26 19:40:04 +06:00
Campbell Barton
d2548f561c WM: hide screen management and ndof operators from seach popup 2014-02-26 13:48:41 +11:00
Sergey Sharybin
70924a7b2e Fix T38548: Edit externally always uses first frame only 2014-02-26 10:58:14 +11:00
Thomas Dinges
9c755ef652 UI / 3D View: Fix Rigid Body panel, being closed per default. 2014-02-25 10:59:20 +01:00
Campbell Barton
24e1ce25d1 Use string escaping when renaming custom properties 2014-02-25 16:49:14 +11:00
Thomas Dinges
b5c50c02fa Paint UI: Don't hide the custom icon path, just grey out.
This is what we do with boolean and sub-settings. We usually hide it when the options depend on a menu-enum.
2014-02-24 21:13:30 +01:00
Thomas Dinges
a3202e434a Code cleanup: Re-use Grease Pencil panel for 3D view as well. 2014-02-24 20:53:37 +01:00
Bastien Montagne
ea5090f8c0 Minor UI messages fixes. 2014-02-22 13:49:40 +01:00
Campbell Barton
b7fa08f88a Code cleanup: style 2014-02-22 11:14:15 +11:00
Thomas Dinges
3436c41dee Fix T38739: Simulations, unsupported in the Game Engine, could not be removed from the UI.
Also shorten info messages a bit.
2014-02-21 12:46:17 +01:00