Commit Graph

12883 Commits

Author SHA1 Message Date
Kent Mein
593d9ae738 added missing -DWITH_FREETYPE2 stuff, provided by Eugene Reilly.
Kent
2006-12-06 00:04:53 +00:00
Ton Roosendaal
5e52bee5a7 Node shaders bug: using 'shadeless' material inside of node tree, a mode
flag messed up that tried to detect if shadow was needed.
2006-12-05 19:47:45 +00:00
Ton Roosendaal
78d3f7358b Two more fixes for pass composite:
- Blur nodes didn't accept RGB buffers (only RGBA or single channel ones)
- Mix node had maximum for 'mix' on 1.0, for passes edit that could become
  more, made it 5!
2006-12-05 18:27:43 +00:00
Ton Roosendaal
2c816da097 Two fixes:
- Shaded view was black, needed to tell it to use 'combined' pass :)
- Crash when deleting in compositor all nodes with an output.
2006-12-05 18:02:43 +00:00
Ben Batt
4f8079d49c Modifier Stack: Limit calculation to required data.
This commit upgrades the modifier stack to only calculate the data which is
needed, either by modifiers further down the stack or by other functions at
the end of the stack (e.g. drawing functions).

This speeds up modifier stack recalculation, especially where vertex
groups and UV coordinates are concerned. For example, a mesh with an Armature
modifier followed by a Subsurf modifier would previously have required the
Subsurf modifier to interpolate all the vertex groups in the mesh, slowing
down modifier calculations considerably. With this update, vertex group data
is not propagated beyond the Armature modifier, so calculations are faster.

