15 years agoTuesday merger of Orange branch with bf-blender
Ton Roosendaal [Tue, 13 Dec 2005 20:32:39 +0000 (20:32 +0000)]
Tuesday merger of Orange branch with bf-blender

15 years agoOrange reported fix: Stride bone offset was blending with any strip, even
Ton Roosendaal [Tue, 13 Dec 2005 20:16:10 +0000 (20:16 +0000)]
Orange reported fix: Stride bone offset was blending with any strip, even
when strips had no stride set... causing using multiple strips not to work
for stride.

15 years agoOrange: two other cases with databrowser and menus that needed the upgrade,
Ton Roosendaal [Tue, 13 Dec 2005 19:23:22 +0000 (19:23 +0000)]
Orange: two other cases with databrowser and menus that needed the upgrade,
as committed yesterday for NLA.

15 years agoOrange: Library linking half-assed-fix for files that mix linked "direct"
Ton Roosendaal [Tue, 13 Dec 2005 19:21:56 +0000 (19:21 +0000)]
Orange: Library linking half-assed-fix for files that mix linked "direct"
data (local data links to lib data) and "indirect" (lib links to same lib

A real solution should be found though... there's a conflict in the code
I don't fully grasp yet.

15 years ago-- More of Bugfix #3580: Mesh_getFromObject() was not updating key->from
Ken Hughes [Tue, 13 Dec 2005 18:39:50 +0000 (18:39 +0000)]
-- More of Bugfix #3580: Mesh_getFromObject() was not updating key->from
   when it duplicated mesh data.

   I'm not thrilled with how I implemented this code, but currently don't
   know a better way.  If someone more familiar with how blender duplicates
   objects and converts things to meshes wants to have a look, it would be

15 years ago-- Calling mesh.verts.extend() on a mesh with vertex groups was not updating
Ken Hughes [Tue, 13 Dec 2005 15:36:32 +0000 (15:36 +0000)]
-- Calling mesh.verts.extend() on a mesh with vertex groups was not updating
   mesh->dvert, eventuallu causing a crash.

15 years agoBugfix #3580
Ton Roosendaal [Tue, 13 Dec 2005 15:07:21 +0000 (15:07 +0000)]
Bugfix #3580

Apparently python allows to create Key blocks without proper *from pointer
back to the owner of the Key. The Key unfortunately wasn't mean to be a
dynamic block linkable to any Mesh...

This patch sets the from pointer on any call to do_mesh_key, which is safe
to do anyway. I made a note to get rid of that convention once, but at
least now we got non-crashing blenders. :)

(In bugreport noted that we need to check Python code for it too!)

15 years ago*warnings fixes
Joseph Gilbert [Tue, 13 Dec 2005 14:29:56 +0000 (14:29 +0000)]
*warnings fixes

15 years agoBugfix #3590
Ton Roosendaal [Tue, 13 Dec 2005 14:28:34 +0000 (14:28 +0000)]
Bugfix #3590

Adding Ipos to Sound strips in Sequencer didn't work anymore. Adding a new
curve with CTRL+click also wasn't smart enough to detect that only one
channel existed there... fixed that too.

15 years agoBugfix #3579
Ton Roosendaal [Tue, 13 Dec 2005 13:38:14 +0000 (13:38 +0000)]
Bugfix #3579

Saving envmap, with a filter set (like gauss) and with a percentage set
(like 50%), saved envmaps with empty pixels inbetween the sub images.

15 years agoBugfix #3552
Ton Roosendaal [Tue, 13 Dec 2005 13:17:29 +0000 (13:17 +0000)]
Bugfix #3552

Another ancient bug in unified render... the lamphalo wasn't filled in
correctly over sky, especially when the background had halos (or stars).

Only shows when using filters other than box though.

15 years agoWith the introduction of fixed edge arrays in Mesh, the options to render
Ton Roosendaal [Tue, 13 Dec 2005 12:41:17 +0000 (12:41 +0000)]
With the introduction of fixed edge arrays in Mesh, the options to render
wire frame became very limited... the information of faces (vertex colors
and UV reside there) got lost.
Solved it nicely with creating a large index table, and use bsearch() to
get quickly the matching information.

Then I noticed the render code needed fixes too for wire, no proper UV's
were calculated over the wire edge.

15 years agobugfix #3585
Ton Roosendaal [Tue, 13 Dec 2005 08:44:07 +0000 (08:44 +0000)]
bugfix #3585

The tool "Single User" -> "Object data" missed a tag to recalculate the
geometry. This caused meshes to disappear after entering editmode on the
former linked mesh.

15 years agoFrom kh_pylon:
Campbell Barton [Tue, 13 Dec 2005 00:27:10 +0000 (00:27 +0000)]
From kh_pylon:
  You have to put Py_RETURN_NONE; inside { }; it's a two-line macro
Aparently breaks MacOS.

