13 years agoRender feature: the END OF DIFFUSE BANDING!
Ton Roosendaal [Fri, 28 Dec 2007 13:11:27 +0000 (13:11 +0000)]
Render feature: the END OF DIFFUSE BANDING!

Thanks Andy for poking and analysing, and Nathan for feedback!

13 years agosmall edits noticed when using linked objects, - Make undo string say linked and...
Campbell Barton [Fri, 28 Dec 2007 12:11:45 +0000 (12:11 +0000)]
small edits noticed when using linked objects, - Make undo string say linked and disallow editing PassIndex and changing the Parent of linked objects.

13 years ago== Action Editor - Header Buttons Shuffle ==
Joshua Leung [Fri, 28 Dec 2007 09:57:06 +0000 (09:57 +0000)]
== Action Editor - Header Buttons Shuffle ==

* Changed the order of Copy/Paste and AutoSnap buttons
* Auto-snap menu now has more descriptive names (off --> No Snap)

13 years agoBugfix - Socket selection status was not updated properly on file load
Juho Vepsalainen [Fri, 28 Dec 2007 08:04:37 +0000 (08:04 +0000)]
Bugfix - Socket selection status was not updated properly on file load
This commit adds a missing initialization that caused "Toggle Link (f key)"
not to work properly in case a file with an existing selection status was

13 years agoSupport for recursive dupli's, now dupliverts and duplifaces can instance empties...
Campbell Barton [Thu, 27 Dec 2007 22:58:32 +0000 (22:58 +0000)]
Support for recursive dupli's, now dupliverts and duplifaces can instance empties that intern instance dupligroups.

13 years agofix .. hum not really a bug but waste of CPU
Jens Ole Wund [Thu, 27 Dec 2007 22:48:30 +0000 (22:48 +0000)]
fix .. hum not really a bug but waste of CPU
remove 6 multiplications and one square root in core spring calculation .. called for every solver step try

13 years agoBilateral Blur Node
Juho Vepsalainen [Thu, 27 Dec 2007 20:36:17 +0000 (20:36 +0000)]
Bilateral Blur Node
Bilateral Blur node allows the user to blur images while retaining their
sharp edges. Blurring can be controlled by following controls:
*Color Sigma
*Space Sigma

Also image input to blur and a determinator image is provided. The node produces
a blurred image as its output.

The more iterations are provided, the smoother the result. Use color and space
sigmas to control the amount of blur. One way to use the determinator input is
to feed a mix (add) of Z and normal passes to it.

Examples of usage:
Ambient Occlusion smoothing -
Blurry Refraction -
Smoothed shadows and smoothed Ambient Occlusion combined -

If you check out the examples, render the image and alter the values to see how
they affect.

More information about the algorithm can be found at .

Thanks to Vilem Novak for contributing the patch.

13 years agoDupliGroups can now instance duplifaces and duplierts - not nice code, but this shoul...
Campbell Barton [Thu, 27 Dec 2007 20:33:29 +0000 (20:33 +0000)]
DupliGroups can now instance duplifaces and duplierts - not nice code, but this should help a move to proper recursive dupli's.
This is needed for peach project leaves on tree's

(space.c better tooltip for mipmaps)

13 years agoDirectional Blur Node
Juho Vepsalainen [Thu, 27 Dec 2007 14:19:11 +0000 (14:19 +0000)]
Directional Blur Node
Directional Blur node allows the users to do various blur operations on the input
image. It essentially offers three different kind of ways of blurring in one node.
It is possible to blur using a certain direction, spin and zoom. These three ways
can be used in conjunction.

The node contains following controls:
*Iterations, Wrap
*Center: X, Y
*Distance, Angle

Iterations is used to determine the smoothness of the result. The more iterations,
the smoother result. Low values are good for preview.

Wrap means that the image is wrapped as if it was tiled on both x and y directions.
To see better what this means, try it with spin for instance.

Center values (X and Y) determine the location which is used as a pivot point for
the operations. It is center (0.5) of the image by default.

Distance and angle are used to adjust directional blur. The result can be described
as a sweep that varies based on given distance (bigger distance, longer sweep) and
angle. Angle is given in degrees.

Spin produces rotating blur based on given angle. Yet again it is in degrees. Also
negative values work.

Zoom causes the image to be zoomed towards set center point (Center values).

Thanks to Alfredo de Greef (eeshlo) for contribution.

Possible development ideas:
*Make an algorithm to extend image in case spin is used. Extend would temporarily
change the size of the canvas of the input image. Canvas would be filled based on
colors on the edges of the input image. After the blur operation has been done,
the image would be cropped back to normal size. The advantage of this would be nicer
result of spin (no problems with image size) on a computational cost.
*Make values animatable. This is something that is better solved on more general
level. ("everything is animatable" paradigm)
*Provide an option to calculate automatic value for iterations. A good value that
produces a smooth result could be calculated based on direction deltas. This would be
useful in conjuction of animatable values.

13 years ago==Python API==
Campbell Barton [Thu, 27 Dec 2007 13:35:14 +0000 (13:35 +0000)]
==Python API==
added mipmap as an option for Blender.Get/Set

13 years ago== PoseLib - Bugfixes ==
Joshua Leung [Thu, 27 Dec 2007 11:20:37 +0000 (11:20 +0000)]
== PoseLib - Bugfixes ==

