Commit Graph

1496 Commits

Author SHA1 Message Date
Campbell Barton
b91d5bf951 Changing the VarStruct name length messed up plugins, so changing back. 2007-01-04 11:15:06 +00:00
Matt Ebb
04dea66458 == Compositor ==
* Ported Math node from shader nodes to composite nodes too

It's a good general purpose utility node and also allows stupid stuff
like this more easily :)

http://mke3.net/blender/etc/math-spiral-h264.mov
http://mke3.net/blender/etc/stupidmath.blend.zip
2007-01-04 01:56:21 +00:00
Robert Holcomb
60c2a7eeae The combine HSVA node was missing, now all the color space seperators
and combiners are available.
2007-01-02 14:45:59 +00:00
Matt Ebb
aa030ba90b == Compositor ==
* Added patch 5251 X/Y Offset to Split Viewer node, by Juho
(with some modifications from the patch version).

Also various small tweaks to compositor drawing & buttons.
2007-01-02 14:15:41 +00:00
Matt Ebb
2dd1c96761 == Compositor ==
* Added a new top-level add menu category for compositing nodes: Distort

It currently contains Translate, Rotate, Scale, Flip, Displace and Map UV

Also did some cleaning up of the ordering of add node menu items to be a
bit better organised.
2006-12-31 00:28:46 +00:00
Martin Poirier
822a88959b === Code Fixes ===
Adding missing define for displace node (Matt can change the number when he gets back, this is just to fix compilation)

Removing "#pragma mark" from node.c. IIRC, that's XCode leaving crap around, so be sure to remove them when you commit (it outputs warnings on other compilers).
2006-12-30 16:35:46 +00:00
Matt Ebb
7d7714a675 == Compositor ==
* Displace Node

Displaces an input image's pixels based on an input vector mask. This can be
useful for a lot of things, like hot air distortion, quick-and-dirty compo
refraction, compositing live footage behind refracting objects, and more!

The amount of displacement in the X and Y directions is determined by:
* The value of the mask's channels
  - (red) channel 1's value determines displacement along the positive or
  negative X axis
  - (green) channel 2's value determines displacement along the positive or
  negative Y axis

If both the channel's values are equal (i.e. a greyscale image) the input
image will be displaced equally in both X and Y directions, also according to:
* The X scale and Y scale buttons
  - These act as multipliers to increase or decrease the strength of the
  displacement along their respective axes. They need to be set to non-zero
  values for the node to have any effect.

Because of this, you can use the displace node in two ways, with a greyscale
mask(easy to paint, or take from a procedural texture), or with a vector
channel or RGB image, such as a normal pass, which will displace the pixels
based on the normal direction.

A quick practical example:
http://mke3.net/blender/etc/displace-desert-h264.mov
http://mke3.net/blender/etc/displace-desert.blend.zip

And some techie examples:

Using a greyscale mask
http://mke3.net/blender/etc/displace-bw-h264.mov
http://mke3.net/blender/etc/displace-bw.png

Using a vector mask
http://mke3.net/blender/etc/displace-vec-h264.mov
http://mke3.net/blender/etc/displace-vec.png
2006-12-30 14:47:03 +00:00
Ton Roosendaal
3fb1f2986f Bugfix #5541
Composite: Scale Node didn't correctly pass on 1-channel buffers when no
scaling happened, resulting in crashes.
2006-12-28 12:07:11 +00:00
Ton Roosendaal
38f168c3d3 Bugfix #5430
"Delete object" didn't correctly clear all pointers in Object NLA modifiers
2006-12-27 10:21:33 +00:00
Campbell Barton
84f60b19c8 weightpaint_clean, option to clean all vgroups
weightpaint_envelope_assign - can update active vgroup only
weightpaint_normalize - fixups
BKE_plugin_types - made the max length 32 ratehr then 16 so you can fill the text space in pupBlock
2006-12-27 09:31:28 +00:00
Joshua Leung
ed2f161c72 == Copy Rotation Constraint - Bugfix #5519 ==
Now, when only one axis toggle is on and click on it, all of the other
toggles will not be turned on.

