blender.git
15 years agoPatch by Matt Ebb: upgraded usablitiy of text button.
Ton Roosendaal [Sun, 20 Nov 2005 10:04:45 +0000 (10:04 +0000)]
Patch by Matt Ebb: upgraded usablitiy of text button.

Textbuttons now allow a selection too (like any textbutton in other UIs).
By default, on activating a textbutton, the entire button text is selected
when you enter the button. A single arrowkey or LMB click reveils the
cursor then. Here's more user notes:

LMB click: If inside the button, places the text cursor at the clicked
position. If outside the button, confirms/finishes editing

LMB drag: Selects the text between the start and end point of the drag.

Backspace: Deletes selected text, or backspaces a character

Shift Backspace: Deletes all, as before.

Delete: Deletes selected text or forward deletes a character

Shift LeftArrow: Extends the selection left

Shift RightArrow: Extends the selection right

LeftArrow: If there's a selection, move the cursor to the left edge of the
selection, otherwise move the cursor left a character.

RightArrow: If there's a selection, move the cursor to the right edge of
the selection, otherwise move the cursor right a character.

UpArrow/Home: Move the cursor to the beginning of the line

DownArrow/End: Move the cursor to the end of the line

Ctrl Left arrow and Ctrl Right arrow to jump between directory separators

15 years ago-- added an optional "cage" parameter to mesh.getFromObject() to allow
Ken Hughes [Sun, 20 Nov 2005 01:07:54 +0000 (01:07 +0000)]
-- added an optional "cage" parameter to mesh.getFromObject() to allow
   getting cage vertices from geometry objects

15 years agono code changes (i hope)
Jens Ole Wund [Sat, 19 Nov 2005 21:35:06 +0000 (21:35 +0000)]
no code changes (i hope)
review of lyrics/epics to replace '//' comments by /*ones*/
+ adaptive step size in a nutshell  comment

15 years agobug: scaled lattice softbodies ( and the new ones ) shrinked/blew up to original...
Jens Ole Wund [Sat, 19 Nov 2005 20:02:30 +0000 (20:02 +0000)]
bug: scaled lattice softbodies ( and the new ones ) shrinked/blew up to original size under SB dynamics

had a shadow in memory there was an issue ..
yes, spring calculation should care for scaling in object matrix
so here it is

note: for meshes the bp array is abused for caching -->
only 1 matrix multiplication compared to 2 per spring

15 years agoCode cleanup: using defines in texture.c for whether a function returns
Ton Roosendaal [Sat, 19 Nov 2005 18:24:32 +0000 (18:24 +0000)]
Code cleanup: using defines in texture.c for whether a function returns
intensity, color and/or normal.
Patch provided by Guillermo, thanks!

15 years agoMade sure lattice and curve springs are calculated based on the original
Ton Roosendaal [Sat, 19 Nov 2005 18:19:41 +0000 (18:19 +0000)]
Made sure lattice and curve springs are calculated based on the original
(Non deformed) lenghts. Code for lattice (by Jens Ole) was already there
btw, was replaced accidentally by Daniel during his modifier craze :)

ALso added comments in code to clarify the softbody initialize flow, which
happens in 2 stages now. Goal weights and springs are read from the
original data, the vertex coordinates from the modifier data.

15 years ago* Corrected the lamp outer dotted circle drawing - the dotted outer circle
Matt Ebb [Sat, 19 Nov 2005 17:47:45 +0000 (17:47 +0000)]
* Corrected the lamp outer dotted circle drawing - the dotted outer circle
represents whether shadows are on for that lamp or not. Now, it properly
takes into consideration what type of lamp it is, and whether it can have
whatever type of shadow.

Things like this, and the inner spot circle representing the Spot Blur should
really be documented somewhere, I'll make a note.

* Decreased the size of the hemi lamp arcs.

15 years agoMissing pointer array check caused 64 bits not reading pointers OK in
Ton Roosendaal [Sat, 19 Nov 2005 17:26:18 +0000 (17:26 +0000)]
Missing pointer array check caused 64 bits not reading pointers OK in
scriptlinks. Thanks Ken Hughes for finding issue!

15 years ago-- fix printing of constant dicts
Ken Hughes [Sat, 19 Nov 2005 15:44:43 +0000 (15:44 +0000)]
-- fix printing of constant dicts
-- remove "TF_" from constant names in M_Mesh_FaceTranspModesDict()

15 years agoPatch #3365, Toolbox from Tuhopuu
Ton Roosendaal [Sat, 19 Nov 2005 15:16:34 +0000 (15:16 +0000)]
Patch #3365, Toolbox from Tuhopuu
Patch prvovided by Guillermo, code was - afaik - from Rob Haarsma.

This changes the toolbox (space menu) to have the first level aligned
vertically. Works much easier that way, and since the items open either
left or right, it doesn't flip order of the contents for it either.

To allow people to test (and to compare) it's a user menu setting (in
View & Controls, "Plain menus"). I've turned this on by default though,
since I propose to not have it a user setting. User setting can be
removed later.

Fixed two bugs in patch:
- if saved in user settings, first time usage of this toolbox opened in
  wrong location
- Button for "plain menus" was writing a short in an int
  (causing this new menu not to work for big endian systems)

