14 years agoUpdate for thin mesh
Joseph Gilbert [Mon, 3 Oct 2005 20:48:43 +0000 (20:48 +0000)]
Update for thin mesh
*warnings fixes
*projectfile update

14 years agoSmall code cleanups by Stephane SOPPER...
Kent Mein [Mon, 3 Oct 2005 20:24:10 +0000 (20:24 +0000)]
Small code cleanups by Stephane SOPPER...

remove extra ;   and move a variable declaration to top of function.


14 years agoBrought back Outliner operations!
Ton Roosendaal [Mon, 3 Oct 2005 19:50:05 +0000 (19:50 +0000)]
Brought back Outliner operations!

Since clicking on outliner items activates/selects, and not all outliner
elements allow selection (like scene, mesh, material, etc) there's another
selection method needed.

It works by leftclicking (click-drag works too) outside of the outliner
icons or texts. This allows rapid selecting, without any change in the
other windows.

Then press Wkey or RightMouse for an operations menu. Based on the
selection you get a menu with options. Currently available;

- Objects: Select/Deselect/Delete
- Materials: Unlink
- Textures: Unlink
- Bones: Select/Deselect/Hide/Unhide

- mixed selections give an error.
- selection doesn't flush down into closed outliner items.
- selection state is persistant (saved in files), and unique per
  Outliner window, so can be used as sortof temporal grouping.

Hotkey SHIFT+A: select/deselect all open outliner items

The system can be easily expanded with a lot of interesting options, of

14 years agoWorld AO table was freed, but a pointer not NULLed correctly, causing a
Ton Roosendaal [Mon, 3 Oct 2005 19:39:34 +0000 (19:39 +0000)]
World AO table was freed, but a pointer not NULLed correctly, causing a
memory error on end render.

14 years agoAdded new BPython thin mesh module
Ken Hughes [Mon, 3 Oct 2005 19:36:15 +0000 (19:36 +0000)]
Added new BPython thin mesh module

14 years agoCommit I did sept 22 gave returnvalues to buttons, but that should not be
Ton Roosendaal [Mon, 3 Oct 2005 19:30:50 +0000 (19:30 +0000)]
Commit I did sept 22 gave returnvalues to buttons, but that should not be
on buttons in popup menus (like postproduction settings etc)

Error was that the menu returned immediate now.

14 years agoBPython bug fixes:
Willian Padovani Germano [Mon, 3 Oct 2005 19:12:11 +0000 (19:12 +0000)]
BPython bug fixes:

- #2781, reported by Ed Blake: crash on undo when there were active space handlers. Space Handler script links belong to screen areas, which do not get saved on undo. Thanks Ton for pointing out the function that restores ui pointers gone bad.

- Applied patch #2822 by Ken Hughes for bug #2647 ("Setting a Face UV"), reported by Campbell Barton.

- #3022, reported by Timothy Wakeham: "Blender.BGL.glDrawPixels crashes when drawing more pixels then buffer size". Made glDrawPixels check buffer dimensions.

- #2882, reported by Campbell: crash in nmesh.getMaterials(arg == 0 or 1) when nmesh came from GetRawFromMesh(). Raw nmeshes are not linked to Blender meshes, so the method doesn't support these options (getting mat info from the actual mesh) for it.

- #2817, reported by Tod Koeckeritz: Dir_Depth var was not being decremented in BPY_Menus.c, causing dir depth limits to be reached prematurely.

- #2954, reported by Daniel Holtz: "Python scripts crash hard with valid windows paths". Blender.Load() was not meant for background mode, now it's been update to support it, using BKE_read_file instead of BIF_read_file in this case. Also found another issue with command line scripts using Blender.Load() that could crash Blender: trying to free the Text when it wasn't available anymore (loading a new .blend already removed it). There are still issues with one case, though, causing a crash on start or "Memoryblock winopen: double free" at end, when running a script that is already a Blender Text (only if the script calls Blender.Load, of course). Will investigate.

- #2897: reported by Timothy Wakeham: object.setMaterials was asking the length of a Python list w/o confirming first if the passed obj was really a list.

Thanks all for the help and for being patient (long delay, again).

14 years agoDocumentation for new Python thinmesh module
Ken Hughes [Mon, 3 Oct 2005 18:23:04 +0000 (18:23 +0000)]
Documentation for new Python thinmesh module

14 years agoA fix for the menu button yesterday broke something else... the menu button
Ton Roosendaal [Mon, 3 Oct 2005 17:10:18 +0000 (17:10 +0000)]
A fix for the menu button yesterday broke something else... the menu button
should return a non existing event instead. :)
Thanks elubie for reporting!

14 years agoNLA window:
Ton Roosendaal [Mon, 3 Oct 2005 15:48:17 +0000 (15:48 +0000)]
NLA window:
Insert a NLA strip makes it size 100 frames if the actual action is smaller
than 2 frames, otherwise you cannot even select it :)

14 years ago* Added copying curve resolution settings to the copy attributes (ctrl c) menu
Matt Ebb [Mon, 3 Oct 2005 14:44:48 +0000 (14:44 +0000)]
* Added copying curve resolution settings to the copy attributes (ctrl c) menu