15 years agoAdded Image.GetCurrent()
Campbell Barton [Tue, 13 Dec 2005 00:00:11 +0000 (00:00 +0000)]
Added Image.GetCurrent()
Previously the only way to get the current image was flaky and relyd on the image being assigned to a mesh.

  me = Scene.GetCurrent().getAttiveObject().getData(mesh=1)
  image = me.faces[me.activeFace].image
  image = None

...Can new be replaced by the following, and works even when there is no mesh.
image = Image.GetCurrent()

  Get the currently displayed Image from Blenders UV/Image window.
  When multiple images are displayed, the last active UV/Image windows image is used.

15 years ago-- Bugfix #3566: Entering very large numbers for scaling/rotation/translation
Ken Hughes [Mon, 12 Dec 2005 23:03:32 +0000 (23:03 +0000)]
-- Bugfix #3566: Entering very large numbers for scaling/rotation/translation
   cause a write past end of string buffers in outputNumInput().  Patched to
   make large numbers (+-1.0e+10) display in scientific notation format.

15 years agoBugfix #3583
Ton Roosendaal [Mon, 12 Dec 2005 22:27:30 +0000 (22:27 +0000)]
Bugfix #3583

Auto-IK confused a routine that checked for IK on bones... causing
drawing errors in buttons and 3d window.

15 years agoBugfix #3565
Ton Roosendaal [Mon, 12 Dec 2005 22:04:34 +0000 (22:04 +0000)]
Bugfix #3565

Enabling FluidSim on non-mesh object crashed... it uses DerivedMesh. :)

15 years agoBug #3562
Ton Roosendaal [Mon, 12 Dec 2005 21:56:32 +0000 (21:56 +0000)]
Bug #3562

Strips with a repeat fraction (like 3.51) should also "hold" on the
fraction of .51 when indicated so.
Patch provided by Roland Hess, but cleaned up (exisiting) mess a bit too.

15 years agoBugfix #3556
Ton Roosendaal [Mon, 12 Dec 2005 21:16:24 +0000 (21:16 +0000)]
Bugfix #3556

Unified render didn't treat the alpha for raytraced transparent correct...
unified is based on layering with alpha, so it cannot support alpha in
raytraced transparent correctly.

I'm going to kill unified one day... its giving me headaches. :)

15 years ago*Armature api documentation
Joseph Gilbert [Mon, 12 Dec 2005 20:12:50 +0000 (20:12 +0000)]
*Armature api documentation

15 years agoBugfix #3544
Ton Roosendaal [Mon, 12 Dec 2005 19:06:34 +0000 (19:06 +0000)]
Bugfix #3544

First two vertices of a hair strand were not transformed OK, causing weird
results with especially thicker hair, or very short ones.

15 years ago- Armature/Bone API for python
Joseph Gilbert [Mon, 12 Dec 2005 18:46:26 +0000 (18:46 +0000)]
- Armature/Bone API for python
* this resolves a number of outstanding issues with the armature api and gets this ready for release
- add/remove bones possible
- rolls work correctly now!
- ik'ing to parent should work
- flags for tip/root/bone selection
- etc.

15 years agobugfix: #3420 Indent/Unindent in text editor not undoable
Stephen Swaney [Mon, 12 Dec 2005 18:35:15 +0000 (18:35 +0000)]
bugfix:  #3420 Indent/Unindent in text editor not undoable

contributed by Mr. TextEditor - themyers.  Thanks!

15 years agoNLA editor, adding actions wasn't possible when amount of actions was over
Ton Roosendaal [Mon, 12 Dec 2005 16:29:47 +0000 (16:29 +0000)]
NLA editor, adding actions wasn't possible when amount of actions was over
30, the databrowse option didnt work.

Made popup menu to go to 60 now, in 3 collums max. Databrowse works too

Next commit; check all other databrowsers for it.

15 years agoRewrote TimeLine_getFramesMarked func with better coding
Joilnen Leite [Mon, 12 Dec 2005 11:57:58 +0000 (11:57 +0000)]
Rewrote TimeLine_getFramesMarked func with better coding

15 years agoDebug commit;
Ton Roosendaal [Mon, 12 Dec 2005 09:18:56 +0000 (09:18 +0000)]
Debug commit;

If a group duplicator uses a group with no users, it draws in red. Needed
because this seems to happen in unknown cases...

15 years agoFix confusing (too early) waitcursor when selecting rand fac for fractal
Alexander Ewering [Mon, 12 Dec 2005 03:02:29 +0000 (03:02 +0000)]
Fix confusing (too early) waitcursor when selecting rand fac for fractal

15 years agoSunday merger of orange branch with bf-blender
Ton Roosendaal [Sun, 11 Dec 2005 23:04:27 +0000 (23:04 +0000)]
Sunday merger of orange branch with bf-blender

15 years agoFix #1 to resolve corrupted NLA files with lib-linked groups.
Ton Roosendaal [Sun, 11 Dec 2005 22:54:46 +0000 (22:54 +0000)]
Fix #1 to resolve corrupted NLA files with lib-linked groups.

