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; _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org https://lists.blender.org/mailman/listinfo/bf-blender-cvs