blender.git
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
Object.
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:
http://www.blender.org/bf/0001_0080.avi
Tangent spec, diffuse, and bump:
http://www.blender.org/bf/20001_0080.avi

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
http://www.blender.org/bf/0001_0014.avi

Quick test with softbody stretch
http://www.blender.org/bf/0001_0100.avi

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
actions.

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.

Kent

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)]
Orange:

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)]
Orange:
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)]
Orange:
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.

Usage:
- CTRL+G gives menu to add group, add to existing group, or remove from
  groups.
- 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
   EditMode.

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.

Kent

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
- NLA

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;
http://www.blender.org/bf/0001_0040.avi
(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
way!

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
  layers.
- 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

Notes:

- 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)

15 years agoJust one more useful commit from Desoto: added a newline to the end
Chris Burt [Sat, 3 Dec 2005 00:52:51 +0000 (00:52 +0000)]
Just one more useful commit from Desoto: added a newline to the end
of the file. Hold the applause please.

15 years agofix for #3498
Kent Mein [Fri, 2 Dec 2005 21:46:52 +0000 (21:46 +0000)]
fix for #3498

(Swap colors on bigendian machines)

I also made it so that the env variable is tried ahead of all
of the other looking.  (That way you can override a system default
if its broken without having to upgrade)

This also makes it so we can remove the OSX ifdef.  So I did.
lukep: If you still want it add it back in but my gut says the less ifdefs
we have the better ;)

Kent

15 years agoSmall changes to API docs on curves and space handlers explanations.
Ken Hughes [Fri, 2 Dec 2005 21:25:30 +0000 (21:25 +0000)]
Small changes to API docs on curves and space handlers explanations.

15 years agoThis commit does very little for the number of files touched.
Kent Mein [Fri, 2 Dec 2005 21:13:14 +0000 (21:13 +0000)]
This commit does very little for the number of files touched.
I updated gen_dynlibtiff.py so its in sync with the file(s) it creates.
I added a little more documentation to the readme.txt for adding
new file formats.

I also added two dummy functions to the tiff.c so it stopped whining
about them being NULL.

(I'm still working on the reported bugs but thought this was a good time
to at least get this in)

Kent

15 years ago-- Bugfix #3524: theEditMesh structure was not being initialized correctly.
Ken Hughes [Fri, 2 Dec 2005 18:00:38 +0000 (18:00 +0000)]
-- Bugfix #3524: theEditMesh structure was not being initialized correctly.

15 years agoFriday merge of bf-blender into orange branch.
Ton Roosendaal [Fri, 2 Dec 2005 13:55:13 +0000 (13:55 +0000)]
Friday merge of bf-blender into orange branch.

15 years agoExtra texture channel input for Mist effect; "Global". This feeds the
Ton Roosendaal [Thu, 1 Dec 2005 22:16:07 +0000 (22:16 +0000)]
Extra texture channel input for Mist effect; "Global". This feeds the
global coordinate (from faces) to the sky texture color calculus, this to
make textured mist a bit less transparent (was only view coordinate).

15 years agoJust copied over changes in engine, from bf-blender. This someohow was
Ton Roosendaal [Thu, 1 Dec 2005 19:32:54 +0000 (19:32 +0000)]
Just copied over changes in engine, from bf-blender. This someohow was
missing in the previous bf-blender sync.
Now engine compiles for orange tree too.

15 years agoTrue X-mirror mesh editing!
Ton Roosendaal [Thu, 1 Dec 2005 19:04:57 +0000 (19:04 +0000)]
True X-mirror mesh editing!

Set the option in EditMode, in 2nd mesh tools panel. It only works on
transform options now (grab/rot/scale), and of course assumes a near-
perfect symmetrical mesh. Mesh Object itself can be on any location
though (and rotated etc).

15 years agoBugfix #3510
Johnny Matthews [Thu, 1 Dec 2005 16:36:30 +0000 (16:36 +0000)]
Bugfix #3510

Adding a couple of countall() to update header after using the Vertgroup and Material Group "select" and "deselect" buttons

15 years ago- last bugfix caused problems when using the makefile, this should work as well now
Nils Thuerey [Thu, 1 Dec 2005 16:10:38 +0000 (16:10 +0000)]
- last bugfix caused problems when using the makefile, this should work as well now

15 years agoWee li'll commit in tooltip for "W" button softbodies.
Ton Roosendaal [Thu, 1 Dec 2005 16:00:39 +0000 (16:00 +0000)]
Wee li'll commit in tooltip for "W" button softbodies.

15 years ago- this should fix bug #3468 (scons problem with fluidsim off)
Nils Thuerey [Thu, 1 Dec 2005 15:44:08 +0000 (15:44 +0000)]
- this should fix bug #3468 (scons problem with fluidsim off)

15 years agoSmall addition to stretch minimize: with pad +/- or the wheel mouse
Brecht Van Lommel [Thu, 1 Dec 2005 12:45:17 +0000 (12:45 +0000)]
Small addition to stretch minimize: with pad +/- or the wheel mouse
you can now blend between the original and minimized.

Stretch minimizing trades conformality (= perfect squares in checkerboard
texture) for a better sampling of the texture (= often not so well shaped
checkerboard), so it is useful to let the user find a balance between the
two.