- If a library became unreadable, with a print like:
  ERROR: can't find lib //../../../../../../..//jorma_light.blend
  Then set the F10 "rt" button to 111. :)
  That will read files with a stripping routine to fix it.

- For lost actions in strips: press Lkey in NLA editor, this is the new
  "re-link action" option. To get it work, dont forget to fill in the
  proper Armature in NKey panel.

The real fix, for the code that corrupted relative paths, will be
part of the bf-blender branch merging, which follows.

15 years agoFix: reading library files with option "Relative Paths" set, whilst library
Ton Roosendaal [Sun, 11 Dec 2005 22:03:04 +0000 (22:03 +0000)]
Fix: reading library files with option "Relative Paths" set, whilst library
was read already AND relative, caused the path for libraries to corrupt...

Error caused big headaches in studio Orange... :)

15 years agoAdded depsgraph update call on 'add group'.
Ton Roosendaal [Sun, 11 Dec 2005 18:01:09 +0000 (18:01 +0000)]
Added depsgraph update call on 'add group'.

15 years agoOrange: made duplicators work for dynamic particle systems. Meaning; a
Ton Roosendaal [Sun, 11 Dec 2005 14:28:22 +0000 (14:28 +0000)]
Orange: made duplicators work for dynamic particle systems. Meaning; a
particle generator can be duplicated.

Note that the particles are only generated once, on the original, and just
get duplicated.
For static particles it worked already OK.

Added note for previous grouping commit; group-duplicators should support
fully all animation systems, including modifiers and particles.

15 years agoOrange: Removed old duplicator stuff from renderconverter.c...
Ton Roosendaal [Sun, 11 Dec 2005 13:37:05 +0000 (13:37 +0000)]
Orange: Removed old duplicator stuff from renderconverter.c...

15 years agoBig commit with work on Groups & Libraries:
Ton Roosendaal [Sun, 11 Dec 2005 13:23:30 +0000 (13:23 +0000)]
Big commit with work on Groups & Libraries:

-> Any Group Duplicate now can get local timing and local NLA override. This
   enables to control the entire animation system of the Group.

Two methods for this have been implemented.
1) The quick way: just give the duplicator a "Startframe" offset.
2) Advanced: in the NLA Editor you can add ActionStrips to the duplicator
   to override NLA/action of any Grouped Object.

For "Group NLA" to work, an ActionStrip needs to know which Object in a
group it controls. On adding a strip, the code checks if an Action was
already used by an Object in the Group, and assigns it automatic to that
You can also set this in the Nkey "Properties" panel for the strip.

Change in NLA: the SHIFT+A "Add strip" command now always adds strips to
the active Object. (It used to check where mouse was). This allows to add
NLA strips to Objects that didn't have actions/nla yet.

Important note: In Blender, duplicates are fully procedural and generated
on the fly for each redraw. This means that redraw speed equals to stepping
through frames, when using animated Duplicated Groups.

-> Recoded entire duplicator system

The old method was antique and clumsy, using globals and full temporal
copies of Object. The new system is nicer in control, faster, and since it
doesn't use temporal object copies anymore, it works better with Derived
Mesh and DisplayList and rendering.

By centralizing the code for duplicating, more options can be easier added.
Features to note:

- Duplicates now draw selected/unselected based on its Duplicator setting.
- Same goes for the drawtype (wire, solid, selection outline, etc)
- Duplicated Groups can be normally selected too

Bonus goodie: SHIFT+A (Toolbox) now has entry "Add group" too, with a
listing of all groups, allowing to add Group instances immediate.

-> Library System

- SHIFT+F4 data browse now shows the entire path for linked data
- Outliner draws Library Icons to denote linked data
- Outliner operation added: "Make Local" for library data.
- Outliner now also draws Groups in regular view, allowing to unlink too.

-> Fixes

- depsgraph missed signal update for bone-parented Objects
- on reading file, the entire database was tagged to "recalc" fully,
  causing unnecessary slowdown on reading.

Might have missed stuff... :)

15 years agoAdded some details in the Mathutils documentation.
Campbell Barton [Sun, 11 Dec 2005 04:20:37 +0000 (04:20 +0000)]
Added some details in the Mathutils documentation.

15 years ago-- Bugfix #3573: Deleting a scriptlink when some other scriptlinks were no
Ken Hughes [Sat, 10 Dec 2005 19:36:05 +0000 (19:36 +0000)]
-- Bugfix #3573: Deleting a scriptlink when some other scriptlinks were no
   longer linked to a script would cause a crash.  We now delete all
   scriptlinks which are not linked.

15 years ago-- Bugfix #3564: Texture.getImage() always returned None for Env maps, even if
Ken Hughes [Fri, 9 Dec 2005 23:19:00 +0000 (23:19 +0000)]
-- Bugfix #3564: Texture.getImage() always returned None for Env maps, even if
   an image was assigned.

15 years agoBugfix #3526
Ton Roosendaal [Fri, 9 Dec 2005 17:22:50 +0000 (17:22 +0000)]
Bugfix #3526

