Commit Graph

10681 Commits

Author SHA1 Message Date
Sergey Sharybin cc55913798 Fix T37225: UV map for closed curves incorrectly generated
Summary:
Curve ORCO was not calculating properly for cyclic 2D curves.

- Needed to split vertices for blender internal renderer.
  Otherwise it's not possible to map last face to a proper
  texture location.

- Needed to tweak curve->mesh conversion to respect cyclic
  flag along U direction.

- Removed check for orcodm in curve.c:add_orco_dm since
  this code is only called if there're enabled constructive
  modifiers on the curve.

Reviewers: brecht

Maniphest Tasks: T37225

Differential Revision: http://developer.blender.org/D45
2013-11-26 03:02:13 +06:00
Campbell Barton 63caaa2b12 Code Cleanup: rename vars for detecting change to be more consistent
rename change/is_change/is_changed/modified -> changed
also use bools over int/short/char and once accidental float.
2013-11-26 06:39:14 +11:00
Shinsuke Irie ab9822eff8 Blender Internal: Add "Lamp Data" shader node that allows shaders to acquire information such as light vector from specified Lamp.
For now this provides the following outputs:

- Color
- Light Vector
- Distance
- Shadow
- Visibility Factor

Note: Color output is multiplied by the lamp energy.  Multiplication of
color*max(dot(light_vector,normal_vector),0)*shadow*visibility_factor
produces the exact same result as the Lambert shader.

Many thanks to Brecht for code review and discussion!
2013-11-25 22:19:47 +09:00
Emanuel Claesson 3ca4387bc8 UI: remove unnecessary confirmation popups
This makes a number of operators no longer ask for confirmation, rather it will
show an info message after performing the operation. Ref T37422 for decision. In
particular, these were changed:

* Delete objects, bones, keyframes, masks, mask curves, motion tracks, markers.
* Clear and delete keyframes in the 3D view.
* Align bone to parents.
* Separate bones from armature.
* Group/ungroup metastrips in sequencer.
* Copy/paste objects to/from buffer.

Reviewed By: brecht, dingto

Differential Revision: http://developer.blender.org/D35
2013-11-25 12:21:45 +01:00
Sergey Sharybin b2c1bb74b2 Tweaks to PNG file output
- Made tooltip for compression a bit more clear.
- Use default compression of 15%. Gives around
  two times boost on export movie file here in
  test with only 10% increased file size.

Reviewers: Jonathan Williamson
2013-11-25 16:24:31 +06:00
Campbell Barton d45ea33ff1 Fix T37591: 'Extensions' option ignored for movies. 2013-11-25 16:59:10 +11:00
Campbell Barton d305df2226 Transform: old todo, removing an orientation now checks all screens.
also fix for using uninitialized matrix when an out-of-range index is
set for custom orientations.
2013-11-25 09:40:52 +11:00
Campbell Barton 91a24654dd Code Cleanup: whitespace / formatting 2013-11-24 15:23:38 +11:00
Campbell Barton 0469971b05 Fix T37465: UV Coords we're incorrect when converting from a curve 2013-11-22 20:41:00 +11:00
Thomas Dinges 30512d7c55 Blender Internal:
* Remove Stars feature. This was a quite minimalistic feature and there are
better alternatives with more control (particles for example).

Removal discussed during BCon13 developer meeting and already years before, time to do it..

Reviewed By: brecht
Differential Revision: http://developer.blender.org/D17
2013-11-20 19:13:41 +01:00
Campbell Barton d232486b40 Fix T37543: Multiline 3D Text saved in edit mode breaks on load 2013-11-21 04:32:28 +11:00
Campbell Barton 0af52adac0 Code Cleanup: remove unused members for editfont (3D text) 2013-11-21 04:16:41 +11:00
Thomas Dinges fb91a602c7 Blender Internal:
* Remove "Edge" post processing effect and the corresponding render layer.

Since we have freestyle, this is not needed anymore and was a very simple effect anyway (Zbuffer filter effect, could be added to the compositor if really needed again).

Reviewed By: brecht, ton
Differential Revision: http://developer.blender.org/D14
2013-11-19 20:30:49 +01:00
Campbell Barton 1ea47c9af9 Code Cleanup: style, spelling and pep8 edits 2013-11-20 03:40:10 +11:00
Campbell Barton 2b946f4297 Fix T37445: Crash with snapping and shrink-wrap modifier.
Developer note:
BVHTREE_FROM_FACES was being used for both edit-mesh and derived-mesh
bvh-trees, this could cause index lookup errors in editmode.
Fix by adding a new type for editmesh so theres no confusion.
2013-11-19 14:31:26 +11:00
Sergey Sharybin 2b0162b622 Fix T37289: ID User decrement error for Shapes on Bones when playing in BGE
GE was copying the pose channels without increasing user counter for a
custom bone shape object. Freeing copied pose will for give decrement
errors.