For this to work, I've moved the version patches in the drawing/evaluation
code for this constraint to the file-reading code.
2006-12-27 05:00:43 +00:00
Nicholas Bishop
6b64ccdca1 Sculptmode now works properly with shape keys (Merry Christmas.) Fixes bug #5499, Sculpt mode don't works correctly with Shape Key. 2006-12-25 19:11:20 +00:00
Chris Want
66643dbf1f I think this might be a safer way of dealing with the non-OpenEXR
compilation of image.c -- Ton: please check.
2006-12-24 20:19:56 +00:00
Chris Want
1e6c007497 Some more duct tape to make sure that blender[player] still builds
when compiled without OpenEXR.
2006-12-24 16:03:31 +00:00
Campbell Barton
c5de881413 added CustomData_add_layer_named, same as CustomData_add_layer but accepts a name. saves Mesh.c having to look up the data after adding (just to rename it) 2006-12-24 11:15:54 +00:00
Alexander Ewering
edf18ca767 Uncommitted the stub again.
Can anyone who knows more than me add a correct stub for this?
Blenderplayer doesn't link for me because it can't find that
symbol...
2006-12-24 10:29:05 +00:00
Campbell Barton
1c6f41a27a Added CustomData_get_named_layer_index to customdata to get a layer index by name, only used in Mesh.c at the moment.
cleanup Mesh.c, updated the epydocs
2006-12-23 23:33:03 +00:00
Campbell Barton
bef18061ec Select Grouped editdata- minor fix in the menu.
Updated Python Mesh API to support UV and Color layers with names.
Similar to vertex group's

renamed a function in customdata.c CustomData_free_layers -> CustomData_free_layers_active and made CustomData_free_layers accept an index, this is needed so python could free layers that arnt active.
2006-12-23 17:07:02 +00:00
Alexander Ewering
1ba244605f Add a stub for IMB_exr_close() so blenderplayer compiles again
(I hope I did this right - works for me at least)
2006-12-23 12:19:18 +00:00
Ton Roosendaal
397b09e477 Bugfix #5476
Lattice deforming a Particle system only supported regular parent relation-
ship, not modifiers.
2006-12-23 11:56:22 +00:00
Joshua Leung
fcd3ea7875 == Snap Bones To Location in PoseMode ==
Now the Snap To Location (Shift S) tools for bones in pose-mode
work correctly. Previously, only one of these tools was implemented,
but it only worked in some cases.


This fixes item #4874 in Todo Tracker. Was patch #5012.
2006-12-22 09:05:37 +00:00
Brecht Van Lommel
058ceb0b94 Added Vertex Color material node, making render engine support for multiple
vertex color layers actually useful.
2006-12-22 08:10:29 +00:00
Brecht Van Lommel
d892aac06b Fix: active face was lost switching between faceselect mode and editmode. 2006-12-22 07:45:01 +00:00
Brecht Van Lommel
d11b6949d8 Made multiple UV layers work with fastshade. 2006-12-22 07:41:29 +00:00
Campbell Barton
79fd2a2ae4 filename was being copied into a string only the length of the max file. 2006-12-21 22:30:30 +00:00
Ton Roosendaal
120ac48728 Another Image recode fix: the Composite backdrop option didn't work when
no viewer images was generated before.
2006-12-21 20:03:25 +00:00
Ton Roosendaal
67769dc080 Made new Defocus node compile happily in MSVC 2006-12-21 18:23:30 +00:00
Ton Roosendaal
e61dec0767 Defocus Composite Node, by Alfredo de Greef
Log:
http://www.blender3d.org/cms/Composite__Defocus.836.0.html

An incredible quality composite effect, might be slow but worth waiting
for!
2006-12-21 18:11:07 +00:00
Ton Roosendaal
af60771eca Fix for threads usage. This solves the hanging 'render baking', cauused
by yesterdays commit.

