Commit Graph

12883 Commits

Author SHA1 Message Date
Robert Holcomb
f7738575c9 Added brightness/contrast node 2007-04-13 03:23:39 +00:00
Ton Roosendaal
1b04ee899b Plumiferos report:
Compositor. New ESC feature did not work Ok for groups
2007-04-12 17:22:08 +00:00
Ton Roosendaal
ac8116c4b2 Bugfix #6549
Proxy for Armature: the proxy synchronize was missing local loc/rot/size
vectors, so local constraints did not work.
2007-04-12 08:19:28 +00:00
Ton Roosendaal
7f2abaa80c Plumiferos report (2.43 release bug):
Compsitor:
Making groups from Image nodes accidentally reveiled the hidden output
sockets (for when image has passes)
2007-04-11 17:49:08 +00:00
Ton Roosendaal
1b789314b6 Bugfix #6547
Constraint "limit location" was using type "No parent" without checking
a pointer for NULL, causing crashes on append.
2007-04-11 12:44:03 +00:00
Campbell Barton
76420c2fec appending libdata no longer breaks all external references.
Existing data is flagged with LIB_APPEND_TAG and all_local only has an option to only operate on un-flagged data.

If you append an object thats linked to a material alredy linked in your scene, the material will not be made local.
So at worst youll need to make local some of the datablocks.

This is fairly simple and though my tests show it to work, do some tests on your own libraries before assuming its problem free.


scripttemplate_mesh_edit wasnt updated with PyAPI changes and moved some functions into generic places.
2007-04-07 17:35:47 +00:00
Joshua Leung
655f9a61de == Clamp-To Constraint (was Patch #4818) ==
This (new) constraint limits the location of an object/bone to the range of locations
on a given curve. It works by comparing the location of the owner on one axis, to
the extents of the curve's bounding-box on the same axis, to find the location on
the curve.

Usage Notes:
* 'Ob:' field must point to a valid curve object
* This curve should have 'Path' turned on in order for this constraint to work. You
don't really need to do this as it will be taken care of by the code.
* 'Auto' toggle automically determines which axis should be used for the distance estimations/calculations. It is the default option, but may not work that well for
some cases.
* X/Y/Z toggles can be used to select the axis to use for these calculations. Try
to choose the axis along which the curve stretches out for most.

Python Notes:
Python API access for this constraint is not included in this commit. Will be coming
soon.
2007-04-07 03:32:57 +00:00
Campbell Barton
6a684948fa All data in blender's libBlock linked lists are supposed to be sorted but in some cases wernt.
The problem was that new ID's that didnt have any naming collisions whould not run sort_alpha_id, which lead to most images not being sorted.

Simple fix is to make sort_alpha_id run on all new ID's. but we need to make sure all data is kept sorted. maybe a check when running in debug mode would help.
2007-04-06 10:08:48 +00:00
Nathan Letwory
fb0f61c0b0 === Node editor ===
* refactor copying and freeing of node->storage by handlerizing them.
  - freestoragefunc
  - copystoragefunc
  - node_util.c/h have generic handlers for these.
2007-04-04 13:58:12 +00:00
Campbell Barton
afdd54fa37 moved source and text to american spelling
* colour -> color
* centre -> center
* normalise -> normalize
* modelling -> modeling
2007-04-04 13:18:41 +00:00
Ton Roosendaal
6057fc7186 Bugfix:
Freeing memory for node typedefinitions should be not in usiblender.c (that
is for UI-only stuff) but in kernel.
2007-03-31 18:18:30 +00:00
Ton Roosendaal
054c471a04 Bugfix #6419
When adding images, there was no check if image file was a directory.
Result was an Image without name even. Fixed!
2007-03-29 12:42:30 +00:00
Ton Roosendaal
0b7d7e07c6 Bugfix #6312
When saving files (images), the filewindow was giving relative paths on
a save-over menu.

Also: added in group.c a note about problems with timeoffset.
2007-03-29 10:09:44 +00:00
Ken Hughes
b8e425af7c Revisions to previous change of new_id().
Note: the intent of the original modification (and these updates) is not to
change how new_id() functions.  What has been done is to pull out the code
which calculates a new name for an ID in the case of duplicate, as would
happen when you copy any datablock, into a separate function.  This code is
necessary in the new Python Library module, since it otherwise is extremely
difficult to locate a new datablock appended from a library.  new_id() calls
this separate function to generate a name for the new ID if necessary, just
as it previously did.

To make the purpose of this new function clearer, I renamed it
check_for_dupid() and added more extensive comments.  I repeat, it's not
meant to be a substitute for new_id().
2007-03-29 04:55:29 +00:00
Ton Roosendaal
1ba9226903 Option "New" in editbuttons, material panel, did not create a new unique
Material, but relinked the active. Was an old confusing annoying actually.
(And not useful, when do you want 2 material indices with same material?)

Now the 'new' duplicates material, if there is an active material.
2007-03-28 19:47:59 +00:00
Ton Roosendaal
f5b919e12e Long wanted feature; decent ESC processing in composite nodes.
Works simple; just check for

		if(node->exec & NODE_BREAK)
			break;

The main process (node processor) sets such a flag, checking for esc
20 times per second. That means you can check for ESC while doing image
processing without much cpu overhead.

Currently only added in blur nodes and defocus. Needs to be added all over,
nice for others... needs careful tests too.

What we now could do is even calling ESC on editing commands or mouseclicks
in composite editor? Could give user feeling of interactive app :) Further,
finished nodes are kept in memory anyway.
2007-03-28 13:48:01 +00:00
Robert Holcomb
39ef0f4eba moved node_shader_lamp_loop to node.c and put an extern declaration in BKE_node.h to prevent multiple definition link errors. 2007-03-28 13:07:59 +00:00
Kent Mein
80237ceff9 patch to get cmake working with nodes now. Provided by Genscher.
I still have linking issues with it but it is better as is so I'm
commiting it.  Hopefully will have it fixed fully shortly.

