Commit Graph

611 Commits

Author SHA1 Message Date
Campbell Barton
6b655ca62c Cleanup: style 2015-01-21 11:57:11 +11:00
Bastien Montagne
7a1dc20560 Cleanup: quite some harmless but noisy warnings from gcc... 2015-01-11 21:14:39 +01:00
Campbell Barton
29d2c71117 Fix for bool flag use 2015-01-07 12:08:55 +11:00
Bastien Montagne
fb7ff31315 Fix stupid handling of 'Object.matrix_local' in RNA.
The getter of this matrix (actually, `BKE_object_matrix_local_get()`) was only correct
in case of pure-object parenting, bone parenting and such did not gave valid results.

Also cleaned up a bit setter code, was using as temp storage ob->obmat itself,
which is supposed to be a world matrix!

Reviewers: campbellbarton

Reviewed By: campbellbarton

Differential Revision: https://developer.blender.org/D958
2014-12-29 15:26:38 +01:00
Gaia Clary
f78490182e partial revert ab6417aa9f was too strict 2014-12-22 13:26:35 +01:00
Gaia Clary
ab6417aa9f Fix Mesh Objects with missing textures or wrong texture path now import without texture 2014-12-08 19:57:50 +01:00
Gaia Clary
e35b4bac0a Collada Importer: Separated finding bone chains and fixing leaf bone orientations into 2 functions and added a separated import option 2014-12-01 20:31:59 +01:00
Gaia Clary
8d42c2f3ea Improved Collada Armature Import
Collada does not support Bone length. It has only Joints.
This patch tries to improve the necessary "guesswork" for
importing Rigs.

Differential Revision: https://developer.blender.org/D920
2014-12-01 12:08:26 +01:00
Bastien Montagne
19cc516f51 Refactor: Move part of vgroup handling code from ED_mesh/object_vgroup.c to BKE_object_deform.
Along with some minor cleanup and simplifications.

Reviewers: campbellbarton

Subscribers: sergey