As a bonus I've added the long wanted hotkey support for opening and
closing sublevels of pulldowns with arrow keys!

I didn't add the commenting out of correcting pulldown menu order, which
is based on location of the originating button in the UI. This uncommenting
didn't solve anything, since button definitions itself can be flipped too.
(Example: the data brose menus in top bar need to be corrected).

I can imagine the order flipping is sometimes annoying, but it still has
reasons to be there;
- the most important / most used items are always closest to the mouse.
  (like opening properties panel, or "Add new" for material.
- it follows muscle memory and 'locus of attention' (mouse position).
- menus are configured to open to the top for bottom headers, and to the
  bottom for top headers. We can expect the UI is configured consistantly
  for headers, so in general the menus will appear consistant as well.

Where menu flipping fails is especially for alphabetic listings, like in
the menu button of fileselect. However, that one should be configured to
open by default to the bottom, so ordering is consistant as well.

If people like to check this themselves; uncomment the lines in the top
of the function uiBlockFlipOrder() in src/interface.c

15 years ago-- fix bug which used unitialized pointer in M_Effect_New.
Ken Hughes [Sat, 19 Nov 2005 15:06:20 +0000 (15:06 +0000)]
-- fix bug which used unitialized pointer in M_Effect_New.

15 years agoRemoved static from shade_buttons_change_3d declaration and included
Alexander Ewering [Sat, 19 Nov 2005 13:43:28 +0000 (13:43 +0000)]
Removed static from shade_buttons_change_3d declaration and included
it in BIF_interface.h for general use in other files

15 years agoAdd a call to buttons_change_shaded_view() or something in 'assign material
Alexander Ewering [Sat, 19 Nov 2005 13:16:36 +0000 (13:16 +0000)]
Add a call to buttons_change_shaded_view() or something in 'assign material
index'

15 years agoRemoval of warning messages, unused variables, and casting errors.
Ton Roosendaal [Sat, 19 Nov 2005 11:06:29 +0000 (11:06 +0000)]
Removal of warning messages, unused variables, and casting errors.

15 years agoFinally switched to porting UI stuff from tuhopuu!
Ton Roosendaal [Sat, 19 Nov 2005 10:55:07 +0000 (10:55 +0000)]
Finally switched to porting UI stuff from tuhopuu!

This commit is based on the patch & cool design work of Matt. It includes
the new Lamp drawing style, and replaces the Object center dots with a
similar styled OpenGL drawn dot.

Important side-note is that removing the old glDrawPixels() for centers or
lamps will not only make Blender faster, but also prevents crashing on a
couple of cheaper 3d cards (as reported for S3 and Intel on-board cards)

Notes:
- The new default only draws Object centers when selected or active. If
  you like to see them always, use the View Properties Panel. You can also
  save that in the .B.blend
- The size for centers (and lamps) is in the User settings "View & Controls"
- Unselected Lamps, and their offset lines from zero Z, are drawn in a new
  Theme color

Changes and additions in Matt's patch:
- Lamps and centers are drawn fixed size, in pixels. Also the 'sun' lamp
  draws screen aligned now.
- Center dots now also draw in blue to denote Library linkage or to show
  that an Object has been linked to other scenes.
- When objects are empty (no vertices) they will always draw a center dot.
  Otherwise these objects would never be selectable anymore!
- Added theme setting for center size, and initialization
- Removed the old redundant code for drawing centers
- Cleanup of drawing routines, made center dots faster
- Started removing calls to glBlendFunc(). Regular alpha drawing should
  become standard, and the (very) occasional exception should return this
  to default after usage.

15 years ago-- added Object.protectFlags attribute; let user get/set transform lock bits
Ken Hughes [Fri, 18 Nov 2005 19:44:44 +0000 (19:44 +0000)]
-- added Object.protectFlags attribute; let user get/set transform lock bits

15 years ago-- fixed bug with returning NULL from Object_CreatePyObject() on MacOS/X.
Ken Hughes [Fri, 18 Nov 2005 16:03:03 +0000 (16:03 +0000)]
-- fixed bug with returning NULL from Object_CreatePyObject() on MacOS/X.
   The code prior to the last commit worked... but can't see the differene

15 years agoBugfix: in Sequencer, an active image/movie strip also allowed to add Ipos,
Ton Roosendaal [Fri, 18 Nov 2005 10:31:39 +0000 (10:31 +0000)]
Bugfix: in Sequencer, an active image/movie strip also allowed to add Ipos,
causing Blender to crash. (reported by Levon, thanks!)

Bugfix: InfoWindow, pulldown menu said "Dump 3D window", whilst this can be
any window type... renamed it to "Dump Subwindow" next to "Dump Screen".

15 years ago - bug fix of bug #2923
Jiri Hnidek [Thu, 17 Nov 2005 23:26:45 +0000 (23:26 +0000)]
 - bug fix of bug #2923
   bug was reported by ideasman, thanks! This bug fix also solve problem, when
   MetaBall is parented to some zero size object.

15 years agoBug #3395
Ton Roosendaal [Thu, 17 Nov 2005 22:07:06 +0000 (22:07 +0000)]
Bug #3395

Target-less or Auto-IK didn't insert keys for all bones when using
the Auto-key option.

15 years agoTwo errors in old style (not relative) Shape Keys;
Ton Roosendaal [Thu, 17 Nov 2005 21:31:49 +0000 (21:31 +0000)]
Two errors in old style (not relative) Shape Keys;

- they didn't even execute!
- you could not grab them in IpoWindow

15 years agoFix: When inserting keys for Forcefields, used for particles systems, you
Ton Roosendaal [Thu, 17 Nov 2005 21:10:16 +0000 (21:10 +0000)]
Fix: When inserting keys for Forcefields, used for particles systems, you
could not move the object anymore (since the ipo got executed).
Solved with copying original Object data in the Deflector Cache.

15 years agoNew particle option "Unborn" and "Died" didn't work for shaded halos yet.
Ton Roosendaal [Thu, 17 Nov 2005 20:55:32 +0000 (20:55 +0000)]
New particle option "Unborn" and "Died" didn't work for shaded halos yet.
Thanks Chris Burt for the poke!

15 years ago - bug fix #3380, patch provided by Ken Hughes, thanks
Jiri Hnidek [Thu, 17 Nov 2005 20:35:03 +0000 (20:35 +0000)]
 - bug fix #3380, patch provided by Ken Hughes, thanks

15 years agoFix in Colorband: the "B-Spline" interpolation didn't extend well, when a
Ton Roosendaal [Thu, 17 Nov 2005 20:31:18 +0000 (20:31 +0000)]
Fix in Colorband: the "B-Spline" interpolation didn't extend well, when a
marker wasn't on the first or last possible position. Caused by clipping.
As bonus; added Cardinal interpolation option too, which is just that
little bit different! (Cardinal goes through the controlpoints, bspline not)

15 years agoA year-zero bug, and actually another issue with auto-handles for Ipo
Ton Roosendaal [Thu, 17 Nov 2005 19:34:32 +0000 (19:34 +0000)]
A year-zero bug, and actually another issue with auto-handles for Ipo
curves. On sharp 'peaking' curves the handle was calculated
using both X and Y distance. This could result in overshooting.

New code only evaluates the X distance, resulting in much more moderate
sized handles.

Thanks Gabio for the demo file!

15 years ago-- add support for new particle effects
Ken Hughes [Thu, 17 Nov 2005 19:19:05 +0000 (19:19 +0000)]
-- add support for new particle effects

15 years ago-- fix small problem with Ipocurve.recalc(); recomputed handles but did not
Ken Hughes [Thu, 17 Nov 2005 19:10:40 +0000 (19:10 +0000)]
-- fix small problem with Ipocurve.recalc(); recomputed handles but did not
   re-sort control points (also added reminder in BezTriple doc that script
   users need to call recalc themselves)

15 years ago-- Fix for the "LIB ERROR: base removed" problem; BPy Object was decrementing
Ken Hughes [Thu, 17 Nov 2005 18:35:11 +0000 (18:35 +0000)]
-- Fix for the "LIB ERROR: base removed" problem; BPy Object was decrementing
   us.id when objects were destroyed but not always incrementing when
   created.  The intent of modifying us.id is to make Python a "user" of the
   data so it persists even when it is deleted from Blenders UI.  The original
   commit was unintentional but Ton thought the idea was OK.

15 years agothis one bothered Basse here at Orange: NLA snap strip to frame missed snapping the...
Toni Alatalo [Thu, 17 Nov 2005 18:26:41 +0000 (18:26 +0000)]
this one bothered Basse here at Orange: NLA snap strip to frame missed snapping the end part, was just a line missing.

15 years agoOne visit to studio orange, and voila a todo list!
Ton Roosendaal [Thu, 17 Nov 2005 18:01:07 +0000 (18:01 +0000)]
One visit to studio orange, and voila a todo list!

- bug: posemode, bones were drawing names and axes even when hidden
- bug: using softbody guides actually worked on themselves, causing
  an infinite loop
- feature: when a pose/bone is completely locked for transform, a grab
  will change into rotate by default.

15 years agoFix for bug #3414 provided by Lewis Saunders.
Chris Want [Thu, 17 Nov 2005 14:48:11 +0000 (14:48 +0000)]
Fix for bug #3414 provided by Lewis Saunders.

It appears that removing the 'int level' field from the
MemHead struct caused alignment issues for gcc builds of blender
on Irix (zr, who removed this field, commented that this problem
might occur, and sure enough it did happen). I've renamed the
field from 'level' to 'pad' to reflect that it has no meaning
beyond addressing alignment issues.

15 years agoBug in SoftBody for Curve/Surface: in some cases the edge spring array was
Ton Roosendaal [Thu, 17 Nov 2005 12:24:29 +0000 (12:24 +0000)]
Bug in SoftBody for Curve/Surface: in some cases the edge spring array was
not initialized, like when adding a SoftBody to Object in EditMode.

15 years agoAnother Orange sneak-in feature: SoftBody support for Curves & Surfaces.
Ton Roosendaal [Thu, 17 Nov 2005 11:40:57 +0000 (11:40 +0000)]
Another Orange sneak-in feature: SoftBody support for Curves & Surfaces.

Well, it already worked a bit, but without weight options or edge
stiffness. You now can set the weights using the "Properties" Panel in
the 3D Window (allows multiple selections too) or with Wkey in Edit Mode.
Bezier curves have this too.

NOTE: Lattice SoftBody Goal created yesterday won't work anymore!
I've had to recode weight support for Nurbs Points, using a new weight
variable... this because the existing W variable was in use for Nurbs
already. Also Lattices have this new Weight variable, so the code is nice
uniform. Sorry for the artists who already created complex Lattices... :)

