Commit Graph

6977 Commits

Author SHA1 Message Date
Brecht Van Lommel
cca16111bf Fix for bug #5280:
Crash transforming UVs with only image window open, new transform snapping
code didn't check if a 3d view exists.
2006-11-22 02:16:29 +00:00
Ken Hughes
2dbed48e24 Python API
==========

Bugfix #4951:  This might be a serious change for python script writers.
-- ob.getMatrix('localspace') did not return the correct matrix when the object
   had a parent; this has been corrected.
-- ob.setMatrix(m) did not work predictably (more correctly, in an easy-to-
   predict manner) when an object had a parent.  The method has been changed
   so that if thee is a parent, it ASSUMES the matrix is "localspace",
   relative to the parent.  The documentation now states this.
-- ob.mat and ob.matrix are now read-only attributes, while ob.matrixLocal
   (which calls Object_setMatrix() ) is now read-write.

Ton is not thrilled (is that a fair summary, Ton? ;-) with this method since
the ob->obmat is calculated from the loc/rot/size attributes of an object.
I'll let him speak on this, but I believe his desire is for this method to be
deprecated in the future and replaced with something else.
2006-11-21 21:15:15 +00:00
Ken Hughes
973e8920f0 Python API
==========

Fix epydoc warnings after IDProperty addition to Material.py
2006-11-21 19:17:13 +00:00
Ken Hughes
ed3559aa8e Python API
==========
Bugfix #4905:  correcting errors and out-of-date NLA API documentation.
2006-11-21 19:00:12 +00:00
Ton Roosendaal
967869fecd Bugfix #5277
Bake-render:
Quad faces still didn't get handled properly, error visible for vertex
color or UV textures.

Also: added error meny when a Bake cannot work because there are no Images
or no Images with buffers
2006-11-21 18:09:32 +00:00
Brecht Van Lommel
4cf4b4d0d2 Fix for loading UVs in linked meshes. 2006-11-21 16:54:00 +00:00
Ton Roosendaal
20e6dc7f57 Bugfix, own collection:
Random seeding is still not perfect in render, especially lack of good
thread support still.

- VectorBlur node was calling seed for each exec, causing other nodes to
  get fixed random too.
- added seed in non-OSA main loop for render
- use BLI_srandom, is better than BLI_srand
2006-11-21 15:52:45 +00:00
Brecht Van Lommel
9f9d99ef8d This adds temporary upward compatibility for TFaces, until the 2.43 release,
by writing the old struct also.
2006-11-21 14:46:17 +00:00
Brecht Van Lommel
17a6338736 Fix for joining meshes with tfaces. 2006-11-21 14:26:25 +00:00
Ton Roosendaal
2447adab7a Bugfix #5258
UV edit: option "project from view 1:1" included object center and clipped
min/max wrong, so off-centered faces didn't get a 1:1 projection.
2006-11-21 13:39:31 +00:00
Ton Roosendaal
a9fef5a292 Bugfix #5270
CurvePaths: if the path has vector handles, or when it's a Poly curve, the
amount of interpolated points on the path was too limited (6 actually).
Now the 'resolu' of the curve defines the amount of interpolated points.

This enables motionpaths or deforming with sharp corners.
2006-11-21 13:07:16 +00:00
Ton Roosendaal
e75a2773fa Bugfix #5265
3D window, preview panel, didn't give correct specular for Ortho.
The view-vector was flipped negative then, so more view-depending
code (like tracing) would go wrong then.
2006-11-21 12:41:07 +00:00
Erwin Coumans
8ad6d7f401 more Bullet 2.x upgrading. fair amount of functionality is now restored, not all yet. 2006-11-21 12:26:05 +00:00
Ton Roosendaal
efde6ecbc4 Fix for commit from Brecht:
2006/11/19 00:07:32 CET
Fix for bug #5250: inaccurate conversion between edit and pose mode bones.

Two very bad bugs:
- replacing atan() with atan2() should also remove the M_PI correction!
  This is the equivalent:
    angle=atan(x/y); if(y<0) angle+=M_PI;
    angle= atan2(x, y);

