Commit Graph

1624 Commits

Author SHA1 Message Date
Jens Ole Wund
d407f5ae81 added point to edge collision in case point to face missed
/* special hidden feature! shrink to fit */
if (G.rt > 500){
	scale = (G.rt - 500) / 100.0f;
}
-- shrink a T shirt to fit .. evil grin
-- by the way i did set up the rule 'if any *outer object* hits no *inner* will be regarded' ... pretty poor IMHO .. well but it works
2007-10-18 22:47:55 +00:00
Brecht Van Lommel
e844ee5e54 Bugfix:
The roll of a B-Bone relative to a previous regular bone was not matched
correctly.
2007-10-17 17:53:59 +00:00
Campbell Barton
4fa17b2eb4 pyconstraints doTarget function was getting an uninitialized matrix. 2007-10-15 14:19:11 +00:00
Brecht Van Lommel
565316909e Bugfix:
Object constraints with a driven influence ipo were not being evaluated
properly. The code for adding the depsgraph relation and updating without
time changes was simply missing.
2007-10-15 10:36:30 +00:00
Ken Hughes
ff5fd2eb38 Tools
-----
Bugfix #7493:  boolean difference operator was being applied in the wrong
order (difference modifier worked correctly).
2007-10-14 20:58:57 +00:00
Brecht Van Lommel
4f96108137 Fix for error in recent b-bone rest pose commit. 2007-10-10 23:36:58 +00:00
Brecht Van Lommel
87b186e6e7 Make B-Bones not deform in rest position by default.
B-Bones already deformed the mesh in the armature rest position, which is
unconvenient. For backwards compatibility existing .blend files still have
a button for the old behavior enabled.

(peach feature request)
2007-10-10 09:00:47 +00:00
Matt Ebb
2062aa6838 * Fix for NLA with Map Old/Map New
NLA wasn't getting the correct strip start/end times when Map 
Old/Map New was being used. This fixes it and makes the animation
get scaled properly.
2007-10-08 09:24:29 +00:00
Joshua Leung
b8deeb934a Bugfix #7419:
Adding missing NULL checks for the Geometry Targets feature for Constraints.
2007-09-27 23:36:17 +00:00
Joshua Leung
7cf9c31272 == Clamp To Constraint ==
Now there's an option for the owner to follow the path of the target cyclically. Previously, if the owner moved past the extents of the side of the bounding-box used for the calculations, the object was placed on the curve at the nearest extent. 

This option is only really useful if the curve itself is cyclic, although you can still use it otherwise. To enable, just turn on the cyclic option.
2007-09-26 07:33:31 +00:00
Joshua Leung
98c87f16cd Track-To Constraint - Bugfix:
Now this should work nicely again. Somehow I thought I'd committed this change already, but anyways, here it is.
2007-09-25 09:12:02 +00:00
Joshua Leung
2d429e1d54 == Armature Animation Fixes ==
This commit fixes several bugs related to animating armatures. I've also tidied up the formatting in a few files along the way, and also commented the flags for this pose->flag.

What's new/fixed:
* Undo will no longer destroy entire un-keyframed poses. Now it behaves as expected, and only reverses the most recent change.
* On some files, POSE_DO_UNLOCK somehow got set on files and never cleared. The symptom of this was a file in which you suddenly could no longer pose an armature at all without using auto-keyframing. A check to prevent this from happening again has been added (it will also fix old files too)

Notes:
- Now, all PoseChannels get tagged with BONE_UNKEYED after they have been transformed. This flag prevents IPO data being flushed over these new values, even after undo. 
- These tags only get removed on frame-changes or inserting new keyframes.
2007-09-25 05:04:34 +00:00
Campbell Barton
2c0db4d707 made active vert/edge/face draw properly with modifiers applied and made their theme default white.
removed active face draw in Face/UV (which is now paint mask mode) mode.
2007-09-25 03:31:12 +00:00
Joshua Leung
fe99ea0518 Copy Rot. Constraint - Bugfix:
I've removed the quaternion-based rotation copying that I added during the recode as it was causing artifacts on some rigs.
2007-09-25 00:15:21 +00:00
Campbell Barton
0096d180b9 Dof Object - set the depth of field to an object - set in the camera edit panel but the distance is calculated on the camera object only so linked cameras work.
Alt+Period - sets active pivot