NOTE2: Surface Objects don't support edge stiffness yet

NOTE3: I've removed ancient screen coordinates from the Bezier struct,
which makes - even with added weight and padding - the struct smaller!

Demo file:
http://download.blender.org/demo/test/2.40/softbody_curve_lattice.blend

15 years ago-- fix documentation error (replace removeCurve() with delCurve())
Ken Hughes [Thu, 17 Nov 2005 02:25:32 +0000 (02:25 +0000)]
-- fix documentation error (replace removeCurve() with delCurve())

15 years agoBug reported by Bassam:
Brecht Van Lommel [Thu, 17 Nov 2005 01:46:43 +0000 (01:46 +0000)]
Bug reported by Bassam:

Influence for "Rot" option in IK constraint didn't work correct
in some cases.

15 years agosome more msvc6 magic
Jens Ole Wund [Wed, 16 Nov 2005 23:39:49 +0000 (23:39 +0000)]
some more msvc6 magic

15 years agoadding some msvc6 magic to bullet part 2
Jens Ole Wund [Wed, 16 Nov 2005 23:38:18 +0000 (23:38 +0000)]
adding some msvc6 magic to bullet part 2

15 years agoadding some msvc6 magic to bullet part 1
Jens Ole Wund [Wed, 16 Nov 2005 23:37:02 +0000 (23:37 +0000)]
adding some msvc6 magic to bullet part 1

