Proportional edit:
- Proportional mode added to header as button/menu. Including new option
to have only connected geometry influenced.
- Added icons for proportional & proportional modes
- Make proportional edit data part of Scene, so all gets saved.
The Global flag G_PROPORTIONAL was removed
- Made sure #defines get used properly, also tweaked order for proportional
so it starts with regular 'smooth' by default.
- Use ALT+O in editmode to switch to new proportional 'connected' mode
Other UI stuff:
- in EditMode, the layer buttons get hidden... the amount of icons in
3d header grows to fast. :)
- made less ugly icons for the Manipulators. Still can be better.
- Added alpha-filter for pre-processing Icon-image, giving nicer display
of icon-antialising on dark or bright backdrops
- disabled Manipulators when in editmode, and current layers don't show
the edited data.
- Added the value used to define Normal size (editmode draw) in Scene too,
so it gets saved.
While doing a viewmove/rotate, the queue was not emptied nor read...
so after a while the entire queue gets full, not registering a modifier
key-release anymore. Fixed :)
Reported error confirmed in windows and OSX.
Works as follows;
- press the 'show bake settings' button (no space left... :)
- define start/end frame for bake, and an interval step.
The baked result interpolates nicely (Bspline, 4 keys) so in general a
step size of 2 or 3 still gives OK results.
- Press "BAKE". This will do a full animation + playback. Press ESC if it
you don't want it.
Once Baked, the BAKE button becomes a FREE BAKE. As reminder the softbody
buttons get blocked with error() menu.
This saves OK in a file. Renders any frame, including fields and moblur.
You can also set a "Timeoffs" for the softbody. And yes, this should be
in the NLA once... :)
NOTE! With this commit, files saved with the old (first commit) version by
Jens Ole won't read the settings back... he stored all sofbody variables in
Object, which was moved to a new struct when I did my first commit on SB
(over a month ago)
Also note that I moved particle deflecting & softbody to a new include.
Push/Pull had a problem with constraints enabling/disabling. Fixed
Restablished infinite line for constraint draw (when not using manipulator) as discussed in meeting.
fixed some *includes*
with
#ifdef WIN32
#elif
#include <sys/time.h>
#endif
looks like MSVC6 does not need that include .. donno if cygwin builds will
so thats why i kept that *ifdef overhead*
Works like a charm... well it now replaces the old base-sorting hack. :)
Next stage will be to define how to further integrate it. Plus some
minor code cleanups... static/internal functions versus external, etc.
- added in new transform the (not so useful but yah) old feature that
does scrollwheel zoom during transform
- had to change transform call arguments for uv-window/sequence/oops to
match new transform for mouse callback
TODO (for martin?)
- pulldown menu support to call with local axes compliant as for pressing
it with hotkey
- mirrormenu() still uses old transform stuff...
.getPixel( x, y ) returns float list of [r, g, b, a] for pixel
.getMaxXY() returns image size as float list [x, y]
Contributed by Austin Benesh (mchs3d). Thanks!
also ran code thru indent.
still was using int for calculus... made it using 64 bits ints.
- The "disk free" indicator in the header didn't work for OSX, due to
a missing #ifdef __APPLE_
selected) and to vertex normals. Only issue is that vertexnormals are not
updated on each editing command (it's a bit too much overhead...) so use
a TAB+TAB for now to enforce proper vertexnormals.
Added in Nkey panel (transform properties) option to show in editmode
at choice the global or local coordinate values.
Same option works for the "Tech draw" options. :)
- The ortho render recode had a weak method to calculate the Z value of the
render coordinate (shi.co[2]). Worked OK for normal render, but not in
unified, giving big errors in Ortho Unfied render.
Solved with proper math, using face equation a*x+b*y+c*y=d. Dunno why I
didn't do it in first place. :)
- Bug fix#2493. Edge render gave much different result for Ortho. This
was due to overflows in the integer math filtering zbuffer values.
Cleaned it op properly, preventing any integer overflow now.
values that change during transform().
For the rest drawing sticks to actual selection, making the view quite
less cluttered. Hope this gets approval. :)
softbody.c I removed an unused var.
text.c added return values to 2 return statements that didn't have anything.
Makefile added $(FIX_STUBS_WARNINGS) to CFLAGS for the stub.
source/blender/src/editface.c fixed up int vs unsigned int stuff
source/blender/src/resources.c had two vars declared as unsigned char *
and then inputs to them were cast as char * so updated the casts.
Kent
of previous code which slanted after a while.
Patch provided by John Aughey, thanks!
(John will send me the additional diff for a correction when going from
trackball to turntable)
source/creator/creator.c
changed ifdef's around fpe_handler to match when its actually used.
intern/SoundSystem/intern/SND_AudioDevice.cpp
Changed: SND_SoundObject* oldobject = oldobject = pIdObject->GetSoundObject();
to: SND_SoundObject* oldobject = pIdObject->GetSoundObject();
intern/SoundSystem/openal/SND_OpenALDevice.cpp
removed unused var.
source/blender/blenkernel/intern/mball.c
initalized a couple of vars that might have been used uninitalized.
The rest were changing types to match, most of them were something like
was short * should have been unsigned short *.
Kent
Wrong referencing of Materials created when importing DXF caused crashes.
Note for the person who coded it: the use of Blender internals (database)
is quite confusing... most of exotic.c isn't really OK code to reuse
from.
There's also a lot of redundant code there... with many chunks adding
objects or mesh data being copied completely. This can be structured much
better! :)
done for lattices... these keep calling this during transform, causing
the lattice itself and its children (if soft) to remain static on same
position.
Real solution has to be 2-fold:
- store deformed lattice points in Lattice, as a "DispList"
- usage of proper depgraph :)
There's also the idea to keep simulating softbody during a transform, to
give feedback on what softbody does... later.
Apparently DXF allows layers to be read too... this went wrong in 2 ways;
- object->lay was not equal to base->lay
- if DXF has layer info, but not readable, it set object->lay to 1 instead
of using 'current layer'.
SoftBodyDetectCollision() is handeling the case
'user wants to prevent self intersection by declaring SB object a deflection target'
ahh .. yeah .. i can see the bug reports on that
(me shrugs .. never promised that to work)
For non-uniform scaled + rotated objects, the normal aligned Manipulator
got deformed (on multiple selected faces) or pointed wrong. Needed the
famous Transpose of Inverted Matrix trick here.
Ipo.delCurve( curve_name ) deletes named curve from IPO.
Ipocurve.delBezier( int ) deletes point at index from Ipocurve.
Contributed by Ken Hughes (khughes). Thanks!
MMB click with no constraint selects a constraint right away (the axis selector doesn't flash on screen)
MMB click with a constraint removes the constraint
MMB click-drag in both case (with and without a constraint) uses the axis selector.
stopConstraint didn't remove the CON_SELECT flag, so cancelling transform while selecting a constraint and then reentering transform was funny. Fixed
MSVC 6.0 Projectfile changes for zblur and new files in ketsji.
Also adding BL_src projectfile to the commit, apparently it's not up to date with transform_conversions.c but I have it ok here and don't get any diffs.
submitted by Alexander, changes/improvements are:
- Moved to new Panel in Scene buttons "Post Effects". Together with other
postprocessing options, such as Edge render. It is also not called DoF,
this because that's a bit pretending too much then. It's a zblur still!
- Made it render Alpha as well
- Made it use and deliver float buffers
- Huge cleanup of zblur.c code, was very messy. It was alling things in render
code without need even (win matrices, transform faces, etc)
- Fixed errors in using Z values (zbuffer is signed int)
- Removed very weird gamma corrections for front/back half
- Tweaked gaussian table, allow variable 'Sigma' to be set for gauss curve
- Didn't copy 'auto focus' yet. Use of this is very limited, and gives
false expectations, nor works for rendering anims with deamons well.
Main issue remains: it's not a very advanced feature... I still doubt
very much if this deserves to be released. Spent 2 days on trying to get
the key issues solved, with not much results.
- gauss filter code has weird side effects on large blur size
- having unsharp (blurred) in front also blurs what's around in back.
only blurred in back with sharp in front works a little bit
- severe aliasing errors... also due the code splitting in 2 halves
- doesnt work with unified yet
- won't work for halos, spot halos or transparant faces
Anyhoo... It was promised to be committed, so now artists can play with it.
Who knows it's useful after all, or some fixes can be implemented. :)