[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