Division with zero caused wrong pixels to be rendered with Ortho camera.

15 years agoOrange; WIP commit for inclusion of "Tangent" vector in rendering.
Ton Roosendaal [Fri, 9 Dec 2005 15:14:32 +0000 (15:14 +0000)]
Orange; WIP commit for inclusion of "Tangent" vector in rendering.
This first implementation only supports it for Meshes with UV maps, and
only tangents in V direction.

Tangent diffuse:
Tangent spec, diffuse, and bump:

NOTE: since UV coordinates are still very badly subsurfed, this won't work
well for subsurf meshes... on the todo.

On the todo;
- generate tangents for meshes without UV (with some options)
- use tangents from Curve/Surface
- add the Ashkimin shader from tracker


Important bugfix; curves didn't render anymore since yesterday. :)

15 years agochange return of getMarked method for dict {framnum:['nameframe']}
Joilnen Leite [Fri, 9 Dec 2005 15:00:54 +0000 (15:00 +0000)]
change return of getMarked method for dict {framnum:['nameframe']}

15 years agobugfix #3550
Johnny Matthews [Fri, 9 Dec 2005 14:49:41 +0000 (14:49 +0000)]
bugfix #3550

Fixing Loopcut smooth to actually cut smooth

I think this will go to HEAD now...

15 years ago-- Bugfix #3520: Text with extrusion and/or bevelling would would disappear
Ken Hughes [Fri, 9 Dec 2005 14:30:51 +0000 (14:30 +0000)]
-- Bugfix #3520: Text with extrusion and/or bevelling would would disappear
   when edit mode was entered.

15 years ago-- Bugfix #3545: Toggling the "apply modifier to editing cage during
Ken Hughes [Fri, 9 Dec 2005 13:57:27 +0000 (13:57 +0000)]
-- Bugfix #3545: Toggling the "apply modifier to editing cage during
   Editmode" flag in one modifier cleared the flag for all other modifiers.
   It now only allows toggling of the last modifier in the stack.

15 years agoNew feature: "Stress" texture input channel
Ton Roosendaal [Thu, 8 Dec 2005 22:05:42 +0000 (22:05 +0000)]
New feature: "Stress" texture input channel

(As usual movies disappears after while)

Face example showing stress values on a blend. White is stretch, black
is squeeze

Quick test with softbody stretch

Based on the difference of the "Orco" (original undeformed coordinate)
and the actual render coordinate, a stress value is computed to make
textures react to stretching or wrinking skin.

The texture coordinate is neutral (0) on relaxed state. -1 is squeezed
to zero, +1 is stretched to infinity.
Note that scaling (object itself or parent) also will result in
stress values.

The reason for the huge commit is a cleanup in allocating memory for
the vertices. These were growing too large with new options, so now it
allocates the optional coordinates dynamically.
Saves about 20 MB memory per 1M vertices already. But best of all is that
I now can add much more fun... so tangents, here we come!

15 years agobugfix #3550
Johnny Matthews [Thu, 8 Dec 2005 21:35:08 +0000 (21:35 +0000)]
bugfix #3550

Fixing Loopcut smooth to actually cut smooth

15 years agoOrange: fix for duplicator-group using X-Ray or Transparent draw options.
Ton Roosendaal [Thu, 8 Dec 2005 20:07:41 +0000 (20:07 +0000)]
Orange: fix for duplicator-group using X-Ray or Transparent draw options.
Note that X-ray is skipped, since it can only work for clearing the zbuffer,
but Transparent works now.

15 years agoOrange: Made Action Editor to respect Bone layers too.
Ton Roosendaal [Thu, 8 Dec 2005 18:32:06 +0000 (18:32 +0000)]
Orange: Made Action Editor to respect Bone layers too.

Note: only works when an Object has Action linked, and not for pinned

15 years agoOrange: Action editor didn't reset selection flag on selecting Pose bones.
Ton Roosendaal [Thu, 8 Dec 2005 15:18:42 +0000 (15:18 +0000)]
Orange: Action editor didn't reset selection flag on selecting Pose bones.