15 years agoSpecial Orange request; support for SoftBody Goal weights for Lattices.
Ton Roosendaal [Wed, 16 Nov 2005 21:58:49 +0000 (21:58 +0000)]
Special Orange request; support for SoftBody Goal weights for Lattices.
Animating detailed clothes with softbody becomes messy, so now we'll
try it this way. :)

It simply uses the W (weight) value, as already available in each Lattice
Point. Only had to make it editable;

- NKey panel
- or press W in editmode

Further there's a minimalistic W button in the softbody Panel!

15 years agoAdded stepsize option for Pose ghosting draw. Patch provided by Roland
Ton Roosendaal [Wed, 16 Nov 2005 21:03:16 +0000 (21:03 +0000)]
Added stepsize option for Pose ghosting draw. Patch provided by Roland
Hess.

In a comment on maillist I already mentioned a weird 0.5 in the code,
which I added to ensure correct rounding to integer frame numbers.
With a variable step size however, this won't work properly. You could
see it in the patch, because the ghost steps were animating.... they
should remain frozen, looks much nicer then. So I've added some fmod
voodoo here.

15 years ago-- fix bug in constant_repr() which printed the final key twice
Ken Hughes [Wed, 16 Nov 2005 19:00:47 +0000 (19:00 +0000)]
-- fix bug in constant_repr() which printed the final key twice

15 years agoMirror modifier with "do clipping" set crashed in transform when no
Ton Roosendaal [Wed, 16 Nov 2005 18:40:12 +0000 (18:40 +0000)]
Mirror modifier with "do clipping" set crashed in transform when no
td->loc was set (like for crease).

15 years agoFix for #3409
Ton Roosendaal [Wed, 16 Nov 2005 18:26:56 +0000 (18:26 +0000)]
Fix for #3409

Vertex-parenting a forcefield to a softbody caused eternal loop :)
It is partially because of the timing system (=weak) but actually also
because derivedmesh calls could also not build meshes all the time!

15 years agoError in local constraint option; the rotation correction for it was
Ton Roosendaal [Wed, 16 Nov 2005 17:10:28 +0000 (17:10 +0000)]
Error in local constraint option; the rotation correction for it was
accumulating, so constraint worked on top of previous position, giving
jumping around in cases.

15 years agoAdded a slider to control camera passepartout darkness in camera edit buttons.
Matt Ebb [Wed, 16 Nov 2005 16:03:01 +0000 (16:03 +0000)]
Added a slider to control camera passepartout darkness in camera edit buttons.

15 years agoNew Constraint option for Pose: "Local" Copy Location/Rotation.
Ton Roosendaal [Wed, 16 Nov 2005 14:32:57 +0000 (14:32 +0000)]
New Constraint option for Pose: "Local" Copy Location/Rotation.

The locality is restricted to action or user-transform only. Or as it goes
in the code now: by setting a constraint local, it executes the constraint
before it calculates the influence of Action or user transforms.

ALso note that this works in Evil Eulerians. Meaning that when you only
want to copy the X,Y or Z compenent of a euler, it can give unpredictable
results when the other euler values are set, this because euler axis
rotations work on top of each other.

15 years agoRevision of NLA stride option.
Ton Roosendaal [Tue, 15 Nov 2005 22:39:20 +0000 (22:39 +0000)]
Revision of NLA stride option.

Previously, using the "Stride Bone" tried to get that Bone motionless on
the path by correcting the internal time of the Action. This however caused
too many problems, especially with irregular walks.

The new system also tries to keep the Stride Bone motionless, but this by
moving the entire armature, and not changing the timing of the Action.
Give much nicer results. :)