14 years agoAdding Drivers in Actions now update live as well.
Ton Roosendaal [Mon, 3 Oct 2005 14:40:42 +0000 (14:40 +0000)]
Adding Drivers in Actions now update live as well.

The main change is that an Action now always updates Poses  on transform,
unless you are editing the Pose itself. Please test!

14 years agoadded getting names of shapes/KeyBlocks to bpy api so mikasaari can continue with...
Toni Alatalo [Mon, 3 Oct 2005 14:28:08 +0000 (14:28 +0000)]
added getting names of shapes/KeyBlocks to bpy api so mikasaari can continue with his lipsync script (where names of phonemes are as names of shapes/keyblocks).

14 years agoNew! Edit mode curve now draws solid extrusions, bevelcurves and tapers.
Ton Roosendaal [Mon, 3 Oct 2005 14:13:47 +0000 (14:13 +0000)]
New! Edit mode curve now draws solid extrusions, bevelcurves and tapers.

Fix: when unlinking an Action from Armature, the ipo window still allowed
adding drivers, causing crashes.

14 years agoIpoWindow, Action curve update.
Ton Roosendaal [Mon, 3 Oct 2005 13:03:25 +0000 (13:03 +0000)]
IpoWindow, Action curve update.

When no Ipo existed yet for an Action Channel (Bone), you could not add
curves with CTRL+click or Drivers. This was due to antique action code
state... it's still messy, no time for big cleanup here yet. At least
this works now. :)

(Also: removed test prints of previous commit)

14 years agoBugfix #3133
Ton Roosendaal [Mon, 3 Oct 2005 10:10:19 +0000 (10:10 +0000)]
Bugfix #3133

- Rendering an image with Border didn't check for sizes smaller than 1
  pixel yet.

Related to this code I found 2 other fixes:

- Themecolor set for drawing in Render Window was not restored correctly,
  sometimes causing into wrong Panel (transparency) drawing.

- When rendering an image with Gauss, it now renders by default 1 pixel
  extra, which gets stripped. This eliminates the "ugly" darker border
  in images.
  (Yes, let's make Mr. PixelCounter Goralczyk happy! :)

14 years agoBugfix #3138
Ton Roosendaal [Mon, 3 Oct 2005 09:11:51 +0000 (09:11 +0000)]
Bugfix #3138

Editbuttons "Centre" options didn't correctly use depgraph for linked data.

14 years agoBugfix #3046
Ton Roosendaal [Mon, 3 Oct 2005 09:04:57 +0000 (09:04 +0000)]
Bugfix #3046

When using 3d window "unlocked" (own layer and own camera possible), the
dependency updates didn't work, these were only using Scene layers.

Changed the dependency graph call DAG_scene_flush_update()
to accept an argument for all visible layers in a Screen.

14 years agobug #2909
Johnny Matthews [Sun, 2 Oct 2005 23:10:56 +0000 (23:10 +0000)]
bug #2909

header is redrawn at the end of loopcut to fix part 2 of the bug , my previous commit fixed the first half of it :)

14 years agoBug fix; action editor, inserting mesh keys crashed. Referencing ipo stuff.
Ton Roosendaal [Sun, 2 Oct 2005 21:40:57 +0000 (21:40 +0000)]
Bug fix; action editor, inserting mesh keys crashed. Referencing ipo stuff.

(yes, studio orange is testing :)

14 years agoIpowindow header: Curve menu crashed when no curve was created yet.
Ton Roosendaal [Sun, 2 Oct 2005 21:29:28 +0000 (21:29 +0000)]
Ipowindow header: Curve menu crashed when no curve was created yet.

14 years agoDriver fix; entering a non-existant object name in driver Panel crashed.
Ton Roosendaal [Sun, 2 Oct 2005 21:21:05 +0000 (21:21 +0000)]
Driver fix; entering a non-existant object name in driver Panel crashed.

14 years agoagain an intermediate solution for the msvc6 builders
Jens Ole Wund [Sun, 2 Oct 2005 20:57:53 +0000 (20:57 +0000)]
again an intermediate solution for the msvc6 builders

added msvc6 project file for builing elbeem

NOTE: it won't build unless some spots in elbeem code are cangend

see -->
fixing elbeem to build on msvc6

And no.. i won't set up a msvc6 project for building blender_elbeem.lib
until things calmed down a bit.

well i did for me to continue work, why not share.

if you do *rebuild all* in this project (release mode) on success will do a
post build step which will copy blender_elbeem.lib to the lib/windows..blah folder
such that the msvc6 (blender) project will find it for happy linking.

it even #defines MSVC6 so all the above changes could be nicly hidden behind that
( my local tree does so ) but it is on Nils to decide if he wants his code to be *pested*.

14 years agoVersion 1.0 of IpoDrivers.
Ton Roosendaal [Sun, 2 Oct 2005 20:51:35 +0000 (20:51 +0000)]
Version 1.0 of IpoDrivers.

First note that this is new functionality, unfinished, and only for
testing and feedback purposes. I'll list below what works, and what will
need work still.