15 years agoUpdated the sconscript for new file parametrizer.c
Matt Ebb [Thu, 1 Dec 2005 11:05:52 +0000 (11:05 +0000)]
Updated the sconscript for new file parametrizer.c

15 years ago-- Bugfix #3139: Blender.Library.Open() was changing current .blend
Ken Hughes [Thu, 1 Dec 2005 05:30:15 +0000 (05:30 +0000)]
-- Bugfix #3139: Blender.Library.Open() was changing current .blend
   filename.  We now save and restore file before opening library.

15 years agoMake curnurb.flagU and curnurb.flagV range check their inputs, plus make
Ken Hughes [Thu, 1 Dec 2005 04:50:04 +0000 (04:50 +0000)]
Make curnurb.flagU and curnurb.flagV range check their inputs, plus make
the documentation correctly describe how the attributes and methods work.

15 years agoOrange branch commit.
Brecht Van Lommel [Thu, 1 Dec 2005 02:09:21 +0000 (02:09 +0000)]
Orange branch commit.

This commit adds new underlying uv unwrapper code, intended to be
more extensible. At the moment this has a re-implementation of LSCM.
This has not been activated yet, since it doesn't add anything new.

What's new is the stretch minimize tool from tuhopuu. It works by
selecting some some uv's in the uv editor window, and then pressing
ctrl+V. The uv's on the boundary stay fixed.

More stuff will follow as I port it over & fix it.

15 years agoOrange bugreport; disabling (with small icon button) a deforming modifier
Ton Roosendaal [Wed, 30 Nov 2005 20:22:27 +0000 (20:22 +0000)]
Orange bugreport; disabling (with small icon button) a deforming modifier
for EditMode, the CrazySpace correction still worked. Made it check for
the modifier mode flag.

15 years ago-- previous commit was decrefing a borrowed reference; thanks Ascotan for
Ken Hughes [Wed, 30 Nov 2005 20:18:54 +0000 (20:18 +0000)]
-- previous commit was decrefing a borrowed reference; thanks Ascotan for
   tracking this down!

15 years agoBugfix - own repertoire :)
Ton Roosendaal [Wed, 30 Nov 2005 18:58:10 +0000 (18:58 +0000)]
Bugfix - own repertoire :)

- Curves without bevel or extrude didn't calculate the Z value for
  softbody when the "3d" option for curves was off.
- Typo in softbody.c, for switch of // comments to /* */

15 years agoBoolean op error handling has been added. When a no closed mesh is used the follow...
Marc Freixas [Wed, 30 Nov 2005 17:38:41 +0000 (17:38 +0000)]
Boolean op error handling has been added. When a no closed mesh is used the follow message is showed:
"Both meshes must be a closed mesh"

15 years agoBoolean op are undeffined when one of the two meshes are a no closed mesh (without...
Marc Freixas [Wed, 30 Nov 2005 17:35:54 +0000 (17:35 +0000)]
Boolean op are undeffined when one of the two meshes are a no closed mesh (without holes).
I put a test to check the input meshes before do any thing. If one mesh have holes a error code is returned.

15 years agoSyncing Orange branch with bf-blender
Ton Roosendaal [Wed, 30 Nov 2005 13:58:01 +0000 (13:58 +0000)]
Syncing Orange branch with bf-blender

15 years ago-- Bugfix #3186: Fix memory leaks caused by multiple calls to
Ken Hughes [Wed, 30 Nov 2005 08:18:06 +0000 (08:18 +0000)]
-- Bugfix #3186: Fix memory leaks caused by multiple calls to
   PyDict_SetItemString() with objects that were not properly decrefed
   afterwards.  Due to the number of places this was used, I added a
   wrapper EXPP_dict_set_item_str() to gen_utils.c to handle it.

   This started as a scriptlink bug, due to how many times scripts were
   being executed I think it just magnified how bad the memory leak in
   BPy was.  Animating the blend attached with this bug report would cause
   memory to grow by about 3MB for every 280 frames.  After the patch,
   memory did not appear to grow at all (or at least not noticably using
   Unix's ps and top utils).

   Since many of the PyDict_SetItemString() calls were in initialization
   modules I think my tests executed most of the changed code, but would
   appreciate script users really giving feedback.

15 years ago-- Bugfix #2868: NMesh.update(0,0,1) with derived mesh data would cause a
Ken Hughes [Tue, 29 Nov 2005 23:38:40 +0000 (23:38 +0000)]
-- Bugfix #2868: NMesh.update(0,0,1) with derived mesh data would cause a
   crash.  Hopefully the NMesh module will die a silent death before we
   discovere this doesn't really fix the problem :-)

15 years agoBugfix #496
Ton Roosendaal [Tue, 29 Nov 2005 23:31:26 +0000 (23:31 +0000)]
Bugfix #496

Noticed that static particle orcos (strands) actually were global
coordinates. This was code copied from dynamic particles...

Bugreporter (hi env!) tried to make nice zebra texture, which of course
very much failed.

Note; orco textures for strand give the same texture coordinate for the
entire hair. UV maps don't work here yet.

15 years agoBugfix #3494
Ton Roosendaal [Tue, 29 Nov 2005 23:09:36 +0000 (23:09 +0000)]
Bugfix #3494

An image texture without picture returned a '0', causing the texture code
to generate a bump normal that warped the entire shading around.
In bugreport it was showing terminator issues with ray shadow.

Terminator problems can still occor with more extreme bumpmaps though,
something to look at further.