* Fixed crash using Interactive Preview, on an armature without a PoseLib

* Cancelling Interactive Preview now correctly restores the original Pose

* Interactive Preview now sets the correct active pose after it is run

* Interactive Preview now also updates the buttons window after it is run

* Clicking on the "New PoseLib" button now creates a new PoseLib action, even when one existed before

* Poses can be applied using the Pose browsing menu (i.e. when a menu item from that list is clicked, that pose is assigned)

13 years agoToggle links tool for Node Editor
Juho Vepsalainen [Thu, 27 Dec 2007 10:17:33 +0000 (10:17 +0000)]
Toggle links tool for Node Editor
This commit adds a new tool, Toggle Links, to the node editor. This tool
allows the user to toggle the status (linked/not linked) between desired
sockets. The tool can be used either by using the f key or the menus.

This functionality is analogue to one found in object editing modes except
for its additional toggle functionality.

To use this tool, the user has to first select an input and an output socket.
Selecting is done by clicking with right mouse button on a socket. After the
tool has been invoked, the link between those two sockets is toggled. The
result may vary based on existing linkage.

There can be only one input and one output selected at maximum in a node
tree. This means that if the user selects a socket while one of the same
type is already selected, the old one will be deselected.

The tool complements the current way of connecting nodes. One possible use
for it is to use it to review output of nodes by using a viewer node. Just
select wanted input socket of a viewer node, set it visible and use selection
of an output socket in conjuction with f key to show the output in the viewer
node. Select another output and hit f to see its output and so on.

13 years ago== PoseLib - Added 2 features ==
Joshua Leung [Thu, 27 Dec 2007 08:36:27 +0000 (08:36 +0000)]
== PoseLib - Added 2 features ==

* When previewing poses, it is now possible to manipulate the view to look at the pose from another angle. It is a known issue, that the normal header displays when using the MMB to do so.

* Added a tool to "validate" or sync its PoseLib data to the keys stored in the Action.

13 years ago== Multires ==
Nicholas Bishop [Thu, 27 Dec 2007 07:27:03 +0000 (07:27 +0000)]
== Multires ==

Fixed a crash on adding a UV layer to a multires mesh while in editmode.

13 years ago== Sculpt ==
Nicholas Bishop [Wed, 26 Dec 2007 23:08:00 +0000 (23:08 +0000)]
== Sculpt ==

Fixed a memory leak when using the interactive brush resize tool.

13 years ago== Sculpt ==
Nicholas Bishop [Wed, 26 Dec 2007 22:40:56 +0000 (22:40 +0000)]
== Sculpt ==

Fixed bad level calls in sculptmode.