This text is also in cms:

An IpoDriver is like an IpoCurve, but instead of a Bezier curve, it allows
to connect a property of other Objects as input for the "channel". For
example, IpoDrivers can be used to have a Shape Key being "driven" by
the rotation of a Bone. Or the RGB colors of a Material get driven by the
XYZ location of an Object.

Editing of Drivers happens in the IpoWindow. Here you can notice that the
channels (right hand window) now have an "active" channel indicator.
To add a Driver, you have to use the "Transform Properties" Panel (Nkey).
Here you can add or remove a Driver to the active channel, and use the
buttons to fill in what kind of relationship you want to establish.

Driver Objects

Note that any Ipo Channel can become driven now, but that only Object
transformation or Pose Bone transformation can be used to become a
Driver now.
At this moment, only the local transformation is taken into account.
For Objects that means the location/rotation/scale value without Parent
transform (as shown in "Transform Properties" Panel for Objects).
For Pose Bones it means that only the Pose transform (changes of rest
position) is Driver information (also as shown in Transform Property
Panel in Pose Mode).

Mapping of Drivers

When an Ipo Channel is "driven", the mapping is by default one-to-one.
It is only restricted by already built-in limits for Channels, like
for Material the "R" value can only range from 0.0 to 1.0.

Also note that when mapping rotations, the actual rotation values
in Ipos are scaled down with a factor 10.0. (180 degrees actually has
in the Ipo system a value of 18.0). This is an ancient year zero
convention in Blender... it is a bit hidden, because the ruler
(vertical as well as horizontal) displays the virtual values correctly.
Only the Properties panel shows the actual value.

When you draw an IpoCurve in a Driven channel, this curve will define
the mapping between the Driver output (horizontal) and Driven input
(vertical, as usual).
A nice new option to use is "Insert one-to-one curve" (press I-key,
or in pulldown menu). This will also zoom the display in exactly to
fill the window, allowing easy edit. If you use this option with
degrees, it will map 180 degree rotation to a range of 1.0 unit.

Live updates

Since the Drivers are integrated in the Ipo system, they will always
be updated whenever an Ipo is evaluated. This happens at least on
frame changes.
For interactive feedback, updates while transforming objects were
added in these cases:

- Driven Object Ipos, by other Objects or Pose Bones
- Driven Shape Key Ipos, by other Objects or Pose Bones

You can also insert Drivers on Action Ipos, but these are only evaluated
on frame change now.


- Drivers can also get a text button, allowing a 1 line Python script
  to be executed.
- Make UI for it a bit less hidden... maybe with visualization in 3D?
- Allowing global transform coordinates as Driver too.


- renaming Bones won't rename drivers
- (file) appending the Ipo won't append the linked driver Objects

14 years agoTransform MMB behavior correction, as mentionned in meeting.
Martin Poirier [Sun, 2 Oct 2005 19:31:32 +0000 (19:31 +0000)]
Transform MMB behavior correction, as mentionned in meeting.

MMB uses global axis, Ctrl-MMB uses user defined. (Alt-MMB cause conflict with the window manager on linux)

(for hotkeys, first press is global, second press is user defined)

14 years agoFixing bones grab in "pose" transform. Bug #3030:
Martin Poirier [Sun, 2 Oct 2005 18:27:14 +0000 (18:27 +0000)]
Fixing bones grab in "pose" transform. Bug #3030:

It didn't do initgrabz correctly.

14 years ago - add support for Python Buffer()s of type DOUBLE
Daniel Dunbar [Sun, 2 Oct 2005 17:09:11 +0000 (17:09 +0000)]
 - add support for Python Buffer()s of type DOUBLE

14 years agoCrash fix; rendering AO with envmap on didn't work.
Ton Roosendaal [Sun, 2 Oct 2005 16:21:26 +0000 (16:21 +0000)]
Crash fix; rendering AO with envmap on didn't work.

Note that envmaps still render without raytracing.

14 years agoThis commit sets the info header on the preferences window and the
Chris Burt [Sat, 1 Oct 2005 21:16:52 +0000 (21:16 +0000)]
This commit sets the info header on the preferences window and the
header prints on the 3d view header to be the same color as the menu text.
This ensures that you can read the text against the color of the header
just as long as the theme color for the menu text is also readable against
the header color. This should make dark themes much better.

14 years agoA little more cleanup of the loopcut code. Hoping to gain some speed, and letting...
Johnny Matthews [Sat, 1 Oct 2005 13:04:19 +0000 (13:04 +0000)]
A little more cleanup of the loopcut code. Hoping to gain some speed, and letting qread() finish its work instead of breaking. I think this may have been causing trouble.

14 years agohum .. blender.dsp would link to
Jens Ole Wund [Fri, 30 Sep 2005 21:00:34 +0000 (21:00 +0000)]
hum .. blender.dsp  would link to
blender_elbeem.lib  in
if it was there

14 years agoFor loopcut, have the event queue ignore MOUSEX and MOUSEY events to help prevent...
Johnny Matthews [Fri, 30 Sep 2005 20:18:00 +0000 (20:18 +0000)]
For loopcut, have the event queue ignore MOUSEX and MOUSEY events to help prevent it from bottlenecking