To make editing Strides easier, I've added a new option in the NLA
panel to disable the path. This way you can quickly switch to editing the
action itself (keying the stride bone) and viewing the result.

15 years ago- point constructor
Joseph Gilbert [Tue, 15 Nov 2005 21:45:05 +0000 (21:45 +0000)]
- point constructor
* added a constructor for the point class to mathutils

15 years ago* update to python docs
Joseph Gilbert [Tue, 15 Nov 2005 21:33:29 +0000 (21:33 +0000)]
* update to python docs
- the softbodies documentation was put in object.properties instead of object.object. Hello!

15 years ago* update to python docs
Joseph Gilbert [Tue, 15 Nov 2005 21:14:24 +0000 (21:14 +0000)]
* update to python docs
- update for the old mathutils rewrite
- update for some other methods ive added
- added explaination of wrapped data
- added a .css file for epydoc gives nice blender/python colors :?

15 years ago-- Added OB_RECALC_OB to Object_set* methods.
Ken Hughes [Tue, 15 Nov 2005 16:34:25 +0000 (16:34 +0000)]
-- Added OB_RECALC_OB to Object_set* methods.

15 years agoGrabbing a targetless IK bone, and ESC, accidentally didnt clear a flag,
Ton Roosendaal [Tue, 15 Nov 2005 15:54:57 +0000 (15:54 +0000)]
Grabbing a targetless IK bone, and ESC, accidentally didnt clear a flag,
causing targetless IK being executed on all bone moving (looked like as if
a bone couldn't be rotated/moved).

15 years agoSmall fixes;
Ton Roosendaal [Mon, 14 Nov 2005 22:21:56 +0000 (22:21 +0000)]
Small fixes;

- Bone Ghost drawing now skips axes and names
- "Snap to cursor" now works for parent-less bones in PoseMode
- Prevented assigning in buttons of negative zero (was confusing)

15 years agoKeeping CVS working isn't easy! :)
Ton Roosendaal [Mon, 14 Nov 2005 20:07:12 +0000 (20:07 +0000)]
Keeping CVS working isn't easy! :)
Optimize for hair caused transp triangles to be not rendered OK anymore.

15 years agoTwo orange reports;
Ton Roosendaal [Mon, 14 Nov 2005 19:57:51 +0000 (19:57 +0000)]
Two orange reports;

- Copy Location Constraint didn't update Object when it was copying from a
  Bone
- Deleting bone in editmode, and connecting bones crashed due to evaluation
  of deformation code (only allowed for pose).

15 years agoAnother optimize step for huge quantities of hair renders; now per transp
Ton Roosendaal [Mon, 14 Nov 2005 19:00:13 +0000 (19:00 +0000)]
Another optimize step for huge quantities of hair renders; now per transp
part (64 scanline pixels) it first calculates clipping for faces.
Testfiles - 1 M faces with simple render - show 2 times speedup :)

15 years agoZtransp render has a built-in maximum for amount of faces it can render
Ton Roosendaal [Mon, 14 Nov 2005 18:14:03 +0000 (18:14 +0000)]
Ztransp render has a built-in maximum for amount of faces it can render
on top of each other. Was 100, which gave noise like this in this image;
http://www.blender.org/bf/hairnew.jpg

Made it 200, which solves it for a million hair polygons;
http://www.blender.org/bf/hairnew1.jpg

Also note that hair renders go much faster and better if you insert a real
solid head in it, that will prevent hairs on the back to be inserted in the
buffers. ANd don't make the head Ztransp!

15 years agoNew zbuffer; added check for zero sized edges in filling in with new
Ton Roosendaal [Mon, 14 Nov 2005 16:27:48 +0000 (16:27 +0000)]
New zbuffer; added check for zero sized edges in filling in with new
span buffer. caused black stripes in render...

15 years agoStrand render/zbuffering optimize recode
Ton Roosendaal [Mon, 14 Nov 2005 14:27:44 +0000 (14:27 +0000)]
Strand render/zbuffering optimize recode

I've been going over the zbuf.c code, which is indeed very ancient,
with a load of old optimizing and redundant code in use.

Added more 'modern' Span support, which fills per face two arrays
with the scanline information in it. That way you can zbuffer a quad in one
run as well. It was also exactly that code that's copied all over in zbuf.c

For now, to prevent issues for the release, the 'render a quad in 1 run' is
only in use for the strand render. Tests reveil a speedup of about 33%.

Will work on this recode later... which would also result in making zbuf.c
threadsafe.

And: bugfix #3398
When using the new 'render emitter' for particles, the orco array for
particles was accidentally used by mesh too.

15 years agoFinished hair strand render project (well, for release), also with a good
Ton Roosendaal [Sat, 12 Nov 2005 16:22:10 +0000 (16:22 +0000)]
Finished hair strand render project (well, for release), also with a good
doc;

http://www.blender3d.org/cms/Hair_Strand_Rendering.722.0.html

- added width control for strands
- made tangent (anisotropic) render an option
  (so you can render strands more solid, like metal/wood)

Also:
- ALT+A anim playback with static particles made cursor flashing