15 years agoOrange: More fixes in bone-layers (#$@%!).
Ton Roosendaal [Thu, 8 Dec 2005 15:05:14 +0000 (15:05 +0000)]
Orange: More fixes in bone-layers (#$@%!).
- constraint buttons were drawing the hidden bone settings
- ctrl+I or 'Add constraint' didn't respect layers yet

15 years agoOrange: Made Nkey and info text in 3d window respect Bone Layers.
Ton Roosendaal [Wed, 7 Dec 2005 23:25:43 +0000 (23:25 +0000)]
Orange: Made Nkey and info text in 3d window respect Bone Layers.

15 years agoMade Mesh verts/edges/faces hashable (as they were in NMesh); this will
Ken Hughes [Wed, 7 Dec 2005 21:12:33 +0000 (21:12 +0000)]
Made Mesh verts/edges/faces hashable (as they were in NMesh); this will
make it easier for some scripts to be converted.

15 years agoOrange fixes;
Ton Roosendaal [Wed, 7 Dec 2005 20:28:48 +0000 (20:28 +0000)]
Orange fixes;

- protected editing library data names in outliner
- layer-bone recode caused selection from posemode not to flush correctly
  to editmode

15 years agoBugfix from own collection: Rename option in Outliner didn't handle an ESC
Ton Roosendaal [Wed, 7 Dec 2005 19:59:26 +0000 (19:59 +0000)]
Bugfix from own collection: Rename option in Outliner didn't handle an ESC
correctly. Button wasn't closed then.

15 years agoOrange: Bugfix for uninitialized variables in lscm/stretch, forgot to
Brecht Van Lommel [Wed, 7 Dec 2005 19:54:52 +0000 (19:54 +0000)]
Orange: Bugfix for uninitialized variables in lscm/stretch, forgot to
update initialization when switching from MEM_callocN to BLI_memarena.
This should fix the windows crashes.

Patch by Jens, thanks!

15 years agoOrange: Group with curve objects in it, and used with group-duplication,
Ton Roosendaal [Wed, 7 Dec 2005 19:47:22 +0000 (19:47 +0000)]
Orange: Group with curve objects in it, and used with group-duplication,
didn't update display when original was on hidden layer.

15 years agoA patch from Ken Hughes per request of Bassam here at Orange: Python access to armatu...
Toni Alatalo [Wed, 7 Dec 2005 19:36:01 +0000 (19:36 +0000)]
A patch from Ken Hughes per request of Bassam here at Orange: Python access to armature visibility layers.

15 years agoOrange: option "Add to new group" (CTRL+G) didn't work when a group
Ton Roosendaal [Wed, 7 Dec 2005 15:13:37 +0000 (15:13 +0000)]
Orange: option "Add to new group" (CTRL+G) didn't work when a group
already existed.

15 years agoOrange: Custom drawing types for bones in Poses!
Ton Roosendaal [Wed, 7 Dec 2005 15:07:31 +0000 (15:07 +0000)]
Orange: Custom drawing types for bones in Poses!

In Armature Pose-bone panel, the 'hide' button got replaced with a button
where you can type (TAB complete works) a name for a Mesh Object. It then
draws that Object instead of the indicated bone drawing type.

Fixes for bone layers:
- Akey in Editmode didnt work proper (now deselects all non visible bones
  too. selection for editmode works on the vertices, not bones...
- Snap in Editmode now respects layers

15 years agoOrange Bugfix: depsgraph code crashed on building particle system without
Ton Roosendaal [Wed, 7 Dec 2005 12:46:34 +0000 (12:46 +0000)]
Orange Bugfix: depsgraph code crashed on building particle system without
forcefields.... tsk!

15 years agoOrange request; Bones in Armature now have own layer settings.
Ton Roosendaal [Wed, 7 Dec 2005 12:36:26 +0000 (12:36 +0000)]
Orange request; Bones in Armature now have own layer settings.

Works like for Object layers, but local within Armature itself. Each Bone
can be in (16 now) any layer, and the Armature layer defines what is
visible or not. Also note that hiding will still work too.

Since the Blender code is *stuffed* with Bone options now, this commit
requires a good test if all tools we got now comply to layers...
(I counted 130 cases for checking for selected Bones in code!)

In PoseMode; hotkey M will show 'movetolayer' menu. Not in editmode...
then its the mirror menu.

Todo: make action/nla drawing comply to Armature layer settings.

15 years ago-- Bugfix #3551: fix memory corruption problem if Text3d.setText() called
Ken Hughes [Wed, 7 Dec 2005 05:44:29 +0000 (05:44 +0000)]
-- Bugfix #3551: fix memory corruption problem if Text3d.setText() called
   while selected text is in edit mode.

(Future note: now that there is Unicode support in Blender, we need to add
support for it in the BPy Text3d API.)

15 years agoFix memory leak; if Blender quits while in text edit mode, free textbuf
Ken Hughes [Wed, 7 Dec 2005 05:41:58 +0000 (05:41 +0000)]
Fix memory leak; if Blender quits while in text edit mode, free textbuf
inside of free_editText().

15 years agoFix for bug #3529
Kent Mein [Tue, 6 Dec 2005 18:52:55 +0000 (18:52 +0000)]
Fix for bug #3529

Provided by Jorge Bernal (lordloki)

Function was returning a wrong value in a switch statement.


15 years ago-- Bugfix #3548: material.setMode() was doing incorrect range check on
Ken Hughes [Tue, 6 Dec 2005 17:08:09 +0000 (17:08 +0000)]
-- Bugfix #3548: material.setMode() was doing incorrect range check on
   inputs, returned error setting RAYMIRROR or RAYTRANSP modes.

15 years agoOrange:
Ton Roosendaal [Tue, 6 Dec 2005 17:05:37 +0000 (17:05 +0000)]

Depsgraph support for animated duplicated groups that come from Library
files.... so nice, a huge walking group of characters in a 90k file or so!

15 years agoOrange:
Ton Roosendaal [Tue, 6 Dec 2005 15:39:25 +0000 (15:39 +0000)]
Series of fixes in Library linking of groups;

- On library-linking (SHIFT-F1) a Group, the Objects now don't get a "Base"
  anymore, meaning they won't show up as Objects in the Scene.
  This ensures you can use the linked Group as duplicator without having
  your file polluted with new (and linked) objects.
  (I realize it should be possible to have it with Base too, will check)
- On append or file-read, the linked Group Objects get drawn properly,
  but the animation system doesn't run yet.
- Group buttons (F7) now shows if a Group is from Library
- Outliner draws Library linked data with blue-ish text

Other fixes;

- Using group-duplicator, with originals in hidden layer, now shows and
  updates animated Objects correctly.
- All of Object button panels did not have a proper protection against
  editing Library data.

15 years agoOrange:
Ton Roosendaal [Tue, 6 Dec 2005 15:02:13 +0000 (15:02 +0000)]
Pointer was checked before being set... but it refused to crash on me! For
everyone else it crashed on rendering.
Thanks Toni for the bughunt.

15 years agoOrange: fix for reading material light groups (didnt set pointer OK yet)
Ton Roosendaal [Tue, 6 Dec 2005 12:14:53 +0000 (12:14 +0000)]
Orange: fix for reading material light groups (didnt set pointer OK yet)
(Thanks Lee for finding it!)

15 years agoOrange: tuesday sync with bf-blender
Ton Roosendaal [Tue, 6 Dec 2005 10:58:54 +0000 (10:58 +0000)]
Orange: tuesday sync with bf-blender

15 years agoOrange branch: Revived hidden treasure, the Groups!
Ton Roosendaal [Tue, 6 Dec 2005 10:55:30 +0000 (10:55 +0000)]
Orange branch: Revived hidden treasure, the Groups!

Previous experiment (in 2000) didn't satisfy, it had even some primitive
NLA option in groups... so, cleaned up the old code (removed most) and
integrated it back in a more useful way.

- CTRL+G gives menu to add group, add to existing group, or remove from
- In Object buttons, a new (should become first) Panel was added, showing
  not only Object "ID button" and Parent, but also the Groups the Object
  Belongs to. These buttons also allow rename, assigning or removing.
- To indicate Objects are grouped, they're drawn in a (not theme yet, so
  temporal?) green wire color.
- Use ALT+SHIFT mouse-select to (de)select an entire group

But, the real power of groups is in the following features:

-> Particle Force field and Guide control
In the "Particle Motion" Panel, you can indicate a Group name, this then
limits force fields or guides to members of that Group. (Note that layers
still work on top of that... not sure about that).

-> Light Groups
In the Material "Shaders" Panel, you can indicate a Group name to limit
lighting for the Material to lamps in this group. The Lights in a Group do
need to be 'visible' for the Scene to be rendered (as usual).

-> Group Duplicator
In the Object "Anim" Panel, you can set any Object (use Empty!) to
duplicate an entire Group. It will make copies of all Objects in that Group.
Also works for animated Objects, but it will copy the current positions or
deforms. Control over 'local timing' (so we can do Massive anims!) will be
added later.
(Note; this commit won't render Group duplicators yet, a fix in bf-blender
will enable that, next commit will sync)

-> Library Appending
In the SHIFT-F1 or SHIFT+F4 browsers, you can also find the Groups listed.
By appending or linking the Group itself, and use the Group Duplicator, you
now can animate and position linked Objects. The nice thing is that the
local saved file itself will only store the Group name that was linked, so
on a next file read, the Group Objects will be re-read as stored (changed)
in the Library file.
(Note; current implementation also "gives a base" to linked Group Objects,
to show them as Objects in the current Scene. Need that now for testing
purposes, but probably will be removed later).

-> Outliner
Outliner now shows Groups as optio too, nice to organize your data a bit too!

In General, Groups have a very good potential... for example, it could
become default for MetaBall Objects too (jiri, I can help you later on how
this works). All current 'layer relationships' in Blender should be dropped
in time, I guess...

15 years agoMore corrections and additions to Ipo and IpoCurve documentation.
Ken Hughes [Tue, 6 Dec 2005 06:16:10 +0000 (06:16 +0000)]
More corrections and additions to Ipo and IpoCurve documentation.

15 years agoAdded some extra parameter checking in Ipo driver code.
Ken Hughes [Tue, 6 Dec 2005 05:42:23 +0000 (05:42 +0000)]
Added some extra parameter checking in Ipo driver code.

15 years agoAdded GPL licence header. possibly some other new stuff, not sure how old the CVS...
Campbell Barton [Tue, 6 Dec 2005 04:30:23 +0000 (04:30 +0000)]
Added GPL licence header. possibly some other new stuff, not sure how old the CVS console script was.

15 years agoUpdated bvh importer. tested on over 100 bvh files.
Campbell Barton [Tue, 6 Dec 2005 03:53:35 +0000 (03:53 +0000)]
Updated bvh importer. tested on over 100 bvh files.

* Modified to use Mathutils for matrix math,
* Fixed possible joint naming bug,
* Imports BVH's with bad EOF gracefully
* Fixed duplicate joint names, make them unique
* Use \r as well as \n for newlines
* Added suppot for nodes with 0 motion channels
* Rotation IPOs never cross more then 180d
   fixes sub frame tweening and time scaling
* 5x overall speedup.

15 years ago-- Bugfix 3543: call to test_index_face() in decimateModifier_applyModifier()
Ken Hughes [Tue, 6 Dec 2005 00:02:55 +0000 (00:02 +0000)]
-- Bugfix 3543: call to test_index_face() in decimateModifier_applyModifier()
   was passing pointer to the wrong face, which led to eekadoodle later in

15 years agoModified the logic under linux.
Kent Mein [Mon, 5 Dec 2005 21:32:55 +0000 (21:32 +0000)]
Modified the logic under linux.
My 64bit box fell through and didn't do anything
because it didn't match a CPU type, so changed the logic so there is a default.


15 years ago-- Bugfix #3072: As discussed on IRC, matrix.invert() should throw a
Ken Hughes [Mon, 5 Dec 2005 19:57:23 +0000 (19:57 +0000)]
-- Bugfix #3072: As discussed on IRC, matrix.invert() should throw a
   ValueError exception if matrix is singular.

15 years ago-- Bugfix 3453: coercion operations were doing an extra incref on coerced
Ken Hughes [Mon, 5 Dec 2005 19:02:30 +0000 (19:02 +0000)]
-- Bugfix 3453: coercion operations were doing an extra incref on coerced
   objects.  Also found extra increfs on some newly-created quat and matrix
   objects, from calls to Matrix_Identity() and Quaternion_Identity().

15 years ago"Make Local" menu (Lkey) now has as first option to make only Objects
Ton Roosendaal [Mon, 5 Dec 2005 17:06:58 +0000 (17:06 +0000)]
"Make Local" menu (Lkey) now has as first option to make only Objects
local, keeping all Data stuff (Mesh, Materials) from Library.

The animation stuff on Object becomes local though;
- Ipo
- Action

15 years agoBugfix #3514
Ton Roosendaal [Mon, 5 Dec 2005 13:44:22 +0000 (13:44 +0000)]
Bugfix #3514

Once an Object Ipo position was inserted, the object couldn't be moved when
a particle system was tied to it. Needed code to copy object settings,
before the particle animation was done.

15 years agoBugfix #3512
Ton Roosendaal [Mon, 5 Dec 2005 13:22:16 +0000 (13:22 +0000)]
Bugfix #3512

Duplicated objects, that have modifiers, didn't render (or not correct).
Bug reported case with softbody being duplicated.

The duplicator system is ancient... integration with new derivedmesh or
modifiers has not been really done yet.

15 years agoHrms... setting the undosteps to zero then should also work! :)
Ton Roosendaal [Mon, 5 Dec 2005 11:52:30 +0000 (11:52 +0000)]
Hrms... setting the undosteps to zero then should also work! :)