14 years agoFix SHIFT finetuning for edgeslide (aftermath from a warning cleanup ;-)
Alexander Ewering [Fri, 30 Sep 2005 10:58:39 +0000 (10:58 +0000)]
Fix SHIFT finetuning for edgeslide (aftermath from a warning cleanup ;-)

14 years agoPossible fix for bug #3094 - use normal malloc/free for stuff that gets
Alexander Ewering [Fri, 30 Sep 2005 10:23:28 +0000 (10:23 +0000)]
Possible fix for bug #3094 - use normal malloc/free for stuff that gets
alloced inside SDL threads.

14 years ago* Added additional shift space to fullscreen/tile window spaces. So much
Matt Ebb [Fri, 30 Sep 2005 09:49:56 +0000 (09:49 +0000)]
* Added additional shift space to fullscreen/tile window spaces. So much
more convenient than ctrl uparrow/downarrow since you don't have to take
your hand off the mouse!

14 years ago* added right mouse click to cancel a sequence strip transform, like everything else...
Matt Ebb [Fri, 30 Sep 2005 08:39:35 +0000 (08:39 +0000)]
* added right mouse click to cancel a sequence strip transform, like everything else in blender.

14 years agoBugfix #3112
Ton Roosendaal [Thu, 29 Sep 2005 21:31:47 +0000 (21:31 +0000)]
Bugfix #3112

Mesh selection in editmode didnt work proper with new ALT+B clip option.

14 years agoBugfix #3115
Ton Roosendaal [Thu, 29 Sep 2005 19:52:42 +0000 (19:52 +0000)]
Bugfix #3115

Undo after you did a layer change, didn't restore the 'active layer' in the
3d window. Adding a new object then is invisble.

14 years ago- Added shadow buffer support for wire material and particle strands
Ton Roosendaal [Thu, 29 Sep 2005 19:33:50 +0000 (19:33 +0000)]
- Added shadow buffer support for wire material and particle strands
  (Since strands are screen-aligned, it didn't fill in OK yet)

No shadow;

14 years agoText3d.c NULL pointer check added to get rid of MEM_freeN warning.
Mika Saari [Thu, 29 Sep 2005 19:25:12 +0000 (19:25 +0000)]
Text3d.c NULL pointer check added to get rid of MEM_freeN warning.

14 years agocu->strinfo reallocation added to Text3d.c, so when setText is executed
Mika Saari [Thu, 29 Sep 2005 19:03:53 +0000 (19:03 +0000)]
cu->strinfo reallocation added to Text3d.c, so when setText is executed
the strinfo is reallocated to include strlen(cu->str) amount of free memory

14 years agoNew hair "strand" channel has wrong texture coord input... it rendered
Ton Roosendaal [Thu, 29 Sep 2005 18:13:36 +0000 (18:13 +0000)]
New hair "strand" channel has wrong texture coord input... it rendered
from 0 - 1, instead of -1 to 1. Thats fixed.
The error made tests i did with alpha make nice though, apparently hairs
are nicer when rendered with alpha range 0.0 to 0.5.

14 years agoStorage of ME_FACE_STEPINDEX in mface iwas same flag as for new
Ton Roosendaal [Thu, 29 Sep 2005 17:06:34 +0000 (17:06 +0000)]
Storage of ME_FACE_STEPINDEX in mface iwas same flag as for new
anisotropic, causing nice interesting render errors.

14 years agoOrange report bug; Adding a new scene, choose "link obdata" gives corrupt
Ton Roosendaal [Thu, 29 Sep 2005 16:37:37 +0000 (16:37 +0000)]
Orange report bug; Adding a new scene, choose "link obdata" gives corrupt
memory. Poses should be relinked right after duplicating, not during a
redraw (when more objects use same armature).

Added in readfile a patch to make sure files saved with this duplicate
error can still be used.

14 years agoFix Python API to correctly create Text3D objects. This is just a
Alexander Ewering [Thu, 29 Sep 2005 15:46:06 +0000 (15:46 +0000)]
Fix Python API to correctly create Text3D objects. This is just a
temporary fix (duplicating code again), the *real* fix would be to once
make one central function to create and init a text object for all

I also tried to introduce compatibility code to be able to load old files
with broken text objects (cu->tb == NULL due to missing init code).

Hope it works :)

14 years ago- Added "anisotropic" rendering for static particle hair strands.
Ton Roosendaal [Thu, 29 Sep 2005 13:19:07 +0000 (13:19 +0000)]
- Added "anisotropic" rendering for static particle hair strands.
  This means the diffuse and specular shaders don't use the normal
  for hair (which is actually undefined, a hair is micro cylinder) but
  it uses the tangent vector (vector in direction of hair).

For Diffuse, it computes a fake normal now, representing the optimal
hair normal pointing towards the light. All current builtin shaders
work with this, including ramps.

For Specular, it uses another formula to remap dot products for all
lines that now use the tangent vector instead of the normal:

dot = vector * tangent
dot = sqrt(1.0 - dot*dot)

