Commit Graph

5562 Commits

Author SHA1 Message Date
Joerg Mueller
8ff0c2e107 Merge with trunk r37475. 2011-06-14 12:06:21 +00:00
Joshua Leung
7272bb643c Bugfix: Distance DVar doesn't work with new Local Space
Fixed references in UI to the old property, and adapted the backend
code to work for the new options too.
2011-06-14 11:01:36 +00:00
Campbell Barton
c0dc197257 edit DAG defines to make it easier to add more & modify. 2011-06-14 04:05:58 +00:00
Dalai Felinto
a2dda7c74d BGE Patch: [#27425] Allow to change the damping of the camera actuator
##########
original name: "Allow to change the strenght of the "go behind" constraint of the camera actuator"

The camera actuator is an actuator that drive the camera to follow an object, with a set of constraint.
Currently, when the object followed rotate on himself (like a person, or an helicopter), the camera is really slow to go behind (at least 10 seconds).

This patch gives the UI to tweak the strenght of the 'go behind'[named damping] constraint.
###########

epydocs (rst) updated too
2011-06-13 17:08:33 +00:00
Joshua Leung
a4216cb1d4 Transformation Channel Driver Variables - "Proper Localspace"
By popular demand, the "Transformation Channel" driver variable type
now has a "local space" transform space option which uses the same
magic that constraints use for defining local-space. This is what many
bug reporters and feature requesters have moaned about for a while
now, so after reviewing several of the bug reports which lead to the
current situation, here is what has been much-wanted for so long!

In order to implement this, I've:
- renamed the old "Local Space" option here to "Transformation Space",
in order to prevent old rigs breaking. This has also been kept, as it
is useful for #21384 (though perhaps with this new option it isn't
needed anymore)
- reviewed my fix for #20870 (IIRC, a Durian-era bug), which related
to the non-uniqueness of matrix->euler decomposition
2011-06-13 13:54:21 +00:00
Janne Karhu
09492d9072 Bug fix: keyed physics didn't work properly if the first key wasn't the keyed particle system itself
* Also some nicer rotation handling for the explode modifier
2011-06-12 11:09:39 +00:00
Lukas Toenne
fbd5b4eb53 Fix for edge mesh BVH: The edge distance callback for leaf nodes was calculating actual sqrt'ed distance, while needing squared distance to be compatible with bounding box checks. This also solves previous concerns about performance when using sqrt in the comparison callback. 2011-06-11 14:08:46 +00:00
Campbell Barton
eeba877926 fix [#27607] Scene's render.filepath gets cropped to 159 characters
use 240 char limit, remove backbuffer path which wasn't used.
2011-06-10 10:13:50 +00:00
Campbell Barton
15d0d3f41e replace log() calls with constants 2011-06-09 14:27:51 +00:00
Campbell Barton
7fd1fe9fc8 draw sequences with invalid effect frame ranges pink to highlight they are invalid and wont render. 2011-06-07 18:34:33 +00:00
Antony Riakiotakis
b481524fde fix for float projection painting, now updating correctly.
This fix also allows for partial update of the image, speeding up painting. 
The different code path implemented will be used to upload high resolution images to OpenGL when onion branch is merged.
Due to conversion of float textures to/from sRGB, corrections made to brush color sampling to take account of the image profile. This is not 100% correct yet as texture images used for projection painting strokes are not converted to/from sRGB yet(This has been decided due to loss of precision for 8-bit formats). It will have to do for now, though.

last-minute update, exr image loading is broken, will fix asap
2011-06-06 22:10:05 +00:00
Campbell Barton
e8bc3fe0e3 object-mode lattice bounds were not taken into account when calculating min/max.
effected view-selected, center-origin & local view.
2011-06-06 07:29:57 +00:00
Campbell Barton
e55833a094 fix [#27572] Mirror Shapekey and Mirror vertex Group not working for Lattice. 2011-06-06 06:40:09 +00:00
Joerg Mueller
ef5f78ecc7 3D Audio GSoC:
Making it possible to access blenders internal sounds via Python.
2011-06-05 22:06:29 +00:00
Sergey Sharybin
a1c22262fe Bake from multires mesh
=======================

Added option to baked named "Bake From Multires" which is avaliable for
normals baking and displacement baking.

If this option is enabled, then no additional hi-res meshes and render
structures would be created . This saves plenty of memory and meshes
with millions of faces could be successfully baked in few minutes.

Baking happens from highest level against viewport subdivision level,
so workflow is following:
  - Set viewport level to level at which texture would be applied
    during final rendering.
  - Choose Displacement/Normals baking.
  - Enable "Bake From Multires" option.
  - You're ready to bake.

Displacement baker had aditional option named "Low Resolution Mesh".
This option is used to set if you want texture for realtime (games)
usage.

Internally it does the following:
  - If it's disabled, displacement is calculated from subdivided
    viewport level, so texture looks "smooth" (it's how default
    baked works).
  - If it's enabled, dispalcement is calculated against unsubdivided
    viewport levels. This leads to "scales". This isn;t useful for
    offline renders much, but very useful for creating game textures.

Special thanks to Morten Mikkelsen (aka sparky) for all mathematics
and other work he've done fr this patch!
2011-06-05 20:54:04 +00:00
Ton Roosendaal
88676349a4 Code holiday commit:
- fix: user pref, window title was reset to 'Blender' on tab usage

- Undo history menu back:
  - name "Undo History"
  - hotkey alt+ctrl+z (alt+apple+z for mac)
  - works like 2.4x, only for global undo, editmode and particle edit.

- Menu scroll
  - for small windows or screens, popup menus now allow to display
    all items, using internal scrolling
  - works with a timer, scrolling 10 items per second when mouse 
    is over the top or bottom arrow
  - if menu is too big to display, it now draws to top or bottom, 
    based on largest available space.
  - also works for hotkey driven pop up menus.

- User pref "DPI" follows widget/layout size
  - widgets & headers now become bigger and smaller, to match 
    'dpi' font sizes. Works well to match UI to monitor size.
  - note that icons can get fuzzy, we need better mipmaps for it
2011-06-04 17:03:46 +00:00
Campbell Barton
c6f3fabd16 fix [#27568] Segmentation fault in Sequencer when adding an effect strip with python
disallow negative length effect strips.
2011-06-04 10:39:04 +00:00
Joshua Leung
185663b52b FModifier Influence/BlendIn-Out
Following on from my commit to introduce frame ranges for FModifiers,
those frame ranges can now have blend in/out values. By setting a
blendin or blendout value, you're specifying the number of frames for
the modifier's "full influence" to take effect or fade out relative to
the start/end frames.

The "full influence" above needs a little clarification.

When the "use influence" setting is enabled, "full influence" is taken
from the "influence" slider (a new setting). Otherwise, it uses 1.0
(i.e. unmodified influence, same as old behaviour before the
introduction of influence controls). The influence slider basically
says how much the modifier's effects are allowed to contribute to the
final result.

---

Notes:
- This opt-in "Use Influence" approach is really forced upon us
because there are heaps of old files for which we cannot easily
version patch without spending some effort going through all the data
in the file, hunting out the F-Modifiers.
- interpf() seems to use a backwards order compared to everything else
2011-06-04 06:22:01 +00:00
Joshua Leung
e27fe1c049 Actions are no longer created with Fake Users
Due to overwhelming support from animators, Actions are no longer
created with fake users by default. If you're mainly creating action
libraries (the primary use case and argument for having this, mostly
used for creating a set of motions for games or perhaps to use in
NLA), you're really in the minority here.

For the most part, fake users just lead to heaps of "dangling" actions
in files which newbies (and even experienced users) may often be
unaware of. Since Fake Users are really more of an "opt-in" system
everywhere else (i.e. when creating Material Libraries), the same
should applied for Actions and creating Action Libraries.
2011-06-04 02:23:17 +00:00
Joerg Mueller
cd04cff180 Merge with trunk revision 37149. 2011-06-03 23:24:01 +00:00
Joshua Leung
05a1c144ad Experimental Feature: Frame Range Masks for FModifiers
Using this feature, it is now possible to for example have different
noise-profiles for different parts of a curve, which makes it possible
to do animate camera shake for example.

Or perhaps, for having greater control of mixing and matching
different parts of F-Modifier effects, such as combining several
generator modifiers to get multi-case functions for instance.

See http://aligorith.blogspot.com/2011/06/gsoc11-fmodifier-range-
masks.html for details.
2011-06-03 13:34:02 +00:00
Janne Karhu
6480ab10db Fix for [#27461] Particle Instance modifier doesn't work correctly with Hair Dynamics.
* Wrong matrix used for dynamic hair.
2011-06-03 05:51:39 +00:00
Brecht Van Lommel
83609edd51 Fix related to #27309: group nodes with a linked datablock that was missing would crash. 2011-06-02 17:34:01 +00:00
Andrea Weikert
b4872b84c8 fix for [#27410] Manual save kills actual .blend file if disk space is low
- moved do_history into WM_write_file after successful write of .blend@ temporary file
- Added new file flag, to avoid writing history on writing the startup.blend, autosave files and undo.

Thanks Campbell, Brecht for review!
2011-06-02 12:44:59 +00:00
Sergey Sharybin
211cd99cbc Fix #27539: Sculpt data is lost after editing base mesh
Face's totdisp was set to correct value, but memory hasn't been
allocated for disps. Handle this in multires_topology_changed(),
so the whole MDISPS layer wouldn't be totally re-allocated when
applying displacement.
2011-06-02 04:58:27 +00:00
Brecht Van Lommel
81982140b8 Fix #27550: texture node editor header was still showing texture datablock
selector even if there is no active texture slot or node, now it's disabled
in that case.
2011-06-01 16:17:38 +00:00
Campbell Barton
09da9d4393 cmake maintenance
blender_add_lib now takes a separate include argument to suppress warnings in system includes (mostly ffmpeg & python).
also only build wm_apple.c on apple+carbon configuration.
2011-05-31 01:15:44 +00:00
Brecht Van Lommel
dcd55cef86 startup.blend: default ffmpeg output audio bitrate changed to 192. 2011-05-30 18:57:28 +00:00
Joerg Mueller
9cfd093a93 Merge with trunk r36987. 2011-05-29 00:48:03 +00:00
Sergey Sharybin
5ca36915a6 Silence some unused-but-set-variable warnings.
And small optimization for text search function :)
2011-05-28 14:52:28 +00:00
Sergey Sharybin
628a8151da Fix #27505: Text Editor always indent next line when a " is found (which is not always correct)
Do not indent if there's any non-space character after colon.

This only makes life a bit easier, but it's still not 100% correct indentation
strategy. For example when colon is inside non-closed string or so.
Also there's not indentation for { and un-indentation for }.

Handling such cases would require much smarter strategy..
2011-05-28 14:40:42 +00:00
M.G. Kishalmi
9b5800bcd7 fixed "rather then" -> "rather than" typos all over the place 2011-05-28 13:11:24 +00:00
Jason Wilkins
7154b424e9 Fix: The radial control would fail, in sculpt mode, to set size if object-space sizing was enabled.
This was caused because a small part of sculpt's radial control code did not make it into the new version.  The old code would set a new object-space size by scaling it proportional to how much the new screen-space size was changed.  

The solution I implement here is to do the same scaling inside the RNA callbacks.  This way, users of those properties do not have to worry about inconsistency.

I added a comment warning that brush_set_size, brush_set_unified_size, brush_unprojected_radius, and brush_set_unprojected_radius do not guarantee consistency because it is not always possible to precisely know what the new unprojected radius is in all contexts where you might set the size.  

I would implement the consistency check at the lower level (in those listed functions) but at this time I think it needs to be looked at to make sure that won't cause problems.  In addition, I am not sure that scaling by the ratio of change is strictly correct in all cases.

In any case, this at least fixes the immediate problem.
2011-05-28 11:30:21 +00:00
M.G. Kishalmi
8246f94317 better error reporting for seq_swap() 2011-05-28 09:59:34 +00:00
Peter Schlaile
42121590f4 == FFMPEG ==
Added central compatibility header file, which enables blender to compile
against very old ffmpeg versions as well as very new versions using the
*NEW* API. (Old API functions are simulated using macros and inline functions)

Added a whole lot of additional checks, tested against 6 different versions
down the timeline, hopefully, now finally all is well.
2011-05-27 23:33:40 +00:00
Peter Schlaile
0381c444fd == FFMPEG ==
Fixed and added additional ffmpeg cruft checking. Oh dear.
2011-05-27 07:47:42 +00:00
Peter Schlaile
50289e62cb == FFMPEG ==
... and another funny version patch, since OpenSuse obviously used some version "in-between"
2011-05-26 23:51:02 +00:00
Peter Schlaile
f1d3982bf6 == FFMPEG ==
Added some API compatibility code again, since some API-changes weren't even documented 
(they even didn't do a proper version-bump, arghh!)

If it breaks again, please tell!
2011-05-26 23:19:15 +00:00
Peter Schlaile
4b9a63c6d3 == FFMPEG ==
* removed a lot of old cruft code for ancient ffmpeg versions
* made it compile again against latest ffmpeg / libav GIT
  (also shouldn't break distro ffmpegs, since those API changes
  have been introduced over a year ago. If it nevertheless breaks,
  please send me an email)
2011-05-26 21:57:02 +00:00
Sergey Sharybin
686859afad Use proper checking for image source 2011-05-26 09:46:51 +00:00
Campbell Barton
9af390ab67 fix [#27485] Create new shapekey on lattice 2011-05-26 06:34:31 +00:00
Campbell Barton
9a556fd69b fcurve/boolean evaluation, values below zero are no longer evaluated to true. 2011-05-26 05:35:30 +00:00
Joshua Leung
f920df3ce7 Bugfix: Limit Distance constraint could be doing divide-by-zero in a
few cases, especially if the object and target are at the same
location when the constraint is created.

This manisfested as the constrained object disappearing when the
constraint was added, only reappearing after transforming it a bit.
2011-05-24 12:20:02 +00:00
Joshua Leung
1788bc298c = Limit Distance Constraint - 'For Transform' Option =
The Limit Distance Constraint now has a "For Transform" option just
like all the other Limit constraints. This option controls whether the
constraint gets applied to interactive transforms in the 3D View too,
preventing controllers from getting large values without the animator
knowing.


Additional code changes:
* Split code to get constraint targets and grab their matrices for
solving out to a separate helper function:
get_constraint_targets_for_solving()
* Fixed a bug where "found constraint ...." prints would appear in the
console. Looks like some warning print that was forgotten

TODO:
* While coding this, I noticed potential division by zero bugs with
the Limit Distance constraint. Looking into these after this commit.
2011-05-24 12:12:12 +00:00
Campbell Barton
f5ec4cf4e9 fix own mistake [#27451] Flip to Top / Flip to Bottom menuitems on right click on header not working
also get rig of more shadowed vars (-Wshadow).
2011-05-23 08:14:29 +00:00
Campbell Barton
d02480cdaa remove / comment unused code, patch by nico_ga on IRC with some edits. 2011-05-22 16:29:51 +00:00
Nathan Letwory
3ddaaa3784 Remedy compile error on windows/msvc introduced in r36787. 2011-05-20 08:52:52 +00:00
Campbell Barton
984d2e42e4 make api functions for converting rv3d->camzoom, so the odd logic for this isn't inlined all over. 2011-05-20 04:14:29 +00:00
Campbell Barton
fbe541d1a8 modify fcurve evaluation for bool/enum/int values. was converting from a float to an int which means 0.9x evaluates to 0.0, negative numbers are also rounded up.
Round at 0.5 instead & treat negative numbers the same.
2011-05-19 12:39:57 +00:00
Brecht Van Lommel
e088f592bd Fix some compile warnings. 2011-05-19 11:54:03 +00:00