The same increment issue seems to happen in BKE_pose_copy_data, which
is also solved now.
2013-11-18 17:19:15 +06:00
Walid Shouman 238d2f962d BMesh Refactor: BKE_bmbvh_new can now be created without an EditMesh.
This adds BM_bmesh_calc_tessellation() so we can get triangles from a
bmesh without having to have an editmesh available.
2013-11-18 18:25:47 +11:00
Joshua Leung e806e5ce37 Fix spelling error in comment 2013-11-18 13:28:39 +13:00
Campbell Barton 8f7f8d679c Style Cleanup: whitespace 2013-11-17 22:00:57 +11:00
Campbell Barton 4fd66d7c0c code cleanup: armature functions
- added BKE_pose_channel_get_mirrored (matching editmode function ED_armature_bone_get_mirrored)
- editbone_name_exists -> ED_armature_bone_find_name
2013-11-17 05:23:05 +11:00
Campbell Barton e62cdbb474 code cleanup: rename flip_side_name to BKE_deform_flip_side_name 2013-11-17 05:23:05 +11:00
Bastien Montagne 1a0fed9ee0 More fix for this stupid uppercase-to-lowercase convertion code... Thanks to Lockal for noting this! 2013-11-16 15:34:47 +01:00
Antonis Ryakiotakis e9c9706ce6 Code cleanup: Use different redraw options for sculpt mask operators.
Current redraw options also did an unnecessary normal recalculation on
updated nodes.