Gives better results than using the 'fake' normal for diffuse. Officially
(according the papers) this could be used for diffuse too, but then hair
becomes very flat. Now you can control the flatness easily with ramps or
using Oren-Nayer for example.

Example image (disappears in some weeks)

- Added new texture channel "Strand" to apply textures on hairs over the
  length of hair (1 dimensional). Orco now gives 1 fixed coordinate for
  the entire hair, based on where it starts.
  Note; UV doesn't work yet. Nor vertexcolor.

14 years agofix Curve.update() method to use new DAG features.
Stephen Swaney [Thu, 29 Sep 2005 07:05:00 +0000 (07:05 +0000)]
fix Curve.update() method to use new DAG features.

14 years agoprojectfile update to elbeem
Joseph Gilbert [Thu, 29 Sep 2005 02:22:56 +0000 (02:22 +0000)]
projectfile update to elbeem
* fixed lib paths
* removed files
* fix preprocessor define

14 years ago- added stub for elbeemDebugOut in
Nils Thuerey [Wed, 28 Sep 2005 18:09:46 +0000 (18:09 +0000)]
- added stub for elbeemDebugOut in
for read/write bobj debug output

14 years ago- corrected MSVC6 fix in ntl_vector3dim.h (caused problems with SDL includes)
Nils Thuerey [Wed, 28 Sep 2005 17:52:06 +0000 (17:52 +0000)]
- corrected MSVC6 fix in ntl_vector3dim.h (caused problems with SDL includes)
- removed print from SConscript

14 years ago- removed some unecessary files & code
Nils Thuerey [Wed, 28 Sep 2005 16:20:57 +0000 (16:20 +0000)]
- removed some unecessary files & code
- debug output now controlled globally by elbeem debug level
  (BLENDER_ELBEEMDEBUG environment var), also for fluidsimBake
and read/writeBobj
- debug output is written to file for WIN32
- added "for" and "vector" etc. defines for MSVC6
  (I couldnt get hold of the compiler itself, so not tested yet)

14 years agoadded missing DAG call to image_aspect.
Toni Alatalo [Wed, 28 Sep 2005 15:01:40 +0000 (15:01 +0000)]
added missing DAG call to image_aspect.

14 years ago* Headers for the last Set Smooth commit
Matt Ebb [Wed, 28 Sep 2005 11:56:09 +0000 (11:56 +0000)]
* Headers for the last Set Smooth commit

14 years ago* Added 'Set Smooth' and 'Set Solid' to the mesh edit mode specials menu/toolbox...
Matt Ebb [Wed, 28 Sep 2005 11:55:43 +0000 (11:55 +0000)]
* Added 'Set Smooth' and 'Set Solid' to the mesh edit mode specials menu/toolbox/3d view menu so you don't always have to keep switching back to edit buttons.

14 years agoBrought back (lost with modifier code) display of actual amount of faces
Ton Roosendaal [Wed, 28 Sep 2005 11:24:39 +0000 (11:24 +0000)]
Brought back (lost with modifier code) display of actual amount of faces
for subsurfs in info header.

14 years agoBugfix;
Ton Roosendaal [Wed, 28 Sep 2005 11:07:12 +0000 (11:07 +0000)]

Ipo window could crash on reading old files with keys, non proper use
of pointer...

14 years agoBugfix;
Ton Roosendaal [Wed, 28 Sep 2005 11:05:20 +0000 (11:05 +0000)]

- buttons "Show" and "Key" didn't set the active constraint, causing
  confusement in display for the IpoWindow

Also made the backdrop for constraints and modifiers to use the Panel
theme color, making it better integrated.

14 years agoRemoved ancient (2.1) feature for Constraints... a highly undocumented and
Ton Roosendaal [Wed, 28 Sep 2005 10:07:54 +0000 (10:07 +0000)]
Removed ancient (2.1) feature for Constraints... a highly undocumented and
unpredictable one!

This is what it did; if two or more Constraints are of the same type, it
accumulates the Target positions/rotations for the constraints, averages
them, and then only applies the last Constraint in the row. It seems to
be a trick to blend IK Constraints or so... in all other cases I cannot
find a good use for it (nor did Bassam).

For example; add three Empties, and make one Empty to have 2 location
constraints to the other two. This just didn't work, unless you insert
an "Empty" constraint inbetween.
I will post in the animation forum feedback for it too. :)

Its quite easy to make it an option, but I first like to grasp fully what
the actual use of such an option is.

14 years agoSuppressed another GL_FRONT drawing routine, causing potential slowdowns
Ton Roosendaal [Wed, 28 Sep 2005 09:59:59 +0000 (09:59 +0000)]
Suppressed another GL_FRONT drawing routine, causing potential slowdowns
for some configs. This was an old hack for sgi's, so I've put it behind an
ifdef for sgi and suns now.

Test if blender still works by switching screens, and check for the borders
between the blender area windows. These should draw all nice empty/black.

14 years agoFix forward declaration of drawscreen()
Alexander Ewering [Wed, 28 Sep 2005 07:11:24 +0000 (07:11 +0000)]
Fix forward declaration of drawscreen()

