Commit Graph

423 Commits

Author SHA1 Message Date
ab8728df2a == Action Editor - Scrolling Fix ==
This fixes a problem introduced in http://lists.blender.org/pipermail/bf-blender-cvs/2007-May/010005.html

Now channels in older files will be in the view again upon loading.
2007-06-19 11:52:14 +00:00
01e8789f3f == PyConstraints ==
At last! The ability to code constraints in Python. This opens up many interesting rigging possibilities, as well as making prototyping constraints easier.

* A PyConstraint script must begin with the line 
#BPYCONSTRAINT
* It must also define a doConstraint function, which performs the core actions of the constraint.
* PyConstraints use IDProperties to store custom properties for each PyConstraint instance. The scripter can choose which of these ID-Properties to expose to a user to control the behaviour of the constraint. This must be done using the Draw.PupBlock method.

Credits to Joe Eager (joeedh) for coding the original patch on which this is based. I've made heavy revisions to large parts of the patch.

For more detailed information, and some demo scripts, see the following page:
http://aligorith.googlepages.com/pyconstraints2
2007-06-18 07:41:21 +00:00
3026e853b3 == Multires ==
* When loading multires files, clear the temporary connectivity data
2007-06-11 01:30:00 +00:00
2494a5ed0d == Multires ==
* Small optimization to multires based on profiling data; calculation of edge boudndaries is now cached along with multires mapping data to improve the performance of the catmull-clark code.

* Removed an unneeded call to create the temporary data when loading files.
2007-06-10 21:51:11 +00:00
c6158b9293 Put declarations at the top of the block to save some compile problems. 2007-06-02 13:46:16 +00:00
b726b64ead Fix error in the version patch for the SSS scene flag. 2007-06-01 16:53:55 +00:00
1a9f0e692a == Multires ==
* Moved the multires vertex data from struct MultiresLevel to struct Multires. There's no longer any reason to store data seperately for each level; it was just taking up extra memory.

* Incremented the subversion to 2 and adjusted do_versions to correctly load older files.

* Refactored the multires update process (which handles propagating changes to other levels)
2007-06-01 02:21:11 +00:00
33466557fc Disable SSS better for preview rendering, so it does not slow down
other preview renders at all.

Also added a flag to enable/disable SSS per scene. There is no
button for it yet, the Render panel has no space left .. will find
a place for it later.

The subversion number was also increased to enable the flag for
older .blends.
2007-05-17 16:51:09 +00:00
3a8c6c81d8 Subsurface scattering:
Documentation on the settings, known limitations and implementation
info can be found here:
http://www.blender.org/development/current-projects/changes-since-243/subsurface-scattering/
2007-05-03 21:37:52 +00:00
c24aa10561 Made it so blender has an active render layer for Uv and Vertex color mesh layers.
This means changing the active UV/VCol layers wont change what renders.
needed to adjust the minor version so old files will copy the active layer to the render-uv/vcol layer.

boxpack2d.py - redoen in C now, dont need python version.
2007-05-02 00:01:23 +00:00
f62f07734f Patch #5629 - Mirror modifier axis' to be toggleable
This patch makes the X, Y and Z axes of the mirror modifier individually
toggleable, so it is possible to mirror in more than one direction with a
single modifier.

Thanks to Juho Vepsäläinen (bebraw) for the patch!

NOTE: BLENDER_SUBVERSION has been incremented to support translation from old
      to new axis specification.
2007-04-29 14:00:30 +00:00
243d1a28c0 Casting fixes for 64 bits. Incomplete commit, discussion on proper casting
has to be finished.
2007-04-29 10:49:02 +00:00
42057481fb Part 2 of 64 bits fixing; the files.
The good news; previously written 64 bits are still valid! All fixes
appeared to be possible in code, no versioning patches needed. :)
That also removes the I AM STUPID 64 bits ban from the code.

The bad news:
I couldn't get a 64 bits Blender running here (ghost-mac issues... it
has to be recoded using Quartz to be able to run 64 bits). So what I
have tested was:

32 bits binary:
  - Appending/linking data from 64 bits file.
  - Reading 64 bits chained library-linked files (file -> file -> etc)
  - Linking 32 bits files with 64 bits files

This has to be tested for 64 bits too. Will drop in IRC now to help.

Note: part 3 is fixing memory issues for addressing > 4 GB data. A first
start has been made for a blenlib API function.
2007-04-28 16:15:00 +00:00
01335fc7bb Bugfix:
Previous versions of Blender allowed Vertex Groups to be nameless, which
shouldn't be allowed. This caused problems with rigs from previous versions of Blender being loaded in 2.43+ versions, as the new VGroup feature for the
Armature modifier mis-identified these nameless group(s) as being the Vertex Group
to be used. As well as the checks done when renaming VGroups (from another commit), files created prior to and in 2.43 will have all such groups given default
names.