Also, for the box and lasso mask only push an undo node if any vertex
has actually been influenced.
2013-11-15 23:00:15 +02:00
Lukas Toenne 4d4ef0434b Make dynamic node labels possible as a registerable function 'draw_label' (simple 'label' identifier is already in use, need to avoid API breakage). This should simply return a string. The dynamic label can still be overridden by the user-defined node.label string. 2013-11-12 18:18:04 +00:00
Lukas Toenne 8663b940ed Instead of requiring a const char* return from the (optional) node label callback function, let it write into a mutable string buffer. This will allow actual dynamic labels for nodes using the python
API.
2013-11-12 18:17:58 +00:00
Bastien Montagne 59e4600526 Fix [#37380] vertex paint colors don't render.
Another Evil Typo (r) one, you could add much more than the 8 allowed VCol layers!

Note: added some (warning-only) checks in mesh validate functions, but we still have a big issue with new cdlayer merge function, which could generate more than 8 layers of UVs or VCol... Don't know yet how to handle this situation. :(
2013-11-11 20:37:19 +00:00
Sergey Sharybin dcfb858a76 Fix #37395: Rendering with a movie strip behind a scene shows inconsistent results
For now just make sure conversion to sequencer space will ensure imbuf's
color space names is set properly.

Might be some further changes needed to make colorspace flow more clear
in sequencer, but that's for later.
2013-11-11 12:08:31 +00:00
Bastien Montagne 647f425265 Fix [#37394] UV Map cannot be renamed.
Own epic failure! CustomData_get_named_layer() returns a relative index, not an absolute one. :(
2013-11-10 20:32:27 +00:00
Bastien Montagne d27f8103dd Fix [#37393] Input dimensions are case sensitive in the property panel, uppercase input is misinterpreted
Typo in lowercasing code!
2013-11-10 19:51:44 +00:00
Campbell Barton 8cf39603f7 replace IS_EQ -> IS_EQF for use with floats. 2013-11-10 12:56:50 +00:00
Bastien Montagne 5ef717bec6 [#37327] Inconsistent numeric input conversion.
Issue was actually that micrometer was not drawing correctly (from r58165), reverted that fix and instead use utf8 drawing for editmode metrics when using a unit system (we already had a similar hack for surfaces and volumes, anyway).
2013-11-08 11:25:50 +00:00
Bastien Montagne a0286f42f9 "Render Audio" cleanup:
* Removed audio-only options from ffmpeg render settings (added some versionning code too)!
* Moved the Mixdon button from the Scene->Audio pannel to the Render->Render panel.
2013-11-07 13:32:32 +00:00
Lukas Toenne 7398600090 True grid snapping for nodes: This snaps nodes to the actual background grid instead of using incremental offset (which is not useful for nodes). Increment snapping has been disabled for nodes to avoid
confusion, grid snap is now the default as it seems to be the most wanted and easy to use mode.

Absolute grid snapping happens in a somewhat generic function 'applyGridAbsolute', which could also be used for objects and other transforms later on. It is conceptually similar to the 'project' snapping
option, in that it calculates a delta vector for each element on top of the overall transform, which places each node on the grid.

Node transform now uses the top-left node corner for TransformData->loc. The transform center is still the average of node centers, so that scaling and rotation works nicely.

snapGrid*** functions have been renamed to snapGridIncrement*** to distinguish better between incremental and absolute grid snapping.
2013-11-06 17:46:32 +00:00
Joshua Leung 50ac2ee8de Grease Pencil: User-Pref for setting the default colour of newly created layers 2013-11-06 10:59:05 +00:00
Kevin Mackay 299812f28d Made active point and active spline behaviour more predictable on curves/surfaces:
* deselect all no longer leaves an active point
* the most recently added spline becomes the active one
* on successful duplicate/delete the active point and active spline are reset
2013-11-05 23:37:09 +00:00
Joshua Leung 2cfe64cd10 Correcting a few typos 2013-11-05 10:57:52 +00:00
Campbell Barton 1b4afb161d code cleanup: typos 2013-11-05 04:23:46 +00:00
Campbell Barton d07f3f793b add CDDM_lower_num_loops(), for completeness (currently unused). 2013-11-04 12:01:46 +00:00
Campbell Barton 3b91a77c7d code cleanup: typo in function name 2013-11-04 11:27:11 +00:00
Joshua Leung a1d553a8f3 Bugfix [#36950] Restrict Frame Range not being obeyed on Driver F-Curves
By default, drivers (used to) automatically map the driver result (i.e.
"evaltime" or the x-coordinates in the driver graphs) to results. This evaltime
=> cvalue mapping is necessary when there are absolutely no keyframes or
modifiers on a driver F-Curve, or else nothing would happen.

However, when there are modifiers on these driver F-Curves, and these modifiers
only work within certain ranges, there would be confusing and unwanted
situations where even if you clamped the modifiers to only generating a curve
within certain frame ranges, the final driver output would still ignore the
results of the curve due to the underlying 1-1 mapping.

This commit introduces a check to ensure that this automatic mapping won't
happen during such invalid ranges.
2013-11-04 04:18:28 +00:00
Joshua Leung 5c0a8ca73f Quick test commit - fixing what looks like a typo in a comment 2013-11-02 13:08:48 +00:00
Campbell Barton df1f21d678 code cleanup: warnings 2013-11-02 04:04:30 +00:00
Bastien Montagne b375388959 Fix [#37266] Skin modifier can't be copied.
Patch by Martin Felke, many thanks.

When copying that modifier across objects, we also have to ensure that a skin CDLayer is present in dest objects (just as when adding it).
2013-11-01 08:31:36 +00:00
Andrea Weikert fc0e225a77 FIX: [#37199] .ogg file is not recognized as a movie in File Browser
CHANGE: writing an animation in the ogg movie format now defaults to .ogv (ogg/video) which is recommended by Xiph.org for video
CHANGE: for .ogg files a check is added whether Blender can read it as a movie (is avi or ffmpeg movie), otherwise assume audio
CHANGE: the anim player now filters for the same extensions as the file browser
2013-10-31 21:00:55 +00:00
Campbell Barton beae4f498d code cleanup: spelling 2013-10-31 14:10:01 +00:00
Sergey Sharybin bc5218a0f4 Code cleanup: more int->bool conversions mask module 2013-10-29 18:56:21 +00:00
Sergey Sharybin 8f747c4923 Code cleanup: use bool instead of int in mask module 2013-10-29 18:46:45 +00:00
Lukas Toenne 2cccdd1678 Fix for particle texture influence bug causing undefined (nan) values: When using a texture with "Particles/Strands" coordinates that in turn has a "Lifetime" influence on the particles, the texture eval
accesses the particle lifetime/dietime data before it is actually defined! This is a design flaw, but to avoid corrupted data for now just initialize the lifetime/dietime values for particles in advance
before evaluating the texture.
2013-10-29 14:48:25 +00:00
Sergey Sharybin e667f12783 Fix #37221: Multilayer EXR inputs generate pink frame/last displayed frame when using an image sequence offset
generally speaking, if multilayer image fails to load for current
frame doesn't mean anything bad. It might be used to make it so
image sequence is being alpha-overed somewhere in the middle of
scene time.

Made it so if the whole file fails to load, image node will
deliver black transparent color, the same what happens for
regular (non-multilayer images).

Also needed to tweak code in load_multilayer_sequwnce to make
sure no cached frames are pointing to a freed memory.
2013-10-28 12:16:17 +00:00
Campbell Barton 3264461598 move bmesh array lookup data and utility functions from editmesh into bmesh,
since enough bmesh operations can also take advantage of direct index lookups on verts/edges/faces.

developers note:
- EDBM_index_arrays_init/ensure/free -> BM_mesh_elem_table_ensure/init/free
- EDBM_vert/edge/face_at_index -> BM_vert/edge/face_at_index
- EDBM_uv_element_map_create/free -> BM_uv_element_map_create/free
- ED_uv_element_get -> BM_uv_element_get
2013-10-28 02:05:33 +00:00