[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