13 years agoThis is patch: [#7975] imbuf for DDS textures: improved read support and a few bugs...
Kent Mein [Wed, 26 Dec 2007 21:46:30 +0000 (21:46 +0000)]
This is patch: [#7975] imbuf for DDS textures: improved read support and a few bugs fixed


Notes From the author:
The attached patch syncs the DDS code in Blender with the latest revision
(324) of the nvidia texture tools. This fixes a few minor issues and adds
support for a more types of DDS textures, in particular uncompressed textures
that don't have the standard 16, 24, or 32 bits per pixel.

Note: I have started using the nvidia texture tools convention for naming
integer types (uint, uint16, uint8, uint64 etc.) because doing so makes it
much easier to merge patches from upstream. Since the code is compiled
separately from the rest of Blender, this likely does not pose a problem.
However, if there turns out to be a good reason for avoiding those nvidia type
names from upstream, I'd be happy to fix it.


13 years ago== Multires ==
Nicholas Bishop [Wed, 26 Dec 2007 20:43:58 +0000 (20:43 +0000)]
== Multires ==

Fixed multires_update_colors so it ignores the editmesh during render.

13 years ago== Sequencer ==
Peter Schlaile [Wed, 26 Dec 2007 19:30:49 +0000 (19:30 +0000)]
== Sequencer ==

Moved status info bar into panels. It was always shown on the wrong place...
Added anim-startofs and anim-endofs, so that one can specify the range of
_input_ that should be used.

There is a subtle difference to start-ofs and end-ofs,
which will show, when you use "Reverse Frames" or "Speed Control". Both
effects operate on the input-range and _not_ on the display range! Now
you can control both in a comfortable way. Only thing missing: a button
to copy start-ofs and end-ofs to anim-startofs and anim-endofs.
(Andy: that was the feature you missed, when storyboarding with the sequencer
and the speed control effect :)

Also: added File-Name and Dir-Name to redirect input as needed.

13 years ago== MSVC 7.1 projectfiles ==
Andrea Weikert [Wed, 26 Dec 2007 19:19:51 +0000 (19:19 +0000)]
== MSVC 7.1 projectfiles ==
- added missing files to projectfiles
- cleaned up thumbnail creation to avoid dependency on BKE_

13 years agoNode curves to maintain handle status after adding a control point
Juho Vepsalainen [Wed, 26 Dec 2007 17:04:21 +0000 (17:04 +0000)]
Node curves to maintain handle status after adding a control point
Node curves maintain handles status (normal, auto, vector) even after adding
a control point now. This makes the behavior the same as in case of removing a control
point. Previously the status of handles was reseted.

13 years agoBugfix, Peach collection:
Ton Roosendaal [Wed, 26 Dec 2007 16:15:27 +0000 (16:15 +0000)]
Bugfix, Peach collection:

- new "preview" image in material caused crash because copy/paste material
  didn't support it yet.

13 years ago== Sequencer ==
Peter Schlaile [Wed, 26 Dec 2007 16:07:16 +0000 (16:07 +0000)]
== Sequencer ==

Moved N-keys dialog into panel (sub panel of "Scene")
_much_ better :)

Since UI-code isn't directly my main field of coding, please check

13 years ago=Particle bugfix=
Joseph Eagar [Wed, 26 Dec 2007 15:25:30 +0000 (15:25 +0000)]
=Particle bugfix=

Hair keys were saved via a non-sdna function, which resulted
in endian problems.  As ton pointed out on irc, he invented
sdna for a reason!

13 years ago== PoseLib - Pose-Library Tool for Blender ==
Joshua Leung [Wed, 26 Dec 2007 11:17:26 +0000 (11:17 +0000)]
== PoseLib - Pose-Library Tool for Blender ==
"A slightly late Christmas present for the Animators out there :-)"

This tool allows animators to store frequently used poses in an action, and be able to label those poses to help them retrieve them later. In a way, it acts as a glorified clipboard for poses.

One of the cool features with this is the ability to select which stored pose to use interactively in the 3d-view. Once a few poses have been stored in the PoseLib, simply use the "Ctrl L" hotkey to start previewing. Use the Mousewheel or the Page Up/Down keys to change poses, and confirm/cancel the preview in the same way as you do for transforms.

Usage Notes:
* Each Armature may get its own PoseLib. PoseLibs are simply actions with extra data, so they can get relinked.
* Manually editing actions used as PoseLibs is not a good idea, as some data may not be able to be found. Tools to automagically find poses in an action could be investigated...
* PoseLib will only apply/retrieve poses to/from selected bones
* A basic UI for this can be found in the "Links and Materials" panel. Most of the PoseLib tools are presented there.

Useful Hotkeys (also found in Pose->PoseLib menu):
* Ctrl L  - interactively preview poses
* Shift L - add a new pose or replace an existing pose in the PoseLib with the current pose
* Ctrl Shift L - rename an existing pose in the PoseLib
* Alt L - remove a pose from the poselib.c

13 years ago=Scons ffmpeg link order update=
Joseph Eagar [Wed, 26 Dec 2007 10:59:08 +0000 (10:59 +0000)]
=Scons ffmpeg link order update=

Update link order for ffmpeg on win32, patch provided by
Anders Nor "Debolaz" Berle on irc.

13 years ago== Multires ==
Nicholas Bishop [Wed, 26 Dec 2007 10:43:51 +0000 (10:43 +0000)]
== Multires ==

Fixed bad level calls within multires usage.

13 years ago== Multires ==
Nicholas Bishop [Wed, 26 Dec 2007 09:39:15 +0000 (09:39 +0000)]
== Multires ==

Cleaned up bad level calls for multires; moved most of multires functions to blenkern, where they should have been in the first place. Functionality of the tool is unchanged.

13 years ago== Transform: Warp ==
Martin Poirier [Wed, 26 Dec 2007 03:06:59 +0000 (03:06 +0000)]
== Transform: Warp ==

Adding special hotkey (MMB) to reverse the direction of the warp.

Normal input is 0..360 mapped to the horizontal position of the mouse on the 3D view (the 3D view becomes a sort of giant horizontal slider), pressing MMB reverses the value to 0..-360 and back if you press it again.

I've used MMB mostly because it's unused in Warp, easily accessible and already used to switches mode for Shear (shear x/y).

Indirectly suggested by a user question on ba.

13 years ago== Sequencer ==
Peter Schlaile [Tue, 25 Dec 2007 20:31:07 +0000 (20:31 +0000)]
== Sequencer ==

* Make Lock flag work for metastrips
* Fixes: flags are cleared on exit of metastrips
* Fixes (hopefully): red picture on big endian

13 years ago== Sequencer (includes a little bit of Peach :) ==
Peter Schlaile [Tue, 25 Dec 2007 15:31:36 +0000 (15:31 +0000)]
== Sequencer (includes a little bit of Peach :) ==

Reworked image / movie loading, to add the following features:

- Mute strip
- Lock strip (peach request :)
- Crop / Translate _before_ image rescaling
- N-keys editing of start, startofs, endofs, startstill, endstill

Added (currently disabled) data structures for

- proxy support
- strip blend modes (currently only "REPLACE" works, which always did :)


- automatic FPS rescaling
- command keys to lock/mute a bunch of selected strips
  (which would complete the peach request to lock tracks)

Caveats: now the N-keys dialog is four-tabbed. I think, we should move those
tabs into the panels dialog in the future...

13 years ago=Scons ffmpeg update and avi fix=
Joseph Eagar [Tue, 25 Dec 2007 06:48:45 +0000 (06:48 +0000)]
=Scons ffmpeg update and avi fix=

Updated scons to work with the ffmpeg binaries in
lib/windows/gcc again.  Also fixed a bug reported by
Debolaz on irc.  Blender's internal avi reading (which can
only read simple formats like motion jpeg) was telling the
video code it could read all avis, without checking their

To fix this, I copied AVI_open_movie(), and modified it to
to replace AVI_is_avi().  Now it properly checks the codec,
and validates the header.

