diff options
author | Tamito Kajiyama <rd6t-kjym@asahi-net.or.jp> | 2011-06-25 04:49:53 +0400 |
---|---|---|
committer | Tamito Kajiyama <rd6t-kjym@asahi-net.or.jp> | 2011-06-25 04:49:53 +0400 |
commit | d65ebf8c847c18f8be568eab4d5c65e7b630a40f (patch) | |
tree | 2795070d936c6ec7012a0339ea74d1d4b317c3d4 /source/blender/render | |
parent | 17ee056fc6d15abc4b69a24ceac0e7f3d4dffa47 (diff) | |
parent | a03707d408b9e37cd11124c93b1516eae9522139 (diff) |
Merged changes in the trunk up to revision 37799.
Note for VS2008 plus CMake users:
I had to remove OpenEXR debug libs from the "blender" project properties >
Linker > Additional Dependencies. Otherwise I got a number of linker errors
concerning duplicated symbols between libcmt.lib and libcmtd.lib.
Diffstat (limited to 'source/blender/render')
-rw-r--r-- | source/blender/render/CMakeLists.txt | 4 | ||||
-rw-r--r-- | source/blender/render/extern/include/RE_shader_ext.h | 2 | ||||
-rw-r--r-- | source/blender/render/intern/include/rayobject.h | 2 | ||||
-rw-r--r-- | source/blender/render/intern/source/convertblender.c | 48 | ||||
-rw-r--r-- | source/blender/render/intern/source/pipeline.c | 36 | ||||
-rw-r--r-- | source/blender/render/intern/source/rayshade.c | 2 | ||||
-rw-r--r-- | source/blender/render/intern/source/render_texture.c | 12 | ||||
-rw-r--r-- | source/blender/render/intern/source/rendercore.c | 16 | ||||
-rw-r--r-- | source/blender/render/intern/source/renderdatabase.c | 4 | ||||
-rw-r--r-- | source/blender/render/intern/source/shadeinput.c | 2 | ||||
-rw-r--r-- | source/blender/render/intern/source/shadeoutput.c | 4 | ||||
-rw-r--r-- | source/blender/render/intern/source/strand.c | 6 | ||||
-rw-r--r-- | source/blender/render/intern/source/zbuf.c | 10 |
13 files changed, 106 insertions, 42 deletions
diff --git a/source/blender/render/CMakeLists.txt b/source/blender/render/CMakeLists.txt index 02ccac98ee1..617328b7530 100644 --- a/source/blender/render/CMakeLists.txt +++ b/source/blender/render/CMakeLists.txt @@ -24,8 +24,6 @@ # # ***** END GPL LICENSE BLOCK ***** -# remove warning until render branch merged. -remove_strict_flags() set(INC intern/include @@ -125,7 +123,7 @@ endif() if(WITH_CODEC_QUICKTIME) list(APPEND INC ../quicktime) - list(APPEND INC_SYS ${QUICKTIME_INC}) + list(APPEND INC_SYS ${QUICKTIME_INCLUDE_DIRS}) add_definitions(-DWITH_QUICKTIME) endif() diff --git a/source/blender/render/extern/include/RE_shader_ext.h b/source/blender/render/extern/include/RE_shader_ext.h index b6af781f4d4..27c87caf14a 100644 --- a/source/blender/render/extern/include/RE_shader_ext.h +++ b/source/blender/render/extern/include/RE_shader_ext.h @@ -210,6 +210,6 @@ struct Object; int RE_bake_shade_all_selected(struct Render *re, int type, struct Object *actob, short *do_update, float *progress); struct Image *RE_bake_shade_get_image(void); -void RE_bake_ibuf_filter(struct ImBuf *ibuf, unsigned char *mask, const int filter); +void RE_bake_ibuf_filter(struct ImBuf *ibuf, char *mask, const int filter); #endif /* RE_SHADER_EXT_H */ diff --git a/source/blender/render/intern/include/rayobject.h b/source/blender/render/intern/include/rayobject.h index dea8c1bdb6f..bef7ae6196b 100644 --- a/source/blender/render/intern/include/rayobject.h +++ b/source/blender/render/intern/include/rayobject.h @@ -60,7 +60,7 @@ int RE_rayobject_raycast(RayObject *r, struct Isect *i); RayObject* RE_rayobject_octree_create(int ocres, int size); RayObject* RE_rayobject_instance_create(RayObject *target, float transform[][4], void *ob, void *target_ob); -RayObject* RE_rayobject_empty_create(); +RayObject* RE_rayobject_empty_create(void); RayObject* RE_rayobject_blibvh_create(int size); /* BLI_kdopbvh.c */ RayObject* RE_rayobject_vbvh_create(int size); /* raytrace/rayobject_vbvh.c */ diff --git a/source/blender/render/intern/source/convertblender.c b/source/blender/render/intern/source/convertblender.c index 15fc9d38c01..a4ac92d394c 100644 --- a/source/blender/render/intern/source/convertblender.c +++ b/source/blender/render/intern/source/convertblender.c @@ -341,7 +341,7 @@ u | | F1 | F2 | /* ------------------------------------------------------------------------- */ -static void split_v_renderfaces(ObjectRen *obr, int startvlak, int startvert, int usize, int vsize, int uIndex, int UNUSED(cyclu), int cyclv) +static void split_v_renderfaces(ObjectRen *obr, int startvlak, int UNUSED(startvert), int UNUSED(usize), int vsize, int uIndex, int UNUSED(cyclu), int cyclv) { int vLen = vsize-1+(!!cyclv); int v; @@ -393,7 +393,7 @@ static void calc_edge_stress_add(float *accum, VertRen *v1, VertRen *v2) acc[1]+= 1.0f; } -static void calc_edge_stress(Render *re, ObjectRen *obr, Mesh *me) +static void calc_edge_stress(Render *UNUSED(re), ObjectRen *obr, Mesh *me) { float loc[3], size[3], *accum, *acc, *accumoffs, *stress; int a; @@ -590,7 +590,7 @@ static void SetTSpace(const SMikkTSpaceContext * pContext, const float fvTangent } } -static void calc_vertexnormals(Render *re, ObjectRen *obr, int do_tangent, int do_nmap_tangent) +static void calc_vertexnormals(Render *UNUSED(re), ObjectRen *obr, int do_tangent, int do_nmap_tangent) { MemArena *arena= NULL; VertexTangent **vtangents= NULL; @@ -759,7 +759,7 @@ static void as_addvert(ASvert *asv, VertRen *v1, VlakRen *vlr) } } -static int as_testvertex(VlakRen *vlr, VertRen *ver, ASvert *asv, float thresh) +static int as_testvertex(VlakRen *vlr, VertRen *UNUSED(ver), ASvert *asv, float thresh) { /* return 1: vertex needs a copy */ ASface *asf; @@ -782,7 +782,7 @@ static int as_testvertex(VlakRen *vlr, VertRen *ver, ASvert *asv, float thresh) return 0; } -static VertRen *as_findvertex(VlakRen *vlr, VertRen *ver, ASvert *asv, float thresh) +static VertRen *as_findvertex(VlakRen *vlr, VertRen *UNUSED(ver), ASvert *asv, float thresh) { /* return when new vertex already was made */ ASface *asf; @@ -810,7 +810,7 @@ static VertRen *as_findvertex(VlakRen *vlr, VertRen *ver, ASvert *asv, float thr /* note; autosmooth happens in object space still, after applying autosmooth we rotate */ /* note2; actually, when original mesh and displist are equal sized, face normals are from original mesh */ -static void autosmooth(Render *re, ObjectRen *obr, float mat[][4], int degr) +static void autosmooth(Render *UNUSED(re), ObjectRen *obr, float mat[][4], int degr) { ASvert *asv, *asverts; ASface *asf; @@ -1680,8 +1680,6 @@ static int render_new_particle_system(Render *re, ObjectRen *obr, ParticleSystem bb.anim = part->bb_anim; bb.lock = part->draw & PART_DRAW_BB_LOCK; bb.ob = (part->bb_ob ? part->bb_ob : RE_GetCamera(re)); - bb.offset[0] = part->bb_offset[0]; - bb.offset[1] = part->bb_offset[1]; bb.split_offset = part->bb_split_offset; bb.totnum = totpart+totchild; bb.uv_split = part->bb_uv_split; @@ -2015,7 +2013,20 @@ static int render_new_particle_system(Render *re, ObjectRen *obr, ParticleSystem if(part->ren_as == PART_DRAW_BB) { bb.random = random; - bb.size = pa_size; + bb.offset[0] = part->bb_offset[0]; + bb.offset[1] = part->bb_offset[1]; + bb.size[0] = part->bb_size[0] * pa_size; + if (part->bb_align==PART_BB_VEL) { + float pa_vel = len_v3(state.vel); + float head = part->bb_vel_head*pa_vel; + float tail = part->bb_vel_tail*pa_vel; + bb.size[1] = part->bb_size[1]*pa_size + head + tail; + /* use offset to adjust the particle center. this is relative to size, so need to divide! */ + if (bb.size[1] > 0.0f) + bb.offset[1] += (head-tail) / bb.size[1]; + } + else + bb.size[1] = part->bb_size[1] * pa_size; bb.tilt = part->bb_tilt * (1.0f - part->bb_rand_tilt * r_tilt); bb.time = ct; bb.num = a; @@ -2040,7 +2051,20 @@ static int render_new_particle_system(Render *re, ObjectRen *obr, ParticleSystem if(part->ren_as == PART_DRAW_BB) { bb.random = random; - bb.size = pa_size; + bb.offset[0] = part->bb_offset[0]; + bb.offset[1] = part->bb_offset[1]; + bb.size[0] = part->bb_size[0] * pa_size; + if (part->bb_align==PART_BB_VEL) { + float pa_vel = len_v3(state.vel); + float head = part->bb_vel_head*pa_vel; + float tail = part->bb_vel_tail*pa_vel; + bb.size[1] = part->bb_size[1]*pa_size + head + tail; + /* use offset to adjust the particle center. this is relative to size, so need to divide! */ + if (bb.size[1] > 0.0f) + bb.offset[1] += (head-tail) / bb.size[1]; + } + else + bb.size[1] = part->bb_size[1] * pa_size; bb.tilt = part->bb_tilt * (1.0f - part->bb_rand_tilt * r_tilt); bb.time = pa_time; bb.num = a; @@ -2100,7 +2124,7 @@ static int render_new_particle_system(Render *re, ObjectRen *obr, ParticleSystem /* Halo's */ /* ------------------------------------------------------------------------- */ -static void make_render_halos(Render *re, ObjectRen *obr, Mesh *me, int totvert, MVert *mvert, Material *ma, float *orco) +static void make_render_halos(Render *re, ObjectRen *obr, Mesh *UNUSED(me), int totvert, MVert *mvert, Material *ma, float *orco) { Object *ob= obr->ob; HaloRen *har; @@ -4699,7 +4723,7 @@ static int allow_render_object(Render *re, Object *ob, int nolamps, int onlysele return 1; } -static int allow_render_dupli_instance(Render *re, DupliObject *dob, Object *obd) +static int allow_render_dupli_instance(Render *UNUSED(re), DupliObject *dob, Object *obd) { ParticleSystem *psys; Material *ma; diff --git a/source/blender/render/intern/source/pipeline.c b/source/blender/render/intern/source/pipeline.c index 0f716cfa85f..5cbde06dfc6 100644 --- a/source/blender/render/intern/source/pipeline.c +++ b/source/blender/render/intern/source/pipeline.c @@ -65,6 +65,7 @@ #include "BLI_blenlib.h" #include "BLI_rand.h" #include "BLI_threads.h" +#include "BLI_callbacks.h" #include "BLI_utildefines.h" #include "PIL_time.h" @@ -2244,6 +2245,8 @@ static void ntree_render_scenes(Render *re) render_scene(re, scene, cfra); restore_scene= (scene != re->scene); node->id->flag &= ~LIB_DOIT; + + NodeTagChanged(re->scene->nodetree, node); } } } @@ -2988,6 +2991,9 @@ void RE_BlenderFrame(Render *re, Main *bmain, Scene *scene, SceneRenderLayer *sr if(render_initialize_from_main(re, bmain, scene, srl, camera_override, lay, 0, 0)) { MEM_reset_peak_memory(); + + BLI_exec_cb(re->main, (ID *)scene, BLI_CB_EVT_RENDER_PRE); + do_render_all_options(re); if(write_still && !G.afbreek) { @@ -3003,6 +3009,8 @@ void RE_BlenderFrame(Render *re, Main *bmain, Scene *scene, SceneRenderLayer *sr do_write_image_or_movie(re, scene, NULL, NULL, name); } } + + BLI_exec_cb(re->main, (ID *)scene, BLI_CB_EVT_RENDER_POST); /* keep after file save */ } /* UGLY WARNING */ @@ -3077,6 +3085,15 @@ static int do_write_image_or_movie(Render *re, Scene *scene, bMovieHandle *mh, R } } + /* color -> greyscale */ + /* editing directly would alter the render view */ + if(scene->r.planes == 8) { + ImBuf *ibuf_bw= IMB_dupImBuf(ibuf); + IMB_color_to_bw(ibuf_bw); + IMB_freeImBuf(ibuf); + ibuf= ibuf_bw; + } + ok= BKE_write_ibuf_stamp(scene, camera, ibuf, name, scene->r.imtype, scene->r.subimtype, scene->r.quality); if(ok==0) { @@ -3132,14 +3149,21 @@ void RE_BlenderAnim(Render *re, Main *bmain, Scene *scene, Object *camera_overri int nf = mh->get_next_frame(&re->r, reports); if (nf >= 0 && nf >= scene->r.sfra && nf <= scene->r.efra) { scene->r.cfra = re->r.cfra = nf; - + + BLI_exec_cb(re->main, (ID *)scene, BLI_CB_EVT_RENDER_PRE); + do_render_all_options(re); if(re->test_break(re->tbh) == 0) { if(!do_write_image_or_movie(re, scene, mh, reports, NULL)) G.afbreek= 1; } - } else { + + if(G.afbreek == 0) { + BLI_exec_cb(re->main, (ID *)scene, BLI_CB_EVT_RENDER_POST); /* keep after file save */ + } + } + else { if(re->test_break(re->tbh)) G.afbreek= 1; } @@ -3186,6 +3210,10 @@ void RE_BlenderAnim(Render *re, Main *bmain, Scene *scene, Object *camera_overri } re->r.cfra= scene->r.cfra; /* weak.... */ + + /* run callbacs before rendering, before the scene is updated */ + BLI_exec_cb(re->main, (ID *)scene, BLI_CB_EVT_RENDER_PRE); + do_render_all_options(re); @@ -3207,6 +3235,10 @@ void RE_BlenderAnim(Render *re, Main *bmain, Scene *scene, Object *camera_overri break; } + + if(G.afbreek==0) { + BLI_exec_cb(re->main, (ID *)scene, BLI_CB_EVT_RENDER_POST); /* keep after file save */ + } } } diff --git a/source/blender/render/intern/source/rayshade.c b/source/blender/render/intern/source/rayshade.c index e8f66cf18ef..34d3adcf15b 100644 --- a/source/blender/render/intern/source/rayshade.c +++ b/source/blender/render/intern/source/rayshade.c @@ -1231,7 +1231,7 @@ static QMCSampler *get_thread_qmcsampler(Render *re, int thread, int type, int t return qsa; } -static void release_thread_qmcsampler(Render *re, int thread, QMCSampler *qsa) +static void release_thread_qmcsampler(Render *UNUSED(re), int UNUSED(thread), QMCSampler *qsa) { qsa->used= 0; } diff --git a/source/blender/render/intern/source/render_texture.c b/source/blender/render/intern/source/render_texture.c index c4587b83fcd..5aad055a8f6 100644 --- a/source/blender/render/intern/source/render_texture.c +++ b/source/blender/render/intern/source/render_texture.c @@ -2118,7 +2118,8 @@ void do_material_tex(ShadeInput *shi) float fact, facm, factt, facmm, stencilTin=1.0; float texvec[3], dxt[3], dyt[3], tempvec[3], norvec[3], warpvec[3]={0.0f, 0.0f, 0.0f}, Tnor=1.0; int tex_nr, rgbnor= 0, warpdone=0; - int use_compat_bump, use_ntap_bump; + int use_compat_bump = 0, use_ntap_bump = 0; + int found_nmapping = 0; int iFirstTimeNMap=1; compatible_bump_init(&compat_bump); @@ -2429,6 +2430,9 @@ void do_material_tex(ShadeInput *shi) /* we need to code blending modes for normals too once.. now 1 exception hardcoded */ if ((tex->type==TEX_IMAGE) && (tex->imaflag & TEX_NORMALMAP)) { + + found_nmapping = 1; + /* qdn: for normalmaps, to invert the normalmap vector, it is better to negate x & y instead of subtracting the vector as was done before */ if (norfac < 0.0f) { @@ -2620,6 +2624,12 @@ void do_material_tex(ShadeInput *shi) } } } + if ((use_compat_bump || use_ntap_bump || found_nmapping) && (shi->mat->mode & MA_TANGENT_V)!=0) { + const float fnegdot = -dot_v3v3(shi->vn, shi->tang); + // apply Gram-Schmidt projection + madd_v3_v3fl(shi->tang, shi->vn, fnegdot); + normalize_v3(shi->tang); + } } diff --git a/source/blender/render/intern/source/rendercore.c b/source/blender/render/intern/source/rendercore.c index 7c197bb440e..6747784b21a 100644 --- a/source/blender/render/intern/source/rendercore.c +++ b/source/blender/render/intern/source/rendercore.c @@ -1984,7 +1984,7 @@ typedef struct BakeShade { short *do_update; } BakeShade; -static void bake_set_shade_input(ObjectInstanceRen *obi, VlakRen *vlr, ShadeInput *shi, int quad, int isect, int x, int y, float u, float v) +static void bake_set_shade_input(ObjectInstanceRen *obi, VlakRen *vlr, ShadeInput *shi, int quad, int UNUSED(isect), int x, int y, float u, float v) { if(quad) shade_input_set_triangle_i(shi, obi, vlr, 0, 2, 3); @@ -2015,7 +2015,7 @@ static void bake_set_shade_input(ObjectInstanceRen *obi, VlakRen *vlr, ShadeInpu shi->view[2]= shi->vn[2]; } -static void bake_shade(void *handle, Object *ob, ShadeInput *shi, int quad, int x, int y, float u, float v, float *tvn, float *ttang) +static void bake_shade(void *handle, Object *ob, ShadeInput *shi, int UNUSED(quad), int x, int y, float UNUSED(u), float UNUSED(v), float *tvn, float *ttang) { BakeShade *bs= handle; ShadeSample *ssamp= &bs->ssamp; @@ -2183,7 +2183,7 @@ static void bake_shade(void *handle, Object *ob, ShadeInput *shi, int quad, int } } -static void bake_displacement(void *handle, ShadeInput *shi, float dist, int x, int y) +static void bake_displacement(void *handle, ShadeInput *UNUSED(shi), float dist, int x, int y) { BakeShade *bs= handle; float disp; @@ -2556,7 +2556,7 @@ static void *do_bake_thread(void *bs_v) return NULL; } -void RE_bake_ibuf_filter(ImBuf *ibuf, unsigned char *mask, const int filter) +void RE_bake_ibuf_filter(ImBuf *ibuf, char *mask, const int filter) { /* must check before filtering */ const short is_new_alpha= (ibuf->depth != 32) && BKE_alphatest_ibuf(ibuf); @@ -2570,9 +2570,9 @@ void RE_bake_ibuf_filter(ImBuf *ibuf, unsigned char *mask, const int filter) * this is so colors dont blend in from outside */ for(i=0; i< filter; i++) - IMB_mask_filter_extend((char *)ibuf->userdata, ibuf->x, ibuf->y); + IMB_mask_filter_extend(mask, ibuf->x, ibuf->y); - temprect = MEM_dupallocN(ibuf->userdata); + temprect = MEM_dupallocN(mask); /* expand twice to clear this many pixels, so they blend back in */ IMB_mask_filter_extend(temprect, ibuf->x, ibuf->y); @@ -2583,7 +2583,7 @@ void RE_bake_ibuf_filter(ImBuf *ibuf, unsigned char *mask, const int filter) MEM_freeN(temprect); for(i= 0; i < filter; i++) - IMB_filter_extend(ibuf, (char *)ibuf->userdata); + IMB_filter_extend(ibuf, mask); } /* if the bake results in new alpha then change the image setting */ @@ -2684,7 +2684,7 @@ int RE_bake_shade_all_selected(Render *re, int type, Object *actob, short *do_up if(!ibuf) continue; - RE_bake_ibuf_filter(ibuf, (unsigned char *)ibuf->userdata, re->r.bake_filter); + RE_bake_ibuf_filter(ibuf, (char *)ibuf->userdata, re->r.bake_filter); ibuf->userflags |= IB_BITMAPDIRTY; if (ibuf->rect_float) IMB_rect_from_float(ibuf); diff --git a/source/blender/render/intern/source/renderdatabase.c b/source/blender/render/intern/source/renderdatabase.c index afe4d5c7e35..456162d2d30 100644 --- a/source/blender/render/intern/source/renderdatabase.c +++ b/source/blender/render/intern/source/renderdatabase.c @@ -446,7 +446,7 @@ VlakRen *RE_vlakren_copy(ObjectRen *obr, VlakRen *vlr) return vlr1; } -void RE_vlakren_get_normal(Render *re, ObjectInstanceRen *obi, VlakRen *vlr, float *nor) +void RE_vlakren_get_normal(Render *UNUSED(re), ObjectInstanceRen *obi, VlakRen *vlr, float *nor) { float (*nmat)[3]= obi->nmat; @@ -1238,7 +1238,7 @@ static int panotestclip(Render *re, int do_pano, float *v) - shadow buffering (shadbuf.c) */ -void project_renderdata(Render *re, void (*projectfunc)(float *, float mat[][4], float *), int do_pano, float xoffs, int do_buckets) +void project_renderdata(Render *re, void (*projectfunc)(float *, float mat[][4], float *), int do_pano, float xoffs, int UNUSED(do_buckets)) { ObjectRen *obr; HaloRen *har = NULL; diff --git a/source/blender/render/intern/source/shadeinput.c b/source/blender/render/intern/source/shadeinput.c index 923bb5a1ae4..67b2ffb56d4 100644 --- a/source/blender/render/intern/source/shadeinput.c +++ b/source/blender/render/intern/source/shadeinput.c @@ -303,7 +303,7 @@ void shade_input_set_triangle_i(ShadeInput *shi, ObjectInstanceRen *obi, VlakRen */ /* copy data from face to ShadeInput, scanline case */ -void shade_input_set_triangle(ShadeInput *shi, volatile int obi, volatile int facenr, int normal_flip) +void shade_input_set_triangle(ShadeInput *shi, volatile int obi, volatile int facenr, int UNUSED(normal_flip)) { if(facenr>0) { shi->obi= &R.objectinstance[obi]; diff --git a/source/blender/render/intern/source/shadeoutput.c b/source/blender/render/intern/source/shadeoutput.c index b0a7fdd1b36..8b5ae479f64 100644 --- a/source/blender/render/intern/source/shadeoutput.c +++ b/source/blender/render/intern/source/shadeoutput.c @@ -705,7 +705,7 @@ static float WardIso_Spec( float *n, float *l, float *v, float rms, int tangent) } /* cartoon render diffuse */ -static float Toon_Diff( float *n, float *l, float *v, float size, float smooth ) +static float Toon_Diff( float *n, float *l, float *UNUSED(v), float size, float smooth ) { float rslt, ang; @@ -806,7 +806,7 @@ static float Minnaert_Diff(float nl, float *n, float *v, float darkness) return i; } -static float Fresnel_Diff(float *vn, float *lv, float *view, float fac_i, float fac) +static float Fresnel_Diff(float *vn, float *lv, float *UNUSED(view), float fac_i, float fac) { return fresnel_fac(lv, vn, fac_i, fac); } diff --git a/source/blender/render/intern/source/strand.c b/source/blender/render/intern/source/strand.c index 9f5c2c39472..72cb35e7827 100644 --- a/source/blender/render/intern/source/strand.c +++ b/source/blender/render/intern/source/strand.c @@ -594,7 +594,7 @@ static void do_strand_fillac(void *handle, int x, int y, float u, float v, float } /* width is calculated in hoco space, to ensure strands are visible */ -static int strand_test_clip(float winmat[][4], ZSpan *zspan, float *bounds, float *co, float *zcomp, float widthx, float widthy) +static int strand_test_clip(float winmat[][4], ZSpan *UNUSED(zspan), float *bounds, float *co, float *zcomp, float widthx, float widthy) { float hoco[4]; int clipflag= 0; @@ -615,7 +615,7 @@ static int strand_test_clip(float winmat[][4], ZSpan *zspan, float *bounds, floa return clipflag; } -static void do_scanconvert_strand(Render *re, StrandPart *spart, ZSpan *zspan, float t, float dt, float *co1, float *co2, float *co3, float *co4, int sample) +static void do_scanconvert_strand(Render *UNUSED(re), StrandPart *spart, ZSpan *zspan, float t, float dt, float *co1, float *co2, float *co3, float *co4, int sample) { float jco1[3], jco2[3], jco3[3], jco4[3], jx, jy; @@ -778,7 +778,7 @@ void render_strand_segment(Render *re, float winmat[][4], StrandPart *spart, ZSp } /* render call to fill in strands */ -int zbuffer_strands_abuf(Render *re, RenderPart *pa, APixstrand *apixbuf, ListBase *apsmbase, unsigned int lay, int negzmask, float winmat[][4], int winx, int winy, int sample, float (*jit)[2], float clipcrop, int shadow, StrandShadeCache *cache) +int zbuffer_strands_abuf(Render *re, RenderPart *pa, APixstrand *apixbuf, ListBase *apsmbase, unsigned int lay, int UNUSED(negzmask), float winmat[][4], int winx, int winy, int UNUSED(sample), float (*jit)[2], float clipcrop, int shadow, StrandShadeCache *cache) { ObjectRen *obr; ObjectInstanceRen *obi; diff --git a/source/blender/render/intern/source/zbuf.c b/source/blender/render/intern/source/zbuf.c index 174b1378f67..98dbb796f5b 100644 --- a/source/blender/render/intern/source/zbuf.c +++ b/source/blender/render/intern/source/zbuf.c @@ -715,7 +715,7 @@ static void zbufline(ZSpan *zspan, int obi, int zvlnr, float *vec1, float *vec2) } } -static void zbufline_onlyZ(ZSpan *zspan, int obi, int zvlnr, float *vec1, float *vec2) +static void zbufline_onlyZ(ZSpan *zspan, int UNUSED(obi), int UNUSED(zvlnr), float *vec1, float *vec2) { int *rectz, *rectz1= NULL; int start, end, x, y, oldx, oldy, ofs; @@ -1287,7 +1287,7 @@ static void zbuffillGL4(ZSpan *zspan, int obi, int zvlnr, float *v1, float *v2, */ /* now: filling two Z values, the closest and 2nd closest */ -static void zbuffillGL_onlyZ(ZSpan *zspan, int obi, int zvlnr, float *v1, float *v2, float *v3, float *v4) +static void zbuffillGL_onlyZ(ZSpan *zspan, int UNUSED(obi), int UNUSED(zvlnr), float *v1, float *v2, float *v3, float *v4) { double zxd, zyd, zy0, zverg; float x0,y0,z0; @@ -3236,7 +3236,7 @@ static void copyto_abufz(RenderPart *pa, int *arectz, int *rectmask, int sample) * Do accumulation z buffering. */ -static int zbuffer_abuf(Render *re, RenderPart *pa, APixstr *APixbuf, ListBase *apsmbase, unsigned int lay, int negzmask, float winmat[][4], int winx, int winy, int samples, float (*jit)[2], float clipcrop, int shadow) +static int zbuffer_abuf(Render *re, RenderPart *pa, APixstr *APixbuf, ListBase *apsmbase, unsigned int lay, int negzmask, float winmat[][4], int winx, int winy, int samples, float (*jit)[2], float UNUSED(clipcrop), int shadow) { ZbufProjectCache cache[ZBUF_PROJECT_CACHE_SIZE]; ZSpan zspans[16], *zspan; /* MAX_OSA */ @@ -3692,7 +3692,7 @@ static int vergzvlak(const void *a1, const void *a2) return 0; } -static void shade_strand_samples(StrandShadeCache *cache, ShadeSample *ssamp, int x, int y, ZTranspRow *row, int addpassflag) +static void shade_strand_samples(StrandShadeCache *cache, ShadeSample *ssamp, int UNUSED(x), int UNUSED(y), ZTranspRow *row, int addpassflag) { StrandSegment sseg; StrandVert *svert; @@ -3941,7 +3941,7 @@ static void reset_sky_speedvectors(RenderPart *pa, RenderLayer *rl, float *rectf /* main render call to do the z-transparent layer */ /* returns a mask, only if a) transp rendered and b) solid was rendered */ -unsigned short *zbuffer_transp_shade(RenderPart *pa, RenderLayer *rl, float *pass, ListBase *psmlist) +unsigned short *zbuffer_transp_shade(RenderPart *pa, RenderLayer *rl, float *pass, ListBase *UNUSED(psmlist)) { RenderResult *rr= pa->result; ShadeSample ssamp; |