some tooltips didnt make much sense, edited a few.
2007-09-23 18:27:01 +00:00
Peter Schlaile
37a8e56bf0 == Sequencer / FFMPEG ==
Updating to latest FFMPEG version.
2007-09-23 14:05:22 +00:00
Campbell Barton
aee06ac0d0 added an active face for the mesh editmode and normal mesh - this is needed because the TFace flag was not always easy to access from editmode.
using the last selected face was almost good enough however when selecting verts and edges the last selected face would become inactive and the space image would flicker about too much.
The active face is used for getting the space image at the moment and keeps scripts that use this flag working also.

This has 2 commands to get and set, so the variable is not accessed directly.

all "UV Calculate" scripts work now

last commit crashed when in solid draw mode, it seems subsurf modifier is ignoring the displayMask since MTFACE is available. just made it do a null check for now.

uvcalc_follow_active_coords.py - should be done inC and put in the snap menu.
2007-09-22 17:54:13 +00:00
Campbell Barton
d5b186ba6b made draw shadow work as it used to (I didnt understand at first that this was to draw the subsurfed UV faces)
this is really slow, its unuseable on suzanne subdivided twice on my computer with 2.45 and trunk, this could be sped up however it would need to be subsurf spesific.
2007-09-22 15:32:08 +00:00
Campbell Barton
78a20a930a fixed copy between UV layers.
made the UV layer menu a generic functions (can make a menu from the names of any custimdata layer type)
added a menu in the UV window for selecting teh editnmode UV layer - If there ends up not being enough room in the header this may need to be removed.
2007-09-18 19:39:25 +00:00
Joshua Leung
d86a03113d Another purge of compiler warnings (some of which I've been getting for a while) as a warmup exercise. 2007-09-18 06:33:24 +00:00
Joshua Leung
063fbdc2a4 Attempted bugfix for TrackTo constraint - reverting the only change (that I've picked up so far) that I made to the code of the TrackTo constraint. Apparently the Align to Target feature was broken... 2007-09-17 11:43:48 +00:00
Joshua Leung
52f551678b == Action Editor - Copy and Paste Tools ==
Now it is possible to do Copy+Paste in the Action Editor, like in the IPO Editor. There are two new buttons in the Action Editor header for this, using the familiar icons.

* To copy...
Select the keyframes you wish to copy, and the channels that they occur in (except for ShapeKey mode, where it is not possible to select channels). Click copy button.
* To paste... 
Place the current frame where you want the first of the keyframes from the buffer is to be pasted. Select all channels you wish the keyframes to be pasted into. Click paste button. 

Currently, keyframes are only pasted into 'compatible' curves (i.e.  LocX keyframes can only go to LocX, and so on). This may change after user feedback, if this is found to be too restrictive.

== Code Changes ==
I've made a few changes which allow this code to be nicer. 
* renamed insert_vert_ipo to insert_vert_icu, as that represents its actual purpose better (and changed all occurrences I could find)
* created a new function, insert_bezt_icu, which does the actual inserting of provided BezTriple data to a given IpoCurve 
* recoded insert_vert_icu to use this new function, and also the IPO-Editor keyframe pasting (i.e.  pasting in Editmode)
2007-09-17 11:41:12 +00:00
Matt Ebb
90daa8f811 * Extra lamp falloff options, including custom curve!
This adds some new lamp attenuation options to the Lamp panel, replacing the old 'Quad' button. Yes, the panel layout is still nasty here, but I've ignored it for now to address properly in the panels cleanup work.

* Constant
http://mke3.net/blender/devel/rendering/falloff-constant.jpg
Lamp doesn't decay with distance

* Inverse Linear
http://mke3.net/blender/devel/rendering/falloff-invlinear.jpg
Default, and same as in older Blender without 'Quad' on. Decays linearly, with 'Dist' value as the lamp's half-energy-distance

* Inverse Square
http://mke3.net/blender/devel/rendering/falloff-invsquare.jpg
A sharper, more realistic decay, good for most electric lights (i.e. not sunlight). This is similar to the old Quad option with slight changes.

* Lin/Quad weighted
Exactly the same as in older Blenders with the old 'Quad' button enabled. When this setting is chosen, two sliders are shown, 'Linear' and 'Quad' (previously Quad1 and Quad2), which controls the 'linearness' or 'quadraticness' of the falloff curve. Lamps in old files with the 'Quad' button on will be initialised to this setting.

But much better for precise control over the lamp falloff now is:

* Custom Curve
This shows an extra 'Falloff Curve' panel, where you can use the standard Blender curve UI control to precisely control how the light falls off. The Y axis is intensity, and the X axis is distance, stretched over the length of the 'Dist' value.

Some example curves and renders:
http://mke3.net/blender/devel/rendering/falloff-curve1-curve.png
http://mke3.net/blender/devel/rendering/falloff-curve1.jpg

http://mke3.net/blender/devel/rendering/falloff-curve2-curve.png
http://mke3.net/blender/devel/rendering/falloff-curve2.jpg

http://mke3.net/blender/devel/rendering/falloff-curve3-curve.png
http://mke3.net/blender/devel/rendering/falloff-curve3.jpg (whee)
2007-09-16 13:50:34 +00:00
Campbell Barton
3a90f211d2 new view option, SolidTex, to draw textures in solid mode.
In the view panel as well as the shortcut Shift+T

this works in editmode as well as object mode

giving results like this
http://members.optusnet.com.au/cjbarton/temp1.jpg

where before you could only see textures in textured draw type like this
http://members.optusnet.com.au/cjbarton/temp2.jpg
2007-09-15 18:12:16 +00:00
Campbell Barton
f6aa903e10 * added functions to copy between UV and vertex color layers.
* added CustomData_set_layer_active_index and CustomData_set_layer_render_index
  since they did not accept values from CustomData_get_active_layer_index and CustomData_get_render_layer_index
* fixed some warnings
* made the colored edge in active face draw mode only display when texture mode enabled.
2007-09-12 02:13:35 +00:00
Geoffrey Bantle
4bfa934ff3 -> Added mesh properties to modifiers
Mesh properties layers were not getting copied in the modifier stack.
2007-09-10 22:56:29 +00:00
Geoffrey Bantle
5e7dc24042 -> Fixed initialization of Octree Resolution and Tri2Quad threshold
add_scene() in scene.c didn't properly initialize the octree resolution
for new scenes or the join threshold for Triangle to Quad conversions.
2007-09-10 22:52:32 +00:00
Campbell Barton
0bd32f3ac6 Changes to "Face Select" mode
* Does not indicate that UV's exist, nor does it add UV's when used.
* Only accessible for texturepaint, vertexpaint and weightpaint from a button in the header (Paint Selection Mask)
* Not accessible from the mode menu, this is only an option that applies to paint modes.

This dosnt effect DNA, face select (G_FACESELECT) can be enabled at any time but is only used when paint modes are enabled.

Other changes
* UKey is uv unwrap in editmode, Ukey for undo was editmode only anyway.
* UVCalc in editmode adds a UV Layer if there is not one alredy.
* texture draw in editmode does not draw the face dots (they are get in the way of texturing)
* some missing updates were added.
* removed manipulator from when paint modes are enabled since the manipulator is not drawn in the 3d view.
2007-09-10 19:32:44 +00:00
Campbell Barton
e8a808da24 UV Editing is now done in editmode rather then UV/Face Select mode.
Notes
* you cant edit UV's in the image window in "UV Face Select" mode. (removed UV from the name)
* going into Face Select mode no longer adds UV's and does not need UV's to work.
* The UV Calculation menu is now in editmode (Alt+W)

Todo..
* Image replace - partly broken in stable also.
* Rotate/Mirror UV/VCol are still only in Face Select mode.
* Hide/Reveal is not quite right, (issue with editmode flushing)
2007-09-10 12:26:36 +00:00
Ben Batt
df1e3f1c49 Fix for edgesplit crashes reported in bugs 6695 and 7142. The problem, as
found by Riku Palomäki, was that "bridge" vertices (which connect two or more
faces that don't share edges) were not being included in the maximum final
vertex count calculation (used for memory allocation, hence the crashes).

Unfortunately Riku's patch actually stopped bridge vertices from being split
correctly, so I have fixed the problem by adding the maximum number of vertices
that can be generated from bridge vertices to the maximum final vertex count.

Thanks to Riku Palomäki for finding the cause!
2007-09-09 18:03:58 +00:00
Joshua Leung
6798cc26e4 Reverting commit 11974 as the setting in question, apparently causes major performance bottlenecks. 2007-09-09 11:58:03 +00:00
Joshua Leung
3a51aed18d Bugfix #6923:
NLA was calculating extensions of strips in the wrong order. This was not an issue in many cases, although it is highlighted in the following case:

[strip 1 - 'hold' is on] ----------------------------
                               [strip 2        ]

Logically, the end of strip 1 would hold on until the start of strip 2. However, the start of strip 2 was extended to the end of strip 1 instead.
2007-09-09 11:54:12 +00:00
Joshua Leung
f5f18044df Materials setting "TraShad" is now on by default for all newly created materials. 2007-09-08 11:04:23 +00:00
Matt Ebb
0ba5295404 * QMC Raytracing
This introduces QMC sampling for use in glossy reflections/refractions, soft raytraced shadows, and ambient occlusion.

This work includes many new features and speed-ups, so check out the nice docs here:

Glossy Reflection/Refraction
http://www.blender.org/development/current-projects/changes-since-244/glossy-reflectionrefraction/

Raytraced Soft Shadows
http://www.blender.org/development/current-projects/changes-since-244/raytraced-soft-shadows/

QMC Sampling
http://www.blender.org/development/current-projects/changes-since-244/qmc-sampling/

Many thanks to Brecht van Lommel for some initial code snippets and for reviewing the patch, and especially to Alfredo de Greef who gave me a lot of guidance and help along the way!
2007-09-07 03:48:50 +00:00
Andrea Weikert
356ab94373 == imagebrowser ==
Initial commit of imagebrowser in trunk.
BIG COMMIT!

Main changes:
* completely reworked imasel space
* creation and storage of the preview images for materials, textures, world and lamp
* thumbnails of images and movie files when browsing in the file system
* loading previews from external .blend when linking or appending
* thumbnail caching according to the Thumbnail Managing Standard: http://jens.triq.net/thumbnail-spec/
* for now just kept imasel access mostly as old imgbrowser (CTRL+F4, CTRL+F1) a bit hidden still.
* filtering of file types (images, movies, .blend, py,...)
* preliminary managing of bookmarks ('B' button to add, XKEY while bookmark active to delete)

More detailed info which will be updated here: http://wiki.blender.org/index.php/User:Elubie/PreviewImageBrowser

Places that need special review (and probably fixes):
* BLO_blendhandle_get_previews in readblenentry
* readfile.c: do_version and refactorings of do_library_append
* UI integration

TODO and known issues still:
* Accented characters do not display correctly with international fonts
* Crash was reported when browsing in directory with movie files
* Bookmark management still needs some UI work (second scrollbar?), feedback here is welcome!

Credits:
Samir Bharadwaj (samirbharadwaj@yahoo.com) for the icon images.

Many thanks to everyone who gave feedback and helped so far!
2007-09-02 17:25:03 +00:00
Kent Mein
6cd6bf7d80 Updated the Makefiles removing some of the gcc specific stuff...
Basically I moved  -funsigned-char -fno-strict-aliasing
from individual Makefiles to nan_compile.mk defines for CFLAGS and CCFLAGS

Kent
2007-08-31 16:16:33 +00:00
Juho Vepsalainen
c1e9ad9c80 Hue Saturation Value node - port to material node system
This commit ports Hue Saturation Value node to the material node system.
Unlike in composite version, each value is an input. Composite node version
will be updated later to use the same scheme.
2007-08-31 07:42:06 +00:00
Andrea Weikert
ca5c21e180 * updated MSVC projectfiles with SHD_sepcombRGB.c shader nodes.vcproj
* fix for possible double free.
2007-08-30 20:32:43 +00:00
Brecht Van Lommel
8c0f96cde4 Another fix for the editmode textured draw commit, subsurf vertex color
drawing didn't work.
2007-08-28 09:30:46 +00:00
Brecht Van Lommel
f118bebc36 Textured drawing in Edit Mode
=============================

- In textured drawmode it now draws the texture, with solid mode lighting.
- UVs and vertex colors for subsurf are not computed incremental yet, so
  editing in textured drawmode then may not be as fast as the other modes.

Implementation Notes:
- Added textured drawing functions to the editmesh and subsurf derivedmeshes.
- Removed some unused, legacy subsurf code that directly used Mesh.
- Restructured texture drawing a bit to make it more clear and allow for
  editmode drawing.

(Peach feature request)
2007-08-28 08:53:36 +00:00
Joshua Leung
2252b636a3 Bugfix: Constraint Geometry Targets didn't work yet when the Target Mesh was in EditMode
It turns out that a DerivedMesh needs to be generated explicitly if one needs to be used when the Mesh is in EditMode.
2007-08-28 08:43:38 +00:00
Joshua Leung
6ab498defc Several Minor Fixes:
* Grouped Up/Down buttons in constraint panel headers, and fixed their tooltips
* Removed unused variable from action editor code
* Minor formatting in constraint.c
2007-08-23 09:42:21 +00:00
Joshua Leung
6cd036ed44 Bugfix #7091: "blender crashes when i put a constraint between two armatures"
This crash only occurred when the RigidBody constraint was used, and the toObject field was set to an armature, as the RigidBody constraint doesn't use subtargets.
2007-08-23 06:25:45 +00:00
Joshua Leung
f237a466c1 Minor Code Cleanup (ShapeKeys):
Added a new API method for ShapeKeys, which is useful for finding a certain KeyBlock from a Key.
2007-08-22 10:07:42 +00:00
Matt Ebb
63a801c21d * Curve tilt interpolation types
Just a quickie feature I needed here at work- the previous linear 
interpolation of tilt in curves can give nasty pinching problems 
when trying to do flowing curves like a ribbon. This commit lets 
you choose the interpolation type, between Linear, Cardinal, and 
BSpline. The code was already set up for it pretty easily, mainly 
needed to make the choice visible to the user.

Example:
http://mke3.net/blender/devel/etc/tilt_interp_types.png

Works on selected curve 'lines', menu in 'curve tools' panel in
edit mode.
2007-08-21 01:57:15 +00:00
Juho Vepsalainen
c3b1877b4f "Combine RGB" and "Separate RGB" material nodes:
These nodes allow the user to separate and combine RGB color channels
as in the composite node editor. However they don't contain Alpha
channel as it is treated separately in case of material nodes.
"Combine RGB" allows the user to use values beyond standard float range 
([0.0, 1.0]) if value input node is used to feed the value to it.
2007-08-20 11:05:14 +00:00
Campbell Barton
196a3e4104 VRML and DXF were saving all meshes that had at least one user - so all meshes in other scenes, and meshes without object users like textmesh.
used the flag LIB_DOIT to tag meshes used in the current scene and only write those.
2007-08-20 08:40:14 +00:00
Joshua Leung
982d45162b == PyConstraints ==
I've added the ability for PyConstraints to define a function (doDriver) that is able to directly modify values of the owner/target, so that certain setups can be created reliably. Users should take note that this is against the basic concept of what a constraint does, and that under no circumstances may they set the values of any variables controlling the transforms. For more details, check out the information in the PyConstraint template script.

I've also updated PyConstraints to be aware of geometry targets. The script template has been updated with this information.
2007-08-18 06:17:50 +00:00
Joshua Leung
373ac35c71 == Constraints - Geometry Targets Improvements ==
This commit features fixes/improvements for problems I didn't manage to fix in time for the commit yesterday.

* Now for Meshes, the normals of the vertices in the VertexGroup are averaged and used to find the 'rotation' that needs to be applied. Unfortunately, this does not work with Lattices as they do not have normals.
* Depsgraph should now play nicely with geometry targets. Before, the constrained object's location wasn't being updated after the target's geometry was modified.
2007-08-18 04:03:03 +00:00
Joshua Leung
400d77bbe2 == Constraints - Geometry Targets ==
It is now possible to use the geometry of Meshes and/or Lattices as the target of a constraint. All you need to do, is to create a new Vertex-Group and assign all the points that you wish to use as the target, then type that name into the VG: field for the relevant constraints.

One of the cases where this is beneficial is when you need to copy the location of a vertex. Now you don't need to make extra vertex-parents for that.

Additional Notes:
* The code takes the average of the locations of the nominated vertices, and puts that in world-space for constraint solving (and regular space-conversion stuff).
* Currently, rotation and scaling of points is not taken into account. The rotation/scaling used is from the object's matrix. Hopefully, this will only be a temporary problem (will be fixed soon)
2007-08-17 11:23:48 +00:00