Commit Graph

7747 Commits

Author SHA1 Message Date
Campbell Barton
34fecdd60e code cleanup: use min/max functions rather then macros. 2012-11-07 12:31:05 +00:00
Campbell Barton
14dea2c5bf fix for own error in recent orig-index refactor (reported as [#33112]) 2012-11-07 11:37:53 +00:00
Sergey Sharybin
1c450d71ef Fixed crashes when motion tracks are zero-sized
This is probably versioning issue happened when both trunk and tomato
were mixed to work on the same file.

Anyway, there're few files here locally and it's probably other users
do have the same files, so lets keep things safe here :)
2012-11-07 11:18:42 +00:00
Campbell Barton
852a41fb0e style cleanup, also remove redundant call to set_listbasepointers in free_main(). 2012-11-07 01:02:28 +00:00
Brecht Van Lommel
27d647dcf8 Cycles: 4 new nodes.
* Tangent: generate a tangent direction for anisotropic shading. Can be either
  radial around X/Y/Z axis, or from a UV map. The default tangent for the
  anisotropic BSDF and geometry node is now always radial Z, for UV tangent use
  this node now.

http://wiki.blender.org/index.php/Doc:2.6/Manual/Render/Cycles/Nodes/More#Tangent

* Normal Map: generate a perturbed normal from an RGB normal map image. This
  is usually chained with an Image Texture node in the color input, to specify
  the normal map image. For tangent space normal maps, the UV coordinates for
  the image must match, and the image texture should be set to Non-Color mode
  to give correct results.

http://wiki.blender.org/index.php/Doc:2.6/Manual/Render/Cycles/Nodes/More#Normal_Map

* Refraction BSDF: for best results this node should be considered as a building
  block and not be used on its own, but rather mixed with a glossy node using a
  fresnel type factor. Otherwise it will give quite dark results at the edges for
  glossy refraction.

http://wiki.blender.org/index.php/Doc:2.6/Manual/Render/Cycles/Nodes/Shaders#Refraction

* Ambient Occlusion: controls the amount of AO a surface receives, rather than
  having just a global factor in the world. Note that this outputs a shader and
  not a color, that's for another time.

http://wiki.blender.org/index.php/Doc:2.6/Manual/Render/Cycles/Nodes/Shaders#Ambient_Occlusion
2012-11-06 19:59:02 +00:00
Ton Roosendaal
04bea047b5 Bugfix #32191
Case: multiple scenes, linked objects on different layers.
By definition, a layer is a local scene property - not of object.
On setting scenes, this then gets copied over to objects.

Error was a 2.5 year old commit to allow object layer animation,
which is due to depsgraph issues badly supported anyway.
(animate visibility outliner flags instead)
2012-11-06 18:07:17 +00:00
Joshua Leung
83a22ec16e Harmless formatting tweaks 2012-11-06 06:29:40 +00:00
Sergey Sharybin
39da858001 Sequencer: input color space support for image and movie strips 2012-11-05 14:44:29 +00:00
Sergey Sharybin
4ad749bc13 Improvement for text indentation: keep selection as good as possible
Patch by Sebastian Nell, thanks!
2012-11-05 13:31:26 +00:00
Sergey Sharybin
316d33ea0b Change a way how image sequence/movie source is detecting for movie clip
Use IMB_testiffname to check whether file could be handled by ImBuf or
whether it should be handled by anim routines.

It solves the issue when file without extension is used for movie clip.
2012-11-05 10:32:47 +00:00
Sergey Sharybin
759ea40787 Render engines: replace number of x/y tiles with tile size
Now tile size is setting up explicitly instead of using number of tiles.

This allows better control over GPU performance, where having tiles aligned
to specific size makes lots of sense.

Still to come: need to update startup.blend  to make tiles size 64x64.
2012-11-05 08:05:14 +00:00
Sergey Sharybin
3bd7816c75 Camera Tracking: allow fallback to reprojection resection by user demand
This fixes some "regressions" introduced in rev50781 which lead to much
worse solution in some cases. Now it's possible to bring old behavior back.

Perhaps it's more like temporal solution for time being smarter solution is
found. But finding such a solution isn't so fast, so let's bring manual
control over reprojection usage.

But anyway, imo it's now nice to have a structure which could be used to
pass different settings to the solver.
2012-11-05 08:04:27 +00:00
Campbell Barton
88c5b1408c fix issue with shrinkwrap face projection distance comparisons when using both positive and negative projection.
- don't attempt to convert the 'dist' value between local/target space, since all the projections are done in target space
  and dist isnt used afterwards. Also, this could fail with non uniform scale - overwriting ray casts with larger dist values.
- added an assert to check larger dist values never overwrite smaller ones.
- remove use of sasqrt() since the value is checked beforehand anyway.
2012-11-05 05:07:57 +00:00
Campbell Barton
e894549e5e revert own commit r34706 (fix for [#25801]), this causes bug [#25801].
checking on this code further it still isn't working correctly, will commit other changes next.
2012-11-05 04:38:58 +00:00
Campbell Barton
82a8556f90 style cleanup 2012-11-05 04:19:30 +00:00
Ton Roosendaal
2a8ce1f121 Bugfix #33074
In armature editmode, with mirroring, after duplication of a bone and using
the Wkey "flip names" you get a crash. Code for naming was accessing a NULL
in the bPose channel - not set until leaving editmode.

Thanks to Ben Batt for tackling the issue :)
2012-11-04 12:13:26 +00:00
Ton Roosendaal
2122eda05a Bugfix 33075
Nodes could use duplicated memory - and on free you get duplicate-free errors.
Affected texture nodes, but I suspect compositing too.

Fix found by Philipp Oeser. Thanks!
2012-11-04 11:53:13 +00:00
Campbell Barton
fae6c35ca7 code cleanup: quiet -Wdouble-promotion, disabled this warnings for a few files since its done throughout the code in some places. 2012-11-04 07:18:29 +00:00
Campbell Barton
89a454653e code cleanup: replace macro with inline function for dynamic paint. 2012-11-04 06:21:09 +00:00
Thomas Dinges
2f2c0a51a5 Fix for r51837.
* mat->nodetree is accessed regardless of whether or not the material node is in use-

Patch provided by Tamito Kajiyama, thanks!
2012-11-04 01:32:39 +00:00
Campbell Barton
9b948717b0 code cleanup: float <> double conversion. 2012-11-03 18:23:30 +00:00
Campbell Barton
25591e958d style cleanup: tabs & whitespace 2012-11-03 15:35:03 +00:00
Brecht Van Lommel
e02b23b81a Render API: shader script node for custom shaders.
* Shader script node added, which stores either a link to a text datablock or
  file on disk, and has functions to add and remove sockets.
* Callback RenderEngine.update_script_node(self, node) added for render engines
  to compile the shader and update the node with new sockets.

Thanks to Thomas, Lukas and Dalai for the implementation.
2012-11-03 14:32:26 +00:00
Bastien Montagne
c9307ec6a3 Fix for [#32992] Switching language does nothing under Windows.
Our current intl build for windows is quite old (don't know the exact version), and does not have the new setlocale overwrite. Problem is, new windows dll have no more the gettext_putenv helper, which is currently mandatory to make it work for this OS.

So back for now to the ugly long_locales for win. Best fix is probably to build our own static version of libl, but this is not trivial and will require some time. :/

PS: I had a look over i18n/translation in wxWidget, Qt and boost: all implement their own system, even though wxWidget and boost use po/mo files...
2012-11-02 20:03:15 +00:00
Campbell Barton
0a0c8a4a22 fix for own recent commit checking bounds off-by-one. 2012-11-02 12:47:32 +00:00
Campbell Barton
a31449edad all remove functions now invalidate the RNA objects passed, to help script authors to avoid bugs with accessing removed data. 2012-11-02 09:41:26 +00:00
Ton Roosendaal
09cf0fa6f3 Bugreport - Christian Krupa in irc:
Curves behaved totally bad suddenly. Caused by Campbell code cleanup, replacing
this:

	/* this is for float inaccuracy */
	if (t < knots[0])
		t = knots[0];
	else if (t > knots[opp2]) 
		t = knots[opp2];


with:

	t = (t < knots[0]) ? knots[0] : knots[opp2];

Tss!
2012-11-01 13:00:24 +00:00
Campbell Barton
4fc1a3c8b3 fix for possible buffer overflow in gpu_nodes_get_vertex_attributes() and hair_velocity_smoothing()
and a unlikely NULL pointer dereference in unlink_material_cb().
2012-11-01 09:56:18 +00:00
Campbell Barton
f213ae0b19 style cleanup 2012-11-01 09:54:00 +00:00
Campbell Barton
1bcadda46b fix [#30910] Problems: Add Shortcut(s) for "Ctrl Tab" menu
comparing keymaps was too sloppy or too strict, now sloppy keymap comparison works by setting all the operator
properties to their default values if they are not already set, then compare this with the keymap item (ignoring values missing from either one).

... this way any non default keymap setting wont match with an operator menu item which doesnt set this operator at all (a problem sighted in this bug report).


developer notes:
- IDP_EqualsProperties_ex() function adds an argument to treat missing members of either group to act as if there is a match.
- WM_operator_properties_default() function to reset RNA values to their defaults.
- add IDP_spit(), debug only function to print out ID properties.
2012-10-31 20:29:32 +00:00
Campbell Barton
26541afc8b code style: use switch for IDP_EqualsProperties() 2012-10-31 19:42:02 +00:00
Campbell Barton
c7fbeded4c add IDP_MergeGroup(dst, src, overwrite) function,
like PyDict_Merge()
2012-10-31 19:07:25 +00:00
Campbell Barton
d705c52e65 no longer use 'check_existing' to see if we need to have a save popup, instead use 'exec' operator on a saved file and
invoke on unsaved files.

correct missing memset --> CustomData_reset switch too.
2012-10-31 17:03:31 +00:00
Campbell Barton
5dfe20d87b fix for asserts caused by own recent commits to use customdata typemap. 2012-10-31 15:17:35 +00:00
Campbell Barton
b58d0e1335 fix for assert when rendering with cycles, caused by my recent commits. 2012-10-31 15:14:14 +00:00
Campbell Barton
db8b7fcabb style cleanup and correct own invalid comment. 2012-10-31 11:45:41 +00:00
Campbell Barton
c85488ff9e fix for crash in own commit r51773. drawing VBO's used the wrong origindex. 2012-10-31 11:05:32 +00:00
Campbell Barton
00b8c2afa1 style cleanup 2012-10-31 10:09:06 +00:00
Campbell Barton
12ed0c64bc make use customdata typeoffset more, add an assert to ensure its to date. 2012-10-31 09:50:24 +00:00
Campbell Barton
e8a70d4b90 fix for crash in python matrix utility functions .inverted/adjugated/transposed if the matrix has a read callback and fails.
also replace DM_get_poly_data_layer with dm->getPolyDataArray() since this is the convention in subsurf code and the functions now added.
2012-10-31 03:21:13 +00:00
Campbell Barton
00acdb6292 remove CD_POLYINDEX customdata layer:
reported as [#29376] BMESH_TODO: remove tessface CD_ORIGINDEX layer

for a single mesh there could be 3 origindex mappings stored, one on the polygons and 2 on the tessfaces.
(CD_POLYINDEX and CD_ORIGINDEX).

as Andrew suggests, now tessfaces (which are really a cache of polygons), using origindex to point to polygons on
the same derived mesh, and polygons only store the original index values.
2012-10-30 19:20:17 +00:00
Mitchell Stokes
3bf9bb3b13 BGE: Adding support for Bullet's collision masks. Each object now has a collision mask and a collision group. Object A and object B collide if object A's groups is in object B's mask and object B's group is in object A's mask. In other words, the group defines what the object is (collision wise) and the group defines what the object can collide with.
The majority of this patch was provided by Kupoman with some edits from me and heavy testing by z0r.
2012-10-30 15:44:16 +00:00
Campbell Barton
e09a1bc7cf minor changes to select similar,
- replace ngon_fake_area() with generic call to BM_face_calc_area().
- add defvert_find_shared() utility function.
2012-10-30 11:40:36 +00:00
Bastien Montagne
b4e484e211 Fix for own r51737.
Refactoring of draw code showed another problem: The MCol we want to draw may change without dm rebuild (e.g. when enabling solid textured option)! Also, choosing which MCol layer to use in GPU code is stupid, different draw modes use different layers/order of precedence!

Solved this by adding a new colType parameter to GPU_color_setup, and removing any 'color choosing' code from gpu_buffers.c.
2012-10-30 11:00:06 +00:00
Antony Riakiotakis
58f29fc9ab Fix: wrong brush drawn in image painting, image editor if uv sculpt is on. Now the correct paint struct is returned and the image zoom is calculated correctly 2012-10-29 19:47:26 +00:00
Ton Roosendaal
9efdd09578 Bugfix #33004
Screencast recording stopped on a undo/redo. This was because all thread jobs
were killed then. Now it leaves screen jobs (screen cast) running, that's 
data that doesn't change on undos.

Also renamed jobs_stop_all() to jobs_kill_all() - it terminates threads.
2012-10-29 17:41:19 +00:00
Bastien Montagne
f139377a1a Complete fix for [#33002] Wrong vertex color.
Appart from the color glitch, there was several problems with vpaint:
* "fast_update" mode was never on, because of wrong testing code;
* drawing refresh during stroke in "fast_update" (i.e. no dm rebuild) mode was broken in VBO mode, because updated (tess data) mcol wasn't moved to colors GPUBuffer.

Solved the later point by adding a new DM_DIRTY_MCOL_UPDATE_DRAW flag to DerivedMesh dirty var, which is set each time vpaint stroke directly update me->mcol, and forces GPU_color_setup() to refresh the gpu's colors buffer.

Also got rid of the uggly GPU_color3_upload(), which basically did the same thing, but with an additional intermediate buffer !
2012-10-29 16:26:18 +00:00
Campbell Barton
eb69d1c1ae style cleanup: also quiet harmless compiler warning. 2012-10-29 15:43:54 +00:00
Campbell Barton
5549904171 style cleanup 2012-10-29 02:11:40 +00:00
Lukas Toenne
5464979dfd Fix for freeing node trees that are part of other data blocks (material, world, lamp, texture, scene). These node trees were not properly freeing the IDProperty data, due to not being called from BKE_libblock_free.
Now there is an extra function BKE_libblock_free_data, which is called explicitly in ntreeFreeTree if the tree is not part of the library data (ntreeCopyTree does a similar thing using BKE_libblock_copy_data).
2012-10-28 17:09:50 +00:00