Commit Graph

587 Commits

Author SHA1 Message Date
Nathan Letwory
cd14dcbe91 Don't write all uv textures, but only active uv layer.
Fix T39922
2014-05-22 12:34:47 +03:00
65d54f34b1 Code cleanup: spelling/indentation 2014-05-08 04:53:05 +10:00
ea6fba2926 Cleanup: Remove unused variables. 2014-05-01 16:32:25 +02:00
8bdac4d0bc fix T39967: Added support for Import/export of vertex color layers 2014-05-01 14:52:36 +02:00
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
4aea8f1085 Fix T39919: Collada export crashes blender when using a "Copy Location" constraint 2014-04-27 18:27:53 +02:00
3216e4b202 API Cleanup: Use BKE_constraint prefix for constraint api 2014-04-11 11:47:07 +10:00
617557b08e Code cleanup: remove TRUE/FALSE & WITH_BOOL_COMPAT define 2014-04-01 15:22:28 +11:00
482201d1a0 Style cleanup 2014-03-31 05:46:19 +11:00
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
d92f6b9903 T38763 Fix: avoid NPE When no custom properties are defined 2014-02-23 15:33:10 +01:00
fe5e1dd272 added support for double,float and int property values for maya restpose matrix properties 2014-02-19 13:57:52 +01:00
a0c1f009bf Added Maya restpose_matrix support via custom properties to Collada exporter 2014-02-19 13:57:51 +01:00
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
43933989a9 Fix collada compile ( kudos ti ideasman ) 2014-02-08 00:24:49 +01:00
b3afbcab8f ListBase API: add utility api funcs for clearing and checking empty 2014-02-08 06:24:05 +11:00
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
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
41ee052a45 renamed unclear API parameter 2014-01-29 15:37:02 +01:00
0c6a01ca00 Use includes for blenderplayer stubs
exposes many incorrect and redundant stubs
2014-01-28 01:55:10 +11:00
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
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
18a1e17a20 OpenCollada: Fix error in printf-format (too much arguments). 2014-01-09 20:35:20 +01:00
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
a5606fadbb Code Cleanup: remove object arg to CDDM_from_mesh mesh_create_derived 2013-12-26 08:27:08 +11:00
6e88e3eda4 Fix compile after last commit, casting to (bArmature *), kudos to JesterKing 2013-12-17 14:14:03 +01:00
f5076d54cb 'Transform' Python Function for armature, curve and lattice.
patch by Paolo Acampora with some edits.
2013-12-17 23:04:36 +11:00
fe81ac0e4e Fix T37753: encapsulated the creation of the source ID into one function to ensure the id is always created correctly 2013-12-09 23:18:01 +01:00
46eef60d93 Cleanup: Internal degrees removal.
This patch changes most of the reamining degrees usage in internal code into radians.
I let a few which I know off asside, for reasons explained below - and I'm not sure to have found out all of them.

WARNING: this introduces forward incompatibility, which means files saved from this version won't open 100% correctly
         in previous versions (a few angle properties would use radians values as degrees...).

Details:
- Data:
-- Lamp.spotsize: Game engine exposed this setting in degrees, to not break the API here I kept it as such
                  (using getter/setter functions), still using radians internally.
-- Mesh.smoothresh: Didn't touch to this one, as we will hopefully replace it completely by loop normals currently in dev.

- Modifiers:
-- EdgeSplitModifierData.split_angle, BevelModifierData.bevel_angle: Done.