- the new NormalizedVecAngle2() call was negating an input vector, causing
  calling code to screw up. All arithb.c calls should not alter input.
2006-11-21 10:52:11 +00:00
Ton Roosendaal
823e71e757 RESCUE COMMIT!
Yesterday's commit from Brecht broke armature editmode, damaging armatures
in a way you cannot rescue. This rewinds the main changes. After commit
I'll try to find the error...
2006-11-21 09:26:59 +00:00
Erwin Coumans
1b09386164 updated CMake files for game engine for Bullet 2.x upgrade 2006-11-21 06:37:01 +00:00
Nicholas Bishop
ba32e1e2fa Changed the sculptmode undo system slightly to make it easier to improve/extend. Should be helpful in integrating multires into the undo system better. 2006-11-21 04:03:39 +00:00
Matt Ebb
2d0a83ba09 * Show renderability toggle for all objects, since they might be used
as group duplicators, d'oh!
2006-11-21 03:51:08 +00:00
Matt Ebb
476af8c06a * Dupli objects (dupliverts, dupligroup, etc) now get invisibility based on their
parent object, not the original instantiated objects. i.e, if an object is invisible,
its child dupli objects will be too.
2006-11-21 03:22:34 +00:00
Joshua Leung
0d56a6e319 == Action Editor ==
Just a minor little code cleanup that I partially started in another one of
my commits.

The implementation of the showsliders stuff was pretty ugly with exported
globals (correct terminology?) used to store whether sliders were shown
in the action editor for shapes. This is now a flag in SpaceAction, so the
visibility status of markers is now saved in files.
2006-11-21 02:31:19 +00:00
Matt Ebb
1b24f49513 * Modified version of patch #5109 by Onur Yalazi, 'view camera selector'.
This appears as a new 'Cameras' menu in the 3D View's View menu, containing a
command to set the active object as active camera, and a list of the available
cameras in the scene to choose from.
2006-11-21 01:38:28 +00:00
Matt Ebb
3d29a7c7ef * Tweak to show invisible objects if they are being edited in edit mode 2006-11-21 01:11:59 +00:00
Erwin Coumans
46234f90ce Removed old Blender/extern/bullet, and upgraded game engine to use Bullet 2.x
All platforms/build systems: either upgrade to use extern/bullet2, or disable the game engine until the build is fixed.
2006-11-21 00:53:40 +00:00
Erwin Coumans
3b91d4e30a Step 1 of Bullet 2.x upgrade:
Temporarily disabled game engine for scons and Makefiles (nan_definitions?), this to upgrade to Bullet 2.x

scons for Darwin, Linux, BSD3, SunOS5, Win32, and Makefiles should not compile game engine right now.
CMake and MSVC needs still disabling of game engine.
2006-11-21 00:14:58 +00:00
Jens Ole Wund
731e7e3915 having a nice break/esc behavior on bake
other occasions like ALT_A needs that too
2006-11-20 22:27:05 +00:00
Ton Roosendaal
c57d5bca73 Step one in migrating to use glArray calls in Blender
- Curve/Nurbs/Font/MBall now all draw arrays.
- had to flip abgr to rgba in shaded drawing
- Mesh drawing can't be easily done; the indices for faces are not in
  in one chunk. Also need a way to gether trias/quads, per material.

Speedup results are mixed. Something between 2-4 times. Especially for
text it seems to help.
2006-11-20 21:25:02 +00:00
Jens Ole Wund
208e69abab added dependancy relation between softbodies and collision objects
( move collision objects first )
2006-11-20 19:55:17 +00:00
Brecht Van Lommel
ec8d1b496c Fix for a missing check for NULL face data in test_index_face in my
previous commit.
2006-11-20 19:03:37 +00:00
Nicholas Bishop
aebc00f0b5 Fixed a strange bug that caused gluUnProject to give bad values when the model and view were rotated a certain way, which made sculptmode fail to edit the model. 2006-11-20 18:19:22 +00:00
Chris Want
3fbdcf7211 I see no reason why the blenderplayer shouldn't be built be default
with make on x86_64.
2006-11-20 15:49:41 +00:00
Ben Batt
53eaa3b67a New displacement direction for Displace modifier: "RGB -> XYZ". This means
that vertices will be individually displaced in the X, Y and Z directions
by the RGB components of the texture (R affects X, G affects Y, B affects Z).
This can be used along with e.g. the colour Clouds texture for a jitter effect.
2006-11-20 14:23:41 +00:00
Ton Roosendaal
33f79ebd89 Vertex/Weight Paint now uses the regular global Undo.
Also cleaned up bad global variable stuff in vpaint.c, now only need a
good place to store the paint settings in file still...
2006-11-20 12:08:06 +00:00
Ben Batt
f7c24e1b11 Patch #5181: Option to use an object to determine the startX&Y in the
Wave Modifier