15 years agoUndo for editfont fixed. Paste functionality crashed the blender
Mika Saari [Sat, 12 Nov 2005 15:40:37 +0000 (15:40 +0000)]
Undo for editfont fixed. Paste functionality crashed the blender
in case the paste buffer+length of text was bigger than MAXTEXT ->
fixed this, also a error is shown to the user now. editfont.c needs
still some cleaning but will discuss about this with kaito and intrr.

15 years agoRemoving an extra semi-colon that caused some grief
Johnny Matthews [Sat, 12 Nov 2005 14:39:14 +0000 (14:39 +0000)]
Removing an extra semi-colon that caused some grief

15 years agoBugfix: when editing a Curve Guide, and deleting all but one control point,
Ton Roosendaal [Sat, 12 Nov 2005 11:58:37 +0000 (11:58 +0000)]
Bugfix: when editing a Curve Guide, and deleting all but one control point,
the path code crashed.

15 years agoHairdresser request;
Ton Roosendaal [Sat, 12 Nov 2005 11:54:58 +0000 (11:54 +0000)]
Hairdresser request;

"Additive" Guides. See also:
http://www.blender3d.org/cms/New_Particle_options_a.721.0.html

This Guide type uses the falloff distance to also define how much the
particle (or hair strand) goes over the path, allowing to create local
extremes, or only local particle generating or hairgrowth. Nice for
spiky haircuts!

15 years agoParticles now are generated from subsurfed coordinates.
Ton Roosendaal [Sat, 12 Nov 2005 10:35:14 +0000 (10:35 +0000)]
Particles now are generated from subsurfed coordinates.

Note that the current default generates particles based on the original
amount of vertices and faces, this for vertex group support (which is not
subdivided with modifiers). That means that particles generated on
subsurfed faces still have minor approximation errors.

Note for DerivedMesh users; I've added a new API call:
float *mesh_get_mapped_verts_nors(Object *ob);
Which returns an array of 2 * 3 * float size, containing the vertices and
normals, deformed and subsurfered, but only the original me->mvert amount.
Works in all non-editmode cases.

Is in use now for vertex/weight paint and particles.

15 years agoBjornmose's fixes for making booleans compile on MSVC 6.
Alexander Ewering [Fri, 11 Nov 2005 23:10:10 +0000 (23:10 +0000)]
Bjornmose's fixes for making booleans compile on MSVC 6.

Thanks!

15 years agoInserted a line just above a variable declaration, causing MSVC to
Ton Roosendaal [Fri, 11 Nov 2005 20:54:08 +0000 (20:54 +0000)]
Inserted a line just above a variable declaration, causing MSVC to
complain :)

15 years agospecial service for msvc6 projects
Jens Ole Wund [Fri, 11 Nov 2005 20:15:16 +0000 (20:15 +0000)]
special service for msvc6 projects
post build step for booleans --> copy boolop.lib to lib folder _foo_/lib/windows..

enabeling bullet for GE
wants to link with _foo_/lib/windows/bullet/lib/bullet3.lib
you have to build it with continuous.dsw in exten/bullet and copy it manually there
since bullet is exten i think no automagic in place here

15 years agoThree particle fixes;
Ton Roosendaal [Fri, 11 Nov 2005 19:41:58 +0000 (19:41 +0000)]
Three particle fixes;

- "Disp" option allows to go back to zero, effectively disabling the entire
  particle generating.
- When parenting guides to an emitter the depgraph sees a cyclic relation,
  which caused not updating the particles correct on loading it.
- Moved creating guide Cache completely outside of the particle loop,
  should make it faster to use with large amounts of particles and objects.

15 years agoBugfix #3372
Ton Roosendaal [Fri, 11 Nov 2005 18:58:45 +0000 (18:58 +0000)]
Bugfix #3372

When using the pulldown menus for exiting weightpaint, it did not free
octree tables for weightpaint, giving an error message on re-entering
weightpaint.

15 years ago* Fixed an old, old, old problem where the top camera arrows
Matt Ebb [Fri, 11 Nov 2005 17:26:08 +0000 (17:26 +0000)]
* Fixed an old, old, old problem where the top camera arrows
couldn't be seen in a side on view because they had no wireframe.

15 years ago-- various fixes for Mesh.c:
Ken Hughes [Fri, 11 Nov 2005 16:17:29 +0000 (16:17 +0000)]
-- various fixes for Mesh.c:
   * add some protection against accessing MVerts/MEdges/MFaces which have
   been deleted
   * correct cut-and-paste bug in faces.delete() method
   * correct some compiler warnings

15 years agoFix "Copy Attributes -> Font Settings" to copy the new vars (wordspace,
Alexander Ewering [Fri, 11 Nov 2005 15:19:15 +0000 (15:19 +0000)]
Fix "Copy Attributes -> Font Settings" to copy the new vars (wordspace,
underline stuff) as well.

Attempt at fixing editmode undo, but not successful. I'll create a bug-
report and assign it to Mika, because I only understand "train station"
(German saying :-) when looking at the code.

15 years agoRemoval of ugly_nvidia_hack for OSX Nvidia systems. Apple has fixed this
Ton Roosendaal [Fri, 11 Nov 2005 11:42:54 +0000 (11:42 +0000)]
Removal of ugly_nvidia_hack for OSX Nvidia systems. Apple has fixed this
bug in 10.4.3 now.

15 years agoDeleting Effectors (deflectors or Fields) now update particle systems and
Ton Roosendaal [Fri, 11 Nov 2005 10:46:26 +0000 (10:46 +0000)]
Deleting Effectors (deflectors or Fields) now update particle systems and
softbody. (report #3385)

15 years agoFix #3382
Ton Roosendaal [Fri, 11 Nov 2005 10:23:59 +0000 (10:23 +0000)]
Fix #3382

Alt+D on a Camera or Lattice did not create a linked copy. This was an
ancient convention from the dark ages (1995) still. :)

15 years agoThis is the famous proverbal example of someone trying to get a 4 legged
Ton Roosendaal [Fri, 11 Nov 2005 10:14:27 +0000 (10:14 +0000)]
This is the famous proverbal example of someone trying to get a 4 legged
table stable... you keep correcting leg sizes until no table is left
anymore! :)