- Postprocessing:
-- WipeVars.angle (sequencer's effect), NodeBokehImage.angle, NodeBoxMask.rotation, NodeEllipseMask.rotation: Done.

- BGE:
-- bConstraintActuator: Orientation type done (the minloc[0] & maxloc[0] cases). Did not touch to 'limit location' type,
                        it can also limit rotation, but it exposes through RNA the same limit_min/limit_max, which hence
                        can be either distance or angle values, depending on the mode. Will leave this to BGE team.
-- bSoundActuator.cone_outer_angle_3d, bSoundActuator.cone_inner_angle_3d: Done (note I kept degrees in BGE itself,
                                                                           as it seems this is the expected value here...).
-- bRadarSensor.angle: Done.

Reviewers: brecht, campbellbarton, sergey, gaiaclary, dfelinto, moguri, jbakker, lukastoenne, howardt

Reviewed By: brecht, campbellbarton, sergey, gaiaclary, moguri, jbakker, lukastoenne, howardt
Thanks to all!

Differential Revision: http://developer.blender.org/D59
2013-12-03 20:35:45 +01:00
69e9927b6c Cleanup: remove deprecated old Lamp.shadspotsize from code.
Was not used anymore, except in Collada import/export, but without any conversion code.
Suggested by Brecht in comments of D59.
2013-12-01 11:25:11 +01:00
a9e0f3364f Fix collada after git switch ( undefined build_commit_time ) 2013-11-15 18:38:06 +01:00
927dea436e Further tweaks to buildinfo
Summary:
Old idea with changes since previous release tag
didn't work good enough. In most of the cases tag
was done in a branch hence not actually reachable
from the master branch.

Now change since release is gone, and date of
the latest commit is used instead.

The date is displayed in format YYYY-MM-DD HH:mm
in the splash.

New bpy.app fields:

- build_commit_timestamp is an unix timestamp of
  the commit blender was build from.
- build_commit_date is a date of that commit.
- build_commit_time is a time of that commit.

Reviewers: campbellbarton

Differential Revision: http://developer.blender.org/D5
2013-11-15 18:05:27 +06:00
2010c6ad6c Made buildinfo aware of builds from GIT
- Use commit number since last annotated tag as a
  revision number replacement. It'll eb followed
  by 'M' symbol if there're local modification in
  the source tree.

- Commit short SHA1 is included. Helps getting
  information about commit used to build blender
  with much faster.

- If build is not done from master branch, this also
  will be noticed in the splash screen.

This commit also replaces revision stored in the
files with git-specific fields (change and hash).
This is kind of breaks compatibility, meaning
files which were saved before this change wouldn't
display any information about which revision they
were saved with. When we'll finally switch to git,
we'll see proper hash and change number since
previous release in the files, for until then
svn version will be used as a change number and
hash will be empty.

Not a huge deal, since this field was only used
by developers to help torubleshooting things and
isn't needed for blender itself.

Some additional tweaks are probably needed :)
2013-11-04 13:21:39 +00:00
beae4f498d code cleanup: spelling 2013-10-31 14:10:01 +00:00
055b65d6ba (Due to a change in function call) Added default triangulation method for Collada exporter 2013-10-29 10:49:44 +00:00
f9ab1df564 Fix collada compile, too less arguments 2013-10-29 10:13:49 +00:00
c819fd4ee0 Changed some labels from Second Life to OpenSim 2013-10-03 14:24:54 +00:00
52e12dca6a Added new file that contains the sha1 hash key of the currently to be used OpenCollada libraries 2013-09-30 21:11:20 +00:00
aa8488421f style cleanup: whitespace & odd indentation 2013-09-21 10:46:58 +00:00
Nathan Letwory
1d936a1074 Ensure positions can be read for sources that have stride
defined as 2 (2D coordinates).
2013-09-19 21:59:22 +00:00
f6b37f34ec code cleanup:
- add missing headers from cmake (own omission)
- quiet rna_test.c unused define warnings.
- minor style edits
- spelling corrections and ignore all uppercase words with spell checking script.
2013-09-05 19:56:49 +00:00
Nathan Letwory
76aa5dfb70 Apply patch [#36601].
Submitted by Saurabh Wankhade (sauraedron).

This patch adds camera shift and dof export and import in a Blender profile.
2013-09-05 06:58:27 +00:00
3741a588bc Fix 36505: Collada exporter crashes Blender when exporting to locked file 2013-08-24 09:51:05 +00:00
9843170f4b * Compile fix for r59395, 'move bmesh tools into their own include'. 2013-08-23 11:16:52 +00:00
ab777e957c fix(Collada): wrong usage of the set attribute with multiple UV sets 2013-08-02 15:58:11 +00:00
f7169cd47d fix: [#36148] Collada instance nodes are not scaled properly during import 2013-07-30 12:18:24 +00:00
5c69338fe6 apply world matrix only to armature, Bones and children get it implicit via parenting 2013-07-30 11:10:04 +00:00
90eec89125 Collada: renamed size_mat to scale_mat for clarity. removed obsolete variable definition 2013-07-30 07:32:37 +00:00
8140f56575 Collada: unit converter was not initialized for ArmatureImporter 2013-07-30 07:22:40 +00:00
a5cc8f2c92 Collada: Optimize Scale to scene. Only need to scale the root objects of a hierarchy 2013-07-29 22:15:04 +00:00