Code notes:
* I've moved the unique_vertexgroup_name function from src to blenkernel like for
 constraints
* Formatting in deform.c tidied up a bit
2007-04-27 11:16:35 +00:00
ff38a988ae Removed some un-needed code for Limit constraints from file-reading code. 2007-04-12 06:51:48 +00:00
76420c2fec appending libdata no longer breaks all external references.
Existing data is flagged with LIB_APPEND_TAG and all_local only has an option to only operate on un-flagged data.

If you append an object thats linked to a material alredy linked in your scene, the material will not be made local.
So at worst youll need to make local some of the datablocks.

This is fairly simple and though my tests show it to work, do some tests on your own libraries before assuming its problem free.


scripttemplate_mesh_edit wasnt updated with PyAPI changes and moved some functions into generic places.
2007-04-07 17:35:47 +00:00
655f9a61de == Clamp-To Constraint (was Patch #4818) ==
This (new) constraint limits the location of an object/bone to the range of locations
on a given curve. It works by comparing the location of the owner on one axis, to
the extents of the curve's bounding-box on the same axis, to find the location on
the curve.

Usage Notes:
* 'Ob:' field must point to a valid curve object
* This curve should have 'Path' turned on in order for this constraint to work. You
don't really need to do this as it will be taken care of by the code.
* 'Auto' toggle automically determines which axis should be used for the distance estimations/calculations. It is the default option, but may not work that well for
some cases.
* X/Y/Z toggles can be used to select the axis to use for these calculations. Try
to choose the axis along which the curve stretches out for most.

Python Notes:
Python API access for this constraint is not included in this commit. Will be coming
soon.
2007-04-07 03:32:57 +00:00
dca213525a == Multires ==
Fixed bug #6358, UV face select + Multires level change crashes

* Reading in multires files wasn't relinking the MTFace customdata stored for level 1. This was leaving tpage as a bad pointer.
2007-04-02 00:52:38 +00:00
3c256eb9e4 ==== bugfix ====
small fix for uninitialized variable curlib
2007-04-01 19:00:10 +00:00
26fd086bca Removed some more debug prints (regarding camera angle/lens stuff) 2007-03-24 02:20:00 +00:00
bc31d61c3b patch 5341 by Juho
This adds option to show camera angle instead of camera lens value.
(Complete revised patch...)
2007-03-23 13:12:11 +00:00
Ken Hughes
3a834803ef Python API
----------
Support for new bpy.libraries module, which is being proposed to replace
the Blender.Library module.
2007-03-21 02:23:28 +00:00
Ken Hughes
001939bd66 Python API
----------
Bugfix #6255: Library.Load() failed on some blend files prior to 2.43.
Consolidated some code to make Python and Blender UI more in common.  Also
fixed some compiler warnings in the process.
2007-03-16 05:39:30 +00:00
c45e057062 Plumiferos reported bug:
When weights in Meshes are extremely small (< 0.01) normalizing them
can give overflows, thanks to float precision limit.
This is still unsolved, but for now the limit had to be set smaller...
(reason is that Plumiferos uses mixed lattice and vertex-group deform)

Also: running Blender in debug (-d) will print subversion now.
2007-01-28 11:44:32 +00:00
d58cc7b9e6 == Multires ==
Partial fix for bug #5771, Multires tool deletes crease flags on edges

* Modified the edge flags code to support all of the edge flags (not just seams.)
* Added a new array to the Multires struct to store creases.
* For Mark Sharp, Clear Sharp, and Crease, displays an error if applied to a multires mesh not on level 1.
2007-01-22 08:34:53 +00:00
ca56c87312 Addition to fix for bug #5709:
Needed to move the check one subversion further, because files with the
current subversion could already be saved with the wrong value.
2007-01-21 16:08:34 +00:00
1ac4b1d5c3 Fix for bug #5709:
Join triangle threshold was initialized for wrong subversion.
2007-01-21 00:09:24 +00:00
53aabe99f8 Part 2 of bugfix #5741
Modifiers; on read file it sets user counter of linked ID data, except
for Object IDs.
2007-01-18 10:59:23 +00:00
9ff336d14d A few fixes for saving/loading partial mesh visibility (sculptmode): pay better attention to how many verts/edges/faces there really are (not just the visibile ones) 2007-01-16 06:49:57 +00:00
b7ccb830d2 Fix for bug #5689:
Loss of UV coordinates reading from 2.42 .blend files, if there were
both vertex colors and tfaces (these contained colors also). It should
have been impossible to create them both in 2.42, but even if invalid
we should read them correct.
2007-01-14 12:35:45 +00:00
5fd071070b Bugfix #5698
Material Node Shader crash: new "layered UV" option required a better
version patch... now patches all 2.42.x files, and not only the 2.42.2 and
older :). Yes, subversioning doesn't always make things easier.
2007-01-13 10:52:39 +00:00
242db4a960 == Action/IPO Cleaning Cleanup ==
Further cleanups, this time moving all the checks for making sure that
the cleaning threshold is defined are centralised in the do_versions code.
2007-01-10 08:51:24 +00:00
043be07050 Large fix for multires. Changed UV coordinates (MTFaces) to be special first-level data in multires. The data is now stored in a standard CustomData struct in Multires, rather than being stored for each level. (The UVs can now only be edited on level 1.) Changes allow multiple sets of UVs to work correctly. This change should also decrease multires memory usage some (though only when UVs are being used, of course.)
Changes to CustomData:
Some functions would only return the current active layer, added extra variants that take an index to select the level (modeled after CustomData_get_layer_n.)

