Commit Graph

47594 Commits

Author SHA1 Message Date
Ton Roosendaal
f2f45d563d Removed old NO_FROZEN hack 2005-05-03 11:05:00 +00:00
Ton Roosendaal
422b69fe1e UI cleanup work;
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.
2005-05-03 10:54:42 +00:00
Ton Roosendaal
cdca939c2c Removed linewidth 2 from constraintlines 2005-05-02 19:47:50 +00:00
Ton Roosendaal
9eb5eee92e Bug fix #2507
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.
2005-05-02 18:47:00 +00:00
Ton Roosendaal
42126cb5fc Added baking for softbodies.
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.
2005-05-02 13:28:13 +00:00
Ton Roosendaal
2606a5c5d3 Removed DerivedMesh and DispList creation from countall().
Apart from the not very structured way countall() is called, it should not
make displists then, since the order of calculations then get spoiled.
2005-05-02 12:16:18 +00:00
Martin Poirier
61f2736ec3 Local axis constraint external call. Had to do it in a very hackish way which highlight a design problem in the code. To solve it (and would solve other problems too), we'd have to split off the initialisation function. Not terribly hard to do but I'm overwhelmed with work...
Push/Pull had a problem with constraints enabling/disabling. Fixed

Restablished infinite line for constraint draw (when not using manipulator) as discussed in meeting.
2005-05-02 02:18:13 +00:00
Ton Roosendaal
8c1d95abc7 Error in combo of Spothalo + normal halo over sky, with OSA + gammacorrected
adding. :)

Missing gamma correction...
2005-05-01 17:11:48 +00:00
Stephen Swaney
a6bb0b7f79 fix 'no newline at end of file' warnings 2005-04-30 23:29:10 +00:00
Stephen Swaney
a21fd1571b changed empty #elif to #else 2005-04-30 23:24:48 +00:00
Jens Ole Wund
2577c4e915 Updated MSVC6 projects to handle depgraph (added some files)
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*
2005-04-30 22:52:00 +00:00
Ton Roosendaal
79e333343b Dependency graph patch, provided by Jean-Luc Peuriere.
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.
2005-04-30 21:27:05 +00:00
Ton Roosendaal
42ae9128fa Removal of old transform() <sob> part one.
- 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...
2005-04-30 21:19:19 +00:00
Chris Want
413677caff Moved sinclude for user-def.mk 2005-04-30 21:06:54 +00:00
Ton Roosendaal
e46c8b8ad6 Error in the clipping plane for drawing rotate-widget.
On zoom out or zoom in, this clipping went more narrow or wider... should
be fixed.
2005-04-30 20:18:46 +00:00
Stephen Swaney
9aadcfc2c4 New methods for Image module:
.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.
2005-04-30 19:30:35 +00:00
Chris Want
ec52d4a0d3 Allow make to find user-def.mk even when compiling in subdirectories
using the 'mke' trick.
2005-04-30 17:33:20 +00:00
Ton Roosendaal
26d1346b79 Bug #2497
The CTRL+LeftMouse Lasso option was accidentally also invoked in Image
Window. Wasn't supposed to work anywhere but in 3d window.
2005-04-30 11:29:05 +00:00
Ton Roosendaal
ea3f579482 - file sizes > 4 GB were not correctly displayed in the file window. It
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_
2005-04-30 09:57:35 +00:00
Ton Roosendaal
feca8c4644 Manipulator with "normal alignment" now aligns to edges too (if no faces
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.
2005-04-30 09:55:37 +00:00
Ton Roosendaal
b7a927cc95 More stats-junk stuff!
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. :)
2005-04-29 18:43:17 +00:00
Ton Roosendaal
c812d2ac20 Two fixes in one commit.
- 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.
2005-04-29 08:18:41 +00:00
Ton Roosendaal
1eadd455b2 Additional fix for malloc/MEM_mallocN issues in files code. Previous patch
left out a couple of strings, causing MEM_freeN() errors.

Patch provided by Anrea Weikert
2005-04-28 19:29:54 +00:00
Ton Roosendaal
6fd281c14d Made "Centre" in mesh editmode listen to the "Around" setting, so it can
now use centroid as well (instead of only bounbox-centre)
It doesn't do "cursor" though... it's centering for object center, right?
2005-04-28 18:46:35 +00:00
Ton Roosendaal
7e85b26750 Made circle select listen to the event queue nicely, so it doesn't keep
selecting after releasing a mouse button.
2005-04-28 17:53:14 +00:00
Ton Roosendaal
8b99bfb173 Added menu in header for orientation of manipulator widgets.
Also slightly tweaked threshold for drawing text in menu buttons. The text
was clipped just too quick.
2005-04-28 17:04:08 +00:00
Ton Roosendaal
73f88ae286 To please the stats-junkies: the "tech stat" drawing now displays all
values that change during transform().
For the rest drawing sticks to actual selection, making the view quite
less cluttered. Hope this gets approval. :)
2005-04-28 15:41:09 +00:00
Stephen Swaney
c0f129d0be Add bracket matching to text editor.
#2437 from the Patch Tracker.
Contributed by Ricki Myers (themyers).  Thanks!