Kent
2007-03-27 18:34:57 +00:00
Campbell Barton
66238eab7c PyAPI
curve - added curve_type() to return the curve type
BPyModule & gen_library - works with text3d now, can also make new text3d through bpy.curves.new
Added Draw.Label() so scripts can draw can using freetype.
widgetwizard - use Draw.Label
2007-03-27 11:37:54 +00:00
Ton Roosendaal
5c760e4811 Changed node type definitions to use a dynamic list.
This will allow python or plugin defined nodes to work as well.
(And fixes compile issues with MSVC in yesterdays commit for nodes)

Code provided by Nathan L.
Fixes in his code:
- free_nodesystem() was called too late (after guarded alloc was closed)
- free_nodesystem() was freeing nodes that were not malloced even
- free_nodesystem was using free, not freeN :)
- the typedefs needed to be malloced yes, to allow duplicate nodes like
  group but also for dynamic nodes.
2007-03-26 15:07:38 +00:00
Ton Roosendaal
d1315a342d Bugfix: function new_id() was allowed to be called with NULL.
Caused by Ken Hughes commit of 5 days ago

Note; dup_id() will go away, is not according to Blender spec.
2007-03-26 13:02:43 +00:00
Robert Holcomb
c1e9018118 All UI code reverted to drawnode.c 2007-03-25 23:54:39 +00:00
Robert Holcomb
066ac348e9 updated for nodes system 2007-03-24 21:06:23 +00:00
Robert Holcomb
cdd8475835 These gots to go. 2007-03-24 18:48:56 +00:00
Robert Holcomb
808a5fc05a Scons build system. MSVC 7.1 in a moment. 2007-03-24 18:41:54 +00:00
Joshua Leung
269e943d58 == Copy Location Constraint ==
I've added two new options for this constraint:
* Copy Bone Tip Location
* Apply owner's location on top of copied location ('Offset')
2007-03-24 03:00:54 +00:00
Ton Roosendaal
bc31d61c3b patch 5341 by Juho
This adds option to show camera angle instead of camera lens value.
(Complete revised patch...)
2007-03-23 13:12:11 +00:00
Ken Hughes
3a834803ef Python API
----------
Support for new bpy.libraries module, which is being proposed to replace
the Blender.Library module.
2007-03-21 02:23:28 +00:00
Ton Roosendaal
e706ce0228 The function to get a Material didn't correctly check for object types.
(bug reported by Campbell via irc)
2007-03-20 15:34:00 +00:00
Alfredo de Greef
1ebc28bead Minor modification of foreground processing code in the defocus node.
Now uses a fixed value instead of a value based on the closest object.
Should eliminate sudden jumps in blur amount from frame to frame when used
in animations.
2007-03-20 06:50:39 +00:00
Martin Poirier
31f79cf5b4 === Constraints ===
Patch by Juho Vepsäläinen (bebraw)
[ #5850 ] Inverted axis' buttons to Copy Rotation and Copy Location constraints

This patch adds the options to invert the value being copied from each axis of the Copy Rot/Copy Loc constraints.


This commit also includes some slight code sanitization and tool tips cleanup (for the two track constraints, the tool tips were really unuseful).
2007-03-18 14:53:17 +00:00
Ben Batt
7170f9ec2d == Edgesplit modifier speed improvements ==
Speed improvements to the Edgesplit modifier (changed the data structures
and memory management to avoid using slow GHash functions and large numbers
of small mallocs). In my tests, this makes the modifier approximately twice
as fast.
2007-03-18 14:20:24 +00:00
Ben Batt
77cd80e1b5 == Mirror modifier upgrade ==
Upgraded the Mirror modifier to support mirroring of UV coordinates in the
faces created by the modifier.
2007-03-18 13:46:26 +00:00
Ben Batt
0b55cac34c == Array modifier upgrade ==
Upgraded the Array modifier to allow the user to specify start and end
cap objects. This makes arrays more flexible and more useful for creating
subsurf cages. The cap objects are added at the start and end of the array,
and will be auto-merged with the rest of the array if the 'Merge' button is
on.

Examples at:
- http://members.optusnet.com.au/~bbatt/tentacle01-endcaps.blend
- http://members.optusnet.com.au/~bbatt/arraytest06.blend
- http://members.optusnet.com.au/~bbatt/arraytest07.blend
2007-03-18 13:26:53 +00:00
Ken Hughes
115b65ce7c Fix numerous gcc warnings. 2007-03-16 05:03:38 +00:00
Campbell Barton
6b584a6504 many menu items would crash blender if there was no 3d view. added checks. 2007-03-14 09:08:41 +00:00
Ton Roosendaal
a8b41017f1 Bugfix #6211
Group nodes with animation nodes inside (like Time) did not get updated
correctly.

I also noticed that with time Nodes,  the hotkey "E" (execute) fails to do
a composite after frame changes, fixed that too.
2007-03-13 12:20:55 +00:00
Campbell Barton
df1df624ac added back videoscape for python 2007-03-13 11:54:53 +00:00
Campbell Barton
0745133528 removed videoscape support, a format from 1988 that nobody uses anymore. 2007-03-13 10:00:27 +00:00
Ton Roosendaal
8044f9d280 Bugfix #6173
Dupliverts + shaded mode did not work; patch provided by Riku Palomäk
(tonttu)
2007-03-12 10:30:39 +00:00
Campbell Barton
021cd4aac3 python api
removed most custom add_*data* wrappers from Main.c
removed makeCurrent() from Text.c (was never in a release), use "bpy.texts.active = text" now
clamp new image sizes
made add_empty_action accept a string rather then a blocktype since the blocktype was only being used to choose one of 3 strings anyway.
2007-03-12 06:21:58 +00:00
Campbell Barton
e0c77c0f14 made all data adding functions accept a name such as add_mesh or add_curve, previously only some datatypes adding functions accepted a name.
also updated the Bpy.py epydocs
2007-03-11 16:25:17 +00:00
Ton Roosendaal
d0d9899e76 Bugfix #6201
Shape key drivers were not copied correctly, when choosing the option
"ADD NEW Scene -> Full copy".
2007-03-11 12:14:50 +00:00
Campbell Barton
51c16edabc bugfix, material copy wasnt increasing the lighting groups user count, but removing the lighting group decreased it. 2007-03-08 13:43:59 +00:00
Ton Roosendaal
e3fc193641 Bugfix #6176
Matrix cache for particles was read out of bounds. Fix found by Ken Hughes.
2007-03-08 12:22:50 +00:00
Ton Roosendaal
aec81d8b4b Bugfix #6190
Composite: renderlayer nodes were not tagged 'changed' when rerendered,
causing a composite to skip them. (only for nodes having another scene)
2007-03-08 12:05:34 +00:00
Nicholas Bishop
4bd5ab628b == Multires ==
Fixed bug #6153, Blender Crash during rendering (internal) with object selected in edit mode.

* Added a render parameter to several of multires's functions. If render==true, multires won't push data onto the undo stack, and regular Mesh data is always used (as opposed to EditMesh data.)
2007-03-08 05:54:39 +00:00
Matt Ebb
37308c01ca Compositor/assorted nodes fixes:
* Auto-create compbufs for first socket of alphaover and set alpha nodes.
This allows you to eg. plug something into the second socket of an
alphaover node, and choose a solid colour in the first empty socket for
the image to be superimposed over.

Previously I had to create a bunch of extra nodes to (for example) mix
100% black over my render, just to get a black compbuf of the right size
that I could plug in. Not nice.

The Mix node already works this way, and these two should have, but
didn't.

* Allow the 'Fac' value to be used on RGB curves when there is no input
image. This lets you easily fade the changes in and out to check it
against the original, or to tone down the effect of the colour correction.
2007-03-07 11:09:03 +00:00
Ton Roosendaal
bf5dfc651e bugfix #6163
Dupligroup: the recursive option did not check for the button (flag) to
be set, only for the pointer ->dupli_group
2007-03-05 20:47:59 +00:00
Joshua Leung
b5343551ac Bugfix:
Removed the ability to change the name of a constraint or vertex group
to "" as it was causing problems. Anyway, it shouldn't be allowed.
2007-03-02 07:30:52 +00:00