Differential Revision: https://developer.blender.org/D903
2014-11-18 23:52:29 +01:00
Bastien Montagne
d526ef607d Cleanup: rename BKE_key_convert/update to BKE_keyblock_convert/update.
We are handling a keyblock here, not a whole key(set). Names are alreay a bit confusing,
let's be consistent at least.
2014-11-17 11:19:54 +01:00
Campbell Barton
c31f74de6b Cleanup: use BLI_listbase_count_ex to avoid redundant looping 2014-11-16 14:23:37 +01:00
Campbell Barton
7d040d2a08 Cleanup: use BLI_listbase_*** prefix for count,sort,sort_r 2014-11-16 13:57:58 +01:00
Campbell Barton
c2dc51d827 Math Lib: add transpose_m3_m3, m3_m4, m4_m4 2014-10-30 12:15:14 +01:00
gaiaclary
c0276251d2 fix T42022 Attempt to export empty set of objects resulted in an exception 2014-09-30 13:22:55 +02:00
Antony Riakiotakis
575cbf0172 Fix opencollada not compiling after recent changes. 2014-09-01 14:33:05 +02:00
gaiaclary
33a54422b1 Simplified Collada error message for unknown references. 2014-08-25 19:25:24 +02:00
gaiaclary
0fc240dadb Fix T41513 Avoid adding NULL values into object lists when lamp- and controller-instances could not be created. 2014-08-25 19:04:44 +02:00
Thomas Dinges
8bb318bf90 Fix T41528: Error message on trying to import COLLADA triangle strips is wrong
Thanks to Maarten Gribnau for the patch.
2014-08-22 02:46:29 +02:00
Campbell Barton
bba80ed7af Cleanup 2014-08-17 12:18:40 +10:00
gaiaclary
71323f0425 Intensity and color are now adjusted upon import to get correct values 2014-08-09 20:50:35 +02:00
Campbell Barton
8489b94e07 Math Lib: rename mul_serie_m3 to mul_m3_series & reorder args
Importantly, reversed mul_serie_m3 argument order (so it matches the m4 function)
2014-07-21 18:57:35 +10:00
Campbell Barton
7c7b7302d3 Math Lib: use variable length args for mul_serie_m3,m4 (instead of trailing NULL's) 2014-07-20 14:01:42 +10:00
Bastien Montagne
2af99b7437 Cleanup: silent C++11 warning (implicit double to float conversion) in Collada code. 2014-07-09 15:12:48 +02:00
Bastien Montagne
b5acd1aa87 Fix T40829: Collada Export with 'Include Material Textures' selected crashes.
Code would not check a texture did have a valid image pointer...
2014-06-28 22:13:04 +02:00
Nathan Letwory
cd14dcbe91 Don't write all uv textures, but only active uv layer.
Fix T39922
2014-05-22 12:34:47 +03:00
Campbell Barton
65d54f34b1 Code cleanup: spelling/indentation 2014-05-08 04:53:05 +10:00
Bastien Montagne
ea6fba2926 Cleanup: Remove unused variables. 2014-05-01 16:32:25 +02:00
gaiaclary
8bdac4d0bc fix T39967: Added support for Import/export of vertex color layers 2014-05-01 14:52:36 +02:00
Bastien Montagne
f0ec202099 Fix T39921: Collada export creates invalid XML when using Track To constraint
Constraints are no ID...
2014-04-27 18:44:26 +02:00
Bastien Montagne
4aea8f1085 Fix T39919: Collada export crashes blender when using a "Copy Location" constraint 2014-04-27 18:27:53 +02:00
Campbell Barton
3216e4b202 API Cleanup: Use BKE_constraint prefix for constraint api 2014-04-11 11:47:07 +10:00
Campbell Barton
617557b08e Code cleanup: remove TRUE/FALSE & WITH_BOOL_COMPAT define 2014-04-01 15:22:28 +11:00
Campbell Barton
482201d1a0 Style cleanup 2014-03-31 05:46:19 +11:00
gaiaclary
3111f08ad9 Fix T38847: Reject reuse of child bones as root bones. That doesn't make sense anyways. 2014-02-27 15:23:32 +01:00
gaiaclary
d92f6b9903 T38763 Fix: avoid NPE When no custom properties are defined 2014-02-23 15:33:10 +01:00
gaiaclary
fe5e1dd272 added support for double,float and int property values for maya restpose matrix properties 2014-02-19 13:57:52 +01:00
gaiaclary
a0c1f009bf Added Maya restpose_matrix support via custom properties to Collada exporter 2014-02-19 13:57:51 +01:00
gaiaclary
6952bf2728 T38482: Fixed the Crashing. If the same UV Layer is referenced multiple times, then the last imported data set for this UV Layer wins. 2014-02-08 13:14:58 +01:00
Jens Verwiebe
43933989a9 Fix collada compile ( kudos ti ideasman ) 2014-02-08 00:24:49 +01:00
Campbell Barton
b3afbcab8f ListBase API: add utility api funcs for clearing and checking empty 2014-02-08 06:24:05 +11:00
gaiaclary
89a846df51 Add compatibility for older Collada files
The Fix in 273 creates a backward incompatibility:
Collada files that have been created with an older Blender version
will contain the spotlight_size in Radians where Collada wants
this value to be in DEGREE.

This fix adds a check for the Blender Version that was used to create the
Collada file. If the Collada file was made by an older version of Blender
then the importer will assume that spotlight_size is specified in RADIANS.

Reviewers: campbellbarton, sauraedron

Reviewed By: sauraedron

CC: jesterking

Differential Revision: https://developer.blender.org/D279
2014-02-03 13:04:51 +01:00
gaiaclary
d291d15c19 Fix for T32843
Exported angles for spot size animation is in radians , however Collada expects it to be in degrees.
This patch is for fixing import and export, and also renaming a variable

Reviewers: gaiaclary

Reviewed By: gaiaclary

Differential Revision: https://developer.blender.org/D273
2014-01-31 09:35:00 +01:00
gaiaclary
41ee052a45 renamed unclear API parameter 2014-01-29 15:37:02 +01:00
Campbell Barton
0c6a01ca00 Use includes for blenderplayer stubs
exposes many incorrect and redundant stubs
2014-01-28 01:55:10 +11:00
Bastien Montagne
bb83bdf891 Fix T38366: export collada crash - if you set a keyframe
Don't assume all objects have a valid animdata...
2014-01-26 16:08:17 +01:00
Brecht Van Lommel
e79b244097 Fix collada and freestyle module compile errors after recent commit, forgot to
compile with those enabled.
2014-01-15 19:15:51 +01:00
Bastien Montagne
18a1e17a20 OpenCollada: Fix error in printf-format (too much arguments). 2014-01-09 20:35:20 +01:00
Sergey Sharybin
709041ed0b Threaded object update and EvaluationContext
Summary:
Made objects update happening from multiple threads. It is a task-based
scheduling system which uses current dependency graph for spawning new
tasks. This means threading happens on object level, but the system is
flexible enough for higher granularity.

Technical details:

- Uses task scheduler which was recently committed to trunk
  (that one which Brecht ported from Cycles).

- Added two utility functions to dependency graph:
  * DAG_threaded_update_begin, which is called to  initialize threaded
    objects update. It will also schedule root DAG node to the queue,
    hence starting evaluation process.

    Initialization will calculate how much parents are to be evaluation
    before current DAG node can be scheduled. This value is used by task
    threads for faster detecting which nodes might be scheduled.

  * DAG_threaded_update_handle_node_updated which is  called from task
    thread function when node was fully handled.

	This function decreases num_pending_parents of node children and
	schedules children with zero valency.

    As it might have become clear, task thread receives DAG nodes and
    decides which callback to call for it.

    Currently only BKE_object_handle_update is called for object nodes.

    In the future it'll call node->callback() from Ali's new DAG.

- This required adding some workarounds to the render pipeline.
  Mainly to stop using get_object_dm() from modifiers' apply callback.
  Such a call was only a workaround for dependency graph glitch when
  rendering scene with, say, boolean modifiers before displaying
  this scene.

  Such change moves workaround from one place to another, so overall
  hackentropy remains the same.

- Added paradigm of EvaluaitonContext. Currently it's more like just a
  more reliable replacement for G.is_rendering which fails in some
  circumstances.

  Future idea of this context is to also store all the local data needed
  for objects evaluation such as local time, Copy-on-Write data and so.

  There're two types of EvaluationContext:

  * Context used for viewport updated and owned by Main. In the future
    this context might be easily moved to Window or Screen to allo
    per-window/per-screen local time.

  * Context used by render engines to evaluate objects for render purposes.
    Render engine is an owner of this context.

  This context is passed to all object update routines.

Reviewers: brecht, campbellbarton

Reviewed By: brecht

CC: lukastoenne

Differential Revision: https://developer.blender.org/D94
2013-12-26 17:24:42 +06:00
Campbell Barton
a5606fadbb Code Cleanup: remove object arg to CDDM_from_mesh mesh_create_derived 2013-12-26 08:27:08 +11:00
Jens Verwiebe
6e88e3eda4 Fix compile after last commit, casting to (bArmature *), kudos to JesterKing 2013-12-17 14:14:03 +01:00