Commit Graph

3896 Commits

Author SHA1 Message Date
Campbell Barton
391cc2d004 merge own commits into render branch into trunk since 27560
27562, 27570, 27571, 27574, 27576, 27577, 27579, 27590, 27591, 27594, 27595, 27596, 27599, 27605, 27611, 27612, 27613, 27614, 27623
2010-03-20 16:41:01 +00:00
Joerg Mueller
1e2be7a8c6 "Fix" aka implementation of [#21548] Audio doesn't work when adding scenes with audio to another scene. 2010-03-20 11:15:16 +00:00
Joshua Leung
d89a8c34f3 More F-Modifier Tweaks:
This commit started out aiming to make the "Stepped" F-Modifier (committed last night) even more useful, but ended up fixing a few other finer-points of how F-Modifiers work.

Firstly, the new stuff:
I've addded options to the Stepped F-Modifier to not affect frames before and/or after specified values, and renamed the 'start offset' to 'offset' for clarity. 

The main objective of this is to allow Stepped F-Modifiers to only affect certain time ranges, so that by layering/using multiple instances of the F-Modifier, it can be possible to have multiple stepping-sizes.

This allows for effects like:
http://www.pasteall.org/blend/2230
or in words, it provides a convenient mechanism for animators to specify whether sections of the animation is shown "on twos", "fours", or even "forty-second-ths plus a smidgen", as can be easily done with 2D.

Assorted changes to support this:
* Properly fixed up how F-Modifiers that work with time, evaluate the time to evaluate the curve at. Now layered time effects like this should be possible in a much nicer way.

* Added proper value range validation/clamping to many properties. There are still a lot more that need checking, but at least more properties now do "the right thing".
2010-03-19 03:38:14 +00:00
Joshua Leung
618b459e8b F-Modifier Goodies (as requested by @ndy):
* Copy/Paste operators for F-Modifiers
Available in Graph and NLA Editors. Use the Copy/Paste buttons beside the 'Add Modifier' buttons.

Copy copies all the modifiers of the ACTIVE F-Curve or Strip depending on the editor.
Paste pastes modifiers from the buffer to all the selected F-Curves or Strips, adding the new modifiers to the ends of each list.

* 'Stepped Interpolation' F-Modifier
This modifier holds each interpolated value from the F-Curve for several frames without changing the timing. 

This allows to preview motions 'on-twos' for example without altering the timing, or having to go through setting heaps of keyframes. In this case, Andy wanted to use this for CG <-> StopMo.
2010-03-18 13:04:46 +00:00
Joshua Leung
be3d5f9d5d PyKeyingSet Bugfixes:
* With multiple objects selected, only one of the objects got keyframed. The code which was checking for duplicate paths was wrongly assuming to ignore the ID-block used still.

* Not registering a Keying Set as 'builtin' would crash on startup. I've made all Keying Sets fallback to adding as if they were local for now, but a better solution is coming soon.

* Fixed a typo in RNA function wrappers for the generator callback, since it was looking for the iterator only. This doesn't seem to have caused any problems (thankfully).
2010-03-17 11:34:27 +00:00
Sergey Sharybin
14e29a62dc "Fill deformed" option for 2D curves
Add new option named "Fill deformed". If this option is switched on.
2D curve will be first deformed by modifiers and only then be filled
with faces.
2010-03-16 21:09:53 +00:00
Brecht Van Lommel
056972a97f minor changes to rna names for consistancy
(commit 27445 by Campbell from render25 branch)
2010-03-16 17:42:58 +00:00
Brecht Van Lommel
5c9c50e13b change the scene opengl sequence rendering to be a global option with rendering and scrubbing settings.
still need to do a do_versions for this to work right without changing settings.
(commit 27442 by Campbell from render25 branch)
2010-03-16 17:37:34 +00:00
Brecht Van Lommel
f17dcf58c8 Fixes for thread related render / compositing crashes:
* Viewer node could free image while it is being redrawn, viewer image
  buffers now need acquire/release to be accessed as was already the
  case for render results.
* The Composite node could free the image buffers outside of a lock,
  also causing simultaneous redraw to crash.
* Especially on Windows, re-rendering could crash when drawing an image
  that was freed. When RE_RenderInProgress was true it would access the
  image buffer and simply return it while it could still contain a pointer
  to a render result buffer that was already freed. I don't understand
  why this case was there in the first place, so I've removed it.

Possibly fixes bugs #20174, #21418, #21391, #21394.
2010-03-16 16:58:45 +00:00
Roland Hess
d617294c49 New "Maintain Volume" constraint. When attached to a bone, you specify a "free" axis. Upon scaling, this free axis scales normally, but the constraint forces the other two axes to adjust themselves appropriately so that overall bone volume is maintained. So, setting "Y" as the free axis (the default) creates a bone that automatically squashes and stretches when scaling. Thanks to Aligorith, Fweeb, Cessen and others for the feedback. 2010-03-16 12:55:56 +00:00
Matt Ebb
dc5945e7f0 Fix [#21165] Moved textures don't move the animation curves 2010-03-16 07:44:57 +00:00
Joshua Leung
ea4a987fd4 == Massive Keying Sets Recode ==
After a few days of wrong turns and learning the finer points of RNA-type-subclassing the hard way, this commit finally presents a refactored version of the Keying Sets system (now version 2) based on some requirements from Cessen.

For a more thorough discussion of this commit, see 
http://sites.google.com/site/aligorith/keyingsets_2.pdf?attredirects=0&d=1

------

The main highlight of this refactor is that relative Keying Sets have now been recoded so that Python callbacks are run to generate the Keying Set's list of paths everytime the Keying Set is used (to insert or delete keyframes), allowing complex heuristics to be used to determine whether a property gets keyframed based on the current context. These checks may include checking on selection status of related entities, or transform locks.

Built-In KeyingSets have also been recoded, and moved from C and out into Python. These are now coded as Relative Keying Sets, and can to some extent serve as basis for adding new relative Keying Sets. However, these have mostly been coded in a slightly 'modular' way which may be confusing for those not so familiar with Python in general. A usable template will be added soon for more general usage.

Keyframing settings (i.e. 'visual', 'needed') can now be specified on a per-path basis now, which is especially useful for Absolute Keying Sets, where control over this is often beneficial.

Most of the places where Auto-Keyframing is performed have been tidied up for consistency. I'm sure quite a few issues still exist there, but these I'll clean up over the next few days.
2010-03-16 06:18:49 +00:00
Brecht Van Lommel
14c2fc3c12 Various warning fixes. 2010-03-14 21:25:01 +00:00
Jens Ole Wund
9385c46581 soft bodies kind of bug fixing:
After watching 2.5 from a distance,
i did review the soft body module
to match in 2.5 every thing can be animated rule.
Until now i did not realize, that, by default, every property 
is 'fcurve'-able unless told to be not.
I really like it that way.
However SB code did assume some things not to be
changing after birth of the SB object.  
After spending some hours with softbody.c 
/* as may be read in its history */
I think most of the SB properties are ready to go.
For those that do not, some of them never will,
i did reset the flag in the RNA definitions.

There is one not completely resolved:
bending stiffness 
which will work if the initial value was non zero,
because only in this case the secondary set of springs
needed is built at all.     

Duh, and there a zillions of cases to test ..
please do so.
2010-03-14 21:15:22 +00:00
Brecht Van Lommel
ed076d74ef Rendering from 3d view in local view or with unlocked layer was not
working yet, now layer is passed along to render engine, changes quite
a few files because simple swapping trick no longer works with threading.
2010-03-14 20:24:11 +00:00
Peter Schlaile
128ecc7e82 == Sequencer ==
This fixes [#21087] Opacity of 0 turns off effect rather than affecting transparency
and makes the whole early_out-business in strip stack a lot more readable.

The actual fix is just using the composited result in layer fall through
case (se1->ibuf_comp instead of se1->ibuf).
2010-03-14 16:36:41 +00:00
Sergey Sharybin
ac76568e67 Fixed incorrect calculation of constructive modifiers when rendering.
DerivedMesh was crating from object's disp instead of specified one.
2010-03-14 13:05:42 +00:00
Sergey Sharybin
94d06bf3d4 Fix #21594: converting bevel objects to mesh stops displaying them in spacial cases
Mesh's boundbox should be re-calculated after curve->mesh conversion.
To avoid troubles with displaying texture space i've used
tex_space_mesh() for this.
2010-03-14 12:12:21 +00:00
Sergey Sharybin
7da0c4c699 Fix #21599: Duplicating an object with solidify doesnt copy the flags correctly
Someone forgot to copy solidify modifier's flag.
2010-03-14 08:15:20 +00:00
Jens Ole Wund
c56f04d349 soft body property nodemass became 'hot' for meshes
could not test for lattices and curves since parts of the UI 
is missing
will try to fix this next .. hurms not knowing what i am
doing there
2010-03-13 21:22:56 +00:00
Jens Ole Wund
eea9453470 softbody properties mingoal maxgoal are 'hot' now
for meshes lattices and curves
changes work immediately in the running simulation
2010-03-13 19:12:54 +00:00
Sergey Sharybin
975cf38d6a Fix #21282: Segfault when using "Text on curve" option
Ignore textoncurve property if it's type isn't OB_CURVE, since
only curves could have a path.
2010-03-13 11:22:39 +00:00
Jens Ole Wund
9439c0b1cb getting close to 2.5 'everything can be animated paradigm'
well meshes do .. I've not been looking a the tail yet. 
softbody.c
2010-03-13 02:43:25 +00:00
Matt Ebb
25a14bad61 Fix [#21351] PROPERTIES: Resolution changes based solely on changing
encoding format

Bypassed existing hardcoded ffmpeg presets that executed when changing
format, replaced with bpy presets.

Leaving old code there for now, haven't got python/rna access to the ffmpeg
id properties.. Anyone know how to do this? 
Code snippets here: http://www.pasteall.org/11657/c
2010-03-13 00:17:52 +00:00
Brecht Van Lommel
8252fa5a16 Fix smoke looking black in the viewport when compiling with -ffast-math.
(memset works on byte level and bytes -1,-1,-1,-1 = NaN).
2010-03-12 14:42:03 +00:00
Brecht Van Lommel
353a078d4c Fix #21211: new indirect/environment/emit passes weren't showing up
in compositor and outliner yet.
2010-03-12 12:29:12 +00:00
Brecht Van Lommel
b0dd7b8c9c Fix #21189: vertex paint not working with mirror modifier. 2010-03-12 12:09:58 +00:00
Joshua Leung
6028470a9c Motion Paths + Auto-Keying:
Revised the conditions under which motion paths get recalculated after transforms (when auto-keying is enabled). Now, the type of path display does not matter, but rather that the object/bone in question has any paths at all. This makes animating with these a much smoother experience.
2010-03-11 11:15:25 +00:00
Matt Ebb
69a7060678 Restored Environment maps
* Fixed up RNA and UI
* Brought back 'Save' and 'Clear' operators (in the little triangle menu in 
environment map properties)
* While I was at it, noticed that environment maps were only using 8bit 
colour, changed it to use full 32bit float instead for proper HDR colour etc,
so environment map reflections have the correct colour range
--> http://mke3.net/blender/devel/2.5/env_hdr.jpg

This fixes [#20904] Environment Map does not render; also missing panel
2010-03-11 07:43:49 +00:00
Campbell Barton
3d222c3de6 - scene sequencer camera override wasnt working for render strips (only opengl)
- temp disable camera switching with override by clearning markers (hack)
- check for GAMEBLENDER define else eclipse gets confused by multiple definitions of functons in the stub.
2010-03-10 08:17:18 +00:00
Janne Karhu
54b4266bef Fix for [#21411] Particles jitter when resting on a collision object
* Particle now take particle acceleration during collisions into account.
2010-03-10 03:41:41 +00:00
Jens Ole Wund
2df08632cd softbody.c / preparing 2.5 / animate all ..
still not happy with it 
loads of issues .. anyone like to join Ulysses?
2010-03-09 23:30:32 +00:00
Campbell Barton
1708ac0723 rename some functions to use easier to understand names.
'BLI_makestringcode' --> 'BLI_path_rel'
'BLI_convertstringcwd' --> 'BLI_path_cwd'
'BLI_convertstringframe' --> 'BLI_path_frame'
'BLI_convertstringframe_range' --> 'BLI_path_frame_range'
'BLI_make_cwdpath' --> 'BLI_path_cwd'
2010-03-09 17:36:23 +00:00
Brecht Van Lommel
1b28081102 Mac + OpenMP + pthreads workaround: recent commit broke compile, just
moved it into threads.c now instead of having it duplicated in various
places.
2010-03-09 16:54:25 +00:00
Campbell Barton
5f7bcee541 camera override option for scene strips. 2010-03-09 13:52:52 +00:00
Campbell Barton
b7a73f9e5b mtex buffer copy & paste back for materials. 2010-03-09 09:17:45 +00:00
Matt Ebb
ec303cf980 Fix [#21188] HueCorrection Node, when reseting Curve, it goes to a incline instead of flat/straight 2010-03-09 07:41:27 +00:00
Campbell Barton
d4756d395b remove for bad-level-call & some minor changes to make camera switching neater. 2010-03-09 07:41:04 +00:00
Janne Karhu
979aa4e990 Point cache optimization: only cache particles that are alive.
This reduces point cache sizes dramatically especially if particle
life time is small compared to total simulation length. For example
with the settings: particle amount = 10000, start = 1, end = 200,
life = 10, cache step = 1, the unoptimized blend file size (compressed)
was a little over 22 Mb and with this optimization the file is a little
under 2 Mb (again compressed). In addition to saving memory/disk space
this also probably speeds up reading from cache, since there's less
data to read.

As an additional fix the memory cache size (displayed in cache panel)
is now calculated correctly.
2010-03-09 03:01:18 +00:00
Matt Ebb
f03a17d0f9 * Fix for crash using texture nodes in displace modifier
Modifier code was asking for filtered textures without sending derivatives. 
Disabled this and also checks for filtered/non-filtered.

Brecht, I assumed this was ok due to the existence of the p->osatex variable 
- if this isn't what you had in mind, please change or let me know :)
2010-03-09 00:35:05 +00:00
Campbell Barton
754b22bd51 option to use offscreen opengl drawing with the sequencer scene strips.
warning, uses bad level call, will need to resolve very very soon!
2010-03-08 21:33:51 +00:00
Campbell Barton
b356eb6a8b image re-project now uses offscreen render function and has input for render size.
unrelated changes that ended up being more trouble to commit separate...

- removed BLI_split_dirfile(), was nasty, occasionaly modifying the source string, it could create directories and used the $CWD in some cases. was only used in 2 places in filesel.c, if this gives problems can address without bringing back this function.
  renamed BLI_split_dirfile_basic --> BLI_split_dirfile

- view3d_operator_needs_opengl was being called for offscreen render when it wasnt needed.
2010-03-08 20:08:04 +00:00
Brecht Van Lommel
23cfce7691 Depsgraph: more tweaks to last commit to get it actually working
int more complex files.
2010-03-08 15:38:10 +00:00
Brecht Van Lommel
657e02106a Depsgraph: always execute scene camera as if it was on a visible layer,
because even if it is not it can still affect the 3d view or render.
2010-03-08 15:21:39 +00:00
Sergey Sharybin
838842581c - Fixed trouble with rendering curves with disabled modifiers, which are
disabled for realtime displaying but enabled for rendering.
- Calculate tex space for curves before modifiers applying.
2010-03-08 13:49:13 +00:00
Campbell Barton
57eac3b3e3 Ctrl+RMB support for selecting markers when sync markers is enabled. 2010-03-08 11:10:04 +00:00
Sergey Sharybin
3ddbd2abe5 Fixed segmentation fault error when entering curve's edit mode when
there is sufsurf modifier first in the stack.

Some optimizations in curve_calc_modifiers_post():
  - Calculate allverts array only for curve modifier applying to curve
    without derived mesh.
  - Do not calculate deformedVerts array each time deformation modifier
    is applying to derived mesh.
2010-03-08 10:05:51 +00:00
Campbell Barton
3b105657d5 option to transform markers in the dope sheet, needed for re-timing animation. currently supports translate and extend.
TODO:
- select markers in dope sheet.
- transform time scale.
2010-03-08 09:06:58 +00:00
Sergey Sharybin
8d53f3f04e Enable "Build" modifier for curves/surfaces. 2010-03-07 10:40:52 +00:00
Sergey Sharybin
3ad1bfa69e Fix for convert_exec()
"Keep original" option now works for all objects' types
2010-03-07 05:04:22 +00:00