Commit Graph

2054 Commits

Author SHA1 Message Date
Campbell Barton 57004cfb5a style cleanup:
also add helper makefile targets:
* tbz - makes a tar.bz2 of an svn export
* test_style_qtc - outputs style checks in qtc task format.
2012-10-10 23:44:07 +00:00
Daniel Genrich cb634b9100 Google Summer of Code project: "Smoke Simulator Improvements & Fire".
Documentation & Test blend files:
------------------
http://wiki.blender.org/index.php/User:MiikaH/GSoC-2012-Smoke-Simulator-Improvements

Credits:
------------------
Miika Hamalainen (MiikaH): Student / Main programmer

Daniel Genrich (Genscher): Mentor / Programmer of merged patches from Smoke2 branch
Google: For Google Summer of Code 2012
2012-10-10 13:18:07 +00:00
Ove Murberg Henriksen 495e3f3f36 Its silly to use "verify index" because it will add non existing and remove them afterwards. 2012-10-10 08:50:56 +00:00
Ove Murberg Henriksen 89969a07f0 Changing clear weight code from "assigning 0" to "removing".
Its less efficient but better practice.
+ Some style clean.
2012-10-10 08:29:13 +00:00
Campbell Barton a17e1eea23 refactor foreachScreen functions for clipping, now the projection clipping flag is passed down directly rather then converting the enum into a flag, also fix own recent crash lasso seleting in object mode with pose objects. 2012-10-10 04:03:22 +00:00
Campbell Barton 22bf1e13db code cleanup: split foreach object data iterator functions out of drawobject.c (since they are used for selection too), into their own file: object_iterators.c 2012-10-10 03:13:02 +00:00
Campbell Barton c3ca19800c refactor screen foreach functions to accept float[2] arguments rather then int pairs.
overall means less converting between float and int (and short in some cases).
2012-10-10 01:22:19 +00:00
Campbell Barton d81d75b20d transfer weight's now operates on selected vertices (when vertex select is enabled). 2012-10-09 22:55:05 +00:00
Campbell Barton 35504d627b style cleanup: also made functions static 2012-10-09 12:41:37 +00:00
Ove Murberg Henriksen cb42de588d Adding weightpaint transfer tool.
From: https://svn.blender.org/svnroot/bf-blender/branches/meshdata_transfer

Bachelor project at Narvik university collage (Norway).
By Ove M Henriksen (Cyborgmuppet)
 
Thesis will be published at Cyborgmuppets blender page.

