[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