This patch allows the option to use an object to determine the wave modifier's
start X & Y, it also allows for animated objects giving a moving wave
start X & Y.

Thanks to Michael Fox for the patch!
2006-11-20 11:58:48 +00:00
Joseph Eagar
19a4f41172 =ID Properties Python Doc Update=
The epydocs are now updated to have idproperties;
all the modules that have bindings for ID properties
now has docs for them.  E.g Materials have a .properties
members, Image, Texture, Scene, Object, NMEsh, and Mesh.

I realized that .properties was already taken in
Objects, so I renamed it to .idproperties.  There was
also a nasty little problem with an example inside
Object.getType; the entire example was being pasted inside
the return field.  I fixed it by just moving the return
definition to after the example, like it should be.
2006-11-20 11:07:56 +00:00
Ton Roosendaal
a5a83ecd10 Bug: click on new outliner Object restrictions crashed for 'view' option.
Typo in outliner button callback (NULL should be ob).
2006-11-20 09:50:27 +00:00
Ton Roosendaal
a667b79b35 Small usability tweaks in Compositor:
- After making a Group, internal socket values are now copied to the
  group node, so an execute will give identical results
- After ungrouping, the cyclic dependency tagging didn't work well in
  all cases, showing a red noodle line and giving composite errors.
  For time being solved by calling the NodeSort twice.
- Viewer nodes now get previews updated always (used to be only the active)
  Note: this is not for previews inside of groups!
2006-11-20 09:37:01 +00:00
Jens Ole Wund
228b94dc89 softbody bugfix
evil typo causing crashes
2006-11-20 09:19:14 +00:00
Ben Batt
729610d11a Changed the UI of the EdgeSplit modifier, based on broken's feedback from
long ago:
 - "From Angle" is now "From Edge Angle"
 - "From Flag" is now "From Marked As Sharp"
 - The "Split Angle" input is now hidden if "From Edge Angle" is unchecked
 - Changed tooltips to be (hopefully) more helpful
 - Rearranged buttons to accommodate longer labels
2006-11-20 08:08:22 +00:00
Nathan Letwory
65d53b675a add DNA_meshdata_types.h for MTFace 2006-11-20 07:21:20 +00:00
Nathan Letwory
7f49643474 * remove a stray ; and place a declaration before any actual code. msvc8 was falling over these. GCC needs some good spanking for allowing this type of code to
get through by compiling it

/Nathan
2006-11-20 05:51:36 +00:00
Matt Ebb
2cde6d2cd5 * Suggestion from Lazareus in IRC, deselect objects when they are made
invisible in the 3D View, so no unintended commands apply to them
2006-11-20 05:44:30 +00:00
Tom Musgrove
606a386888 =typo fix=
include was "listbase.h"

apparently is supposed to be listBase.h found by Lazareus on irc
2006-11-20 05:24:13 +00:00
Matt Ebb
5428f2eb6c * Object level restrictions in outliner
This adds the ability to restrict an individual object from:
- being visible in the 3D View
- being selectable in the 3D View
- being renderable
with 3 columns of buttons in the outliner.

These restrictions are further down the hierarchy than layers, so for example if an object is in an invisible layer, it will be invisible regardless of whether the object's own visibility setting is on or off. This works on a different conceptual level than layers, being better for more quick interaction (like temporarily making a mesh unselectable while you're posing its armature), rather than so much for scene organisation.

The 3 columns of icons can be turned off in the Outliner View menu.

