[Bf-blender-cvs] [10b24eabba] transform-manipulators: Merge branch 'blender2.8' into transform-manipulators

Julian Eisel noreply at git.blender.org
Sun Feb 12 21:43:33 CET 2017


Commit: 10b24eabbab0193f6944cdf3bec7b386c75d5445
Author: Julian Eisel
Date:   Sun Feb 12 21:43:13 2017 +0100
Branches: transform-manipulators
https://developer.blender.org/rB10b24eabbab0193f6944cdf3bec7b386c75d5445

Merge branch 'blender2.8' into transform-manipulators

Conflicts:
	source/blender/editors/interface/resources.c
	source/blender/editors/space_view3d/view3d_intern.h
	source/blender/editors/transform/transform_manipulator.c
	source/blender/gpu/CMakeLists.txt
	source/blender/gpu/intern/gpu_shader.c

===================================================================



===================================================================

diff --cc source/blender/editors/include/ED_transform.h
index 3dc84dacbf,898eecd3e4..f55d723968
--- a/source/blender/editors/include/ED_transform.h
+++ b/source/blender/editors/include/ED_transform.h
@@@ -102,8 -102,14 +102,8 @@@ enum TfmMode 
  #define CTX_PAINT_CURVE     (1 << 8)
  #define CTX_GPENCIL_STROKES (1 << 9)
  
 -/* Standalone call to get the transformation center corresponding to the current situation
 - * returns 1 if successful, 0 otherwise (usually means there's no selection)
 - * (if 0 is returns, *vec is unmodified)
 - * */
 -bool calculateTransformCenter(struct bContext *C, int centerMode, float cent3d[3], float cent2d[2]);
 -
  struct TransInfo;
- struct Base;
+ struct BaseLegacy;
  struct Scene;
  struct Object;
  struct wmOperator;