14 years agoDivision by zero prevented in new hair strand algo. It showed as vertical
Ton Roosendaal [Tue, 27 Sep 2005 22:33:06 +0000 (22:33 +0000)]
Division by zero prevented in new hair strand algo. It showed as vertical
lines, especially with the "Step" size low.

14 years agoRecommitted this commit yesterday, was apparently done in the wrong
Ton Roosendaal [Tue, 27 Sep 2005 21:52:04 +0000 (21:52 +0000)]
Recommitted this commit yesterday, was apparently done in the wrong
directory... so the slowdown was still evident!

Maintenance commit;

  - *Giant* speedup for LMB frame-dragging in ipo/action/nla windows. It was
    calling a routine that accessed frontbuffer drawing.... a very old patch
    for SGIs even! :)
  - Prepared code for support of unlimited Shape keys
  - Curve objects didnt draw correct for selection-outline option

14 years agoHair!
Ton Roosendaal [Tue, 27 Sep 2005 21:51:09 +0000 (21:51 +0000)]

Thanks to testing in studio orange (thnx andy, matt!) I've found the
simple way to code it.

Static particle systems, when not set to wire or halo, now render 1 pixel
wide 'strands', which are actually just faces with vertexnormals and
proper orco texture. Check for quick fun;
(and rt6, rt7, rt8)

14 years agoset object->recalc flag when we change object's loc, rot, etc.
Stephen Swaney [Tue, 27 Sep 2005 20:56:39 +0000 (20:56 +0000)]
set object->recalc flag when we change object's loc, rot, etc.
fix for problems with frame change scene scriptlinks.

14 years agoShaded drawmode, ogl preview render, does update for lights.
Ton Roosendaal [Tue, 27 Sep 2005 19:43:04 +0000 (19:43 +0000)]
Shaded drawmode, ogl preview render, does update for lights.

14 years ago-fix for angleBetweenVecs
Joseph Gilbert [Tue, 27 Sep 2005 18:41:39 +0000 (18:41 +0000)]
-fix for angleBetweenVecs
* adds a test to check for zero-length vectors

14 years agoRefcount fixes
Joseph Gilbert [Tue, 27 Sep 2005 17:03:28 +0000 (17:03 +0000)]
Refcount fixes
* fixes posible reference count issues with mathutils
* mathutils classes should no longer memory leak

14 years ago - tooltip fix, double sided pretended it was per face
Daniel Dunbar [Tue, 27 Sep 2005 16:44:33 +0000 (16:44 +0000)]
 - tooltip fix, double sided pretended it was per face

14 years agoadded the method saveRenderedImage to the RenderData object
Joseph Gilbert [Mon, 26 Sep 2005 22:00:39 +0000 (22:00 +0000)]
added the method saveRenderedImage to the RenderData object
- should allow users to render a filename.extension to the render path

import Blender

s = Blender.Scene.GetCurrent()
r = s.getRenderingContext()

14 years agodrawscreen is called before it's defined crashing msvc
Joseph Gilbert [Mon, 26 Sep 2005 20:37:52 +0000 (20:37 +0000)]
drawscreen is called before it's defined crashing msvc

14 years ago- added some equivalency testing for vector classes
Joseph Gilbert [Mon, 26 Sep 2005 20:11:13 +0000 (20:11 +0000)]
- added some equivalency testing for vector classes
>, >=, <, <= test vector magnitude
==, != test vector values 'within epsilon' :)
- inspired by ideasman

14 years agoFtgl patch for texture fonts got lost... somehow. That made them much
Ton Roosendaal [Mon, 26 Sep 2005 18:47:50 +0000 (18:47 +0000)]
Ftgl patch for texture fonts got lost... somehow. That made them much
slower than pixmap fonts. Test on buttons window CTRL+ALT+T timer shows it
goes down from 2500 to 100 on this commit. :)

14 years agoMaintenance commit;
Ton Roosendaal [Mon, 26 Sep 2005 18:10:20 +0000 (18:10 +0000)]
Maintenance commit;

- *Giant* speedup for LMB frame-dragging in ipo/action/nla windows. It was
  calling a routine that accessed frontbuffer drawing.... a very old patch
  for SGIs even! :)
- Prepared code for support of unlimited Shape keys
- Curve objects didnt draw correct for selection-outline option

14 years agoAction editor: drag with LMB did three redraws... causing slowdown. Bug
Ton Roosendaal [Mon, 26 Sep 2005 17:11:15 +0000 (17:11 +0000)]
Action editor: drag with LMB did three redraws... causing slowdown. Bug
since 2.0 it seems.

14 years agoadding sort by extension in filselect window
Joilnen Leite [Mon, 26 Sep 2005 16:21:22 +0000 (16:21 +0000)]
adding sort by extension in filselect window

14 years agoadding sort files in fileselect window by extensions
Joilnen Leite [Mon, 26 Sep 2005 16:17:14 +0000 (16:17 +0000)]
adding sort files in fileselect window by extensions

14 years agoTwo more 'shape' fixes;
Ton Roosendaal [Mon, 26 Sep 2005 16:13:00 +0000 (16:13 +0000)]
Two more 'shape' fixes;