15 years agoBugfix #3507
Ton Roosendaal [Mon, 5 Dec 2005 11:46:40 +0000 (11:46 +0000)]
Bugfix #3507

Global Undo didn't use the 'undo steps' value in the user presets yet...
even whilst button mentioned 'editmode undo' there, an easy fix to add.

15 years agoFix unchecked parameter in M_Ipo_Recalc, and some documentation fixes.
Ken Hughes [Mon, 5 Dec 2005 05:23:35 +0000 (05:23 +0000)]
Fix unchecked parameter in M_Ipo_Recalc, and some documentation fixes.

15 years ago-- remove unused variable "dict" which was giving compiler warnings.
Ken Hughes [Mon, 5 Dec 2005 01:07:24 +0000 (01:07 +0000)]
-- remove unused variable "dict" which was giving compiler warnings.

15 years agofix for exotic msvc6 projects building
Jens Ole Wund [Sun, 4 Dec 2005 22:44:19 +0000 (22:44 +0000)]
fix for exotic msvc6 projects building
so i think i can do, though we're BCON-4 ( official builds are VC7 anyway )

building elbeem debug lib with proper threading model

15 years agoOrange bramch:
Ton Roosendaal [Sun, 4 Dec 2005 20:43:41 +0000 (20:43 +0000)]
Orange bramch:
New diffuse shader, "Fresnel", which using existing fresnel formula.
Since it hilights edges (away from lamp), nice to fill darker parts with
the new layering system.

