[Bf-blender-cvs] [9791a8f] soc-2016-cycles_denoising: Merge remote-tracking branch 'origin/master' into soc-2016-cycles_denoising
Lukas Stockner
noreply at git.blender.org
Sun Jul 24 03:46:13 CEST 2016
Commit: 9791a8fe95911b3faa7d9e4c842a3e3db877061c
Author: Lukas Stockner
Date: Sun Jul 24 03:02:42 2016 +0200
Branches: soc-2016-cycles_denoising
https://developer.blender.org/rB9791a8fe95911b3faa7d9e4c842a3e3db877061c
Merge remote-tracking branch 'origin/master' into soc-2016-cycles_denoising
Conflicts:
intern/cycles/kernel/kernel_types.h
===================================================================
===================================================================
diff --cc intern/cycles/kernel/kernel_accumulate.h
index c076a9b,0e13b22..6389af8
--- a/intern/cycles/kernel/kernel_accumulate.h
+++ b/intern/cycles/kernel/kernel_accumulate.h
@@@ -121,18 -121,6 +121,18 @@@ ccl_device_inline void bsdf_eval_mul(Bs
#endif
}
+ccl_device_inline float3 bsdf_eval_sum(BsdfEval *eval, bool use_light_pass)
+{
+#ifdef __PASSES__
+ if(use_light_pass)
+ return eval->diffuse + eval->glossy + eval->transmission + eval->transparent + eval->subsurface + eval->scatter;
+ else
+ return eval->diffuse;
+#else
- return *eval;
++ return eval->diffuse;
+#endif
+}
+
/* Path Radiance
*
* We accumulate different render passes separately. After summing at the end
diff --cc intern/cycles/kernel/kernel_types.h
index 2c3f3a8,a9be2ae..b03a1d9
--- a/intern/cycles/kernel/kernel_types.h
+++ b/intern/cycles/kernel/kernel_types.h
@@@ -388,33 -387,13 +388,34 @@@ typedef enum BakePassFilterCombos
BAKE_FILTER_SUBSURFACE_INDIRECT = (BAKE_FILTER_INDIRECT | BAKE_FILTER_SUBSURFACE),
} BakePassFilterCombos;
+typedef enum DenoiseFlag {
+ DENOISE_DIFFUSE_DIR = (1 << 0),
+ DENOISE_DIFFUSE_IND = (1 << 1),
+ DENOISE_GLOSSY_DIR = (1 << 2),
+ DENOISE_GLOSSY_IND = (1 << 3),
+ DENOISE_TRANSMISSION_DIR = (1 << 4),
+ DENOISE_TRANSMISSION_IND = (1 << 5),
+ DENOISE_SUBSURFACE_DIR = (1 << 6),
+ DENOISE_SUBSURFACE_IND = (1 << 7),
+
+ DENOISE_ALL = (
+ DENOISE_DIFFUSE_DIR |
+ DENOISE_DIFFUSE_IND |
+ DENOISE_GLOSSY_DIR |
+ DENOISE_GLOSSY_IND |
+ DENOISE_TRANSMISSION_DIR |
+ DENOISE_TRANSMISSION_IND |
+ DENOISE_SUBSURFACE_DIR |
+ DENOISE_SUBSURFACE_IND),
+} DenoiseFlag;
+
- #ifdef __PASSES__
-
typedef ccl_addr_space struct PathRadiance {
+ #ifdef __PASSES__
int use_light_pass;
+ #endif
float3 emission;
+ #ifdef __PASSES__
float3 background;
float3 ao;
@@@ -448,7 -427,7 +449,8 @@@
float4 shadow;
float mist;
+ float transparent;
+ #endif
} PathRadiance;
typedef struct BsdfEval {
diff --cc source/blender/blenloader/intern/versioning_270.c
index ed28627,a254a85..2f1da1b
--- a/source/blender/blenloader/intern/versioning_270.c
+++ b/source/blender/blenloader/intern/versioning_270.c
@@@ -1225,21 -1225,11 +1225,27 @@@ void blo_do_versions_270(FileData *fd,
}
}
}
+
+ for (Brush *br = main->brush.first; br; br = br->id.next) {
+ if (br->sculpt_tool == SCULPT_TOOL_FLATTEN) {
+ br->flag |= BRUSH_ACCUMULATE;
+ }
+ }
}
+
+ {
+ if (!DNA_struct_elem_find(fd->filesdna, "SceneRenderLayer", "int", "denoiseflag")) {
+ Scene *sce;
+
+ for (sce = main->scene.first; sce; sce = sce->id.next) {
+ SceneRenderLayer *rl;
+ for (rl = sce->r.layers.first; rl; rl = rl->next) {
+ rl->denoiseflag = SCE_DENOISE_DIFFDIR|SCE_DENOISE_GLOSSDIR|SCE_DENOISE_TRANSDIR|SCE_DENOISE_SUBDIR|
+ SCE_DENOISE_DIFFIND|SCE_DENOISE_GLOSSIND|SCE_DENOISE_TRANSIND|SCE_DENOISE_SUBIND;
+ rl->denoise_half_window = 8;
+ rl->denoise_strength = 0.0f;
+ }
+ }
+ }
+ }
}
diff --cc source/blender/render/extern/include/RE_pipeline.h
index 3076a58,39f62f9..dbbeaac
--- a/source/blender/render/extern/include/RE_pipeline.h
+++ b/source/blender/render/extern/include/RE_pipeline.h
@@@ -233,11 -231,12 +233,12 @@@ struct RenderStats *RE_GetStats(struct
void RE_ResultGet32(struct Render *re, unsigned int *rect);
void RE_AcquiredResultGet32(struct Render *re, struct RenderResult *result, unsigned int *rect, const int view_id);
- void RE_render_result_rect_from_ibuf(struct RenderResult *rr, struct RenderData *rd,
- struct ImBuf *ibuf, const int view_id);
+ void RE_render_result_rect_from_ibuf(
+ struct RenderResult *rr, struct RenderData *rd,
+ struct ImBuf *ibuf, const int view_id);
struct RenderLayer *RE_GetRenderLayer(struct RenderResult *rr, const char *name);
-float *RE_RenderLayerGetPass(volatile struct RenderLayer *rl, int passtype, const char *viewname);
+float *RE_RenderLayerGetPass(volatile struct RenderLayer *rl, uint64_t passtype, const char *viewname);
/* obligatory initialize call, disprect is optional */
void RE_InitState(struct Render *re, struct Render *source, struct RenderData *rd,
More information about the Bf-blender-cvs
mailing list