13 years ago== Skeletor ==
Martin Poirier [Mon, 24 Dec 2007 17:35:54 +0000 (17:35 +0000)]
== Skeletor ==

Commenting debug code that would output the harmonic weight to vertex color.

13 years agoAdded 'File->External Data->Make all files Absolute'
Campbell Barton [Mon, 24 Dec 2007 17:07:52 +0000 (17:07 +0000)]
Added 'File->External Data->Make all files Absolute'
OpenGL stamp also wasnt checking correctly (own error)

13 years agopatch from Vladimir Espinosa for keying object layers from python
Campbell Barton [Mon, 24 Dec 2007 11:43:09 +0000 (11:43 +0000)]
patch from Vladimir Espinosa for keying object layers from python

13 years agoold bug in python api, Blender.Scene.Unlink() did not check if screens were using...
Campbell Barton [Mon, 24 Dec 2007 10:25:35 +0000 (10:25 +0000)]
old bug in python api, Blender.Scene.Unlink() did not check if screens were using this scene or if it was used as a set elsewhere.

In both cases this resulted in invalid pointers and crashes.
Also was not freeing nodes or sequence data.

13 years agoMissing change in previous BPy revert.
Martin Poirier [Sun, 23 Dec 2007 23:41:16 +0000 (23:41 +0000)]
Missing change in previous BPy revert.

This was only the added build options in scons, so no harm done.

13 years ago== Sequencer ==
Peter Schlaile [Sun, 23 Dec 2007 21:27:12 +0000 (21:27 +0000)]
== Sequencer ==

Fixed IPO calculation for threaded prefetch rendering. (do_seq_ipo used
global CFRA tststs...)

13 years ago== Sequencer ==
Peter Schlaile [Sun, 23 Dec 2007 19:21:43 +0000 (19:21 +0000)]
== Sequencer ==