- adding new Shape didn't set correct Ipocurve code... so you could not
  even add new curves
- the keylines (first channel) always came back in display... ancient error

14 years agoQuick fix; "delete shape key" didn't work without IpoWindow open.
Ton Roosendaal [Mon, 26 Sep 2005 15:51:44 +0000 (15:51 +0000)]
Quick fix; "delete shape key" didn't work without IpoWindow open.

14 years agoCleanup and new features for vertex keys.
Ton Roosendaal [Mon, 26 Sep 2005 15:34:21 +0000 (15:34 +0000)]
Cleanup and new features for vertex keys.

User doc:

- The mixed use of "Vertex Key","Key" or "RVK" in Blender was a bit
confusing. Also a 'vertex key' assumes keys per vertex, which actually is
only a single key for the entire shape. The discussions on
forums all mentioned "Shape" or "Blend Shapes", which I think is an OK
name for a "Vertex Key" in the UI. :)

- Most work was code spaghetti cleanup. Doing shape-keys now nicely goes
via the depgraph and DerivedMesh. That then allows to have different
shapes per object, with the new "Pin" feature.
Objects now define what Shape is shown (ob->shapenr)

- Added a Shape Panel in the Edit buttons with the various options

- Fixed a lot of issues in the IpoWindow, with drawing the channels.
For example, deleting a key-line there caused the entire Relative option to
go wrong, same for moving the lines up/down.
Changing key-line order now reflects in order of channels. The active
Shape is drawn more clear now too.

- Noticed it doesnt work yet for curves/lattice. Need modifier advise!

14 years agoTheeth's mathutils patch
Joseph Gilbert [Mon, 26 Sep 2005 15:06:28 +0000 (15:06 +0000)]
Theeth's mathutils patch
- adds intersections for lines
- triangle area
- tracking quaternion from vector
- some helpful normal calculators

14 years agoProject file update for elbeem
Joseph Gilbert [Mon, 26 Sep 2005 14:46:14 +0000 (14:46 +0000)]
Project file update for elbeem
Warning clean up of python project

14 years agoDarn editmesh code! Trying to prevent user error (add overlapping faces)
Ton Roosendaal [Sun, 25 Sep 2005 10:41:35 +0000 (10:41 +0000)]
Darn editmesh code! Trying to prevent user error (add overlapping faces)
caused a myriad of other errors in tools... now you couldn't create a
triangle if one 1 edge was in a face already.

I should have known it should be coded differently. :)
So, here's another version, which actually restores the old code, and
only has the exception on pressing Fkey.

14 years agoNew!
Ton Roosendaal [Sat, 24 Sep 2005 20:17:48 +0000 (20:17 +0000)]
Hooks now support vertex groups. With weight painting it looks very
interesting. Almost z-painting! :) Try a sphere with all vertices in a
group, hook it, and scale empty in object mode a bit.
(Which gives the idea to make a Displace Modifier working with normals and

Works as follows now; in Mesh editmode, when no vertices are selected, it
tries to assign on CTRL+H command the active Vertex Group. (Menu is getting
to long now... need to think over). Only works when vertices are assigned
to a Vertex Group, this to calculate the Hook center.

14 years agoA fix for edgeslide non-prop mode sticking at 0%.
Johnny Matthews [Sat, 24 Sep 2005 18:44:24 +0000 (18:44 +0000)]
A fix for edgeslide non-prop mode sticking at 0%.

14 years agoVarious Transform bugfixes.
Martin Poirier [Sat, 24 Sep 2005 18:00:32 +0000 (18:00 +0000)]
Various Transform bugfixes.

- Trackball rotate was missing the NoConstraints flag
- Zooming didn't recalculate the 2D center correctly
- Zooming in transform was sending event to the 3D window even when working on UVs. (disabled when working on UVs for now, will need to send events to a 2D window handler eventually)
- In camera mode, when the selection was exactly on the camera, initgrabz was barfing, fallback to 1.0 now, which gives ok results.

14 years ago - assorted warning fixes (signedness, float->double)
Daniel Dunbar [Sat, 24 Sep 2005 16:02:56 +0000 (16:02 +0000)]
 - assorted warning fixes (signedness, float->double)
 - added decimate,boolean modifier copydata methods

14 years ago - shouldnt be a trailing comma after include
Daniel Dunbar [Sat, 24 Sep 2005 15:50:56 +0000 (15:50 +0000)]
 - shouldnt be a trailing comma after include

14 years agoBug fix #3098
Ton Roosendaal [Sat, 24 Sep 2005 15:46:08 +0000 (15:46 +0000)]
Bug fix #3098

Grmble... and now the feature ALT+J 'join triangles' broke. :)
Also found out the Fkey option didn't work anymore on 2 triangles (makes 1
quad too). Luckily we got people testing eh!

14 years agobugfix #3100
Ton Roosendaal [Sat, 24 Sep 2005 15:36:25 +0000 (15:36 +0000)]
bugfix #3100
Hrms... previous commit here to make sure faces are not added 'double',
caused a part in removedoubles not to work well, removing too many
faces. Solved it more proper now.

