Commit Graph

7418 Commits

Author SHA1 Message Date
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
Campbell Barton
5af67129f8 * theme save script now saves iconThemes and supports string types.
* added .iconTheme variable
* bugfix. drawType was not being saved because Py_BuildValue and __members__ was missing an "s"
* added Blender.Get('icondir')
2006-12-30 07:32:58 +00:00
Joshua Leung
26719af48a A few little tweaks for compiling purposes. 2006-12-30 05:38:54 +00:00
Matt Ebb
69da3d93fb * Fix for bug #5555 Numpad zoom does not recognize that the
transform properties window is collapsed.

Just checks now to see if the floating panel is collapsed or not
and where the mouse is before zooming.
2006-12-30 05:37:45 +00:00
Matt Ebb
fd827ad6c8 * Redraw the node editor when render passes are enabled or disabled
in the outliner
2006-12-30 05:36:22 +00:00
Campbell Barton
6985409d6a added pose_bone.displayObject for getting/setting custom bones 2006-12-30 01:04:19 +00:00
Nicholas Bishop
04f9d7c604 Hopefully fixed bug #5437, sculpt - seam selection flushing eats lots of ram on low multires level
This appears to have been caused by the excessive amount of memory that multires was eating up every time an edit operation pushed a new undo copy. Added a hack for multires that allows it to use the same multires data for multiple undo copies until the user actually changes levels (which is when multires data is actually updated.)
2006-12-30 00:51:26 +00:00
Nicholas Bishop
34286476a5 Added texture rotation for sculpt brush (only drag mode for now.) 2006-12-29 23:14:34 +00:00
Nicholas Bishop
5d061a5100 Changed Add/Sub sculpt menu items to a single Add toggle, shortcut is Vkey 2006-12-29 22:09:05 +00:00
Nicholas Bishop
6a2ad12956 More improvements to the sculpt brush panel. Texture scale can now be set independently on the X/Y/Z axes for 3D textures and the X/Y axes for tiled brushes. The sizes can be locked together for 1:1 scaling. 2006-12-29 21:53:52 +00:00
Nicholas Bishop
b0dbba33f4 Reorganized brush palette into three columns. Changed brush View slider to the range [0-10], since there's really no need to it to values like 93%, 90% is close enough. 2006-12-29 20:13:03 +00:00
Campbell Barton
afb5f209d6 record while in fly mode when record is enabled from the timeline.
if play and record are enabled at the same time you can record the flight path.
adds a keyframe for every frame, dosnt support the Keying options in the user prefs.
If no rotation is being done on the camera, no rot keys are applied and same for location.
2006-12-29 18:09:05 +00:00
Campbell Barton
d734689895 draw the right pannel when weughtpaint+vcol modes are on at the same time.
(was drawing the vcol panel in wp mode)
it may be good to not allow both modes at once.
2006-12-29 13:13:17 +00:00
Nicholas Bishop
2f7abb43f7 Bug fix: if a file is saved with sculptmode on and a brush with a texture is enabled, the brush image must be loaded before it can be used. 2006-12-29 09:51:29 +00:00
Nicholas Bishop
dcb47000f7 Fixed case where sculpt brush texture is not set 2006-12-29 09:32:57 +00:00
Campbell Barton
9ca61ba44d Scene.c - deprecation warning for getScene
bvh_import.py - use old slow method of adding keyframes. setting IPO's was having problems.
2006-12-29 08:57:33 +00:00
Nicholas Bishop
d9e0e883f2 Sort-of-fix for bug #5382, sculpt - image/texture brush heavily distorted when not sculpting flat relative to screen
Fix for bug #5248, sculpt - mirrored tiled texture odd results

Changed the algorithm used for projecting the brush texture onto the model. The old algorithm was never implemented properly, causing increasingly
wonky distortions of the brush as it got farther away from parallel to the screen. The new system uses the screen coords of vertices, the obvious
advantage being that 2D screen coords can be mapped quite easily to 2D texture coords. The main disadvantage of this method is that there are still
distortions in the brush as the surface beneath it becomes less parallel the screen. These distortions, however, are not as bad as the old ones
because they are predictable from the user's perspective. (It's analogous to a movie being projected onto a sphere; if the viewer is in front of the
sphere there is no apparent distortion, but from the side the movie appears stretched and distorted.)

This may still be worth revisiting after the release.
2006-12-29 08:40:19 +00:00
Matt Ebb
efce404ddd * Patch #5337 from Juho: Ipo vertex size theme setting
(with some small modifications)
2006-12-29 06:58:39 +00:00
Matt Ebb
376ee50d3e * Dynamic icon file loading and themeability
This patch allows icon files (.png) to be loaded into Blender dynamically,
without having to go through the tedious and technical process of compiling
them in. It also makes them part of the theme settings so they can be
attached as part of a theme and saved in the default .B.blend.

Icon files should be stored in $HOME/.blender/icons/ . This really sucks on
Mac since it's hidden in the finder, but it's a separate issue. We need a
better system of finding things like this, python scripts etc, perhaps a
nice wrapped function something like BLI_getresourcedir(), then it's easy to
do platform specific stuff there, like using ~/Library/Application Data on Mac.

More info and docs in the patch tracker @
https://projects.blender.org/tracker/index.php?func=detail&aid=5334&group_id=9&atid=127
2006-12-29 04:46:47 +00:00
Nicholas Bishop
ef0d41b956 Fix for bug #5539, brush circle cursor is slow. 2006-12-28 23:23:10 +00:00
Martin Poirier
3c13561ab5 === Transform Snap ===
Fixed the bug where it would snap to a selected (moving) vertex.

Fixed a bug with Snap Closest with only one vertex selected.

=== Internals: EditMesh Mods ===

Modify and documented findnearestvert.