Thanks for letting me participate!
2012-10-09 12:25:10 +00:00
Ove Murberg Henriksen ec689d650d Fix based on code review Issue 6347064 2012-10-09 11:29:29 +00:00
Campbell Barton 8730b390fb patch [#31919] limit the number of bone deform weights per vertex. Many game engines require a limit of 4.
from Kesten Broughton (kestion)


Usage: In weight paint mode, select the mesh to have its weights culled. Click on "Limit Weights" button. A sub-panel will appear "Limit Number of Vertex Weights" with a slider field "Limit" which you can set to the appropriate level. The default level is 4, and it gets executed upon pressing "Limit Weights" so you will need to do an "undo" if your max bone limit is above 4. The checkbox "All Deform Weights" will consider all vertex weights, not just bone deform weights.
2012-10-09 10:56:35 +00:00
Ove Murberg Henriksen 7247af6af5 svn merge ^/trunk/blender -r48592:HEAD 2012-10-09 10:53:20 +00:00
Bastien Montagne 6536e2d01a And more UI messages fixes... 2012-10-08 21:03:35 +00:00
Campbell Barton 657fc4f474 code cleanup: de-duplicate enum. 2012-10-05 15:48:39 +00:00
Campbell Barton db70bfc206 code cleanup: use functions to initialize selection user data structs, use radius-squared for circle select comparisons.
edge_fully_inside_rect() & edge_inside_rect() args were shorts when all callers were passing ints.
2012-10-05 15:44:11 +00:00
Joshua Leung d3cdaca648 Code cleanup
* Added/fixed some comments
* Swapped order that invoke/exec calls are defined in the operator definitions
to reflect flow better
2012-10-05 14:56:04 +00:00
Joshua Leung b2a5f28421 Follow Path Constraint - "Animate Path" Operator
Added a convenience operator to the Follow Path constraint which adds a F-Curve
for the path (or the operator's "fixed position" value if no path is assigned),
with options for setting the start frame and length of motion. This makes it
easier for common users to just set up a quick follow-path animation where the
camera (e.g. flying around a set over certain number of frames).

A key advantage of this is that it takes care of the underlying math required
for setting up the generator curve accordingly (I've got some plans for making
this a bit friendlier to use later). Now, animating the paths is a one-click
operation, with the start and length properties able to be controlled using the
operator properties.
2012-10-05 14:51:35 +00:00
Bastien Montagne 00ce0c9aae Clean up in "add object" code:
* Get rid of ED_object_add_generic_invoke() and all invoke callbacks using it, it was doing nothing exec() callbacks would not do. In fact, its only action (setting part of common add ops properties, like loc, layers, etc.) was needed too by direct exec call, so it was done twice in case of using invoke()!
* Replace custom invoke code for metaballs by WM_menu_invoke helper (as already used by lamps).
* Add a new OBJECT_OT_empty_add op, to allow direct addition of empties of a given drawtype.
* And some general code cleanup (like trailing spaces, empty lines, ...).

Did quite a bunch of tests/verifications, but obviously could not tackle all possible scenarios... Anyway, if any, bugs should arize quite quickly (but I don’t expect any! :p ).
2012-10-05 12:59:09 +00:00
Bastien Montagne a320773b88 Some effect-less code cleanup... 2012-10-05 07:05:52 +00:00
Brecht Van Lommel fedc8e1722 Cycles: add "From Dupli" option for texture coordinate node. This gets the
Generated and UV coordinates from the duplicator of instance instead of the
object itself.

This was used in e.g. Big Buck Bunny for texturing instanced feathers with
a UV map on the bird. Many files changed, mainly to do some refactoring to
get rid of G.rendering global in duplilist code.
2012-10-04 21:40:39 +00:00
Bastien Montagne 872cc0c4c0 Kind of cleanup of "menu strings": always have a space between the entry's label and value (these strings are a nightmare to handle in RTL languages like arabic or persian, but a bit less of a nightmare this way ;) ). 2012-10-04 13:59:14 +00:00
Campbell Barton df298490b8 mask data is no longer automatically added when sculpting (except when there is a multi-res modifier). 2012-10-01 05:19:57 +00:00
Sergey Sharybin c1abde5935 Fix #32667: Curve softbodies doesn't render animation (cycles)
Issue was caused by cycles being duplicated curve objects before converting
them to mesh. This duplication will loose pointcache which resulted in object
not being properly deformed.
2012-09-27 14:37:20 +00:00
Campbell Barton d4e40b5230 fix [#32616] Changing parent does not keep transformation
add an option to apply the transform of an object when re-parenting.

the reason for this is you dont always want to apply transform because...
- your object may be driven/animated and the transformation will be lost.
- with negative scales and rotation it can end up giving odd/not-useful results.
2012-09-27 12:24:38 +00:00
Campbell Barton aa49ca25d5 incorrect spelling in comments 2012-09-26 20:05:38 +00:00
Campbell Barton 2a0649d61d fix [#32635] no viewport update when link and object to a scene
also comment unused static RNA functions.
2012-09-23 23:44:10 +00:00
Campbell Barton c574419049 fix for crashes caused by mixups when adding objects when incompatible object types were already in editmode. 2012-09-23 07:18:50 +00:00
Campbell Barton 7d1a36f8f4 fix for crash backing in background mode. 2012-09-23 06:38:09 +00:00
Brecht Van Lommel 5205927892 Fix #32596: bones in armature created from skin modifier have wrong envelope
values.
2012-09-20 00:53:25 +00:00
Campbell Barton 0d5d2146eb code cleanup: make shape key api names consistent with our new convention. 2012-09-19 10:12:07 +00:00
Campbell Barton d3737de8c2 fix for a strange linking error where set_property() in source/blender/blenkernel/intern/property.c would get mixed up with an X11 function of the same name. it crashed blender loading on my system.
Give functions in property.c more unique names.
2012-09-18 04:35:30 +00:00
Sergey Sharybin a73dd3476e Color Management, Stage 2: Switch color pipeline to use OpenColorIO
Replace old color pipeline which was supporting linear/sRGB color spaces
only with OpenColorIO-based pipeline.

This introduces two configurable color spaces:

- Input color space for images and movie clips. This space is used to convert
  images/movies from color space in which file is saved to Blender's linear
  space (for float images, byte images are not internally converted, only input
  space is stored for such images and used later).

  This setting could be found in image/clip data block settings.

- Display color space which defines space in which particular display is working.

  This settings could be found in scene's Color Management panel.

When render result is being displayed on the screen, apart from converting image
to display space, some additional conversions could happen.

This conversions are:

- View, which defines tone curve applying before display transformation.
  These are different ways to view the image on the same display device.
  For example it could be used to emulate film view on sRGB display.

- Exposure affects on image exposure before tone map is applied.

- Gamma is post-display gamma correction, could be used to match particular
  display gamma.

- RGB curves are user-defined curves which are applying before display
  transformation, could be used for different purposes.

All this settings by default are only applying on render result and does not
affect on other images. If some particular image needs to be affected by this
transformation, "View as Render" setting of image data block should be set to
truth. Movie clips are always affected by all display transformations.

This commit also introduces configurable color space in which sequencer is
working. This setting could be found in scene's Color Management panel and
it should be used if such stuff as grading needs to be done in color space
different from sRGB (i.e. when Film view on sRGB display is use, using VD16
space as sequencer's internal space would make grading working in space
which is close to the space using for display).

Some technical notes:

- Image buffer's float buffer is now always in linear space, even if it was
  created from 16bit byte images.

- Space of byte buffer is stored in image buffer's rect_colorspace property.

- Profile of image buffer was removed since it's not longer meaningful.

- OpenGL and GLSL is supposed to always work in sRGB space. It is possible
  to support other spaces, but it's quite large project which isn't so
  much important.

- Legacy Color Management option disabled is emulated by using None display.
  It could have some regressions, but there's no clear way to avoid them.

- If OpenColorIO is disabled on build time, it should make blender behaving
  in the same way as previous release with color management enabled.

More details could be found at this page (more details would be added soon):
http://wiki.blender.org/index.php/Dev:Ref/Release_Notes/2.64/Color_Management

--
Thanks to Xavier Thomas, Lukas Toene for initial work on OpenColorIO
integration and to Brecht van Lommel for some further development and code/
usecase review!
2012-09-15 10:05:07 +00:00
Campbell Barton 77ed2d8ca9 code cleanup: remove paranoid NULL checks (these cases would crash earlier of the vars were in fact NULL) 2012-09-15 06:29:32 +00:00
Campbell Barton e75f5c8208 quiet -Wmissing-prototypes warnings, and enable this warning by default for C with gcc.
helps for finding unused functions and making functions static, also did some minor code cleanup.
2012-09-15 01:52:28 +00:00
Campbell Barton f66d11cf77 fix for missing NULL check in own recent commit, thanks Gaia for pointing this out. 2012-09-12 23:19:08 +00:00
Campbell Barton 9a07bd78fc add clarification, without this the tool reads as if it makes the radius of each selected vertex equal. 2012-09-12 06:31:26 +00:00
Campbell Barton 0ee9075e48 fix memory leak when baking feedback loop detected. 2012-09-12 03:11:29 +00:00
Campbell Barton aa2d84da37 style cleanup:
also remove some redundant conversions int -> short -> int
2012-09-09 00:00:21 +00:00
Campbell Barton 774cc0ab16 fix [#30063] Weight Paint + Pose Mode: [m] key does not toggle Face Selection Masking
disallow some pose operators when weight paint mode is enabled.
2012-09-06 23:10:01 +00:00
Campbell Barton 99fcec3334 fix [#29431] "Normalize All" from Weight Tools don't work correctly 2012-09-05 04:16:09 +00:00
Campbell Barton dbdd1bb4f2 remove vertex groups from a mesh or lattice when this there are no remaining vertex groups. This was dont in edit-mode but not object-mode. 2012-09-03 00:02:13 +00:00
Brecht Van Lommel 78c181fafc Fix part of #32376: mirror vertex groups with flip group names did not keep
the same vertex group active.
2012-08-31 13:43:56 +00:00
Joshua Leung aa17fc367b Bugfix [#32410] Create New Group (CTRL+G) tried to activate even when nothing is
selected

Some group operators were missing poll() callbacks
2012-08-26 08:03:31 +00:00
Campbell Barton dd21def25d fixed [#32373] Copy Vertex Group operator copies any value as full 1.0 2012-08-21 15:57:59 +00:00
Nicholas Bishop 526d0be9bf Fix crash when adding skin modifier to empty mesh
Fixes bug [#32362] SIGSEGV when adding skin modifier to empty mesh
projects.blender.org/tracker/?func=detail&atid=498&aid=32362&group_id=9
2012-08-19 17:13:45 +00:00
Nicholas Bishop 33fa436447 Fix incorrect error test when removing a modifier
r49989 had the test reversed
2012-08-18 19:01:37 +00:00
Nicholas Bishop 4301df952e Fix reversed names in modifier-remove error report 2012-08-18 18:54:05 +00:00
Campbell Barton 27b4b45543 utility functions: BLI_findptr, BLI_rfindptr --- use for finding an item in a linked list by a pointer. 2012-08-18 16:16:13 +00:00
Campbell Barton e982e9b04f fix [#32353] 'Focus'(center) applied on a rig should only take visible bones into account 2012-08-18 14:27:48 +00:00