Age | Commit message (Collapse) | Author |
|
|
|
from shuvro sarker (shuvro)
Added text to the patch and made other minor tweaks.
moved image generation functions into their own file.
|
|
27562, 27570, 27571, 27574, 27576, 27577, 27579, 27590, 27591, 27594, 27595, 27596, 27599, 27605, 27611, 27612, 27613, 27614, 27623
|
|
with audio to another scene.
|
|
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".
|
|
* 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.
|
|
* 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).
|
|
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.
|
|
drawing by default. since we use preview renders a lot the empties & armatures can get in the way also.
(commit 27511 by Campbell from render25 branch)
|
|
(commit 27445 by Campbell from render25 branch)
|
|
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)
|
|
* 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.
|
|
"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.
|
|
|
|
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.
|
|
|
|
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.
|
|
working yet, now layer is passed along to render engine, changes quite
a few files because simple swapping trick no longer works with threading.
|
|
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).
|
|
DerivedMesh was crating from object's disp instead of specified one.
|
|
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.
|
|
Someone forgot to copy solidify modifier's flag.
|
|
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
|
|
for meshes lattices and curves
changes work immediately in the running simulation
|
|
Ignore textoncurve property if it's type isn't OB_CURVE, since
only curves could have a path.
|
|
well meshes do .. I've not been looking a the tail yet.
softbody.c
|
|
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
|
|
(memset works on byte level and bytes -1,-1,-1,-1 = NaN).
|
|
in compositor and outliner yet.
|
|
|
|
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.
|
|
* 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
|
|
- 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.
|
|
* Particle now take particle acceleration during collisions into account.
|
|
still not happy with it
loads of issues .. anyone like to join Ulysses?
|
|
'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'
|
|
moved it into threads.c now instead of having it duplicated in various
places.
|
|
|
|
|
|
instead of flat/straight
|
|
|
|
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.
|
|
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 :)
|
|
warning, uses bad level call, will need to resolve very very soon!
|
|
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.
|
|
int more complex files.
|
|
because even if it is not it can still affect the 3d view or render.
|
|
disabled for realtime displaying but enabled for rendering.
- Calculate tex space for curves before modifiers applying.
|
|
|
|
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.
|