Now a designater LOCK_IMAGE is used for all image write/read.
2006-12-21 15:44:46 +00:00
Ton Roosendaal
e4663acd76 UnPack data fix:
Now uses original filename for unpacking, instead of the Blender ID name.
That latter was a nice idea, but because of its 20 char maxname limit
not working well.
2006-12-21 14:00:18 +00:00
Brecht Van Lommel
47bc3d1208 Added names to UV and vertex color layers, and display them as a list.
Added support for multiple UVs in the render engine. This also involved
changing the way faces are stored, to allow data to be added optionally
per 256 faces, same as the existing system for vertices.

A UV layer can be specified in the Map Input panel and the Geometry node
by name. Leaving this field blank will default to the active UV layer.

Also added sharing of face selection and hiding between UV layers, and at
the same time improved syncing with editmode selection and hiding.

Still to do:
- Multi UV support for fastshade.
- Multires and NMesh preservation of multiple UV sets.
2006-12-21 13:47:27 +00:00
Ton Roosendaal
edccdf9340 Packing Images fix:
- a 'procedural image' like 'UV Test Grid' now can be directly packed,
  it does ask first for confirming to pack it as PNG
2006-12-21 13:39:02 +00:00
Ton Roosendaal
fc00e73a83 removed the WKey "Split font" option. It doesnt work and corrupts memory
(saved files cannot read back, they crash).

The implementation of this option was plain accident that it even worked
once... you cannot use the API in blender that way.
2006-12-21 12:36:25 +00:00
Chris Want
5895c903cd Only include the header openexr_multi.h when WITH_OPENEXR is defined.
This header defines function stubs for builds without OpenEXR.
A quote from openexr_multi.h:

/* ugly... but we only use it on pipeline.c, render module, now */

No longer true! Function definitions should never be in header files,
I say.
2006-12-21 01:16:25 +00:00
Ton Roosendaal
e6c8702e7b Game Player links again, added new functions in the stubs
(image.c: prototype fix)
2006-12-20 21:51:08 +00:00
Ton Roosendaal
253432bfc7 The Big Image refactor!
Please read:
http://www.blender3d.org/cms/Imaging.834.0.html

Or in short:

- adding MultiLayer Image support
- recoded entire Image API
- better integration of movie/sequence Images

Was a whole load of work... went down for a week to do this. So, will need
a lot of testing! Will be in irc all evening.
2006-12-20 17:57:56 +00:00
Erwin Coumans
1852d1a410 Enable 'show physics visualization' in the Game Menu. Should help to locate problems with collision detection/physics (also useful when baking, and/or using the new rigidbody constraints). 2006-12-20 06:43:43 +00:00
Joshua Leung
dbbf45875b == Scaling Constraints Working in Local-Space ==
* Patch #5442: "Fix Bone SizeLimit" by Heriberto Mendez (gammarayq21)
'Limit Scale' constraint can now work on bone's local scaling too.

* I've also made the 'Copy Scale' constraint able to use the local scaling
of bones too.
2006-12-18 10:17:40 +00:00
Erwin Coumans
0e6518731f Use degrees instead of radians for rigidbody constraint axis (euler angles). Radians can't specifiy 90-degree angles precisely, the input is only 3 decimals accurate... 2006-12-18 07:51:12 +00:00
Ken Hughes
08a7208aa6 Python API
----------
A more robust attempt to avoid creating non-Empty objects with no data while
maintaining backward compatibility.
2006-12-17 00:21:57 +00:00
Joseph Eagar
3a84791b53 =IDProperties Python update=
Updated id properties interface as per
discussed in python meeting.  Basically,
id properties are now entirely accessed
through the dict-like interface if IDGroupType.
Also, tp_getsetters are used throughout the code
now.

Using the dict interface allowed for a major cleanup
of the wrapping code.  The biggest change is that ID
properties are no longer wrapped in a structure with 
.type .name and .data members; instead when you get
properties from the group it returns the direct value.
Ints, strings and floats return simple python types,
while arrays and groups return special wrappers though.