This commit restores the displacement direction from 2.37a code, which was
negated 5 months ago to fix a change in renderconverter.c, but somehow is
not needed anymore. The regression displacement file now renders OK again.

15 years agoBugfix #3379
Ton Roosendaal [Fri, 11 Nov 2005 10:04:56 +0000 (10:04 +0000)]
Bugfix #3379

Fixes in WeightPainting accidentally passed on weightpaint values for the
(color) Vertex Paint option. (Opacity for example used weightpaint setting)

15 years agoBugfix #3370
Ton Roosendaal [Fri, 11 Nov 2005 09:50:22 +0000 (09:50 +0000)]
Bugfix #3370

Border select on a Meta strip in Sequencer didn't work. Seems to be a year
zero bug :)

15 years agofixed raysensor, hooked up a few more bullet method: force, torque etc, + 'local...
Erwin Coumans [Fri, 11 Nov 2005 05:02:14 +0000 (05:02 +0000)]
fixed raysensor, hooked up a few more bullet method: force, torque etc, + 'local'. cosmetic change in physics-engine menu.

15 years agoMore hairdressing goodies; in the 'velocity' section of the Particle
Ton Roosendaal [Thu, 10 Nov 2005 21:23:08 +0000 (21:23 +0000)]
More hairdressing goodies; in the 'velocity' section of the Particle
buttons you now can add a vertexgroup to define speed (or strand length).

http://www.blender.org/bf/rt3.jpg

15 years ago* Fixed a little problem when using both F* keys and header buttons
Matt Ebb [Thu, 10 Nov 2005 20:07:17 +0000 (20:07 +0000)]
* Fixed a little problem when using both F* keys and header buttons
to change buttons tabs wouldn't switch quite right.

15 years agoBug in previous commit today; sound buttons crashed...
Ton Roosendaal [Thu, 10 Nov 2005 19:51:20 +0000 (19:51 +0000)]
Bug in previous commit today; sound buttons crashed...
And: renamed "Num" to "Amount" for particle buttons.

15 years agoFix: editing curves, which are used to guide particles, update particles
Ton Roosendaal [Thu, 10 Nov 2005 19:27:31 +0000 (19:27 +0000)]
Fix: editing curves, which are used to guide particles, update particles
now.

15 years ago- Static particles now draw shaded too!
Ton Roosendaal [Thu, 10 Nov 2005 19:00:10 +0000 (19:00 +0000)]
- Static particles now draw shaded too!
  http://www.blender.org/bf/rt3.jpg
  It uses Material color and specular, like for the solid faces.
- Depgraph Fix for changing object layers, should re-evaluate dependencies
- Fix for setting curves to 3D by default (on adding a Guide field)

15 years agoadded changing the extending / extrapolation type of the IPO curves of selected actio...
Toni Alatalo [Thu, 10 Nov 2005 18:12:53 +0000 (18:12 +0000)]
added changing the extending / extrapolation type of the IPO curves of selected actions in the action editor (to the menu - code to handle hotkey (to rise a popup) is there too but unused & untested now).

15 years agoStatic particles; rotating the emittor caused an error, this due to a
Ton Roosendaal [Thu, 10 Nov 2005 16:55:24 +0000 (16:55 +0000)]
Static particles; rotating the emittor caused an error, this due to a
missing speed vector rotation. :)

15 years agoThe long awaited Particle patch from Janne Karhu
Ton Roosendaal [Thu, 10 Nov 2005 16:01:56 +0000 (16:01 +0000)]
The long awaited Particle patch from Janne Karhu

http://www.blender3d.org/cms/New_Particle_options_a.721.0.html

There's no doubt this patch had a lot of good ideas for features, and I
want to compliment Janne again for getting it all to work even!
A more careful review of the features and code did show however quite some
flaws and bugs... partially because the current particle code was very much
polluted already, but also because of the implementation lacked quality.
However, the patch was too good to reject, so I've fixed and recoded the
parts that needed it most. :)

Here's a list of of most evident changes in the patch;

- Guides support recoded. It was implemented as a true 'force field',
  checking all Curve path points for each particle to find the closest. Was
  just far too slow, and didn't support looping or bends well.
  The new implementation is fast (real time) and treats the paths as actual
  trajectory for the particle.
- Guides didn't integrate in the physics/speed system either, was added as
  exception. Now it's integrated and can be combined with other velocities
  or forces
