Merge remote-tracking branch 'origin/master' into blender2.8
authorDalai Felinto <dfelinto@gmail.com>
Tue, 18 Apr 2017 14:30:13 +0000 (16:30 +0200)
committerDalai Felinto <dfelinto@gmail.com>
Tue, 18 Apr 2017 14:30:13 +0000 (16:30 +0200)
30 files changed:
1  2 
build_files/build_environment/install_deps.sh
release/scripts/startup/bl_ui/space_view3d.py
source/blender/alembic/intern/abc_exporter.cc
source/blender/alembic/intern/abc_exporter.h
source/blender/alembic/intern/abc_util.cc
source/blender/alembic/intern/abc_util.h
source/blender/blenkernel/BKE_armature.h
source/blender/blenkernel/BKE_node.h
source/blender/blenkernel/intern/armature_update.c
source/blender/blenkernel/intern/node.c
source/blender/blenkernel/intern/object_dupli.c
source/blender/blenlib/CMakeLists.txt
source/blender/depsgraph/intern/builder/deg_builder_nodes.h
source/blender/depsgraph/intern/builder/deg_builder_nodes_rig.cc
source/blender/editors/curve/editcurve.c
source/blender/editors/gpencil/gpencil_paint.c
source/blender/editors/physics/physics_fluid.c
source/blender/editors/space_node/drawnode.c
source/blender/gpu/GPU_material.h
source/blender/gpu/intern/gpu_codegen.c
source/blender/gpu/intern/gpu_compositing.c
source/blender/gpu/intern/gpu_draw.c
source/blender/gpu/intern/gpu_material.c
source/blender/gpu/intern/gpu_shader.c
source/blender/gpu/shaders/gpu_shader_fx_ssao_frag.glsl
source/blender/gpu/shaders/gpu_shader_material.glsl
source/blender/makesdna/DNA_object_types.h
source/blender/makesrna/intern/rna_object.c
source/blender/makesrna/intern/rna_object_api.c
source/blenderplayer/bad_level_call_stubs/stubs.c

index ddbbf27392d94664a5d7e7620c1eddd12fbd7203,ef3196cb15dade9b7e93282769cd54519adf21f7..391f3fe79af7f997c21283b6da67da46d12332bb
@@@ -381,27 -375,13 +375,13 @@@ void AbcExporter::createTransformWriter
        }
  }
  