This means to detect the type of an ID property, you
have to use type().  For string and int types this is
easy; for group and array types (which of course have
their own wrappers) you use type() with Blender.IDGroupType
or Blender.IDArrayType.

Update of epydocs plus a temporary gui script will be
forthcoming; the gui script will be removed before release
as of course by then we'll have a built-in gui for id
properties.
2006-12-16 23:54:45 +00:00
Erwin Coumans
92379ec21f contribution from RCRuiz:
drawing of rigidbody constraint pivots, and allow passing of full constraint frame.
2006-12-16 05:50:38 +00:00
Joshua Leung
4935f0b231 Constraints on bones working in 'local' mode, now obey the Enforce
value for constraints. Only Copy Rotation used to do so.

Note: only enforce values of 0.0 or 1.0 are useful/totally predictable
2006-12-14 22:58:22 +00:00
Ton Roosendaal
ae7fcb58bc Armature Proxy bugfix: synchronizing the pose went wrong when the proxy
had new dependencies added internally (like constraints), changing the
evaluation order for pose channels. My optimized code didn't like it, so
now it falls back to a reliable slower method.

Bug showed as totally messed up characters for proxies...

Also: increased range for 3D Window properties clip-start/end, this is
still a bad construct though...
2006-12-13 08:50:11 +00:00
Campbell Barton
080a5d5664 exposed CustomData_get_active_layer_index in BKE_customdata.h (needed by python to get the active layer)
added python api stuff to deal with Color and UV/Image layers.

me.activeUvLayer - int
me.activeColorLayer - int
me.totUvLayers - int
me.totColorLayers - int

me.addUvLayer()
me.addColorLayer()
me.removeUvLayer()
me.removeColorLayer()


Variable names may need changing.
2006-12-13 00:50:02 +00:00
Brecht Van Lommel
80ee52e444 Multiple UV and vertex color layers: (still work in progress)
These can be created and deleted in the Mesh panel in the same place as
before. There is always one active UV and vertex color layer, that is
edited and displayed.

Important things to do:
- Render engine, material support
- Multires and NMesh now lose non active layers

Also CustomData changes to support muliple layers of the same type, and
changes to layer allocation, updated documentation is here:
http://mediawiki.blender.org/index.php/BlenderDev/BlenderArchitecture/CustomData
2006-12-12 21:29:09 +00:00
Ton Roosendaal
dd88a8ca0f Bugfix: usage of 2 unitialized variables (again!). I should set gcc to use
O2 by default... without O2 it doesnt warn me for it.

This should fix errors in Material Node and "Vector Math" node.
2006-12-12 20:24:12 +00:00
Ton Roosendaal
4595bef2b4 Three-fixes-in-one:
#5417: Only Shadow material gave shadow outside of Spot bundle
#5414: Material Nodes: sockets without input were always treated as single
       value inputs, ignoring color or vector. (Caused by commit to do
       automatic conversions of socket links).
#5420: When reading with old Blender a new file that has a new window type,
       saving it over, and read back in current Blender, the window type
       should be reset to EMPTY, because all its data got lost.
2006-12-12 11:13:43 +00:00
Ton Roosendaal
a919981d60 Bugfix #5401
Material Nodes still have undefined output to the passes. Currently only
the active Material node gives pass info. Bug was that check for active
was wrong, giving stripes because of hanging variables.
I'll work soon on providing all pass options in the Material nodes. This
fix at least correctly provides passes for active material, and clears
memory of pass info in advance.

Also: outliner view "current scene" did not show render layers.
ALso: outliner click on renderlayer now activates it (for UI)
Also: zbuffer for transparent was not initialized to 'infinity' correctly
2006-12-11 11:33:03 +00:00
Tom Musgrove
027025b1f6 =bad level calls=
added

antialias_tagbuf

and

iibuf_sample

to stubs so that we can compile the gameengine again - ton please check when you wake up...
2006-12-10 23:31:17 +00:00