diff --cc source/blender/editors/interface/resources.c
index 8b8c842b2c,fbfbdb13a5..bf7fc0b8bd
--- a/source/blender/editors/interface/resources.c
+++ b/source/blender/editors/interface/resources.c
@@@ -2818,12 -2880,10 +2863,18 @@@ void init_userdef_do_versions(void
  	 */
  	{
  		for (bTheme *btheme = U.themes.first; btheme; btheme = btheme->next) {
+ 			btheme->tcollections = btheme->tv3d;
+ 			rgba_char_args_set_fl(btheme->tcollections.back,    0.42, 0.42, 0.42, 1.0);
+ 			rgba_char_args_set(btheme->tcollections.hilite, 255, 140, 25, 255);  /* selected files */
+ 		}
++
++		for (bTheme *btheme = U.themes.first; btheme; btheme = btheme->next) {
 +			rgba_char_args_set_fl(btheme->tui.xaxis, 1.0f, 0.27f, 0.27f, 1.0f); /* red */
 +			rgba_char_args_set_fl(btheme->tui.yaxis, 0.27f, 1.0f, 0.27f, 1.0f); /* green */
 +			rgba_char_args_set_fl(btheme->tui.zaxis, 0.27f, 0.27f, 1.0f, 1.0f); /* blue */
 +		}
 +		/* Flag value has changed */
 +		U.tw_flag = V3D_USE_TRANSFORM_MANIPULATORS;
  	}
  
  	if (U.pixelsize == 0.0f)
diff --cc source/blender/editors/space_view3d/view3d_draw.c
index 17622d9dbb,0427498bf4..46ffde7f67
--- a/source/blender/editors/space_view3d/view3d_draw.c
+++ b/source/blender/editors/space_view3d/view3d_draw.c
@@@ -2100,12 -2098,42 +2102,42 @@@ static void view3d_draw_view(const bCon
  #endif
  }
  
+ static void view3d_render_pass(const bContext *C, ARegion *UNUSED(ar))
+ {
+ 	Scene *scene = CTX_data_scene(C);
+ 	RenderEngineType *type = RE_engines_find(scene->r.engine); /* In the future we should get that from Layers */
+ 
+ 	if (type->flag & RE_USE_OGL_PIPELINE) {
+ 		type->view_draw(NULL, C);
+ 	}
+ 	else {
+ 		// Offline Render engine
+ 	}
+ }
+ 
+ static void view3d_draw_view_new(const bContext *C, ARegion *ar, DrawData *UNUSED(draw_data))
+ {
+ 
+ 	view3d_draw_setup_view(C, ar);
+ 
+ 	/* Only 100% compliant on new spec goes bellow */
+ 	view3d_render_pass(C, ar);
+ 
+ 	view3d_draw_grid(C, ar);
 -	view3d_draw_manipulator(C);
++	view3d_draw_manipulators(C, ar);
+ 	view3d_draw_region_info(C, ar);
+ }
+ 
+ 
  void view3d_main_region_draw(const bContext *C, ARegion *ar)
  {
+ 	Scene *scene = CTX_data_scene(C);
  	View3D *v3d = CTX_wm_view3d(C);
  	RegionView3D *rv3d = ar->regiondata;
+ 	/* TODO layers - In the future we should get RE from Layers */
+ 	RenderEngineType *type = RE_engines_find(scene->r.engine);
  
- 	if (IS_VIEWPORT_LEGACY(v3d)) {
+ 	if (IS_VIEWPORT_LEGACY(v3d) && ((type->flag & RE_USE_OGL_PIPELINE) == 0)) {
  		view3d_main_region_draw_legacy(C, ar);
  		return;
  	}
diff --cc source/blender/editors/space_view3d/view3d_intern.h
index 21a3f16c51,4b39dc4e8d..5f29e91143
--- a/source/blender/editors/space_view3d/view3d_intern.h
+++ b/source/blender/editors/space_view3d/view3d_intern.h
@@@ -46,7 -47,7 +47,8 @@@ struct bContext
  struct bMotionPath;
  struct bPoseChannel;
  struct Mesh;
+ struct SceneLayer;
 +struct wmManipulatorGroupType;
  struct wmOperatorType;
  struct wmWindowManager;
  struct wmKeyConfig;
diff --cc source/blender/editors/transform/transform_orientations.c
index c730afe9e6,67f1dc6e44..efc5517f3e
--- a/source/blender/editors/transform/transform_orientations.c
+++ b/source/blender/editors/transform/transform_orientations.c
@@@ -686,12 -584,12 +686,12 @@@ static unsigned int bm_mesh_faces_selec
  }
  #endif
  
 -int getTransformOrientation_ex(const bContext *C, float normal[3], float plane[3], const short around)
 +int getLocalTransformOrientation_ex(const bContext *C, float normal[3], float plane[3], const short around)
  {
- 	Scene *scene = CTX_data_scene(C);
+ 	SceneLayer *sl = CTX_data_scene_layer(C);
  	Object *obedit = CTX_data_edit_object(C);
  	Base *base;
- 	Object *ob = OBACT;
+ 	Object *ob = OBACT_NEW;
  	int result = ORIENTATION_NONE;
  	const bool activeOnly = (around == V3D_AROUND_ACTIVE);
  
diff --cc source/blender/gpu/CMakeLists.txt
index 76b76bb636,8709446bc7..7573985baa
--- a/source/blender/gpu/CMakeLists.txt
+++ b/source/blender/gpu/CMakeLists.txt
@@@ -148,8 -153,15 +153,16 @@@ data_to_c_simple(shaders/gpu_shader_3D_
  data_to_c_simple(shaders/gpu_shader_3D_flat_color_vert.glsl SRC)
  data_to_c_simple(shaders/gpu_shader_3D_smooth_color_vert.glsl SRC)
  data_to_c_simple(shaders/gpu_shader_3D_smooth_color_frag.glsl SRC)
+ data_to_c_simple(shaders/gpu_shader_3D_passthrough_vert.glsl SRC)
 +data_to_c_simple(shaders/gpu_shader_3D_clipped_uniform_color_vert.glsl SRC)
  
+ data_to_c_simple(shaders/gpu_shader_instance_vert.glsl SRC)
+ data_to_c_simple(shaders/gpu_shader_instance_variying_size_variying_color_vert.glsl SRC)
+ data_to_c_simple(shaders/gpu_shader_instance_screenspace_variying_color_vert.glsl SRC)
+ 
+ data_to_c_simple(shaders/gpu_shader_3D_groundline_geom.glsl SRC)
+ data_to_c_simple(shaders/gpu_shader_3D_groundpoint_vert.glsl SRC)
+ 
  data_to_c_simple(shaders/gpu_shader_point_uniform_color_frag.glsl SRC)
  data_to_c_simple(shaders/gpu_shader_point_uniform_color_smooth_frag.glsl SRC)
  data_to_c_simple(shaders/gpu_shader_point_uniform_color_outline_smooth_frag.glsl SRC)
diff --cc source/blender/gpu/gawain/immediate.h
index 23d7413aaf,db0e4af3f2..53f9e6c46e
--- a/source/blender/gpu/gawain/immediate.h
+++ b/source/blender/gpu/gawain/immediate.h
@@@ -79,9 -79,12 +79,13 @@@ void immVertex2iv(unsigned attrib_id, c
  // provide uniform values that don't change for the entire draw call
  void immUniform1i(const char* name, int x);
  void immUniform1f(const char* name, float x);
+ void immUniform2f(const char* name, float x, float y);
+ void immUniform2fv(const char* name, const float data[2]);
+ void immUniform3f(const char* name, float x, float y, float z);
+ void immUniform3fv(const char* name, const float data[3]);
  void immUniform4f(const char* name, float x, float y, float z, float w);
  void immUniform4fv(const char* name, const float data[4]);
 +void immUniformMat4(const char* name, const float data[4][4]);
  
  
  // convenience functions for setting "uniform vec4 color"
diff --cc source/blender/gpu/intern/gpu_shader.c
index 4fd8ab0d8b,cc58050dc5..295182b315
--- a/source/blender/gpu/intern/gpu_shader.c
+++ b/source/blender/gpu/intern/gpu_shader.c
@@@ -67,8 -70,15 +70,16 @@@ extern char datatoc_gpu_shader_3D_vert_
  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_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_screenspace_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_smooth_frag_glsl[];
  extern char datatoc_gpu_shader_point_uniform_color_outline_smooth_frag_glsl[];
@@@ -651,9 -691,15 +692,17 @@@ GPUShader *GPU_shader_get_builtin_shade
  		[GPU_SHADER_3D_SMOOTH_COLOR] = { datatoc_gpu_shader_3D_smooth_color_vert_glsl,
  		                                 datatoc_gpu_shader_3D_smooth_color_frag_glsl },
  		[GPU_SHADER_3D_DEPTH_ONLY] = { datatoc_gpu_shader_3D_vert_glsl, datatoc_gpu_shader_depth_only_frag_glsl },
+ 
+ 		[GPU_SHADER_3D_GROUNDPOINT] = { datatoc_gpu_shader_3D_groundpoint_vert_glsl, datatoc_gpu_shader_point_uniform_color_frag_glsl },
+ 		[GPU_SHADER_3D_GROUNDLINE] = { datatoc_gpu_shader_3D_passthrough_vert_glsl,
+ 		                               datatoc_gpu_shader_uniform_color_frag_glsl,
+ 		                               datatoc_gpu_shader_3D_groundline_geom_glsl },
 +		[GPU_SHADER_3D_CLIPPED_UNIFORM_COLOR] = { datatoc_gpu_shader_3D_clipped_uniform_color_vert_glsl,
 +		                                          datatoc_gpu_shader_uniform_color_frag_glsl },
  
+ 		[GPU_SHADER_3D_SCREENSPACE_VARIYING_COLOR] = { datatoc_gpu_shader_instance_screenspace_variying_color_vert_glsl,
+ 		                                               datatoc_gpu_shader_flat_color_frag_glsl},
+ 
  		[GPU_SHADER_2D_POINT_FIXED_SIZE_UNIFORM_COLOR] =
  			{ datatoc_gpu_shader_2D_vert_glsl, datatoc_gpu_shader_point_uniform_color_frag_glsl },
  		[GPU_SHADER_2D_POINT_VARYING_SIZE_VARYING_COLOR] =




More information about the Bf-blender-cvs mailing list