Along with this is some small cleaning up in interface_icons.c and outliner.c.
2006-11-20 05:12:58 +00:00
Brecht Van Lommel
e435fbc3c5 Added custom vertex/edge/face data for meshes:
All data layers, including MVert/MEdge/MFace, are now managed as custom
data layers. The pointers like Mesh.mvert, Mesh.dvert or Mesh.mcol are
still used of course, but allocating, copying or freeing these arrays
should be done through the CustomData API.

Work in progress documentation on this is here:
http://mediawiki.blender.org/index.php/BlenderDev/BlenderArchitecture/CustomData


Replaced TFace by MTFace:

This is the same struct, except that it does not contain color, that now
always stays separated in MCol. This was not a good design decision to
begin with, and it is needed for adding multiple color layers later. Note
that this does mean older Blender versions will not be able to read UV
coordinates from the next release, due to an SDNA limitation.


Removed DispListMesh:

This now fully replaced by DerivedMesh. To provide access to arrays of
vertices, edges and faces, like DispListMesh does. The semantics of the
DerivedMesh.getVertArray() and similar functions were changed to return
a pointer to an array if one exists, or otherwise allocate a temporary
one. On releasing the DerivedMesh, this temporary array will be removed
automatically.


Removed ssDM and meshDM DerivedMesh backends:

The ssDM backend was for DispListMesh, so that became obsolete automatically.
The meshDM backend was replaced by the custom data backend, that now figures
out which layers need to be modified, and only duplicates those.


This changes code in many places, and overall removes 2514 lines of code.
So, there's a good chance this might break some stuff, although I've been
testing it for a few days now. The good news is, adding multiple color and
uv layers should now become easy.
2006-11-20 04:28:02 +00:00
Robert Holcomb
0a7c43c6e5 Updated tooltips in matte nodes to better explain their use. Made the names of the matte nodes more consistent.
Minor change to to how luminance detail is added to alpha channel in chroma key node.

Removed unused inputs in chroma key and luminance key nodes.

Changed chroma key controls back to sliders because I think they offer the user a more intuitive interface to the node.
2006-11-19 19:17:32 +00:00
Ton Roosendaal
4ebf5223ba Render Baking:
- Bugfix: vertex normals were still flipped around, to match viewpoint
  rendering.
- New: option to bake a texture+material only
2006-11-19 18:44:54 +00:00
Joseph Eagar
6e086d4cfe =ID Properties Python Update=
ID Properties binding have now been added for textures.  Also,
the beginnings of supporting "del IDProperty Object" (which 
basically removes the property from it's parent group then frees
it) in python were done; really the only thing now is to figure 
out exactly *how* you overload the del operator. :S
2006-11-19 16:00:04 +00:00
Ton Roosendaal
c47fa4d0ec Long waited feature: Render Baking
Here's the full release log with example file.
http://www.blender3d.org/cms/Render_Baking.827.0.html

For people who don't read docs; just press ALT+CTRL+B on a Mesh
with texture faces!

Todos:
- maybe some filter options extra?
- Make normal maps in Tangent space
2006-11-19 14:12:56 +00:00
Nicholas Bishop
204f6066a9 * Replaced the three X/Y/Z sliders that controlled the texture size in sculpt
mode with a single slider. (Doesn't seem likely the user is going to want to
  scale in one axis differently from another.) Additionally, the new slider
  works correctly in Tile mode in addition to 3D mode. In Tile mode, the slider
  value is considered pixel units.

In the process, found and fixed a few sculptmode bugs
* When loading a file that is already in sculptmode, initialize sculptdata
  as soon as the first sculpt/partial-visibility operation occurs
* Bug in the undo_push code; reading from free'd memory
2006-11-19 09:25:17 +00:00
Ken Hughes
0e682ce194 Animation system:
Bugfix #5027: Deleting Shape key sometimes caused corruption to Ipo curves.
sort_key() was moving key but not resorting adrcodes for keys and Ipo curves.

Also changed behavior of sort_key() so that it only resorts one key; all the
places which currently call it only do so after changing one key (the
previous code was moving the key one location at a time through the keyblock
list).
2006-11-19 06:07:24 +00:00