Weird stuff though;
(Movie disappears in a couple of days!)

Note; for ray-shadow you need to use the Bias, to prevent 'terminator'
problems. I made that option default now.

15 years ago-- Fix segfault when callign Blender.Armature.Get() with no parameters
Ken Hughes [Sun, 4 Dec 2005 20:39:56 +0000 (20:39 +0000)]
-- Fix segfault when callign Blender.Armature.Get() with no parameters

15 years agoDang, another fix in orange tree... I keep spamming commit maillist that
Ton Roosendaal [Sun, 4 Dec 2005 18:18:36 +0000 (18:18 +0000)]
Dang, another fix in orange tree... I keep spamming commit maillist that

This fixes a sometimes-crash when doing previews for world or lamp.

15 years agoOrange: two fixes,
Ton Roosendaal [Sun, 4 Dec 2005 18:07:53 +0000 (18:07 +0000)]
Orange: two fixes,

- Texture buttons preview didn't show for material layers
- layers now have a 'number of users' button, which allows to make a
  full copy of the material.

15 years agoSunday sync of Orange with bf-blender
Ton Roosendaal [Sun, 4 Dec 2005 17:22:36 +0000 (17:22 +0000)]
Sunday sync of Orange with bf-blender

15 years agoBf-blender commit! :)
Ton Roosendaal [Sun, 4 Dec 2005 17:18:58 +0000 (17:18 +0000)]
Bf-blender commit! :)