- Use of Fields was slow code in general, made it use a Cache instead.
- The "even" distribution didn't work for Jittered sample patterns.
- The "even" or "vertexgroup" code in the main loops were badly constructed,
  giving too much cpu for a simple task. Instead of going over all faces
  many times, it now only does it once.
  Same part of the code used a lot of temporal unneeded mallocs.
- Use of DerivedMesh or Mesh was confused, didn't work for Subsurfs in all
  cases
- Support for vertex groups was slow, evaluating vertexgroups too often
- When a vertexgroup failed to read, it was wrongly handled (set to zero).
  VertexGroup support now is with a name.
- Split up the too huge build_particle() call in some parts (moving new code)
- The "texture re-timing" option failed for moving Objects. The old code used
  the convention that particles were added with increasing time steps.
  Solved by creating a object Matrix Cache.
  Also: the texture coordinates had to be corrected to become "OrCo".
- The "Disp" option only was used to draw less particles. Changed it to
  actually calculate fewer particles for 3D viewing, but render all still.
  So now it can be used to keep editing realtime.

Removed;

The "speed threshold" and "Tight" features were not copied over. This
resembled too much to feature overkill. Needs re-evaluation.
Also the "Deform" option was not added, I prefer to first check if the
current particle system really works for the Modifier system.

And:

- Added integration for particle force fields in the dependency graph
- Added TAB completion for vertexgroup names!
- Made the 'wait cursor' only appear when particles take more than 0.5 sec
- The particle jitter table order now is randomized too, giving much
  nicer emitting of particles in large faces.
- Vortex field didn't correctly use speed/forces, so it didn't work for
  collisions.
- Triangle distribution was wrong
- Removed ancient bug that applied in a *very* weird way speed and forces.
  (location changes got the half force, speed the full...???)

So much... might have forgotten some notes! :)

15 years agofixing msvc6 projects to compile again
Jens Ole Wund [Wed, 9 Nov 2005 19:29:04 +0000 (19:29 +0000)]
fixing msvc6 projects to compile again

15 years agoadding msvc6 project to boolops
Jens Ole Wund [Wed, 9 Nov 2005 19:27:25 +0000 (19:27 +0000)]
adding msvc6 project to boolops

15 years ago- replaced values.h by float.h/limits.h as suggested by Hos,GSR,UnNamed
Nils Thuerey [Wed, 9 Nov 2005 16:47:49 +0000 (16:47 +0000)]
- replaced values.h by float.h/limits.h as suggested by Hos,GSR,UnNamed

15 years ago- forgot to enable mac compile fix
Nils Thuerey [Wed, 9 Nov 2005 16:30:05 +0000 (16:30 +0000)]
- forgot to enable mac compile fix

15 years ago- minor fix of snprintf defines for MSVC
Nils Thuerey [Wed, 9 Nov 2005 11:10:15 +0000 (11:10 +0000)]
- minor fix of snprintf defines for MSVC
- fix for 2d domains was part of the previous checking as well, btw. :)

15 years ago- popup menu now aborts by default
Nils Thuerey [Wed, 9 Nov 2005 07:56:26 +0000 (07:56 +0000)]
- popup menu now aborts by default
- changed directory/prefix input (only 1 string instead of two, more similar to render output settings now)
- changed reading/writing of surface files
- slightly enhanced surface smoothness

15 years ago-- When storing a mesh, allow TFaces without defined UV coordinates to use
Ken Hughes [Wed, 9 Nov 2005 00:38:56 +0000 (00:38 +0000)]
-- When storing a mesh, allow TFaces without defined UV coordinates to use
   some default values instead of throwing an exception.  Also use only the
   first four UV coordinates supplied in the list.

15 years agoBugfix: #3377 Epy docs missing links
Stephen Swaney [Tue, 8 Nov 2005 22:11:19 +0000 (22:11 +0000)]
Bugfix: #3377  Epy docs missing links

Link to sys was broken.  need to be  L{sys<Sys>} for name to match.

15 years ago-- changes and bugfixes from Cam:
Ken Hughes [Tue, 8 Nov 2005 21:50:30 +0000 (21:50 +0000)]
-- changes and bugfixes from Cam:
  -- calling mesh.getFromObject(obj) with mesh object now also
     copies material properties
  -- mesh.quadToTriangle() takes a parameter to duplicate both
     Ctrl-TKEY and Shift-Ctrl-TKEY actions
  -- assigning None to mesh.verts "clears" the memory allocated
     to the mesh (equivalent of Mesh.New(), but on an existing
     mesh)
  -- exception handler message for mesh.faces[i].uv = [..] more
     clear (uv attribute only accepts tuple, not list)
  -- fixed bug for meshs with deformed verts when deleting verts
     (deformed verts deleted and repacked correctly now, I think)

15 years ago-- Previous commit using PyDict_Keys left new reference around. Change to use
Ken Hughes [Tue, 8 Nov 2005 18:46:55 +0000 (18:46 +0000)]
-- Previous commit using PyDict_Keys left new reference around.  Change to use
   PyDict_GetItem() instead, and clean up string manipulation.

15 years agouh next time i read properly before commit, and not only from the nice webcvs diff..
Toni Alatalo [Tue, 8 Nov 2005 17:57:04 +0000 (17:57 +0000)]
uh next time i read properly before commit, and not only from the nice webcvs diff..