[Bf-blender-cvs] [de777ad9e69] blender2.8: Merge branch 'master' into blender2.8

Campbell Barton noreply at git.blender.org
Fri Jul 6 10:19:20 CEST 2018


Commit: de777ad9e69320500bf05d97a7d6d60ba4fd0a93
Author: Campbell Barton
Date:   Fri Jul 6 10:18:52 2018 +0200
Branches: blender2.8
https://developer.blender.org/rBde777ad9e69320500bf05d97a7d6d60ba4fd0a93

Merge branch 'master' into blender2.8

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



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

diff --cc intern/cycles/blender/blender_object.cpp
index 6d6b367209d,35bf7beda41..70d6092622a
--- a/intern/cycles/blender/blender_object.cpp
+++ b/intern/cycles/blender/blender_object.cpp
@@@ -394,9 -360,9 +394,9 @@@ Object *BlenderSync::sync_object(BL::De
  
  	if(object_map.sync(&object, b_ob, b_parent, key))
  		object_updated = true;
- 	
+ 
  	/* mesh sync */
 -	object->mesh = sync_mesh(b_ob, object_updated, hide_tris);
 +	object->mesh = sync_mesh(b_depsgraph, b_ob, b_ob_instance, object_updated, hide_tris);
  
  	/* special case not tracked by object update flags */
  
@@@ -557,13 -516,21 +557,13 @@@ static bool object_render_hide(BL::Obje
  	}
  }
  
 -static bool object_render_hide_duplis(BL::Object& b_ob)
 -{
 -	BL::Object parent = b_ob.parent();
 -
 -	return (parent && object_render_hide_original(b_ob.type(), parent.dupli_type()));
 -}
 -
  /* Object Loop */
  
 -void BlenderSync::sync_objects(float motion_time)
 +void BlenderSync::sync_objects(BL::Depsgraph& b_depsgraph, float motion_time)
  {
  	/* layer data */
 -	uint scene_layer = render_layer.scene_layer;
  	bool motion = motion_time != 0.0f;
- 	
+ 
  	if(!motion) {
  		/* prepare for sync */
  		light_map.pre_sync();
diff --cc intern/cycles/blender/blender_python.cpp
index 84b90cb53de,3eccecb8850..4c199f4838f
--- a/intern/cycles/blender/blender_python.cpp
+++ b/intern/cycles/blender/blender_python.cpp
@@@ -322,11 -327,11 +322,11 @@@ static PyObject *bake_func(PyObject * /
  
  static PyObject *draw_func(PyObject * /*self*/, PyObject *args)
  {
 -	PyObject *pysession, *pyv3d, *pyrv3d;
 +	PyObject *pysession, *pygraph, *pyv3d, *pyrv3d;
  
 -	if(!PyArg_ParseTuple(args, "OOO", &pysession, &pyv3d, &pyrv3d))
 +	if(!PyArg_ParseTuple(args, "OOOO", &pysession, &pygraph, &pyv3d, &pyrv3d))
  		return NULL;
- 	
+ 
  	BlenderSession *session = (BlenderSession*)PyLong_AsVoidPtr(pysession);
  
  	if(PyLong_AsVoidPtr(pyrv3d)) {
diff --cc intern/cycles/blender/blender_sync.cpp
index b449302241d,a08089118d5..f9e04bdef7c
--- a/intern/cycles/blender/blender_sync.cpp
+++ b/intern/cycles/blender/blender_sync.cpp
@@@ -817,10 -869,19 +817,10 @@@ SessionParams BlenderSync::get_session_
  		params.shadingsystem = SHADINGSYSTEM_SVM;
  	else if(shadingsystem == 1)
  		params.shadingsystem = SHADINGSYSTEM_OSL;
- 	
+ 
  	/* color managagement */
 -#ifdef GLEW_MX
 -	/* When using GLEW MX we need to check whether we've got an OpenGL
 -	 * context for current window. This is because command line rendering
 -	 * doesn't have OpenGL context actually.
 -	 */
 -	if(glewGetContext() != NULL)
 -#endif
 -	{
 -		params.display_buffer_linear = GLEW_ARB_half_float_pixel &&
 -		                               b_engine.support_display_space_shader(b_scene);
 -	}
 +	params.display_buffer_linear = GLEW_ARB_half_float_pixel &&
 +	                               b_engine.support_display_space_shader(b_scene);
  
  	if(b_engine.is_preview()) {
  		/* For preview rendering we're using same timeout as
diff --cc intern/cycles/device/device.h
index 31deba2d796,2400788c833..585d9802279
--- a/intern/cycles/device/device.h
+++ b/intern/cycles/device/device.h
@@@ -317,12 -304,11 +317,12 @@@ public
  	virtual void task_add(DeviceTask& task) = 0;
  	virtual void task_wait() = 0;
  	virtual void task_cancel() = 0;
- 	
+ 
  	/* opengl drawing */
 -	virtual void draw_pixels(device_memory& mem, int y, int w, int h,
 -		int dx, int dy, int width, int height, bool transparent,
 -		const DeviceDrawParams &draw_params);
 +	virtual void draw_pixels(device_memory& mem, int y,
 +	    int w, int h, int width, int height,
 +	    int dx, int dy, int dw, int dh,
 +	    bool transparent, const DeviceDrawParams &draw_params);
  
  #ifdef WITH_NETWORK
  	/* networking */
diff --cc intern/cycles/render/light.cpp
index 94072d7da09,da29e1a255a..49cfae4888b
--- a/intern/cycles/render/light.cpp
+++ b/intern/cycles/render/light.cpp
@@@ -758,15 -757,12 +758,15 @@@ void LightManager::device_update_points
  			float3 axisu = light->axisu*(light->sizeu*light->size);
  			float3 axisv = light->axisv*(light->sizev*light->size);
  			float area = len(axisu)*len(axisv);
 -			float invarea = (area > 0.0f)? 1.0f/area: 1.0f;
 +			if(light->round) {
 +				area *= -M_PI_4_F;
 +			}
 +			float invarea = (area != 0.0f)? 1.0f/area: 1.0f;
  			float3 dir = light->dir;
- 			
+ 
  			dir = safe_normalize(dir);
  
 -			if(light->use_mis && area > 0.0f)
 +			if(light->use_mis && area != 0.0f)
  				shader_id |= SHADER_USE_MIS;
  
  			klights[light_index].co[0] = co.x;



More information about the Bf-blender-cvs mailing list