[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [30901] branches/render25/source/blender/ render/intern: Render Branch: code tweak to Render struct.

Brecht Van Lommel brecht at blender.org
Fri Jul 30 14:02:46 CEST 2010


Revision: 30901
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=30901
Author:   blendix
Date:     2010-07-30 14:02:46 +0200 (Fri, 30 Jul 2010)

Log Message:
-----------
Render Branch: code tweak to Render struct.

Modified Paths:
--------------
    branches/render25/source/blender/render/intern/include/envmap.h
    branches/render25/source/blender/render/intern/include/pointdensity.h
    branches/render25/source/blender/render/intern/include/render_types.h
    branches/render25/source/blender/render/intern/include/texture.h
    branches/render25/source/blender/render/intern/include/texture_stack.h
    branches/render25/source/blender/render/intern/source/bake.c
    branches/render25/source/blender/render/intern/source/cache.c
    branches/render25/source/blender/render/intern/source/camera.c
    branches/render25/source/blender/render/intern/source/convertblender.c
    branches/render25/source/blender/render/intern/source/diskocclusion.c
    branches/render25/source/blender/render/intern/source/environment.c
    branches/render25/source/blender/render/intern/source/lamp.c
    branches/render25/source/blender/render/intern/source/material.c
    branches/render25/source/blender/render/intern/source/object_displace.c
    branches/render25/source/blender/render/intern/source/object_halo.c
    branches/render25/source/blender/render/intern/source/object_mesh.c
    branches/render25/source/blender/render/intern/source/object_particle.c
    branches/render25/source/blender/render/intern/source/object_strand.c
    branches/render25/source/blender/render/intern/source/object_subdivide.c
    branches/render25/source/blender/render/intern/source/part.c
    branches/render25/source/blender/render/intern/source/path.c
    branches/render25/source/blender/render/intern/source/pipeline.c
    branches/render25/source/blender/render/intern/source/pixelfilter.c
    branches/render25/source/blender/render/intern/source/rayshade.c
    branches/render25/source/blender/render/intern/source/rendercore.c
    branches/render25/source/blender/render/intern/source/result.c
    branches/render25/source/blender/render/intern/source/shadeinput.c
    branches/render25/source/blender/render/intern/source/shadeoutput.c
    branches/render25/source/blender/render/intern/source/shadowbuf.c
    branches/render25/source/blender/render/intern/source/sss.c
    branches/render25/source/blender/render/intern/source/texture.c
    branches/render25/source/blender/render/intern/source/texture_envmap.c
    branches/render25/source/blender/render/intern/source/texture_image.c
    branches/render25/source/blender/render/intern/source/texture_pointdensity.c
    branches/render25/source/blender/render/intern/source/texture_stack.c
    branches/render25/source/blender/render/intern/source/texture_voxeldata.c
    branches/render25/source/blender/render/intern/source/volume_precache.c
    branches/render25/source/blender/render/intern/source/zbuf.c

Modified: branches/render25/source/blender/render/intern/include/envmap.h
===================================================================
--- branches/render25/source/blender/render/intern/include/envmap.h	2010-07-30 11:55:41 UTC (rev 30900)
+++ branches/render25/source/blender/render/intern/include/envmap.h	2010-07-30 12:02:46 UTC (rev 30901)
@@ -31,7 +31,6 @@
 #define __RENDER_ENVMAP_H__ 
 
 struct Render;
-struct RenderParams;
 struct TexResult;
 
 /* Make/Render Environment Map */
@@ -46,7 +45,7 @@
 /* Texture Access */
 
 void tex_envmap_init(struct Render *re, struct Tex *tex);
-int tex_envmap_sample(struct RenderParams *rpm, struct Tex *tex, float *texvec,
+int tex_envmap_sample(struct Render *re, struct Tex *tex, float *texvec,
 	float *dxt, float *dyt, int osatex, struct TexResult *texres, int thread);
 
 #endif /* __RENDER_ENVMAP_H__ */

Modified: branches/render25/source/blender/render/intern/include/pointdensity.h
===================================================================
--- branches/render25/source/blender/render/intern/include/pointdensity.h	2010-07-30 11:55:41 UTC (rev 30900)
+++ branches/render25/source/blender/render/intern/include/pointdensity.h	2010-07-30 12:02:46 UTC (rev 30901)
@@ -31,7 +31,6 @@
 
 struct Render;
 struct TexResult;
-struct RenderParams;
 struct ListBase;
 
 /* Pointdensity Texture */
@@ -39,7 +38,7 @@
 void tex_pointdensity_init(struct Render *re, struct Tex *tex);
 void tex_pointdensity_free(struct Render *re, struct Tex *tex);
 
-int tex_pointdensity_sample(struct RenderParams *rpm, struct Tex *tex,
+int tex_pointdensity_sample(struct Render *re, struct Tex *tex,
 	float *texvec, struct TexResult *texres);
 
 /* Make point density kd-trees for all point density textures in the scene */

Modified: branches/render25/source/blender/render/intern/include/render_types.h
===================================================================
--- branches/render25/source/blender/render/intern/include/render_types.h	2010-07-30 11:55:41 UTC (rev 30900)
+++ branches/render25/source/blender/render/intern/include/render_types.h	2010-07-30 12:02:46 UTC (rev 30901)
@@ -125,36 +125,6 @@
 	int shadowsamplenr[BLENDER_MAX_THREADS];
 } RenderSampleData;
 
-typedef struct RenderCallbacks {
-	/* callbacks */
-	void (*display_init)(void *handle, RenderResult *rr);
-	void *dih;
-	void (*display_clear)(void *handle, RenderResult *rr);
-	void *dch;
-	void (*display_draw)(void *handle, RenderResult *rr, volatile rcti *rect);
-	void *ddh;
-	
-	void (*stats_draw)(void *handle, RenderStats *ri);
-	void *sdh;
-	void (*progress)(void *handle, float i);
-	void *prh;
-
-	int (*test_break)(void *handle);
-	void *tbh;
-	
-	void (*error)(void *handle, char *str);
-	void *erh;
-	
-	RenderStats i;
-} RenderCallbacks;
-
-typedef struct RenderParams {
-	/* full copy of scene->r */
-	RenderData r;
-	short osa, flag;
-	float mblur_offs, field_offs;
-} RenderParams;
-
 /* controls state of render, everything that's read-only during render stage */
 struct Render {
 	struct Render *next, *prev;
@@ -164,7 +134,9 @@
 	/* state settings */
 	short ok, result_ok;
 
-	RenderParams params;
+	RenderData r; /* full copy of scene->r */
+	short osa, flag;
+	float mblur_offs, field_offs;
 	
 	/* camera settings */
 	RenderCamera cam;
@@ -174,9 +146,6 @@
 	/* database */
 	RenderDB db;
 
-	/* callbacks */
-	RenderCallbacks cb;
-
 	/* samplers */
 	RenderSampleData sample;
 
@@ -204,6 +173,27 @@
 	int partx, party;
 
 	ListBase parts;
+
+	/* callbacks */
+	void (*display_init)(void *handle, RenderResult *rr);
+	void *dih;
+	void (*display_clear)(void *handle, RenderResult *rr);
+	void *dch;
+	void (*display_draw)(void *handle, RenderResult *rr, volatile rcti *rect);
+	void *ddh;
+	
+	void (*stats_draw)(void *handle, RenderStats *ri);
+	void *sdh;
+	void (*progress)(void *handle, float i);
+	void *prh;
+
+	int (*test_break)(void *handle);
+	void *tbh;
+	
+	void (*error)(void *handle, char *str);
+	void *erh;
+	
+	RenderStats i;
 };
 
 /* Defines */

Modified: branches/render25/source/blender/render/intern/include/texture.h
===================================================================
--- branches/render25/source/blender/render/intern/include/texture.h	2010-07-30 11:55:41 UTC (rev 30900)
+++ branches/render25/source/blender/render/intern/include/texture.h	2010-07-30 12:02:46 UTC (rev 30901)
@@ -35,7 +35,6 @@
 struct Image;
 struct ImBuf;
 struct Render;
-struct RenderParams;
 struct ListBase;
 
 typedef struct TexCoord {
@@ -58,14 +57,14 @@
 	TEX_NOR: normal
 	TEX_RGB|TEX_NOR: everything */
 
-int tex_sample(struct RenderParams *rpm, struct Tex *tex, TexCoord *texco,
+int tex_sample(struct Render *re, struct Tex *tex, TexCoord *texco,
 	struct TexResult *texres, short thread, short which_output);
 
 /* Image Texture */
 
-int imagewraposa(struct RenderParams *rpm, struct Tex *tex, struct Image *ima, struct ImBuf *ibuf,
+int imagewraposa(struct Render *re, struct Tex *tex, struct Image *ima, struct ImBuf *ibuf,
 	float *texvec, float *dxt, float *dyt, struct TexResult *texres, int thread);
-int imagewrap(struct RenderParams *rpm, struct Tex *tex, struct Image *ima, struct ImBuf *ibuf,
+int imagewrap(struct Render *re, struct Tex *tex, struct Image *ima, struct ImBuf *ibuf,
 	float *texvec, struct TexResult *texres, int thread);
 
 /* Utilities */

Modified: branches/render25/source/blender/render/intern/include/texture_stack.h
===================================================================
--- branches/render25/source/blender/render/intern/include/texture_stack.h	2010-07-30 11:55:41 UTC (rev 30900)
+++ branches/render25/source/blender/render/intern/include/texture_stack.h	2010-07-30 12:02:46 UTC (rev 30901)
@@ -52,7 +52,7 @@
 
 /* TexFace Sample */
 
-void do_realtime_texture(struct RenderParams *rpm, struct ShadeInput *shi,
+void do_realtime_texture(struct Render *re, struct ShadeInput *shi,
 	struct Image *ima);
 
 #endif /* TEXTURE_STACK_H */

Modified: branches/render25/source/blender/render/intern/source/bake.c
===================================================================
--- branches/render25/source/blender/render/intern/source/bake.c	2010-07-30 11:55:41 UTC (rev 30900)
+++ branches/render25/source/blender/render/intern/source/bake.c	2010-07-30 12:02:46 UTC (rev 30901)
@@ -198,7 +198,7 @@
 	if(bs->type==RE_BAKE_AO) {
 		shade_ao_env_indirect(re, shi);
 
-		if(re->params.r.bake_flag & R_BAKE_NORMALIZE) {
+		if(re->r.bake_flag & R_BAKE_NORMALIZE) {
 			copy_v3_v3(shr.combined, shi->shading.ao);
 		}
 		else {
@@ -227,8 +227,8 @@
 
 			copy_v3_v3(nor, shi->geometry.vn);
 
-			if(re->params.r.bake_normal_space == R_BAKE_SPACE_CAMERA);
-			else if(re->params.r.bake_normal_space == R_BAKE_SPACE_TANGENT) {
+			if(re->r.bake_normal_space == R_BAKE_SPACE_CAMERA);
+			else if(re->r.bake_normal_space == R_BAKE_SPACE_TANGENT) {
 				float mat[3][3], imat[3][3];
 
 				/* bitangent */
@@ -246,9 +246,9 @@
 				invert_m3_m3(imat, mat);
 				mul_m3_v3(imat, nor);
 			}
-			else if(re->params.r.bake_normal_space == R_BAKE_SPACE_OBJECT)
+			else if(re->r.bake_normal_space == R_BAKE_SPACE_OBJECT)
 				mul_mat3_m4_v3(ob->imat, nor); /* ob->imat includes viewinv! */
-			else if(re->params.r.bake_normal_space == R_BAKE_SPACE_WORLD)
+			else if(re->r.bake_normal_space == R_BAKE_SPACE_WORLD)
 				mul_mat3_m4_v3(re->cam.viewinv, nor);
 
 			normalize_v3(nor); /* in case object has scaling */
@@ -281,7 +281,7 @@
 	else {
 		char *col= (char *)(bs->rect + bs->rectx*y + x);
 
-		if (ELEM(bs->type, RE_BAKE_ALL, RE_BAKE_TEXTURE) &&	(re->params.r.color_mgt_flag & R_COLOR_MANAGEMENT)) {
+		if (ELEM(bs->type, RE_BAKE_ALL, RE_BAKE_TEXTURE) &&	(re->r.color_mgt_flag & R_COLOR_MANAGEMENT)) {
 			float srgb[3];
 			srgb[0]= linearrgb_to_srgb(shr.combined[0]);
 			srgb[1]= linearrgb_to_srgb(shr.combined[1]);
@@ -314,8 +314,8 @@
 	Render *re= bs->re;
 	float disp;
 	
-	if(re->params.r.bake_flag & R_BAKE_NORMALIZE && re->params.r.bake_maxdist) {
-		disp = (dist+re->params.r.bake_maxdist) / (re->params.r.bake_maxdist*2); /* alter the range from [-bake_maxdist, bake_maxdist] to [0, 1]*/
+	if(re->r.bake_flag & R_BAKE_NORMALIZE && re->r.bake_maxdist) {
+		disp = (dist+re->r.bake_maxdist) / (re->r.bake_maxdist*2); /* alter the range from [-bake_maxdist, bake_maxdist] to [0, 1]*/
 	} else {
 		disp = 0.5 + dist; /* alter the range from [-0.5,0.5] to [0,1]*/
 	}
@@ -342,13 +342,13 @@
 	int hit;
 
 	/* might be useful to make a user setting for maxsize*/
-	if(re->params.r.bake_maxdist > 0.0f)
-		maxdist= re->params.r.bake_maxdist;
+	if(re->r.bake_maxdist > 0.0f)
+		maxdist= re->r.bake_maxdist;
 	else
-		maxdist= RE_RAYTRACE_MAXDIST + re->params.r.bake_biasdist;
+		maxdist= RE_RAYTRACE_MAXDIST + re->r.bake_biasdist;
 	
 	/* 'dir' is always normalized */
-	madd_v3_v3v3fl(isect->start, start, dir, -re->params.r.bake_biasdist);
+	madd_v3_v3v3fl(isect->start, start, dir, -re->r.bake_biasdist);
 
 	isect->dir[0] = dir[0]*sign;
 	isect->dir[1] = dir[1]*sign;
@@ -426,7 +426,7 @@
 	ShadeInput *shi= ssamp->shi;
 	
 	/* fast threadsafe break test */
-	if(re->cb.test_break(re->cb.tbh))
+	if(re->test_break(re->tbh))
 		return;
 	
 	/* setup render coordinates */
@@ -457,7 +457,7 @@
 	quad= bs->quad;
 	bake_set_shade_input(re, obi, vlr, shi, quad, 0, x, y, u, v);
 
-	if(bs->type==RE_BAKE_NORMALS && re->params.r.bake_normal_space==R_BAKE_SPACE_TANGENT) {
+	if(bs->type==RE_BAKE_NORMALS && re->r.bake_normal_space==R_BAKE_SPACE_TANGENT) {
 		shade_input_set_shade_texco(re, shi);
 		copy_v3_v3(tvn, shi->geometry.vn);
 		copy_v3_v3(ttang, shi->texture.nmaptang);
@@ -517,7 +517,7 @@
 		}
 	}
 
-	if(bs->type==RE_BAKE_NORMALS && re->params.r.bake_normal_space==R_BAKE_SPACE_TANGENT)
+	if(bs->type==RE_BAKE_NORMALS && re->r.bake_normal_space==R_BAKE_SPACE_TANGENT)
 		bake_shade(handle, ob, shi, quad, x, y, u, v, tvn, ttang);
 	else
 		bake_shade(handle, ob, shi, quad, x, y, u, v, 0, 0);
@@ -571,7 +571,7 @@
 						if(ibuf->rect_float)
 							imb_freerectImBuf(ibuf);
 						/* clear image */
-						if(re->params.r.bake_flag & R_BAKE_CLEAR)
+						if(re->r.bake_flag & R_BAKE_CLEAR)
 							IMB_rectfill(ibuf, vec);
 					
 						/* might be read by UI to set active image for display */
@@ -667,7 +667,7 @@
 		shade_tface(bs);
 		
 		/* fast threadsafe break test */
-		if(re->cb.test_break(re->cb.tbh))
+		if(re->test_break(re->tbh))
 			break;
 
 		/* access is not threadsafe but since its just true/false probably ok
@@ -696,7 +696,7 @@
 	get_next_bake_face(re, NULL);
 	
 	/* do we need a mask? */

@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list