[#7861] Sequencer segfaults when trying to add images

Fixed some _really_ stupid bugs in transform_seq, that made it segfault
if one selected 0 images.

13 years ago== FFMPEG ==
Peter Schlaile [Sun, 23 Dec 2007 18:44:32 +0000 (18:44 +0000)]
== FFMPEG ==

Fixes [#7475] no video as background
libswscale sets the alpha channel to 0 by default... grmbl.
Added a workaround. Big endian users please complain, if it doesn't work.

13 years ago== Playback (peach request) ==
Peter Schlaile [Sun, 23 Dec 2007 17:27:06 +0000 (17:27 +0000)]
== Playback (peach request) ==

Correct playback frames per second when "Play" is pressed. (Play spawns a new instance of blender, it could pass an argument that sets the frames per second)

(double credit :)

13 years ago== Sequencer (Peach request) ==
Peter Schlaile [Sun, 23 Dec 2007 17:01:44 +0000 (17:01 +0000)]
== Sequencer (Peach request) ==

Make the "Sync" button work when sound is disabled, Animators use this as a way to play animations at the right speed, could be renamed to "Drop Frames" and work even when blender built without audio enabled.

(do not forget to give credit to me :)

13 years agoFixed bug #7981, Crash with multires
Nicholas Bishop [Sun, 23 Dec 2007 03:03:54 +0000 (03:03 +0000)]
Fixed bug #7981, Crash with multires

Caused by incorrect handling of multires with orco mapping

13 years agoText draw assumed curarea->spacedata.first was always a text space - which in some...
Campbell Barton [Sat, 22 Dec 2007 17:16:06 +0000 (17:16 +0000)]
Text draw assumed curarea->spacedata.first was always a text space - which in some cases is not correct.
This fixes a crash where python changing screens then raising an error would cause a crash.

13 years ago-> Alpha Clip Tweak
Geoffrey Bantle [Sat, 22 Dec 2007 12:05:27 +0000 (12:05 +0000)]
-> Alpha Clip Tweak

Apparently on some cards/drivers setting alpha clip to 1.0 will make every
pixel get clipped out regardless of its associated alpha value being 1.0.
Added a fix for this.

13 years agosmall cleanup for sequencer drawing,
Campbell Barton [Sat, 22 Dec 2007 10:30:50 +0000 (10:30 +0000)]
small cleanup for sequencer drawing,
text isn't drawn for strips when too narrow and some improvements to the strip draw loop.

13 years agoBugfix #7854: Adding Meta/Text Object causes Blender to go into EditMode (setting...
Joshua Leung [Sat, 22 Dec 2007 03:47:19 +0000 (03:47 +0000)]
Bugfix #7854: Adding Meta/Text Object causes Blender to go into EditMode (setting disabled)

This was caused by a few missing checks for this setting in the appropriate places.

13 years agoBugfix for strand simplification, without random distribution enabled.
Brecht Van Lommel [Fri, 21 Dec 2007 10:57:02 +0000 (10:57 +0000)]
Bugfix for strand simplification, without random distribution enabled.
Bugfix (hopefully) for missing strands on render bug, probably related
to preview render.

13 years ago-m64 somehow made opengl headers have conflicting values when compiling.
Campbell Barton [Fri, 21 Dec 2007 09:30:37 +0000 (09:30 +0000)]
-m64 somehow made opengl headers have conflicting values when compiling.

13 years ago== Transform feature test ==
Martin Poirier [Fri, 21 Dec 2007 01:53:55 +0000 (01:53 +0000)]
== Transform feature test ==

Related to bug [#7792] ("Around Selection" user preference doesn't work for linked objects), this commit makes Linked objects be considered in Transform.

This has a couple of effects:
Linked objects are used to calculate the center of transformation and such but are skipped during the actual transformation.
Linked objects can be used as orbiting targets (see previously mentionned bug).

The offshot is that selecting a linked object and hitting G doesn't cancel immediately as it did before (this could eventually be worked around, but I don't think it's that much of a problem. Disagreeing people should express themselves).

13 years agoNeed to propigate -m64 flags to compile verse.
Kent Mein [Thu, 20 Dec 2007 19:39:21 +0000 (19:39 +0000)]
Need to propigate -m64 flags to compile verse.


13 years ago== Sculpt Mode ==
Nicholas Bishop [Thu, 20 Dec 2007 19:07:47 +0000 (19:07 +0000)]
== Sculpt Mode ==

Applying Stephan Kassemeyer's patch (#6750) to add a curve modifier for sculpting.

A few changes from the patch:
* The default curve is closer to the old behavior
* Fixed loading files already saved in sculpt mode
* Changed the interface; split the brush texture controls off into a third sculpt tab, and put the curve (and curve reset) into the Brush tab.

13 years agoReset GL lights are reloading defaults with Ctrl-X.
Martin Poirier [Thu, 20 Dec 2007 18:41:11 +0000 (18:41 +0000)]
Reset GL lights are reloading defaults with Ctrl-X.

GL Lights defaults are read back from the file, they just weren't applied until the next recalc call.

13 years agoA little christmas present for the lazy coders.
Nathan Letwory [Thu, 20 Dec 2007 17:52:57 +0000 (17:52 +0000)]
A little christmas present for the lazy coders.
In your you can now set BF_FANCY='false' and enjoy the... lack of colors

13 years agoBugfix for strand simplification commit, made child particles
Brecht Van Lommel [Thu, 20 Dec 2007 17:08:17 +0000 (17:08 +0000)]
Bugfix for strand simplification commit, made child particles
from particles crash.

13 years agoParticle Edit Mode
Brecht Van Lommel [Thu, 20 Dec 2007 17:04:10 +0000 (17:04 +0000)]
Particle Edit Mode

- Added a Remove Doubles tool, to remove two particles with the
  same root position.

13 years agoStrand Render Simplification
Brecht Van Lommel [Thu, 20 Dec 2007 16:35:27 +0000 (16:35 +0000)]
Strand Render Simplification

- Strand render now has options to remove child strands as
  the object's faces becomes smaller, in the Simplification
  particle panel.
- "Reference Size" is the approximate size of the object on
  screen, after which simplification starts.
- "Rate" is how fast strands are removed.
- "Transition" is the percentage of strands being faded out as
  they are removed.

- Another "Viewport" option removes strands on faces that are
  outside of the viewport. "Rate" again controls how fast these
  are removed.

- Strand render in Blender Units now has an adjustable minimum
  width. Below this minimum width, strands start fading out
  instead of getting smaller.

13 years agochange default solaris gcc args, use -m64 for 64bit arch, use -O2 rather then -O1
Campbell Barton [Thu, 20 Dec 2007 16:33:45 +0000 (16:33 +0000)]
change default solaris gcc args, use -m64 for 64bit arch, use -O2 rather then -O1

13 years agohopefully fix compiling on win32
Campbell Barton [Thu, 20 Dec 2007 12:37:15 +0000 (12:37 +0000)]
hopefully fix compiling on win32

13 years agomake relative paths wasnt working, also disallowed it when the blend file isnt saved
Campbell Barton [Thu, 20 Dec 2007 10:52:56 +0000 (10:52 +0000)]
make relative paths wasnt working, also disallowed it when the blend file isnt saved

13 years agoBLI_makestringcode dosnt need the first value to be a copy of G.sce since its a ...
Campbell Barton [Thu, 20 Dec 2007 10:38:01 +0000 (10:38 +0000)]
BLI_makestringcode dosnt need the first value to be a copy of G.sce since its a "const char"

Removed own script release/scripts/ since last commit replaced its functionality.

13 years agoRender-farm and file utils for dealing with external data.
Campbell Barton [Thu, 20 Dec 2007 10:27:13 +0000 (10:27 +0000)]
Render-farm and file utils for dealing with external data.
Useful to use before sending blend files to the renderfarm.

* Make all Paths Relative - makes any absolute paths relative.
* Report Missing Files - creates a textblock listing all missing files.
* Find Missing Files - searches a directory recursively for filenames that dont exist at their current path.

Added a path looper type and functions that currently loop on image, sound, font and external library paths.

13 years ago== Action Editor - Show Hidden Channels ==
Joshua Leung [Wed, 19 Dec 2007 23:29:42 +0000 (23:29 +0000)]
== Action Editor - Show Hidden Channels ==

This option (found in the View menu) shows all Action Channels, regardless of whether the data they represent is visible or not.
It's better than having to have multiple pinned Action Editors open to be able to move all keyframes of all bones at once (when blocking for example).

Also, fixed some compile errors caused by previous commit...

13 years ago== Imbuf ==
Peter Schlaile [Wed, 19 Dec 2007 23:14:14 +0000 (23:14 +0000)]
== Imbuf ==

The TIFF reader did error handling with assert which is a pretty bad
idea (tm).

This fixes the assert-crash, that the TIFF reader triggers, if one tries
to open a RAW-DV file within the compositor. (File extension is only
two characters long, which is enough for an assert... EVEN IF IT ISN'T

Removed all other assertions and added proper error handling.
(using STDERR, where it belongs.)

13 years ago== Action Editor - Copy/Paste ==
Joshua Leung [Wed, 19 Dec 2007 22:37:38 +0000 (22:37 +0000)]
== Action Editor - Copy/Paste ==

Now the Copy/Paste functionality stores more info about where keyframes came from. This allows users to copy full poses in the Action Editor and paste them in another action.

Peach request/bugfix for William.

13 years agoRendering
Ken Hughes [Wed, 19 Dec 2007 18:17:56 +0000 (18:17 +0000)]
Bugfix #4863: AVI jpg would crash on really small images (less than 16x16).
Change it to pop up an error dialog and abort.

13 years agoBugfix: prevention of redraw of the 3d view or other windows while
Brecht Van Lommel [Wed, 19 Dec 2007 13:11:54 +0000 (13:11 +0000)]
Bugfix: prevention of redraw of the 3d view or other windows while
rendering to the image editor missed one case, could result in
modifiers and particles being evaluated with G.rendering == 1 but
still showing in the viewport.

13 years agoBugfix for hinge bone transform for multiple selected bones: now
Brecht Van Lommel [Wed, 19 Dec 2007 12:12:38 +0000 (12:12 +0000)]
Bugfix for hinge bone transform for multiple selected bones: now
only transforms the children too if they are connected, otherwise
they get transformed twice.

13 years ago== Action Editor - Long Keyframes ==
Joshua Leung [Wed, 19 Dec 2007 10:52:26 +0000 (10:52 +0000)]
== Action Editor - Long Keyframes  ==

Now Long-Keyframes in the Action Editor (yellow/pink strips between keyframes) take into account whether the keyframe handles which help control the interpolation between the two keyframes stay at the same value as the keyframes do.
This way, long keyframes are not drawn when the keys have the same value, but there's still movement between them.

13 years ago== Action Editor - Pinned Actions Bugfix ==
Joshua Leung [Wed, 19 Dec 2007 10:03:54 +0000 (10:03 +0000)]
== Action Editor - Pinned Actions Bugfix ==

When using a pinned action, "Add New" now makes a new action. This new action is only assigned to the current Action Editor (i.e. not to any active object, as one might not exist, or might not be the object that the action is related to).

13 years agoChanged the default hotkeys for playing animations to be more useful IMO (ported...
Joshua Leung [Wed, 19 Dec 2007 08:48:41 +0000 (08:48 +0000)]
Changed the default hotkeys for playing animations to be more useful IMO (ported from AnimSys branch):
* Alt-A now only plays the animation in the active space, if that space is a 3D-view. Otherwise, it plays the animation in all spaces. The old behaviour simply didn't make sense for animation editors, where you'd simply see the current-frame marker moving...

* Alt-Shift-A now plays the animation in all spaces regardless of whether they are active (including 3d-views)

13 years agoProblem with OBJ import found by Mark Ivey - would not import an obj if all verts...
Campbell Barton [Wed, 19 Dec 2007 07:44:37 +0000 (07:44 +0000)]
Problem with OBJ import found by Mark Ivey - would not import an obj if all verts were int values.

13 years agoAdd support for stampinfo to the JPEG format.
Diego Borghetti [Wed, 19 Dec 2007 05:37:57 +0000 (05:37 +0000)]
Add support for stampinfo to the JPEG format.

This is the review of the patch:
[#5485] Invisibly stamp render information into jpg and png files.
by Rob Hausauer (paprmh)

NOTE: I split this patch in 3 part:
1) jpeg support
2) python api
3) sequence plugin

This is the first part, hope finish with the other two tomorrow night.

13 years agoFixed bug #7960, Sculpt Mode: Crash after Scaling brush to 1 ("Tile" mode)
Nicholas Bishop [Tue, 18 Dec 2007 23:27:26 +0000 (23:27 +0000)]
Fixed bug #7960, Sculpt Mode: Crash after Scaling brush to 1 ("Tile" mode)

Division by zero fix

13 years agoFixed bug #6711, Retopo problem when maximizing 3d view and still painting
Nicholas Bishop [Tue, 18 Dec 2007 21:56:17 +0000 (21:56 +0000)]
Fixed bug #6711, Retopo problem when maximizing 3d view and still painting

Caused by some incorrect usage of the current v3d during updates

13 years agoParticles
Brecht Van Lommel [Tue, 18 Dec 2007 16:55:09 +0000 (16:55 +0000)]

- The render and realtime button for the particle system modifier
  and the enabled button for particles now work seperate again,
  made a bad design decision to tie them together. Now with only
  the render button and not realtime enabled it renders.
- Fix for bug #7948: particle mode crash while constraining axis.
- Fix for bug #7945: crash loading effector groups from an old file.
- Fix for bug #7942: crash for reactor particles emitting from particles.

13 years agoBugfix: the transform of a particle system in a dupli-group was wrong.
Brecht Van Lommel [Mon, 17 Dec 2007 21:19:17 +0000 (21:19 +0000)]
Bugfix: the transform of a particle system in a dupli-group was wrong.

13 years agoThreaded Shadowbuffers Creation
Brecht Van Lommel [Mon, 17 Dec 2007 21:04:22 +0000 (21:04 +0000)]
Threaded Shadowbuffers Creation

- One shadowbuffer per thread.
- Added more break tests in shadow buffer code.
- Removed R.clipcrop global, solution is not nice yet, but at
  least threadsafe.
- Fixed bug in strand render shadow buffer code.

13 years agoReverting to 2_2x BPY
Martin Poirier [Mon, 17 Dec 2007 20:21:06 +0000 (20:21 +0000)]
Reverting to 2_2x BPY

I was careful in selectively rolling back revisions, but if you've committed changes unrelated to BPY mixed with BPY changes, I might have reverted those too, so please double check.

13 years agoBugfix: with a lot of child particles (1500 per parent), some faces
Brecht Van Lommel [Mon, 17 Dec 2007 16:25:15 +0000 (16:25 +0000)]
Bugfix: with a lot of child particles (1500 per parent), some faces
would get no particles at all. Issue turns out to be precision of
floats for incrementing a number between 0 and 1, now uses doubles..

13 years agoBugfix: with particle distribution based on orco's, there was no
Brecht Van Lommel [Mon, 17 Dec 2007 15:32:27 +0000 (15:32 +0000)]
Bugfix: with particle distribution based on orco's, there was no
correction for them being 'squashed' to the bounding box of the
object, gave weird artifacts with child particle distribution.

13 years agoShift+O subdivision switching now also allows to switch
Brecht Van Lommel [Mon, 17 Dec 2007 12:54:39 +0000 (12:54 +0000)]
Shift+O subdivision switching now also allows to switch
particle systems on/off if they exist.

13 years agoBugfix: memory leak with multi-modifier, if the modifier
Brecht Van Lommel [Mon, 17 Dec 2007 11:47:24 +0000 (11:47 +0000)]
Bugfix: memory leak with multi-modifier, if the modifier
using the previous coordinates was disabled.

13 years agorename WITH_PYAPI_V24X to WITH_BPYAPI_V24X (because its blender's api version number...
Campbell Barton [Mon, 17 Dec 2007 11:32:52 +0000 (11:32 +0000)]
rename WITH_PYAPI_V24X to WITH_BPYAPI_V24X (because its blender's api version number not pythons), made 24x api use its own armature weakref list since pyobject types are different.

13 years agoBugfix: particle add brush in perspective mode would sometimes
Brecht Van Lommel [Mon, 17 Dec 2007 11:20:51 +0000 (11:20 +0000)]
Bugfix: particle add brush in perspective mode would sometimes
not add particles, view ray was wrong.

13 years ago== Fill Bones - Bugfixes ==
Joshua Leung [Mon, 17 Dec 2007 10:34:49 +0000 (10:34 +0000)]
== Fill Bones - Bugfixes ==

* Some joints were identified multiple times, which caused a "too many joints" error when only 2 joints were selected
* When no joints were selected, "too many joints" error was displayed. This has been changed to "no joints selected"
* Fixed a memory leak that occurred when "too many joints selected"

13 years agoMore BPyAPI compiling fixes again.
Joshua Leung [Mon, 17 Dec 2007 08:32:14 +0000 (08:32 +0000)]
More BPyAPI compiling fixes again.

* Added missing stubs so that blenderplayer can be linked.

13 years agoBugfix #7918: Particles (svn) Crashing when adding particles in EditMode
Joshua Leung [Mon, 17 Dec 2007 06:32:53 +0000 (06:32 +0000)]
Bugfix #7918: Particles (svn) Crashing when adding particles in EditMode

This commit should fix the error. dm was used before being check if it was NULL.

13 years agoMore BPyApi (New/2_5x) compiling fixes for mingw.
Joshua Leung [Mon, 17 Dec 2007 06:12:01 +0000 (06:12 +0000)]
More BPyApi (New/2_5x) compiling fixes for mingw.

* Mostly fixed a few more of the tp_base errors, in the manner that Ken did...
* There's still a weird warning in draw.c about some function being used but not defined
* I've included the source splitting hack here too, as I was getting problems getting it to link the files...

13 years ago== Sculpt Mode ==
Nicholas Bishop [Mon, 17 Dec 2007 04:52:46 +0000 (04:52 +0000)]
== Sculpt Mode ==

Improved some memory allocation; it doesn't actually use less memory now, just avoids reallocating the same block of memory over and over again.

13 years ago== Sculpt Mode ==
Nicholas Bishop [Mon, 17 Dec 2007 04:10:38 +0000 (04:10 +0000)]
== Sculpt Mode ==

Minor refactoring of the overgrown sculpt() function.

13 years agoApplied Ian Calvert's patch (#7801) to add a "rake" setting to sculpt mode; when...
Nicholas Bishop [Mon, 17 Dec 2007 03:21:25 +0000 (03:21 +0000)]
Applied Ian Calvert's patch (#7801) to add a "rake" setting to sculpt mode; when used with a 2D brush texture, the texture is automatically rotated to follow the direction of the brush stroke.

13 years ago* Added an option not to compile the 2.4x api (WITH_PYAPI_V24X for Makefiles and...
Campbell Barton [Sun, 16 Dec 2007 06:50:49 +0000 (06:50 +0000)]
* Added an option not to compile the 2.4x api (WITH_PYAPI_V24X for Makefiles and WITH_BF_PYAPI_V24X for scons)
* ghash wasnt being set to null when python stopped and was segfaulting on exit

13 years agoPython API Merged from branch,
Campbell Barton [Sun, 16 Dec 2007 03:42:41 +0000 (03:42 +0000)]
Python API Merged from branch,

Some areas are not yet finished, the 2.4 api can remain "import Blender" and the bpy api "import bpy" gives access to the new api.

* event, link, etc are not assigned to Blender.*
* Scripts need to be tested and updated.
* Scripts cannot mix bpy and Blender modules anymore.
* Makefiles need to be updated (only works with scons now)
* Make the 2.4 api optional with IFDEF's
* Lots of testing and small fixes

13 years ago== AutoIK - Fixes for MouseScroll Setting ==
Joshua Leung [Sun, 16 Dec 2007 00:59:06 +0000 (00:59 +0000)]
== AutoIK - Fixes for MouseScroll Setting ==

* Added display of current chain-length setting to the header, when transforming with Auto-IK on

* Removed debug print accidentally left in

* Fixed compiler warning in buttons_object.c

13 years ago== Text Window ==
Martin Poirier [Sat, 15 Dec 2007 21:40:23 +0000 (21:40 +0000)]
== Text Window ==

Patch [#7849] by Jetze van Beijma, strike 2.

The first patch fixed the size of the scroll bar, this one fixes drawing of selected text area (the redish area in the scrollbar).

13 years agoRender Instancing
Brecht Van Lommel [Sat, 15 Dec 2007 20:41:45 +0000 (20:41 +0000)]
Render Instancing

Big commit, but little user visible changes.

- Dupliverts and duplifaces are now rendered as instances, instead
  of storing all of the geometry for each dupli, now an instance is
  created with a matrix transform refering to the source object.
  This should allow us to render tree leaves more memory efficient.

- Radiosity and to some degree raytracing of such objects is not
  really efficient still. For radiosity this is fundamentally hard
  to solve, but raytracing an octree could be created for each object,
  but the current octree code with it's fixed size doesn't allow this

- The regression tests survived, but with I expect that some bugs will
  pop up .. hopefully not too many :).

Implementation Notes

- Dupligroups and linked meshes are not rendered as instances yet,
  since they can in fact be different due to various reasons,
  instancing of these types of duplis that are the same can be added
  for them at a later point.

- Each ObjectRen now stores it's own database, instead of there being
  one big databases of faces, verts, .. . Which objects that are actually
  rendered are defined by the list of ObjectRenInstances, which all refer
  to an ObjectRen.

- Homogeneous coordinatess and clipping is now not stored in vertices
  anymore, but instead computed on the fly. This couldn't work for
  instances. That does mean some extra computation has to be done, but
  memory lookups can be slow too, and this saves some memory. Overall
  I didn't find a significant speed impact.

- OSA rendering for solid and ztransp now is different. Instead of e.g.
  going 8 times over the databases times and rendering the z-buffer, it
  now goes over the database once and renders each polygon 8 times. That
  was necessary to keep instances efficient, and can also give some
  performance improvement without instances.

- There was already instancing support in the yafray export code, now it
  uses Blender's render instances for export.

- UV and color layer storage in the render was a bit messy before, now
  should be easier to understand.

- convertblender.c was reorganized somewhat. Regular render, speedvector
  and baking now use a single function to create the database, previously
  there was code duplicated for it.

- Some of these changes were done with future multithreading of scene
  and shadow buffer creation in mind, though especially for scene creation
  much work remains to be done to make it threadsafe, since it also involves
  a lot of code from blenkernel, and there is an ugly conflict with the way
  dupli groups work here .. though in the render code itself it's almost there.

13 years agofix for own mistake when changing curve flags - Reported as [#7888] Extrude broken...
Campbell Barton [Sat, 15 Dec 2007 15:30:08 +0000 (15:30 +0000)]
fix for own mistake when changing curve flags - Reported as [#7888] Extrude broken for vector handles

13 years agoPatch #7916: New Empty Types - Sphere and Cone
Joshua Leung [Sat, 15 Dec 2007 07:48:30 +0000 (07:48 +0000)]
Patch #7916: New Empty Types - Sphere and Cone
Submitted by: David Bryant (digikiller)

This patch adds two new drawtypes for empties in Blender:
* Sphere
* Cone

These draw with wireframes which are slightly more complicated than for other empties. However, this shouldn't really be an issue.

13 years ago== Auto-IK ==
Joshua Leung [Sat, 15 Dec 2007 07:35:16 +0000 (07:35 +0000)]
== Auto-IK ==
-- Peach request (from wiki feature request list) --

When translating a bone using Auto-IK, you can now use the ScrollWheel on the Mouse or the Page Up/Down keys to adjust the chain length.

* Up decreases the length, while Down increases it.
* The previously used chain-length is stored per scene
* Currently, it might be too sensitive. Also, it would help to have some kind of indication of the current chain-length somewhere...
* The chain length specified this way determines the MAXIMUM chain length possible for all chains (if 0, then the default chain-length is used). Chains are clamped to have a chain length which does not exceed the default chain length. This restriction may be removed following further feedback...