Note that this depends on the order of modifiers in the stack. If the Armature
and Subsurf modifiers were swapped in the above example, the Subsurf modifier
would have to interpolate vertex groups, as they are needed by the Armature
modifier.
2006-12-05 17:42:03 +00:00
Ton Roosendaal
869eeadeff Damn! Commit for render passes in wrong dir.... 2006-12-05 16:44:57 +00:00
Joshua Leung
0f7f11fafc Removed a few unused variables - compiler warnings. 2006-12-05 02:06:51 +00:00
Joshua Leung
d68d2528ac == Action Editor ==
Cleaned-up drawing code of keyframes. Code redundancy has been
reduced, and there should be slight performance gains (less looping,
no sorting of keys needed, possibly less memory usage).
2006-12-05 01:11:51 +00:00
Martin Poirier
4a2eceff20 === [ #5094 ] TrackTo Constraint with an animatable "up" direction ===
Patch by Matthew Plough: This adds an option to the Track To constraint to use the target's Z axis for Up axis reference instead of the global Z axis.

Off by default for backward compat.
2006-12-03 18:38:51 +00:00
Nicholas Bishop
472c3677fb Better integration of multires with editmode. Setting/adding levels no longer exits editmode, and undo should now work as expected. Still to come is loading customdata from the editmesh. 2006-12-02 23:37:52 +00:00
Jens Ole Wund
08ef0d3466 Klocwork warning fix
Doing NULL pointer paranoia check in time.
It's completely pointless calling the function with null pointer,
but who knows.
At least it does not crash then.
2006-12-02 18:42:20 +00:00
Simon Clitherow
8b65afe877 Added define for atanf to get VC7.1 linking again. 2006-12-02 09:11:32 +00:00
Nicholas Bishop
bcb3aec646 Added stub for multires_copy 2006-12-01 23:06:07 +00:00
Ton Roosendaal
20ac94e8f0 Two hours of fixing details based on Klocwork source review. Useful report,
although it has a lot of noise. Not to mention our bad string code gives
a load of warnings.

I've reviewed specifically:
- file reading/write
- dna and library code
- node system
- entire render module

Done a couple of files in src/ too, seemed to be nice errors.
2006-12-01 19:52:04 +00:00
Nicholas Bishop
ef389028b9 Added a copy function for multires; duplicating a mesh with multires now works properly. 2006-12-01 18:41:25 +00:00
Ton Roosendaal
db5d58aaa2 Bugfix #5333
Actually no real bug, but unfinished work in Composite:
The ZCombine node only accepted images, no value inputs for sockets.
Now only the first (top) input socket should be an image, the other ones
can use constant color or values too. Nice way to split an image in
foreground and background.

Also: added an output socket for the resulting Z value.

Do note that zcombone is aliased, no AA or sample info is available.
That's for another time.
2006-12-01 10:52:36 +00:00
Joseph Eagar
71da111613 =IDProperties bugfix=
Another bug from the tracker, reported by Mike Stramba.
A duplicated Py_XDECREF in the wrong place made assigning
arrays from Vector objects not work.

Also, fixed nasty bug in C API of idproperties (the function
to look up a property from a group was broken).  Fixed a memory
leak too.

In addition, made "del group['property']" delete properties
from group; previously this would just crash (or at least it
should have).  Added a small addition to the example in the
epydocs for IDGroup.
2006-12-01 03:04:36 +00:00
Ton Roosendaal
51ce503cb2 Armature Proxy bugfix: when adding constraints or bones, the proxy sync
didn't keep in mind the pose channels could change order...

Note the disabled code in readfile.c; will be finished later. It's for
debugging library dependencies.
2006-11-30 21:40:11 +00:00
Ton Roosendaal
94da40a3d8 Bugfix;
More referenced library issues: if an Object loses the Armature (because
for example the linked file removed it) the Object still had the Pose and
posemode flag set, crashing Blender.
2006-11-30 16:44:34 +00:00
Ton Roosendaal
342c900220 Proxy Objects revisited!
The first incarnation assumed that proxies were local objects per
definition. Unfortunately that makes it impossible to - for example -
reference-link an entire Scene with proxies, to be used as a special
character set.

This commit makes the proxy implementation also a bit more clear.

Related work: the scene-sets were not executed fully or correctly for
the dependency graph. That happens now (in 3d view) as well.
2006-11-30 15:54:21 +00:00
Erwin Coumans
2572b9f72c Reserved some Bullet 2.x constraint data.
Although we will delay the main Rigid Body user interface after 2.43 release early 2007, I need some constraint data/UI to make progress with COLLADA Physics.
Added RigidBody constraint UI
LR_ALTKEY+LR_CTRLKEY+LR_SHIFTKEY+ P will bake rigidbody
Contribution by RCRuiz, Ramon Carlos.
2006-11-30 00:19:27 +00:00
Joseph Eagar
99d66e1d5e =IDProperties bugfix=
Fixed the bug of "print type(property)" crashed blender;
just needed to add PyType_Ready init code for all ID property
python types; I made a function IDProp_Init_Types and put
code to call it in types_initAll().

Also added GPL/BL headers to idproperty files.
2006-11-29 23:31:46 +00:00
Ton Roosendaal
8c6fe1bb1f Material Nodes and Composite now also supports unlimited threads.
Maybe we should add for Composite a seperate "Max threads" button though...
having 8 nodes allocating temp buffers at the same time might give issues.
2006-11-29 18:11:59 +00:00
Ton Roosendaal
6543d3e220 Render Monster support: (part 1)
Removed all limitations from render code for maximum threads. The only
define for this now is in BLI_threads.h, and currently set to 8.
Note that each thread renders an entire tile, and also allocates the
buffers for the tiles, so; more threads might work better with smaller
tiles.

IMPORTANT: node system won't work yet with more than 2 threads! So, don't
try material nodes or compositing with over 2 threads. That I'll commit
later today.

What does work (should work :) is AO and soft shadow now.
2006-11-29 17:01:09 +00:00
Ben Batt
35f3682f7c Fix for bug #5325 - curve deform tool doesn't work correctly
This bug was caused by broken's recent patch to make the Curve modifier
determine its axis from the modifier panel, rather than the object's track
axis. In the case where a Curve modifier is applied by parenting the object
to the curve, the curve axis needs to be copied from the object's track axis
in modifiers_getVirtualModifierList(). This commit adds the necessary copy.
2006-11-29 13:52:59 +00:00
Ton Roosendaal
3b23677425 Duplicator feature:
Vertex/Face/Frame duplication now draws using OpenGL display lists. Makes
drawing go much faster (2-5 times, depending on size of duplicated object).
This system uses boundbox checks too, so outside of view it draws faster.

Note for face duplication: I've fixe a bug for incorrect alignment when
the parent was rotated when a parenting happened, the 'inverse parent
correction matrix' then messed up alignment. For face duplication it now
works OK, but for vertex-dupli not... need a way to fix this backwards
compatible.
2006-11-29 12:44:48 +00:00
Ton Roosendaal
eb03a578a3 New feature: Face Duplicators. Like vertex-duplicator, but now on a face
center, rotated according to face edges, and optionally with scale of the
face.

http://www.blender3d.org/cms/Face_Duplicator.828.0.html

Also: bugfix in undo/redo for relinking data to the UI. It was not checking
for Library data, accidentally linking non-library data with same names.
2006-11-29 08:57:32 +00:00
Joshua Leung
35c83ca356 Removed unused 'action specific' marker stuff I committed earlier. In
the meantime, only the 'scene' marker set will be supported.
2006-11-28 04:58:57 +00:00
Ton Roosendaal
2e0084c2d9 IRC reported bug:
When linking a referenced (Library) Image to a texture face, it wasn't
tagged to become saved in file. So you lost data.

Also fixed: tooltip for the "Li" icons was wrong.
2006-11-27 13:00:50 +00:00
Ton Roosendaal
d7addfb99a Stupid me! I was calling the subversion warning test *after* memory got
freed. Windows nicely crashes then.

Also: added human readable string in fileglobal, so you can check the
subversion in a file manually too. Rule:
- Find GLOB chunk (first chunk after REND now)
- skip sizeof BHead, 20 bytes in 32bits, or 24 in 64 bits
- there's 4 characters showing subversion, right now it reads "   1".
2006-11-27 10:43:00 +00:00
Ton Roosendaal
0cd62a9298 NEW! Subversion control and test for future Blender binaries.
Next to the release code, a subversion number is written in the file
now. This is in the chunk GLOB, which is now in beginning of file.

Subversions can be used to have finer control over do_versions(), so you
don't have to wait for a release to patch stuff nicely. We can also
increase these subversions regularly to denote important changes.
If a subversion is not 0, it's being printed in the header, so a user can
also verify the state. (We might even tag cvs for it?).

Next to this, a minimum version and subversion number are written too.
From now on, if you change files in a way a past binary cannot read this
nicely anymore, you should set these minima to the current version.
This was especially added for the new mesh layers, which will not work
for older binaries once we make 2.43.
2006-11-26 21:17:15 +00:00
Brecht Van Lommel
e4c3d77e9f Fix for bug #5308:
Smooth normals drawing wrong with subsurf followed by array modifier.
2006-11-26 17:47:38 +00:00
Ton Roosendaal
bb802607eb Bugfix #1676
Ancient bug: texteditor input was limited to "isprint()" characters, the
default non-accented simple ascii set. I've removed that.

Now we still have a conflict with hotkey handling, so ALT+character input
won't work. But, for keyboards that have special character keys from itself,
this patch will allow typing them in Text now.
2006-11-26 16:03:36 +00:00
Ton Roosendaal
4d1425f510 Bugfix #5291
Array Modifier type "path length" didn't force a path calculation on load.
Note that this is still improper handling in Blender... an exception that
has to move to the depsgraph.
2006-11-26 14:04:25 +00:00
Ton Roosendaal
f554aa8a35 Bugfix #5287
When referenced (Library-linked) Mesh was used by a local Object, and the
amount of Materials became less in library, Blender crashed!
2006-11-25 18:15:55 +00:00
Ton Roosendaal
604b423032 - Library linking feature: global undo/redo now doesn't read the linked
library .blend files anymore, making it a load faster to use.

- Fixed ancient annoyance; samples were not properly freed, giving a lot
  "Error Totblock" when using sound.
  This fix also involves removing an ancient NaN hack, which treated the
  samples as fake Library data in the Main database.
  But still, the Blender Sound and Sample code is horrible... :/
2006-11-25 13:07:28 +00:00
Brecht Van Lommel
9d61481db4 Bugfix: don't allocate custom data layers with zero size. 2006-11-24 14:59:49 +00:00
Jens Ole Wund
40c5b56707 softbodies
nice little 'debug' feature
SHIFT_ESC breaks baking without throwing away the baked keys
so you can check the solution calculated so far
baked sb replay checks for NULL pointers in keys -> motion will stop there
even saving and loading to file works here,
but i would not expect it to do so
humm .. may be i'll add a dirty flag for that
2006-11-23 20:31:46 +00:00
Brecht Van Lommel
3b9556996c Bugfix: added ORIGINDEX layer in CDDM_calc_edges, this could crash some
modifier combinations.
2006-11-23 17:35:45 +00:00
Ton Roosendaal
373b323934 VenomGFX report:
Using vertex group deform with Lattice, with no lattice 'deform verts'
created yet, Blender crashed.
2006-11-23 16:49:10 +00:00
Brecht Van Lommel
d80b7cc5c4 Fix for bug #5288:
Converting meta objects crashed, caused by new way of storing quads in
DispList for array drawing.
2006-11-23 00:26:39 +00:00
Brecht Van Lommel
e10a86eef9 (Partial) fix for bug #5289:
Crash using Shape Widget Wizard script, was an error in customdata copy.
The script still throws a python error though, but that seems unrelated
to this crash.
2006-11-22 23:12:38 +00:00
Jiri Hnidek
d8f99cf5c2 - eve->tmp.l is used for storing temporary indexes (not prev pointer)
- several for loops were deleted
   - several warnings were removed
2006-11-22 16:44:27 +00:00
Chris Want
0b0c8c9244 =Texture Plugins=
Added a callback instance_init() so that any particular instance of a
texture plugin can initialize data. Updated the clouds2 and tile example
plugins to have a (dummy) call back.
2006-11-22 15:53:46 +00:00
Ben Batt
bb7ad80269 Upgrades to the UVProject modifier:
- New perspective projection capability. If a camera is used as the
   projection object, the modifier detects whether to do perspective or
   orthographic projection based on the camera type. If any other object
   type is used as the projection object, orthographic projection is used.
 - Orthographic projection actually works properly now.
 - The projected UVs are scaled and offset so that the image is centred in
   the projecting camera's view.
 - AspX and AspY inputs have been added to control the aspect ratio of the
   projected UVs.

Also:
 - I have added the Mat4MulVec3Project() function to BLI_arithb.h; this
   function converts a 3-dimensional vector to homogeneous coordinates
   (4-dimensional, with the 4th dimension set to 1), multiplies it with the
   given matrix, then projects it back to 3 dimensions by dividing through
   with the 4th dimension. This is useful when using projection matrices.
2006-11-22 15:09:41 +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
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
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
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