Added a new parameter to restrict the search to selected or unselected vert instead of just adding a bias to them (as previously). Currently, the "strict" method bypasses the openGL optimisation, people with more knowledge about that should feel invited to fix it.

=== Internals: EditMesh Tools ===

Adding missing newline at the end.
2006-12-28 22:42:58 +00:00
Joshua Leung
d665beb5df This just silences a compiler warning I got as a result of Nick's commit
last night.

warning: "struct View3D" declared inside parameter list
2006-12-28 22:08:33 +00:00
Campbell Barton
8866a62c8f was missing getColorLayerNames and getUVLayerNames from docs. 2006-12-28 12:56:00 +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
ebdc0d04a5 Bugfix #5540
Datbrowse return event was accidentally cleared, so browsing did not work.
(Commit of last week for image refactor).
2006-12-28 11:31:22 +00:00
Ton Roosendaal
6f6051d455 Preview render in 3D window used wrong clipping... 2006-12-28 11:14:08 +00:00
Campbell Barton
2feea3dcc3 made scn.objects more flexible... you can now things like...
scn.objects.selected = [] # deselect all
scn.objects.selected = scn.objects # select all
scn.objects.context = [ob1, ob2...]

Added epydoc examples and updates importer scripts to use this de-select-all method.
2006-12-28 11:09:36 +00:00
Nicholas Bishop
356ea2ff28 Added numerical input for sculptmode propset 2006-12-28 08:24:37 +00:00
Nicholas Bishop
4098977569 Holding control while using sculptmode propset now snaps to multiples of 10 2006-12-28 07:49:08 +00:00
Nicholas Bishop
f3948a5575 Fixed bug #5533, was allocating memory by totvert rather than totface 2006-12-28 07:33:39 +00:00
Nicholas Bishop
57b8310e9d Added numerical display of sculptmode propset in preperation for numerical input 2006-12-28 07:04:05 +00:00
Campbell Barton
8ea2b66810 Made it possible to copy modifiers from the python API
ob1.modifiers = ob2.modifiers
2006-12-28 06:47:56 +00:00
Campbell Barton
ab06e52343 Mech cleanup use new edge_keys
continual script stuff, minor stuff..

fix for bad return in group.
Added back group.objects.append/remove but print deprectaed warning. also some epydoc changes.
2006-12-28 05:00:35 +00:00
Martin Poirier
c063e01f06 === Bug Fix ===
Fix for bug [ #5522 ] inaccurate rotation

Entering very high/low values using numeric input in a rotation (+/- 360000 and more/less) resulted in incorrect rotations. Fixed by clamping the actual rotation between -180 and 180 before converting to radians (just to be clear, the clamping already happened and is inevitable, now, it just happens earlier).
2006-12-28 03:11:21 +00:00
Joshua Leung
482b864a5b A few little cleanups in keyframing code
* Added a few missing undo-pushes for a few keyframing options
* Made inserting visual rotation keyframes for objects use Mat4ToEul
2006-12-28 03:04:54 +00:00
Joshua Leung
819b5d51f6 == Armature Centering Tools ==
After all these years, it is now possible to (re)center armatures like you
can do with meshes and curves.

At the moment, you can only access this functionality from the menus
(Spacebar->Transform) as the armature button panels are pretty
crowded.
2006-12-27 23:30:59 +00:00
Joshua Leung
434e6d22eb Minor code cleanups of posemode bone snapping code 2006-12-27 21:56:00 +00:00
Nicholas Bishop
77ed6f94c4 Added checks in sculptmode for mirror modifiers with Do Clipping enabled, this now works as expected for all brushes 2006-12-27 21:41:25 +00:00
Nicholas Bishop
ca4d431456 When calculating brush size, pressure should be ignored for grab brush 2006-12-27 20:21:07 +00:00
Nicholas Bishop
57df3fb1b4 Switching editmode on then off again with multires enabled should update the edge visibility 2006-12-27 20:08:29 +00:00
Ken Hughes
a5c188b4a6 Python API
----------
Bugfix. Refactor from a few months ago broke ob.loc; it only accepted a tuple
of 3 floats instead of a list.  Make it accept both types now.
2006-12-27 18:39:39 +00:00
Campbell Barton
4d74f07043 added Draw.Normal() for the normal rotating sphere button, mostly the same as the ColorPicker in code and syntax. 2006-12-27 11:58:03 +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
Brecht Van Lommel
d24597c8a3 Fix for bug #5523:
A crash on rendering with multiple UV layers, layer names weren't always
getting copied correct.
2006-12-27 10:20:29 +00:00
Joshua Leung
ad1cc8a8fc == Editmode Bone Snapping ==
I've often found it very annoying that with both ends of a bone selected,
they would both get snapped to the snapping point. This means that the bone
becomes zero-length, hence disappears from view and gets deleted upon
leaving editmode.

Now, when both ends of the bone are selected, only the head of the bone gets
snapped to the snapping point. The tail will get offset by the same amount
that the head gets offset by, thus preventing zero-length bones.
2006-12-27 10:02:27 +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
Nicholas Bishop
11e035b0fc Checking the sculptmode state should include the sculpt session 2006-12-27 07:43:48 +00:00
Joshua Leung
65bfa3b05f == PoseMode Bone Snapping ==
Bugfix for my previous snapping commit. In some cases, bones still
didn't snap correctly (parentless 'root' bones). That was because those
cases assumed that constraints had no effect on those bones.
2006-12-27 05:48:49 +00:00
Ken Hughes
20a656db1d Python API
----------
Perform better param checking on Curve bevel and taper objects so that an
curve can't use its own object.  Also stick a big warning in the docs for
Curve.setTotcol(), which seems to be an extremely dangerous method.
2006-12-27 05:30:32 +00:00