- void AbcExporter::createTransformWritersFlat()
- {
-       for (Base *base = static_cast<Base *>(m_settings.sl->object_bases.first); base; base = base->next) {
-               Object *ob = base->object;
-               if (export_object(&m_settings, base, false) && object_is_shape(ob)) {
-                       std::string name = get_id_name(ob);
-                       m_xforms[name] = new AbcTransformWriter(
-                                            ob, m_writer->archive().getTop(), NULL,
-                                            m_trans_sampling_index, m_settings);
-               }
-       }
- }
 -void AbcExporter::exploreTransform(EvaluationContext *eval_ctx, Object *ob, Object *parent, Object *dupliObParent)
 +void AbcExporter::exploreTransform(EvaluationContext *eval_ctx, Base *ob_base, Object *parent, Object *dupliObParent)
  {
 +      Object *ob = ob_base->object;
 +
        /* If an object isn't exported itself, its duplilist shouldn't be
         * exported either. */
 -      if (!export_object(&m_settings, ob, dupliObParent != NULL)) {
 +      if (!export_object(&m_settings, ob_base, dupliObParent != NULL)) {
                return;
        }
  
index f0e8e6b68152527585862f61e0eb196c500f2ea4,73b7af280d9c09f50821638c67d14b26d6f22b80..75a2e0074f10fd8613fcf09982331a424e8e834e
@@@ -112,12 -109,11 +112,11 @@@ private
        void getFrameSet(double step, std::set<double> &frames);
  
        void createTransformWritersHierarchy(EvaluationContext *eval_ctx);
-       void createTransformWritersFlat();
        AbcTransformWriter * createTransformWriter(Object *ob,  Object *parent, Object *dupliObParent);
 -      void exploreTransform(EvaluationContext *eval_ctx, Object *ob, Object *parent, Object *dupliObParent = NULL);
 -      void exploreObject(EvaluationContext *eval_ctx, Object *ob, Object *dupliObParent);
 +      void exploreTransform(EvaluationContext *eval_ctx, Base *ob_base, Object *parent, Object *dupliObParent);
 +      void exploreObject(EvaluationContext *eval_ctx, Base *ob_base, Object *dupliObParent);
        void createShapeWriters(EvaluationContext *eval_ctx);
 -      void createShapeWriter(Object *ob, Object *dupliObParent);
 +      void createShapeWriter(Base *ob_base, Object *dupliObParent);
  
        AbcTransformWriter *getXForm(const std::string &name);
  
Simple merge
index 771790d417a75bb70d04123434d9dd61a1be5c8d,df0bddede3b806c11a2c4d90f72cefcba8a218e1..2a34a2e941865c17ac907b68ac878d601c2b90f0
@@@ -620,7 -627,8 +620,8 @@@ void BKE_pose_eval_bone(struct Evaluati
        }
  }
  
 -void BKE_pose_constraints_evaluate(EvaluationContext *UNUSED(eval_ctx),
 +void BKE_pose_constraints_evaluate(struct EvaluationContext *UNUSED(eval_ctx),
+                                    Scene *scene,
                                     Object *ob,
                                     bPoseChannel *pchan)
  {
index 668c94bec8a49974598df4c959bc96f161512a87,eb7abc2f0046bcb35413ecbce96613c7bf571efc..9a70c42418ff58ed0bf9f5d22783351f2ed45813
  #include "BKE_editmesh.h"
  #include "BKE_anim.h"
  
 +#include "DEG_depsgraph.h"
  
  #include "BLI_strict_flags.h"
+ #include "BLI_hash.h"
  
  /* Dupli-Geometry */
  
Simple merge
index d28aaf6a10a28d1027cf065308b487e8e79a3590,745f8283328145b43ca4eb2c60428d6c47f26a60..b6279ed4217b5f1e07b3136befab22b34b69e2b0
@@@ -126,11 -126,11 +126,11 @@@ struct DepsgraphNodeBuilder 
  
        void build_scene(Main *bmain, Scene *scene);
        SubgraphDepsNode *build_subgraph(Group *group);
 -      void build_group(Scene *scene, Base *base, Group *group);
 -      void build_object(Scene *scene, Base *base, Object *ob);
 +      void build_group(Scene *scene, Group *group);
 +      void build_object(Scene *scene, Object *ob);
        void build_object_transform(Scene *scene, Object *ob);
        void build_object_constraints(Scene *scene, Object *ob);
-       void build_pose_constraints(Object *ob, bPoseChannel *pchan);
+       void build_pose_constraints(Scene *scene, Object *ob, bPoseChannel *pchan);
        void build_rigidbody(Scene *scene);
        void build_particles(Scene *scene, Object *ob);
        void build_cloth(Scene *scene, Object *object);
Simple merge
index ef23713c271e286a828aea096bd0e7f5b9dbed44,79934190cbcbcc0ccc345c395a61686dad387c49..4115c11553676e59e820f2de569983408b1659c8
@@@ -1945,8 -1981,13 +1962,13 @@@ int GPU_object_material_bind(int nr, vo
                        GPUMaterial *gpumat = GPU_material_from_blender(GMS.gscene, mat, GMS.is_opensubdiv);
                        GPU_material_vertex_attributes(gpumat, gattribs);
  
-                       if (GMS.dob)
+                       if (GMS.dob) {
                                gpu_get_particle_info(&partile_info);
 -                      if (GPU_get_material_builtins(gpumat) & GPU_OBJECT_INFO) {
+                       }
+                       
++                      if ((GPU_get_material_builtins(gpumat) & GPU_OBJECT_INFO) != 0) {
+                               GPU_get_object_info(object_info, mat);
+                       }
  
                        GPU_material_bind(
                                gpumat, GMS.gob->lay, GMS.glay, 1.0, !(GMS.gob->mode & OB_MODE_TEXTURE_PAINT),
index 737d186c950ebc73c4834faab5a8e9288804de18,b579f87698c98d747921f529d587c510bdb2cb2a..26bfd70c025b2aee1c6116fd44e8791866feb21e
  #include "BKE_global.h"
  
  #include "GPU_compositing.h"
 -#include "GPU_debug.h"
  #include "GPU_extensions.h"
 -#include "GPU_glew.h"
++#include "GPU_matrix.h"
  #include "GPU_shader.h"
- #include "GPU_uniformbuffer.h"
  #include "GPU_texture.h"
- #include "GPU_matrix.h"
 -#include "GPU_material.h"
++#include "GPU_uniformbuffer.h"
  
 -/* TODO(sergey): Find better default values for this constants. */
 -#define MAX_DEFINE_LENGTH 1024
 -#define MAX_EXT_DEFINE_LENGTH 1024
 +#include "gpu_shader_private.h"
 +
 +/* Adjust these constants as needed. */
 +#define MAX_DEFINE_LENGTH 256
 +#define MAX_EXT_DEFINE_LENGTH 256
  
  /* Non-generated shaders */
 +extern char datatoc_gpu_shader_depth_only_frag_glsl[];
 +extern char datatoc_gpu_shader_uniform_color_frag_glsl[];
 +extern char datatoc_gpu_shader_checker_frag_glsl[];
 +extern char datatoc_gpu_shader_diag_stripes_frag_glsl[];
 +extern char datatoc_gpu_shader_simple_lighting_frag_glsl[];
 +extern char datatoc_gpu_shader_simple_lighting_smooth_color_frag_glsl[];
 +extern char datatoc_gpu_shader_flat_color_frag_glsl[];
 +extern char datatoc_gpu_shader_flat_color_alpha_test_0_frag_glsl[];
 +extern char datatoc_gpu_shader_2D_vert_glsl[];
 +extern char datatoc_gpu_shader_2D_flat_color_vert_glsl[];
 +extern char datatoc_gpu_shader_2D_smooth_color_vert_glsl[];
 +extern char datatoc_gpu_shader_2D_smooth_color_frag_glsl[];
 +extern char datatoc_gpu_shader_2D_image_vert_glsl[];
 +
 +extern char datatoc_gpu_shader_3D_image_vert_glsl[];
 +extern char datatoc_gpu_shader_image_color_frag_glsl[];
 +extern char datatoc_gpu_shader_image_shuffle_color_frag_glsl[];
 +extern char datatoc_gpu_shader_image_interlace_frag_glsl[];
 +extern char datatoc_gpu_shader_image_mask_uniform_color_frag_glsl[];
 +extern char datatoc_gpu_shader_image_modulate_alpha_frag_glsl[];
 +extern char datatoc_gpu_shader_image_rect_modulate_alpha_frag_glsl[];
 +extern char datatoc_gpu_shader_image_depth_linear_frag_glsl[];
 +extern char datatoc_gpu_shader_3D_vert_glsl[];
 +extern char datatoc_gpu_shader_3D_normal_vert_glsl[];
 +extern char datatoc_gpu_shader_3D_flat_color_vert_glsl[];
 +extern char datatoc_gpu_shader_3D_smooth_color_vert_glsl[];
 +extern char datatoc_gpu_shader_3D_normal_smooth_color_vert_glsl[];
 +extern char datatoc_gpu_shader_3D_smooth_color_frag_glsl[];
 +extern char datatoc_gpu_shader_3D_passthrough_vert_glsl[];
 +extern char datatoc_gpu_shader_3D_clipped_uniform_color_vert_glsl[];
 +
 +extern char datatoc_gpu_shader_instance_vert_glsl[];
 +extern char datatoc_gpu_shader_instance_variying_size_variying_color_vert_glsl[];
 +extern char datatoc_gpu_shader_instance_objectspace_variying_color_vert_glsl[];
 +extern char datatoc_gpu_shader_instance_screenspace_variying_color_vert_glsl[];
 +extern char datatoc_gpu_shader_instance_screen_aligned_vert_glsl[];
 +extern char datatoc_gpu_shader_instance_camera_vert_glsl[];
 +extern char datatoc_gpu_shader_instance_distance_line_vert_glsl[];
 +extern char datatoc_gpu_shader_instance_edges_variying_color_geom_glsl[];
 +extern char datatoc_gpu_shader_instance_edges_variying_color_vert_glsl[];
 +
 +extern char datatoc_gpu_shader_3D_groundpoint_vert_glsl[];
 +extern char datatoc_gpu_shader_3D_groundline_geom_glsl[];
 +
 +extern char datatoc_gpu_shader_point_uniform_color_frag_glsl[];
 +extern char datatoc_gpu_shader_point_uniform_color_aa_frag_glsl[];
 +extern char datatoc_gpu_shader_point_uniform_color_outline_aa_frag_glsl[];
 +extern char datatoc_gpu_shader_point_varying_color_outline_aa_frag_glsl[];
 +extern char datatoc_gpu_shader_point_varying_color_frag_glsl[];
 +extern char datatoc_gpu_shader_3D_point_fixed_size_varying_color_vert_glsl[];
 +extern char datatoc_gpu_shader_3D_point_varying_size_vert_glsl[];
 +extern char datatoc_gpu_shader_3D_point_varying_size_varying_color_vert_glsl[];
 +extern char datatoc_gpu_shader_3D_point_uniform_size_aa_vert_glsl[];
 +extern char datatoc_gpu_shader_3D_point_uniform_size_outline_aa_vert_glsl[];
 +extern char datatoc_gpu_shader_2D_point_varying_size_varying_color_vert_glsl[];
 +extern char datatoc_gpu_shader_2D_point_uniform_size_aa_vert_glsl[];
 +extern char datatoc_gpu_shader_2D_point_uniform_size_outline_aa_vert_glsl[];
 +extern char datatoc_gpu_shader_2D_point_uniform_size_varying_color_outline_aa_vert_glsl[];
 +
 +extern char datatoc_gpu_shader_2D_line_dashed_vert_glsl[];
 +extern char datatoc_gpu_shader_2D_line_dashed_frag_glsl[];
 +
 +extern char datatoc_gpu_shader_edges_front_back_persp_vert_glsl[];
 +extern char datatoc_gpu_shader_edges_front_back_persp_geom_glsl[];
 +extern char datatoc_gpu_shader_edges_front_back_persp_legacy_vert_glsl[];
 +extern char datatoc_gpu_shader_edges_front_back_ortho_vert_glsl[];
 +extern char datatoc_gpu_shader_edges_overlay_vert_glsl[];
 +extern char datatoc_gpu_shader_edges_overlay_geom_glsl[];
 +extern char datatoc_gpu_shader_edges_overlay_simple_geom_glsl[];
 +extern char datatoc_gpu_shader_edges_overlay_frag_glsl[];
 +extern char datatoc_gpu_shader_text_vert_glsl[];
 +extern char datatoc_gpu_shader_text_frag_glsl[];
 +extern char datatoc_gpu_shader_keyframe_diamond_vert_glsl[];
 +extern char datatoc_gpu_shader_keyframe_diamond_frag_glsl[];
 +
  extern char datatoc_gpu_shader_fire_frag_glsl[];
  extern char datatoc_gpu_shader_smoke_vert_glsl[];
  extern char datatoc_gpu_shader_smoke_frag_glsl[];
index 1d92b0d7338bb2fc6e125e0d677f9c4b0984f46f,ec6a03e713dc3844eb72d073a5d33ff0c69962d9..5b6046be57cb119dd9b986244813e32106e236df
@@@ -2889,9 -2897,13 +2889,13 @@@ static void rna_def_dupli_object(Blende
        RNA_def_property_enum_items(prop, dupli_items);
        RNA_def_property_clear_flag(prop, PROP_ANIMATABLE | PROP_EDITABLE);
        RNA_def_property_ui_text(prop, "Dupli Type", "Duplicator type that generated this dupli object");
+       prop = RNA_def_property(srna, "random_id", PROP_INT, PROP_UNSIGNED);
+       RNA_def_property_clear_flag(prop, PROP_ANIMATABLE | PROP_EDITABLE);
+       RNA_def_property_ui_text(prop, "Dupli random id", "Random id for this dupli object");
  }
  
 -static void rna_def_object_base(BlenderRNA *brna)
 +static void rna_def_object_base_legacy(BlenderRNA *brna)
  {
        StructRNA *srna;
        PropertyRNA *prop;