Highlight color is set in UserPref theme colors.
2005-04-28 15:41:06 +00:00
Ton Roosendaal
ac1cccdf59 Added idling with BIF_wait_for_statechange() in loop doing 'screen edge'
moving. Might fix issue reported by Campbell Barton, on low performance.
2005-04-28 14:41:43 +00:00
Kent Mein
b705434c72 A couple more simple gcc4.X warnings fixed.
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
2005-04-28 14:37:15 +00:00
Ton Roosendaal
1d97a448cb Restored traditional Turntable for view rotation, and without the error
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)
2005-04-28 14:09:20 +00:00
Chris Want
5270db94c7 ima_ibuf_is_nul() now needs a second arg, fixed. 2005-04-28 13:03:39 +00:00
Ton Roosendaal
d7d58accda Fix for reported (thanks Jens Ole!) error in rendering UV map textures.
Caused by making threadsafe envmap render...

Commit in convertblenderscene.c is just replacing constant with define.
2005-04-28 09:57:21 +00:00
Kent Mein
7811d7209a Bunch of gcc 4.0 warning fixes.
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
2005-04-27 11:52:50 +00:00
Ton Roosendaal
e79db85cc1 Bug fix #2483
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! :)
2005-04-27 10:08:37 +00:00
Ton Roosendaal
5bae7bb9be Fixed CTRL modifier for rotation widget drawing.
Also fixes bug #2481
2005-04-27 08:52:11 +00:00
Johnny Matthews
b16d6e005d Fix #2472 for rotate edges. Somewhere along the line edge h flags were being wiped out. This addition now saves those flags and restores them 2005-04-25 20:42:50 +00:00
Ton Roosendaal
28ebc6fede Small fix for envmap rendering + threads... not sure if it fixes linux and
windows for it... will be tested!

Fix was that the envmap cube side images (6) were stored in tex->ima, which
is shared data by other thread.
2005-04-25 20:36:17 +00:00
Ton Roosendaal
8fbecd24e8 Built in an escape from sbObjectStep() if transform() is used. Has to be
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.
2005-04-25 08:30:49 +00:00
Ton Roosendaal
7f75cfdd29 Bug fix #2469
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'.
2005-04-24 21:38:19 +00:00
Jens Ole Wund
9083ab1a14 cleaned up parameter list for SoftBodyDetectCollision(...)
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)
2005-04-24 20:51:47 +00:00
Ton Roosendaal
71b561c03f Bug #2467
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.
2005-04-24 19:50:07 +00:00
Daniel Dunbar
0094bc92dd - EXPP_addScriptLink called wrong error function (I bet the compiler
warned about this...)
2005-04-24 19:32:04 +00:00
Stephen Swaney
a15fbce1de fix overlooked compiler warning. sheesh.
update contributor names.
2005-04-24 19:27:14 +00:00
Stephen Swaney
626e930c47 New IPO methods.
Ipo.delCurve( curve_name ) deletes named curve from IPO.
Ipocurve.delBezier( int ) deletes point at index from Ipocurve.

Contributed by Ken Hughes (khughes).  Thanks!
2005-04-24 19:03:39 +00:00
Ton Roosendaal
d8f23c8d3c Reflecting the discussions on Transform Manipulators...
Here you can see the notes and pictures:
http://www.blender3d.org/cms/Manipulator_Widgets.548.0.html

The alternative rotate widgets are still under rt=2 and rt=3.

Still enough work todo here, but hope it's a good step forward!
2005-04-24 13:22:24 +00:00
Brecht Van Lommel
0016d29b51 Make view translation and zooming 'smooth' in the uv editor. Power-of-two
zoom levels can be found in the View > View Navigation menu. Also Ctrl+MMB
zooming was added.

Added the E-key, LSCM unwrap popup back again.
2005-04-24 11:57:23 +00:00
Martin Poirier
6379ff9b70 Toying a bit with MMB behavior:
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
2005-04-24 01:18:13 +00:00
Martin Poirier
7a4ae00da2 Replaced powf to (float)pow in zblur.c. Was giving problems with MSVC (the rest of the code base uses pow too).
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.
2005-04-23 22:45:34 +00:00
Ton Roosendaal
7fa7826da7 The zblur plugin (aka as DoF) integrated in render. Compared to patch
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. :)
2005-04-23 20:49:23 +00:00