Forgot to put back window/screen-size clipping when opening render window.
Note for windows coders; check this diff, here's where you might need to
add an ifdef too for windows, to get the window opening correct for the
top of the screen (probably because of windows bottom toolbar?)

15 years agoOrange 'layer commit' fix: Texture buttons crash when selecting an empty
Ton Roosendaal [Sun, 4 Dec 2005 16:15:04 +0000 (16:15 +0000)]
Orange 'layer commit' fix: Texture buttons crash when selecting an empty
texture channel

15 years agoOrange fix: previous commit from Brecht called unwrap_lscm_live_end()
Ton Roosendaal [Sun, 4 Dec 2005 14:37:18 +0000 (14:37 +0000)]
Orange fix: previous commit from Brecht called unwrap_lscm_live_end()
without check for correct spacetype in use. :)

15 years agoOrange branch feature; Material Layering
Ton Roosendaal [Sun, 4 Dec 2005 14:32:21 +0000 (14:32 +0000)]
Orange branch feature; Material Layering

(WIP, don't bugs for this in tracker yet please!)

- New Panel "Layers" in Material buttons, allows to add unlimited amount
  of materials on top of each other.
- Every Layer is actually just another Material, which gets rendered/shaded
  (including texture), and then added on top of previous layer with an
  operation like Mix, Add, Mult, etc.
- Layers render fully independent, so bumpmaps are not passed on to next
- Per Layer you can set if it influences Diffuse, Specular or Alpha
- If a Material returns alpha (like from texture), the alpha value is
  used for adding the layers too.
- New texture "Map To" channel allows to have a texture work on a Layer
- Each layer, including basis Material, can be turned on/off individually


- at this moment, the full shading pass happens for each layer, including
  shadow, AO and raytraced mirror or transparency...
- I had to remove old hacks from preview render, which corrected reflected
  normals for preview texturing.
- still needs loadsa testing!

15 years agoMore work on the new unwrapper code (orange branch):
Brecht Van Lommel [Sat, 3 Dec 2005 23:22:31 +0000 (23:22 +0000)]
More work on the new unwrapper code (orange branch):

- There is now a (temporary) dropdown box in the image window header for
  switching between the old an new unwrapper code. So to test the changes
  described below you need to enable the new unwrapper code.
- Pinning is now more predictable, if one uv is pinned, the others belonging
  to the same vertex are pinned also.
- Live LSCM is much faster, since the LU factorization, the most expensive
  part of the computation, is now stored and reused (was Jens' idea).
- Packing multiple uv charts is slightly improved, by doing a binary search
  over the texture width. This fixes the case where all the charts are
  packed at the bottom of the image.
- LSCM now uses an angle based formulation, and the results seem somewhat
  different (maybe slightly better?), didn't find out why yet.

15 years ago- fixed output behaviour (now behaves just like render output,
Nils Thuerey [Sat, 3 Dec 2005 17:45:35 +0000 (17:45 +0000)]
- fixed output behaviour (now behaves just like render output,
  thus directories in the path are created using RE_make_existing_file
  in fluidsim.c)
- changed default output to be '//fluidsimdata/...'
- hopefully fixed bugs #3466 and #3470 (orco texture coords caused
  problems when the fluidsim mesh was bigger than the original one,
  one no other deformations were used - new deformedVerts are now
  allocated in this case in DerivedMesh.c)

15 years agoAdded Copy/Paste 'mapping' options for World/Lamp buttons.
Ton Roosendaal [Sat, 3 Dec 2005 12:55:35 +0000 (12:55 +0000)]
Added Copy/Paste 'mapping' options for World/Lamp buttons.

Also: moved render defines from scene to render module itself.

15 years agoOrange tree:
Ton Roosendaal [Sat, 3 Dec 2005 09:24:21 +0000 (09:24 +0000)]
Orange tree:
Raytrace mirror crash, due to mixup in skyshade call (for 'glob' texture)