Still todo:
* UVs are being interpolated linearly, should probably offer Catmull-Clark subdivision like Subsurf modifier.
* Vertex Colors still don't support multiple customdata layers.
* Editing UV data on levels other than 1 should be disabled in the interface (same for weights)
2007-01-10 06:09:10 +00:00
2e66b143f3 - Added panel for Bake render (tabbed now in 'anim' panel).
(Empty space will get OSA options, that I add tomorrow or so)

- Removed a lot of old unused variables in renderdata. Also meant I had
  to remove this from python API... please check if this gives valid
  scripts?

- Cleaned up bad formatted code for FFMPG buttons (spaces instead of tabs)
2007-01-09 11:10:12 +00:00
1d4a9ee6ca Bugfix #5626
HSV node in composite got a new variable (V) in july, but this was not
initialized to '1' for older files.

This commit adds the initialize, for when the V==0. It might therefore
break cases saved with CVS versions with V set to 0 purposedly (not likely
but possible).
2007-01-07 14:18:03 +00:00
36e03e5ca8 Potential fix for bug #5359:
Crash leaving editmode related to vertex groups. I couldn't reproduce this,
but suspect somehow multiple deformvert layers were created. Added some
extra checks to avoid that now.
2007-01-06 20:16:06 +00:00
130f135d2a Fix for bug #5096:
Geometry shader node storage (added for UV name) wasn't allocated reading
older files, could crash on render.
2007-01-05 23:49:51 +00:00
98d3115ffe Multires bugfix: texcolface.tex_page needs to be updated on file load. 2007-01-04 22:09:58 +00:00
b6264c6b0a Modified the multires loading code so that it always checks for a NULL edge flag array. 2007-01-03 07:21:04 +00:00
6286f8b565 Multires bugfix: when deleting lower levels, edge flags should be subdivided to the next level. 2007-01-02 22:40:45 +00:00
0901438215 Another multires loading fix: if edge_flags is null, allocate a new array 2007-01-02 19:28:54 +00:00
abb9475729 Fix for a multires crash: when loading dverts, extra call needed to relink them. 2007-01-02 19:23:55 +00:00
2406567b7d Added support for load/save of multires edge flags 2007-01-01 07:53:14 +00:00
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
0aebc13199 -> Further work to improve triangle conversion tool:
The improved triangle to quad conversion is now better integrated
into Blender in several respects. First of all the code makes distinctions
between 'simple' pairs and 'complex' pairs. Simple pairs are an island of
exactly two selected triangles that are joined by an edge. These simple pairs
are subject to the old 2.42 rules for joining triangles. Complex pairs are part
of larger islands of selected triangles and their conversion is controlled by
several parameters that can be individually tweaked via new buttons located
in the "Mesh Tools" panel of the editing buttons. Furthermore the tool deals
with any arbitrary combination of simple and complex islands in a consistent and
logcial way.

The code has also been drasitcally cleaned up and should address the open
bugs in the tracker regarding alt-j. However as part of cleanup the tool has
been made somewhat slower to insure a consistent mesh structure. This is a
limitation of the exist_face() function in editmesh and will have to be adressed
at a later date.
2006-12-26 02:00:56 +00:00
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
dd5077060e Cleanup of the SDNA SculptData struct. Moved a lot of data that isn't saved into a separate SculptSession struct (outside of SDNA.) 2006-12-25 08:52:57 +00:00
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
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
56b79bb66e Modified sculptmode's vertex_users to use one large chunk of memory rather than many small pieces. 2006-12-20 08:33:30 +00:00