Autosmooth didn't copy additional texture coordinates such as sticky
correctly. This was part of the vertex struct in 2.41 and older, but it
became dynamic in 2.42.
One of the annoying things in Blender was that the UV Faceselect mode
immediately forced the object to draw 'Textured', mimicing how the game
engine could show it. For modeling and texturing workflow not optimal.
UV FaceSelect mode now draws textured & default lighted, if the view is
set to 'Solid'. Switch view to 'Textured' to see again what the game
engine could draw (which is using real lamps, and the per-face lighted
flag).
now, others can be added later (sticky, shape keys). Beside one small fix
for knife exact vertex group interpolation, is intended to work the same
as before.
Also fixes bug #5200, related to editmode undo and vertex groups. And
corrects the editmode to faceselect mode selection conversion, that was
broken in a previous commit.
Major sequencer rewrite to add Speed Control effect.
Changes:
- Cleaned up large parts of sequence.c removing a lot of unnecessary code.
(We first built old seqar array to decide, what is visible, then build
dependencies with new code, then used old code to iterate through the
strips and deciding using new code what is used and so forth and so on...)
Should be much faster now.
- Now we build the strips recursively thereby elemenating the need of a
seperate dependency calculation.
- Added a Speed-Control effect to change strip speed afterwards.
(Offers global speed as well as IPO-controlled speed.
There are several modes to play with:
- Control by velocity (IPO = velocity where 1.0 is normal speed)
- Control by frame number (IPO = target frame)
- IPO-Value can be rescaled to frame-value, to make frame exact matching
possible. (Matching video tracks to audio tracks with IPOs ;-)
Demo-Blend file is here http://peter.schlaile.de/blender/sequencer/speedcontroltest.blend
Since this was also a Plumiferos request I hope to be mentioned in the
credits ;-)
Enjoy! And please test the new sequencer thoroughly. It is really more like
a rewrite this time.
The VRML97 exporter was rounding a lot of stuff to three decimal points.
This is silly, since the spec says single-precision floats are used for
most things, which gives about 7 decimal points precision.
THE OBJECT PROXY
Or simple said; local control of referenced data from libraries.
Having library files with references is a very common studio setup, and
Blender did do quite well in that area. Were it not that for character
setups it was impossible to use still.
This commit will enable a full rig+character to remain in the library,
and still have - under strict control - local access for animation edits.
Full log:
http://www.blender3d.org/cms/Proxy_Objects.824.0.html
the CustomData module from the modifier stack rewrite, but with additions
to make it also usable in edit mode. Some of the datatypes from that
module were move to a DNA header file, they are not saved to file now, but
will be soon.
The only code that wasn't abstracted is the uv collapse / merging code. It
is rather complicated, will look into that in the future.
There should be no user level changes.
1. UI review -> disabeling options when not available .. giving hints why ( even tried to give usefull tooltips )
1.1 give some more user control to the solving process (mins,maxs).. optional feedback on the console
2. replacing ugly object level 'sumohandle' with SB (private runtime) level/pointer 'scratch'
which holds runtime data like cached collider data and more .. and it's thread save this way :)
3.related no 2. write a 'private' history of collision objects to ease the 'fast' collider tunneling syndrome'
4. some <clean> optimizations, 3-BSP for self collision, general AABB checking before ever going to collision details
5. some <dirty> ( in the sense of do some inacurate physics noone ever will see ) little tricks to make things faster .. ..fuzzy collision situation bypass .. forward collision resolution
Made them use the new the two new math functions I've added in arith.c (in
various patches) - Mat4ToEul and LocEulSizeToMat4 - cutting down on the
amount of code reuse.
Irregular shadow buffer, for solid OSA case, suffered aliasing. This caused
by optimized storage of shadow factors in 1 pixel (averaged for all sub
samples). That didn't work well really...
Now the code uses same method as for transparent faces, storing results for
each sample.
Radiosity tool or render was using an uninitialized variable, causing clip
to work incorrect. (black lines in radiosity).
Error caused by commit in august, after 2.42a release.
Was surprisingly easy to add, compiant with file reading and undo code.
Currently only the Image->ibuf gets restored, and its opengl binding, so
for realtime texture it works nicely. Also texture images are not freed
inbetween undo steps
Notes:
- Painting textures will just keep the painted image, there's no undo
yet for that
- If this works satisfying, I'll extend it to compositing previews
TEST IT WELL PLEASE! :)
This adds support for "generator effect strips", which don't need necessarily
an input strip and my version of Matt Ebb's [ #5035 ] 'Solid Color'
sequence strip.
TODO: With a little bit more tweaking it will be possible to make animated
effect plugins and my still unfinished "Bake"-Strip.
For the 'Solid Color'-Effect, to quote Matt:
This is nice and simple, just provides a solid colour that's set in a colour picker in the properties popup. This is something we've needed for a long time, and I got totally sick of having to make 'black.png' and 'white.png' just to do fades, so I coded this.
Added enhancements by blendix (Patch #4919: Insert sequence effect between)
It adds the following things:
- You can add a sequence strip afterwards in the middle of an effect chain
(you have to move strips around before, so that there is "room" for it.
Blender will ask you then, if you want to add in between or after the
selected strips)
- In the case you messed it up and want your effect strips to be reassigned in
a different way, there is the new "R"-key. Just select three arbitrary
strips and press "R". If you don't create a cycle, those will be connected
to a new effect chain.
- Fixed freeing of imbufs on changes to properly take into account dependencies. An example of a simple case that went wrong is one image strip with two
glow effects, changing the parameters of the first glow strip will not
result in any updates. Basically only direct dependencies were taken into
account, which resulted in the image preview not being updated in some cases.
- Let the sequencer detect an active sequence strip if none is defined, to
get rid of annoying error messages when trying to add an effect to a
selected sequence strip right after loading a file.
- Delete is less destructive. If you delete somewhere between other strips,
Blender now tries to relink in a reasonable way.
- The active sequence strip is now displayed with a light instead of a dark
outline, which makes it easier to spot, and is especially useful for the
tools using the active sequence strip.
- Ability to view the final result when editing inside meta strip.
The channel button was modified to also allow negative numbers,
where -n is n levels up the meta stack. There is probably a nicer way to
specify this, instead of (ab)using the channel button, but this seems to
work quite efficient.
- Also a small bugfix: don't crash on loading files from newer versions with
an unknown effect strip.
file I modified for the other patch. So I'm being bad and combining them
together.
First one is added -lXi to LLIBS for solaris. (Makes it so it compiles
again with the tablet stuff added)
Second one is the real commit its an expansion of patch #4458
This adds optional ICONV lining to support international fonts in the
file selector. Thanks to wisit venita (dripstone) I mostly just cleaned
it up a little and made it optional via defines.
Its currently turned off for all platforms except for solaris on scons.
For scons see your config/(platform).py file look for WITH_BF_ICONV
For the Makefiles look at source/nan_definitions.mk look for WITH_ICONV
(basically you'll want to export WITH_ICONV=true and possibly set some other
stuff)
Let me know if there are any problems.
Kent
--
mein@cs.umn.edu
The Preview panel in UV window, for compositing, sets a 'crop' flag in the
scene when used. Somehow this flag can hang when you switch screens or
close windows. Or even worse, it crashed on renders.
This commit ensures that the compositor survives and gives error prints.
The real issue, hanging flags on closing windows, has to be solved still.
* Removed un-needed cases for limit loc/rot/scale constraints from expand_constraints, which caused a few compiler warnings
* Removed an odd character in one of the comments for constraints. (Hopefully there wasn't any specific reason why it had to be there)
Displace modifier crashed when used on Curve, the fix removed the flag
that accepts curve objects, but apparently then a flag to accept meshes
has to be added. (eModifierTypeFlag_AcceptsMesh).
Thanks Michael Crawford for notifying this fix.
#5061 - Ipo/Action 'Cleaning'
#5071 - 'Only Needed' Keyframing Option
====================
* IPO/Action 'Cleaning':
It removes un-necessary keyframes from individual ipo curves.
- In both editors, the hotkey is currently the OKEY. Also accesable from menus of each editor.
- There is currently a 'threshold' popup. This sets the value that the cleaner uses to determine if two keys have same time/value
There are a few improvements that could still be made, such as:
- There are a few cases that it still doesn't handle yet, such as when un-needed keyframes lie on a linear line (and similiar cases). This shall be improved soon.
- Also, for some reason, after running cleaning while in ipo editor editmode, all but the active curve are hidden.
====================
* 'Only Needed' Keyframing Option:
This patch adds a new keyframing option for objects and bones. It only adds keyframes where they are needed, judging from the surrounding points on that curve.
Notes about this keyframing option:
- Works like the existing 'Avail' option, except it checks if the keyframe
is needed.
- Currently uses hardcoded threshold for determining if same value.
[quote]
/* Cases where keyframes should not be added:
* 1. Keyframe to be added bewteen two keyframes with similar values
* 2. Keyframe to be added between two keyframes with similar times
* 3. Keyframe lies at point that intersects the linear line between two
keyframes
*/
[/unquote]
grouped and become a new duplicated group, and so on.
IMPORTANT NOTE!
- no check for eternal loops, so I've hardcoded limited it to 5 levels
- no support for animation or deformation/modifiers/constraints
So, only fun for the props and architecture department :)
duplicate code. Also removed redundant files from the bsp module,
that where replaced by boolop last year, no sense in updating them
for these changes. On the user level things should still work the
same, this is only preparation work.
Not counting the removed files, -1501 lines of code, not too bad :)