[Bf-blender-cvs] [982d045] testbuild: Terrible consequencer: commit to test requested feature by gooseberryteam.
Antony Riakiotakis
noreply at git.blender.org
Tue Sep 2 19:29:26 CEST 2014
Commit: 982d045e624201b4028186971189caa17cacff74
Author: Antony Riakiotakis
Date: Tue Sep 2 19:28:19 2014 +0200
Branches: testbuild
https://developer.blender.org/rB982d045e624201b4028186971189caa17cacff74
Terrible consequencer: commit to test requested feature by gooseberryteam.
===================================================================
M SConstruct
M intern/cycles/blender/addon/presets.py
M intern/cycles/bvh/bvh.cpp
M intern/cycles/kernel/kernel_path.h
M intern/cycles/kernel/kernel_path_volume.h
M intern/cycles/render/integrator.cpp
M intern/cycles/util/util_cache.h
M release/datafiles/prvicons_update.py
M release/scripts/freestyle/modules/parameter_editor.py
M release/scripts/presets/cycles/integrator/direct_light.py
M release/scripts/presets/cycles/integrator/full_global_illumination.py
M release/scripts/presets/cycles/integrator/limited_global_illumination.py
M release/scripts/startup/bl_ui/space_sequencer.py
M release/scripts/startup/bl_ui/space_time.py
M source/blender/blenkernel/BKE_curve.h
M source/blender/blenkernel/BKE_lattice.h
M source/blender/blenkernel/BKE_mball.h
M source/blender/blenkernel/BKE_mesh.h
M source/blender/blenkernel/BKE_object.h
M source/blender/blenkernel/BKE_screen.h
M source/blender/blenkernel/intern/brush.c
M source/blender/blenkernel/intern/cdderivedmesh.c
M source/blender/blenkernel/intern/curve.c
M source/blender/blenkernel/intern/lattice.c
M source/blender/blenkernel/intern/material.c
M source/blender/blenkernel/intern/mball.c
M source/blender/blenkernel/intern/mesh.c
M source/blender/blenkernel/intern/object.c
M source/blender/blenkernel/intern/screen.c
M source/blender/blenkernel/intern/subsurf_ccg.c
M source/blender/blenloader/intern/readfile.c
M source/blender/bmesh/intern/bmesh_opdefines.c
M source/blender/bmesh/intern/bmesh_operators.c
M source/blender/bmesh/operators/bmo_connect.c
M source/blender/bmesh/operators/bmo_connect_pair.c
M source/blender/collada/SkinInfo.cpp
M source/blender/editors/armature/armature_add.c
M source/blender/editors/curve/editcurve.c
M source/blender/editors/gpencil/drawgpencil.c
M source/blender/editors/gpencil/gpencil_edit.c
M source/blender/editors/include/ED_armature.h
M source/blender/editors/include/ED_curve.h
M source/blender/editors/include/ED_gpencil.h
M source/blender/editors/include/ED_lattice.h
M source/blender/editors/include/ED_mball.h
M source/blender/editors/include/ED_mesh.h
M source/blender/editors/include/ED_object.h
M source/blender/editors/include/UI_interface.h
M source/blender/editors/include/UI_view2d.h
M source/blender/editors/interface/interface_handlers.c
M source/blender/editors/interface/view2d.c
M source/blender/editors/interface/view2d_ops.c
M source/blender/editors/mesh/editmesh_tools.c
M source/blender/editors/mesh/mesh_data.c
M source/blender/editors/metaball/mball_edit.c
M source/blender/editors/object/object_add.c
M source/blender/editors/object/object_bake_api.c
M source/blender/editors/object/object_lattice.c
M source/blender/editors/object/object_lod.c
M source/blender/editors/object/object_transform.c
M source/blender/editors/sculpt_paint/paint_image_proj.c
M source/blender/editors/sculpt_paint/paint_stroke.c
M source/blender/editors/space_clip/clip_ops.c
M source/blender/editors/space_graph/graph_buttons.c
M source/blender/editors/space_image/image_ops.c
M source/blender/editors/space_sequencer/sequencer_draw.c
M source/blender/editors/space_sequencer/sequencer_edit.c
M source/blender/editors/space_sequencer/sequencer_intern.h
M source/blender/editors/space_sequencer/sequencer_ops.c
M source/blender/editors/space_sequencer/sequencer_select.c
M source/blender/editors/space_text/text_draw.c
M source/blender/editors/space_view3d/drawmesh.c
M source/blender/editors/space_view3d/view3d_edit.c
M source/blender/freestyle/intern/python/Iterator/BPy_Interface0DIterator.cpp
M source/blender/freestyle/intern/python/Iterator/BPy_StrokeVertexIterator.cpp
M source/blender/freestyle/intern/stroke/StrokeIterators.h
M source/blender/freestyle/intern/view_map/Interface0D.h
M source/blender/gpu/intern/gpu_buffers.c
M source/blender/gpu/shaders/gpu_shader_material.glsl
M source/blender/makesdna/DNA_sequence_types.h
M source/blender/makesrna/intern/rna_curve_api.c
M source/blender/makesrna/intern/rna_lattice_api.c
M source/blender/makesrna/intern/rna_mesh_api.c
M source/blender/makesrna/intern/rna_meta_api.c
M source/blender/modifiers/intern/MOD_array.c
M source/blender/render/intern/source/bake_api.c
M source/blender/windowmanager/wm_event_types.h
M source/blenderplayer/bad_level_call_stubs/stubs.c
M source/creator/CMakeLists.txt
M source/creator/creator_launch_win.c
===================================================================
diff --git a/SConstruct b/SConstruct
index 0c398f8..c74caa2 100644
--- a/SConstruct
+++ b/SConstruct
@@ -848,7 +848,7 @@ if 'blender' in B.targets or not env['WITH_BF_NOBLENDER']:
lenv.Append(LINKFLAGS = env['PLATFORM_LINKFLAGS'])
targetpath = B.root_build_dir + '/blender'
launcher_obj = [env.Object(B.root_build_dir + 'source/creator/creator/creator_launch_win', ['#source/creator/creator_launch_win.c'])]
- env.BlenderProg(B.root_build_dir, 'blender', [launcher_obj] + B.resources, [], [], 'blender')
+ env.BlenderProg(B.root_build_dir, 'blender', [launcher_obj] + B.resources, ['bf_utfconv'] + thesyslibs, [B.root_build_dir+'/lib'] + thelibincs, 'blender')
env.BlenderProg(B.root_build_dir, blender_progname, creob + mainlist + thestatlibs + dobj, thesyslibs, [B.root_build_dir+'/lib'] + thelibincs, 'blender')
if env['WITH_BF_PLAYER']:
@@ -1137,8 +1137,10 @@ if env['OURPLATFORM'] in ('win32-vc', 'win32-mingw', 'win64-vc', 'linuxcross'):
if env['WITH_BF_PYTHON']:
if env['BF_DEBUG']:
dllsources.append('${BF_PYTHON_LIBPATH}/${BF_PYTHON_DLL}_d.dll')
+ dllsources.append('${BF_PYTHON_LIBPATH}/sqlite3_d.dll')
else:
dllsources.append('${BF_PYTHON_LIBPATH}/${BF_PYTHON_DLL}.dll')
+ dllsources.append('${BF_PYTHON_LIBPATH}/sqlite3.dll')
if env['WITH_BF_ICONV']:
if env['OURPLATFORM'] == 'win64-vc':
diff --git a/intern/cycles/blender/addon/presets.py b/intern/cycles/blender/addon/presets.py
index 9991fdb..84be09a 100644
--- a/intern/cycles/blender/addon/presets.py
+++ b/intern/cycles/blender/addon/presets.py
@@ -37,6 +37,7 @@ class AddPresetIntegrator(AddPresetBase, Operator):
"cycles.diffuse_bounces",
"cycles.glossy_bounces",
"cycles.transmission_bounces",
+ "cycles.volume_bounces",
"cycles.transparent_min_bounces",
"cycles.transparent_max_bounces"
]
diff --git a/intern/cycles/bvh/bvh.cpp b/intern/cycles/bvh/bvh.cpp
index 3c0c5c0..15bd814 100644
--- a/intern/cycles/bvh/bvh.cpp
+++ b/intern/cycles/bvh/bvh.cpp
@@ -103,18 +103,30 @@ bool BVH::cache_read(CacheData& key)
if(Cache::global.lookup(key, value)) {
cache_filename = key.get_filename();
- value.read(pack.root_index);
- value.read(pack.SAH);
-
- value.read(pack.nodes);
- value.read(pack.object_node);
- value.read(pack.tri_woop);
- value.read(pack.prim_type);
- value.read(pack.prim_visibility);
- value.read(pack.prim_index);
- value.read(pack.prim_object);
- value.read(pack.is_leaf);
-
+ if(!(value.read(pack.root_index) &&
+ value.read(pack.SAH) &&
+ value.read(pack.nodes) &&
+ value.read(pack.object_node) &&
+ value.read(pack.tri_woop) &&
+ value.read(pack.prim_type) &&
+ value.read(pack.prim_visibility) &&
+ value.read(pack.prim_index) &&
+ value.read(pack.prim_object) &&
+ value.read(pack.is_leaf)))
+ {
+ /* Clear the pack if load failed. */
+ pack.root_index = 0;
+ pack.SAH = 0.0f;
+ pack.nodes.clear();
+ pack.object_node.clear();
+ pack.tri_woop.clear();
+ pack.prim_type.clear();
+ pack.prim_visibility.clear();
+ pack.prim_index.clear();
+ pack.prim_object.clear();
+ pack.is_leaf.clear();
+ return false;
+ }
return true;
}
diff --git a/intern/cycles/kernel/kernel_path.h b/intern/cycles/kernel/kernel_path.h
index ab4b5ec..65755f0 100644
--- a/intern/cycles/kernel/kernel_path.h
+++ b/intern/cycles/kernel/kernel_path.h
@@ -864,6 +864,7 @@ ccl_device float4 kernel_branched_path_integrate(KernelGlobals *kg, RNG *rng, in
VolumeIntegrateResult result = kernel_volume_decoupled_scatter(kg,
&ps, &pray, &volume_sd, &tp, rphase, rscatter, &volume_segment, NULL, false);
+ (void)result;
kernel_assert(result == VOLUME_PATH_SCATTERED);
if(kernel_path_volume_bounce(kg, rng, &volume_sd, &tp, &ps, &L, &pray)) {
diff --git a/intern/cycles/kernel/kernel_path_volume.h b/intern/cycles/kernel/kernel_path_volume.h
index 9189e5c..9da1cfe 100644
--- a/intern/cycles/kernel/kernel_path_volume.h
+++ b/intern/cycles/kernel/kernel_path_volume.h
@@ -144,6 +144,7 @@ ccl_device void kernel_branched_path_volume_connect_light(KernelGlobals *kg, RNG
VolumeIntegrateResult result = kernel_volume_decoupled_scatter(kg,
state, ray, sd, &tp, rphase, rscatter, segment, (ls.t != FLT_MAX)? &ls.P: NULL, false);
+ (void)result;
kernel_assert(result == VOLUME_PATH_SCATTERED);
/* todo: split up light_sample so we don't have to call it again with new position */
@@ -194,6 +195,7 @@ ccl_device void kernel_branched_path_volume_connect_light(KernelGlobals *kg, RNG
VolumeIntegrateResult result = kernel_volume_decoupled_scatter(kg,
state, ray, sd, &tp, rphase, rscatter, segment, (ls.t != FLT_MAX)? &ls.P: NULL, false);
+ (void)result;
kernel_assert(result == VOLUME_PATH_SCATTERED);
/* todo: split up light_sample so we don't have to call it again with new position */
@@ -232,6 +234,7 @@ ccl_device void kernel_branched_path_volume_connect_light(KernelGlobals *kg, RNG
VolumeIntegrateResult result = kernel_volume_decoupled_scatter(kg,
state, ray, sd, &tp, rphase, rscatter, segment, (ls.t != FLT_MAX)? &ls.P: NULL, false);
+ (void)result;
kernel_assert(result == VOLUME_PATH_SCATTERED);
/* todo: split up light_sample so we don't have to call it again with new position */
diff --git a/intern/cycles/render/integrator.cpp b/intern/cycles/render/integrator.cpp
index 4a8b490..32e887d 100644
--- a/intern/cycles/render/integrator.cpp
+++ b/intern/cycles/render/integrator.cpp
@@ -86,11 +86,7 @@ void Integrator::device_update(Device *device, DeviceScene *dscene, Scene *scene
kintegrator->max_diffuse_bounce = max_diffuse_bounce + 1;
kintegrator->max_glossy_bounce = max_glossy_bounce + 1;
kintegrator->max_transmission_bounce = max_transmission_bounce + 1;
-
- if(kintegrator->use_volumes)
- kintegrator->max_volume_bounce = max_volume_bounce + 1;
- else
- kintegrator->max_volume_bounce = 1;
+ kintegrator->max_volume_bounce = max_volume_bounce + 1;
kintegrator->transparent_max_bounce = transparent_max_bounce + 1;
kintegrator->transparent_min_bounce = transparent_min_bounce + 1;
diff --git a/intern/cycles/util/util_cache.h b/intern/cycles/util/util_cache.h
index c6752d9..bfb2877 100644
--- a/intern/cycles/util/util_cache.h
+++ b/intern/cycles/util/util_cache.h
@@ -96,54 +96,70 @@ public:
buffers.push_back(buffer);
}
- template<typename T> void read(array<T>& data)
+ template<typename T> bool read(array<T>& data)
{
size_t size;
if(!fread(&size, sizeof(size), 1, f)) {
fprintf(stderr, "Failed to read vector size from cache.\n");
- return;
+ return false;
}
if(!size)
- return;
+ return false;
data.resize(size/sizeof(T));
if(!fread(&data[0], size, 1, f)) {
fprintf(stderr, "Failed to read vector data from cache (%lu).\n", (unsigned long)size);
- return;
+ return false;
}
+ return true;
}
- void read(int& data)
+ bool read(int& data)
{
size_t size;
- if(!fread(&size, sizeof(size), 1, f))
+ if(!fread(&size, sizeof(size), 1, f)) {
fprintf(stderr, "Failed to read int size from cache.\n");
- if(!fread(&data, sizeof(data), 1, f))
+ return false;
+ }
+ if(!fread(&data, sizeof(data), 1, f)) {
fprintf(stderr, "Failed to read int from cache.\n");
+ return false;
+ }
+ return true;
}
- void read(float& data)
+ bool read(float& data)
{
size_t size;
- if(!fread(&size, sizeof(size), 1, f))
+ if(!fread(&size, sizeof(size), 1, f)) {
fprintf(stderr, "Failed to read float size from cache.\n");
- if(!fread(&data, sizeof(data), 1, f))
+ return false;
+ }
+ if(!fread(&data, sizeof(data), 1, f)) {
fprintf(stderr, "Failed to read float from cache.\n");
+ return false;
+ }
+ return true;
}
- void read(size_t& data)
+ bool read(size_t& data)
{
size_t size;
- if(!fread(&size, sizeof(size), 1, f))
+ if(!fread(&size, sizeof(size), 1, f)) {
fprintf(stderr, "Failed to read size_t size from cache.\n");
- if(!fread(&data, sizeof(data), 1, f))
+ return false;
+ }
+ if(!fread(&data, sizeof(data), 1, f)) {
fprintf(stderr, "Failed to read size_t from cache.\n");
+ return false;
+ }
+ return true;
}
};
diff --git a/release/datafiles/prvicons_update.py b/release/datafiles/prvicons_update.py
index ecc466a..448a43d 100755
--- a/release/datafiles/prvicons_update.py
+++ b/release/datafiles/prvicons_update.py
@@ -2,9 +2,16 @@
# This script updates icons from the SVG file
import os
+import sys
BASEDIR = os.path.abspath(os.path.dirname(__file__)) + os.sep
-cmd = 'inkscape "%sprvicons.svg" --without-gui --export-png="%sprvicons.png"' % (BASEDIR, BASEDIR)
-os.system(cmd)
+inkscape_path = 'inkscape'
+
+if sys.platform == 'darwin':
+ inkscape_app_path = '/Applications/Inkscape.app/Contents/Resources/script'
+ if os.path.exists(inkscape_app_path):
+ inkscape_path = inkscape_app_path
+cmd = inkscape_path + ' "%sprvicons.svg" --without-gui --export-png="%sprvicons.png"' % (BASEDIR, BASEDIR)
+os.system(cmd)
diff --git a/release/scripts/freestyle/modules/parameter_editor.py b/release/scripts/freestyle/modules/parameter_editor.py
index 6ab4184..ebd09bd 100644
--- a/release/scripts/freestyle/modules/parameter_editor.py
+++ b/release/scripts/freestyle/modules/parameter_editor.py
@@ -814,17 +814,14 @@ class FaceMarkOneUP1D(UnaryPredicate1D):
class MaterialBoundaryUP0D(UnaryPredicate0D):
def __call__(self, it):
- if it.is_begin:
+ # can't use only it.is_end here, see commit rBeb8964fb7f19
+ if it.is_begin or it.at_last or it.is_end:
return False
- it_prev = Interface0DIterator(it)
- it_prev.decrement()
- v = it.object
- it.increment()
- if it.is_end:
- return False
- fe = v.get_fedge(it_prev.object)
+ it.decrement()
+ prev, v, succ = next(it), next(it), next(it)
+ fe = v.get_fedge(prev)
idx1 = fe.material_index if fe.is_smooth else fe.material_index_left
- fe = v.get_fedge(it.object)
+ fe = v.get_fedge(succ)
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list