14 years agoPatch #3099 - bugfix for #3097.
Stephen Swaney [Sat, 24 Sep 2005 15:28:59 +0000 (15:28 +0000)]
Patch #3099 - bugfix for #3097.
a little tweak for arg parsing.

Contributed by Ken Hughes.  Thanks!

14 years agoCreated a new sub-context ("tab") for all physics related button panels.
Ton Roosendaal [Sat, 24 Sep 2005 15:10:08 +0000 (15:10 +0000)]
Created a new sub-context ("tab") for all physics related button panels.
There we can find now Particles, Fields & deflectors, Soft Body and Fluids.
This also as preparation for more work on the particle side (becomes two

Also renamed panels, and made sure the name "Soft Body" is spelled every-
where the same!

It uses an icon as was designed long ago already. Needs some thinking...

14 years agoMade sure in vpaint, wpaint and tpaint the "draw extra wire" shows identical
Ton Roosendaal [Sat, 24 Sep 2005 14:27:32 +0000 (14:27 +0000)]
Made sure in vpaint, wpaint and tpaint the "draw extra wire" shows identical
as for non-paint drawmodes. I guess this exception was from period before
we had subsurfed paint drawing... right daniel?

14 years agoOlder files, saved with old IKs, crashed sometimes on do_versions.
Ton Roosendaal [Sat, 24 Sep 2005 14:19:37 +0000 (14:19 +0000)]
Older files, saved with old IKs, crashed sometimes on do_versions.
This whole backward conversion stuff is getting nuts! :)

14 years agoError in derivedmesh... OBACT undefined of course. :)
Ton Roosendaal [Sat, 24 Sep 2005 13:55:39 +0000 (13:55 +0000)]
Error in derivedmesh... OBACT undefined of course. :)

14 years agoMade WeightPaint use shaded mode. This thanks to the preparations as done
Ton Roosendaal [Sat, 24 Sep 2005 13:49:55 +0000 (13:49 +0000)]
Made WeightPaint use shaded mode. This thanks to the preparations as done
by daniel before. :)
Note; the shaded display uses smooth normals by default, because thats how
the derived mesh works!

Daniel; I've changed the G_WEIGHTPAINT hack in derivedmesh code... no idea
how this could work even. Still ugly though.

14 years ago - one line bug fix: when user changed position of keys in Ipo Curve Editor,
Jiri Hnidek [Sat, 24 Sep 2005 12:42:30 +0000 (12:42 +0000)]
 - one line bug fix: when user changed position of keys in Ipo Curve Editor,
   then position of keys weren't redrawn in Timeline

14 years agoOld error... on ctrl+clicking new bones, the envelope bone distances were
Ton Roosendaal [Sat, 24 Sep 2005 10:34:50 +0000 (10:34 +0000)]
Old error... on ctrl+clicking new bones, the envelope bone distances were
not correctly flushed for connected bones.

14 years agoBug fix #3094
Ton Roosendaal [Sat, 24 Sep 2005 09:05:48 +0000 (09:05 +0000)]
Bug fix #3094

Playback of sequencer sound crashed in combination with dupliverted
Objects. (confirmed in osx only btw).

Found out there's old not-needed code in the update_for_newframe() call,
that was intended to do updates for Manipulators (calling countall()).
In countall(), the entire duplilists were generated over, just for
counting the totals.

First step was removing the countall from update_for_newframe, and added
a count_duplilist() call which doesn't generate the full duplilist. That
made Blender not crashing anymore, but gives "Error totblock", without
printing the block names even...

The weird thing also was that the crash showed severe memory corruption in
the malloc library, when combining audio scrubbing (SDL) and duplilists.

I now suspect there's a remaining issue with DerivedMesh, but for that I
need help from Daniel.

14 years ago- merged latest version of fluid solver
Nils Thuerey [Fri, 23 Sep 2005 14:42:14 +0000 (14:42 +0000)]
- merged latest version of fluid solver
  (fixed shadowed variables warnings, removed cfgparser.hpp,
added cfgparser.h, removed debugging output)
- added support for env. var BLENDER_ELBEEMDEBUG to enable
  debugging output again
- fixed missing triangle display (marching cubes produced v3=0 triangles)
- fixed geometry init bug (nearest intersection check
  for intersecting objects was messed up)
- changed position of derived mesh creation in DerivedMesh.c
  (for some reason the useDeform code is necessary, without it or
 with useDeform=0 nothing is displayed)
- 3dviews now update every 2 seconds to show simulation progress
- note: mesh_strip_loose_faces(me); in ./source/blender/blenkernel/intern/mesh.c:937
  not necessary anymore?

14 years agothe usual missing files / include path setting game
Jens Ole Wund [Fri, 23 Sep 2005 10:41:11 +0000 (10:41 +0000)]
the usual missing files /  include path setting game
So the linker only misses performElbeemSimulation(..)
I can't create El'Beem.lib with msvc6 as discussed in ML
If you comment off the 2 calls in fluidsim.c
blender compiles with msvc6 projects again
with the complete fluid UI but simulation won't run