Commit Graph

5051 Commits

Author SHA1 Message Date
Sergey Sharybin
991eac85ff Initial implementation of mdisps layer interpolation
Sculpt data shouldn't be lost when making topology changes without
quads<->tris face converison.

General idea:
- Go through all grid points of each corner and convert per-corner
  coordiante to per-face cooredinate
- Apply weights and convert new point to per-corner coordinate
- Use bilinear interpolation to get needed displacement vector

Some additional work was necessery:
- Two neighbour corners could have different displacements along common
  boundary. multires_mdisp_smooth_bounds() makes displacement "symmetrical"
- Point could change it's corner, so displacement vector should be flipped
  in some way. In some cases it's not only flipping, because corner could
  be mapped with some rotation. It's not solved for triangular faces yet,
  so only z-axis displacement would be interpolated for tris.

More limitations:
- Interpolation will give incorrect result after quad<->triangle
  face conversion.
- When face normal was fillped displacement would change it's direction too.
2010-12-13 21:22:30 +00:00
Ton Roosendaal
4d5afa04f8 Bugfix #23420
Compositor/Image viewer
In 2.4x viewer nodes had animation playback. Not restored yet.
However, when loading such older files the viewer never showed
any result.
2010-12-13 18:22:59 +00:00
Janne Karhu
7bf5d9449c "Fix" for [#25184] Forces for growing hair - update inconsistency - as discussed with Jahka on Saturday on IRC
* New option to "Regrow hair" for each frame.
* This was perhaps more a feature request, but there was a similar useful feature called "animated hair" in particles at some point.
* The previous behavior for hair growing was inconsistent to say the least, so this is a nice option to have.
2010-12-13 10:45:24 +00:00
Sergey Sharybin
c85adcc2e4 Use mdisps layer from edit_mesh when adding/removing multires modifier
when object is in edit mode.
2010-12-13 10:24:05 +00:00
Janne Karhu
4cd06a6526 Fix for [#25185] Toggling hair dynamics without deleting cache leaves hair disattached when mesh animation is controlled by deformers - discussed with Jahka on IRC on Sat 2010-12-13 09:39:14 +00:00
Joshua Leung
1474b32456 Lattices now have AnimData
This allows manual (point by point) animation of their control verts,
although many other settings cannot really be animated with any
visible effects yet. Interestingly, lattices also had IPO block
pointers, though they were never really used (AFAIK).

Todo:
- Animation Editor support has yet to be added. I've got a few other
things to add to, so will group those changes together.
2010-12-13 06:31:49 +00:00
Ton Roosendaal
826cf81d34 Unlinking material crashed, missing NULL check. 2010-12-12 17:59:48 +00:00
Campbell Barton
1ad15c37aa avoid possible errors, surround bit shifted defines with brackets. 2010-12-12 01:33:12 +00:00
Janne Karhu
f610c9b8a2 Bug fix: child particles weren't always updated correctly
* Calling update_children(..) is very light if there's nothing to update, so it doesn't matter if it's called every time the particle system is updated.
2010-12-10 10:34:12 +00:00
Janne Karhu
fe19e5336b Fix for [#25095] Particle systems and object with collision modifier bug
* Collisions didn't take emitter object layer into account
2010-12-10 08:29:46 +00:00
Campbell Barton
b27f52ce24 bugfix [#25154] .MXF files should be included as a known video file type in the sequencer
[#25159] Vertex locations dont read correctly and are not labeled correctly in the properties bar.

- non rna buttons can now have units set.
- calls with invalid units system now raises an assert().
- include .mxf in filter.
2010-12-10 04:10:21 +00:00
Diego Borghetti
545cc4803e Change the BLF_aspect function to handle 3d text.
This is need to properly handle 3d text (dalai work on GE), before
the BLF_aspect only take one argument, and the result was a call to:
	glScalef(aspect, aspect, 1.0)

Now the three value are store in the font (x, y and z) and also
need to be enable using BLF_enable(BLF_ASPECT).

By default all the code that don't have BLF_ASPECT enable work with
a scale of 1.0 (so nothing change to the current UI).

I also remove all the call of BLF_aspect(fontid, 1.0) found in
the editors, because is disable by default, so no need any more.

Campbell the only thing to check is the python api, right now
I modify the api to from:
	BLF_aspect(fontid, aspect)
to:
	BLF_aspect(fontid, aspect, aspect, 1.0)

This is to avoid break the api, but now you need add the BLF_ASPECT
option to the function py_blf_enable and in some point change
py_blf_aspect to take 3 arguments.
2010-12-09 22:27:55 +00:00
Ton Roosendaal
ad35b37f2d Bugfix #25120 and #25119 and numerous future bugs!
Two isses:
- Material assigning to MetaBalls used wrong pointer
  (copy paste error, casting badly).
- Checking for node-material used wrong RNA pointer
  (confusing void stuff going on here!)

The error leads to corruption in data and/or random
crashes. Better update svn now!
2010-12-09 15:49:05 +00:00
Campbell Barton
071b61259b increase grease pencil user count when copying objects. 2010-12-08 14:40:14 +00:00
Janne Karhu
40af167b09 Bug fix: normal (from particles) child particles didn't use the rough parameters properly
* Also child particles didn't do particle trail properly.
2010-12-08 11:02:56 +00:00
Campbell Barton
afacd18498 use lowercase for cmake builtin names and macros, remove contents in else() and endif() which is no longer needed. 2010-12-08 08:43:06 +00:00
Janne Karhu
1a8665ac45 Fix for [#25079] Duplicating object with particles system on it make Blender crashs
* pointcache->cached_frames wasn't set to NULL when copying pointcaches
* also set pointcache->edit to null just in case
2010-12-07 22:17:58 +00:00
Joshua Leung
d3f9b0d05a Bugfix #25049: Compositing Nodes not Keyframable
An error seems to have been introduced to the node-tree building at some point, which means that the ID-type for data-attached node trees was incorrect (i.e. scene->nodetree->id.name = NTREE_COMPOSIT instead of ID_NT). 

This in turn meant that the ID AnimData availability poll would fail, as the ID-type could not be determined.
2010-12-07 10:15:09 +00:00
Campbell Barton
46990b4904 fix for own mistake, reported [#25076] Creating new empty crashes Blender 2010-12-07 08:52:12 +00:00
Campbell Barton
1e57d8c4e7 bugfix [#25073] Rendered image goes dim when saved from python batch script 2010-12-07 05:39:14 +00:00
Campbell Barton
d624d1cbdd pass along the context to extension functions, this was already being done in all cases except for the render engine.
this allows python to NULL its internal context while scripts are not running.
2010-12-07 04:12:15 +00:00
Campbell Barton
48614fbc2a Added an assert() check for normalized quats which exposed a number of bugs where normalized quat was incorrectly assumed.
This would have made bug #25003 very simple to find.

- Objects had their quats normalized when calculating their matrix, this is inconstant with pose bones and isn't useful for animation.
  Also it wasn't normalizing the delta rotation so these would give bad rotations.

- Converting between rotation modes BKE_rotMode_change_values() assumed normal length quat. changing quat to euler rotation for eg could change the bone.

- Clear rotation and transform were not normalizing the quat when 4d loc was disabled on quat rotation, corrected and also made it so the quat scale is restored after conversion so animations curves dont jump.

There is 1 case in mat3_to_quat_is_ok() where quat_to_mat3 on an unnormalized quat is needed, for this I had to add an ugly static function quat_to_mat3_no_assert(), but overall its worthwhile IMHO to be able to find incorrect use of rotation conversion.
2010-12-07 01:56:32 +00:00
Ton Roosendaal
2c7a2a6a41 Sync fix with render branch. Solves crash with ob->bb not found. 2010-12-06 17:41:12 +00:00
Campbell Barton
a724918cf3 bugfix [#22663] object material slots not updated for library data 2010-12-06 02:32:16 +00:00
Campbell Barton
60063d5383 - converted path cleaning on file load to use bPath Iterator functions - image & font and sequence paths were being cleaned but not multires, voxel & sound paths.
- skip fixing file paths on undo.
- simplify bpath alloc and free functions, also pass Main structure so as not to rely on G.main, (needed for file load).
2010-12-06 00:52:30 +00:00
Campbell Barton
2f366d1544 use BLI_strnlen rather then strlen when comparing against fixed lengths. 2010-12-05 23:50:55 +00:00
Campbell Barton
9668c29ba0 bpath iterator updates
- loop over sequencer plugin and texture voxel paths.
- fix leak in python bpy.utils.blend_path() and use PyUnicode_DecodeFSDefault() to ensure correct paths with different encodings.
- operators to make paths absolute & relative now redraw the view.
2010-12-05 23:14:48 +00:00
Brecht Van Lommel
b110c7c8f2 Dependency graph: changed DAG_id_flush_update to DAG_id_tag_update. Now it
only tags the ID and does the actual flush/update delayed, before the next
redraw. For objects the update was already delayed, just flushing wasn't
yet.

This should help performance in python and animation editors, by making 
calls to RNA property update quicker. Still need to add calls in a few
places where this was previously avoided due to bad performance.
2010-12-05 18:59:23 +00:00
Janne Karhu
8c467a9c8a Fix for [#25036] boids particle from 2.49 opened in 2.5 is crash !?
* Old boids didn't have all of the necessary data for the new system.
* Changed the particles code so that a check for all necessary data is always done before starting actual dynamics calculations.
2010-12-05 01:48:49 +00:00
Campbell Barton
fa4bbbb249 Maintenance,
- remove some redundant declarations
- changed VertexTangent and Path structs to avoid compiler alignment padding.
2010-12-04 13:00:28 +00:00
Campbell Barton
0271ad6322 Give functions that use printf style formatting GCC format attributes so if incorrect formatting is used the compiler will warn of this.
found & fixed 2x incorrect formatting args.
2010-12-04 11:44:56 +00:00
Ton Roosendaal
990b487c73 Bugfix #25026
Nurbs edit: 'switch order' crashed when order was higher than amount of 
points.
2010-12-03 17:31:34 +00:00
Campbell Barton
263830f000 Enabled GCC -Wwrite-strings warning for CMake and replaced many 'char's for 'const char's,.
Only one functional change where Transform orientations passed "" to BIF_createTransformOrientation() which could then have the value written into.
2010-12-03 17:05:21 +00:00
Campbell Barton
7c86a1a95c compile fixes for mingw32. 2010-12-03 16:45:04 +00:00
Sergey Sharybin
8934b61739 Fix #25017: Bezier Curve Deform Twisting after adding Shape Keys
- Invalid step was used in curve_applyKeyVertexTilts
- Minor cleanup in editcurve stuff
2010-12-03 14:35:03 +00:00
Campbell Barton
cd97253502 - added GCC warning -Wstrict-prototypes
- fixed bug in paste material, exposed by stricter warnings.
- removed/renamed various shadowed vars.
- removed BGE lamp.colour, only allow lamp.color attribute.
2010-12-03 12:30:59 +00:00
Janne Karhu
aca76ddb50 Fix for [#24899] Sequence Transform strips don't apply animation properly to scale.
* Rendering a scene strip updated all animation data to it's frame, so fcurves were left with the wrong value.
* Now the animation data is recalculated to original frame after rendering each scene strip.
2010-12-03 12:08:59 +00:00
Campbell Barton
cfc1b133f6 updates to patch from Dan Eicher, allow adding a NodeGroup through bpy.data.node_groups.new(name, type)
made some minor changes.
2010-12-03 03:44:39 +00:00
Campbell Barton
b45c3363fd fix for some pedantic warnings. 2010-12-03 01:52:28 +00:00
Ton Roosendaal
30179f4dc6 IRC comment fix:
Option "free all texture-images" after render, was also
freeing unsaved painted images. Now it skips them.
2010-12-02 16:12:55 +00:00
Janne Karhu
5ca7c1b0f8 Fix for [#25006] Particle system crash (missing check for negative index) 2010-12-02 14:52:07 +00:00
Janne Karhu
1dbc93b540 Additional fix for #24958 Cloth pinning not working
* Don't assume that the original dm given to cloth modifier is a cddm
2010-12-02 04:06:02 +00:00
Campbell Barton
024b0f92d5 fixed crash with rigid body constraints not having their child pointer read correctly. 2010-12-01 23:40:21 +00:00
Janne Karhu
b36ab83778 Fix for [#24958] Cloth pinning not working
* Cloth now uses the original derived mesh for simulation and a new dm only for applying the simulation result.
* Reverted Campbell's temporary workaround r33406.
2010-12-01 12:23:10 +00:00
Campbell Barton
f5f332892c workaround [#24958] Cloth pinning not working
detailed explanation as to why this is needed in report.
2010-12-01 05:59:11 +00:00
Campbell Barton
ad0dd98f26 fix for some mistakes in recent commit. 2010-12-01 02:40:13 +00:00
Campbell Barton
b5ba824cf2 patch from JacobF on IRC, copy smoke settings. double checked none of these are used for runtime. 2010-12-01 02:28:08 +00:00
Campbell Barton
89abb9f2d2 bugfix [#22638] Alpha channel not saved when using texture paint
check for alpha channel while saving images that have been painted onto.
It would be nicer to do this while in paint mode except this isn't so simple with project paint using multiple images at once.
2010-11-30 23:38:31 +00:00
Janne Karhu
17cd5811e7 Smoke now uses only one point cache where both normal and high resolution smoke are stored together:
* Separate caches were causing quite a lot of problems both in principle and practice.
* For example it doesn't really make sense to have different frame ranges for normal and high resolution smoke, but this was fully possible before.
* Also to fully bake the smoke you had to do a "Bake All Dynamics", which completely defeats the whole point of the feature!
* As a result of this change the smoke cache usage is much much simpler and less error prone.
* This is quite a big change, but hopefully there should be less rather than more problems as a result :)

Some other related changes:
* Changing the cache name now works for disk caches properly too, it now just renames the cache files so should be faster too!
* Smoke is now always forced to disk cache with step 1 on file load as there were some strange cases where smoke was trying to use memory cache.
* Disabled smoke debug prints from console.
* Disabled changing smoke parameters when smoke is baked.

Note to users: The unfortunate side effect of this is that old high resolution simulations have to be baked again, but in return you get much better and more logical functionality. Sorry none the less!
2010-11-30 21:31:18 +00:00
Campbell Barton
42d6603cae Add option for CMake to build libredcode, also use CODEC prefix for ffmpeg, quicktime & sndfile options. 2010-11-30 18:52:39 +00:00