diff options
author | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2009-07-26 01:31:17 +0400 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2009-07-26 01:31:17 +0400 |
commit | eb80ce4d7f24778e1edcc3c88a9b071dd2e25b4c (patch) | |
tree | 34a3ce693e362b69d5c01e8404b310ba4eca1304 /source/blender/render/intern | |
parent | 1b142434055e2b56b23991f0c9d695b6d4f33390 (diff) |
2.5: Materials
* Diffuse/specular ramps works again.
* Wire is now a material type next to Surface and Halo.
* Removed Volume material type option until it is actually there.
* Some button layout tweaks.
Diffstat (limited to 'source/blender/render/intern')
-rw-r--r-- | source/blender/render/intern/source/convertblender.c | 12 | ||||
-rw-r--r-- | source/blender/render/intern/source/rayshade.c | 4 | ||||
-rw-r--r-- | source/blender/render/intern/source/shadbuf.c | 4 | ||||
-rw-r--r-- | source/blender/render/intern/source/shadeinput.c | 2 | ||||
-rw-r--r-- | source/blender/render/intern/source/zbuf.c | 8 |
5 files changed, 15 insertions, 15 deletions
diff --git a/source/blender/render/intern/source/convertblender.c b/source/blender/render/intern/source/convertblender.c index 5853b51a6b1..2b06f164c12 100644 --- a/source/blender/render/intern/source/convertblender.c +++ b/source/blender/render/intern/source/convertblender.c @@ -1250,7 +1250,7 @@ static void particle_curve(Render *re, ObjectRen *obr, DerivedMesh *dm, Material { HaloRen *har=0; - if(ma->mode&MA_WIRE) + if(ma->material_type == MA_TYPE_WIRE) static_particle_wire(obr, ma, loc, loc1, sd->first, sd->line); else if(ma->material_type == MA_TYPE_HALO) { har= RE_inithalo_particle(re, obr, dm, ma, loc, loc1, sd->orco, sd->uvco, sd->size, 1.0, seed); @@ -1627,7 +1627,7 @@ static int render_new_particle_system(Render *re, ObjectRen *obr, ParticleSystem path_nbr=(int)pow(2.0,(double) part->ren_step); if(path_nbr) { - if((ma->material_type != MA_TYPE_HALO) && (ma->mode & MA_WIRE)==0) { + if(!ELEM(ma->material_type, MA_TYPE_HALO, MA_TYPE_WIRE)) { sd.orco = MEM_mallocN(3*sizeof(float)*(totpart+totchild), "particle orcos"); set_object_orco(re, psys, sd.orco); } @@ -3124,7 +3124,7 @@ static void init_render_mesh(Render *re, ObjectRen *obr, int timeoffset) } /* if wire material, and we got edges, don't do the faces */ - if(ma->mode & MA_WIRE) { + if(ma->material_type == MA_TYPE_WIRE) { end= dm->getNumEdges(dm); if(end) ok= 0; } @@ -3209,7 +3209,7 @@ static void init_render_mesh(Render *re, ObjectRen *obr, int timeoffset) end= dm->getNumEdges(dm); mvert= dm->getVertArray(dm); ma= give_render_material(re, ob, 1); - if(end && (ma->mode & MA_WIRE)) { + if(end && (ma->material_type == MA_TYPE_WIRE)) { MEdge *medge; struct edgesort *edgetable; int totedge= 0; @@ -3834,7 +3834,7 @@ static void split_quads(ObjectRen *obr, int dir) vlr= RE_findOrAddVlak(obr, a); /* test if rendering as a quad or triangle, skip wire */ - if(vlr->v4 && (vlr->flag & R_STRAND)==0 && (vlr->mat->mode & MA_WIRE)==0) { + if(vlr->v4 && (vlr->flag & R_STRAND)==0 && (vlr->mat->material_type != MA_TYPE_WIRE)) { if(vlr->v4) { @@ -3884,7 +3884,7 @@ static void check_non_flat_quads(ObjectRen *obr) vlr= RE_findOrAddVlak(obr, a); /* test if rendering as a quad or triangle, skip wire */ - if(vlr->v4 && (vlr->flag & R_STRAND)==0 && (vlr->mat->mode & MA_WIRE)==0) { + if(vlr->v4 && (vlr->flag & R_STRAND)==0 && (vlr->mat->material_type != MA_TYPE_WIRE)) { /* check if quad is actually triangle */ v1= vlr->v1; diff --git a/source/blender/render/intern/source/rayshade.c b/source/blender/render/intern/source/rayshade.c index df74e88e87e..010930fcb85 100644 --- a/source/blender/render/intern/source/rayshade.c +++ b/source/blender/render/intern/source/rayshade.c @@ -133,7 +133,7 @@ void makeraytree(Render *re) else vlr++; /* baking selected to active needs non-traceable too */ if((re->flag & R_BAKE_TRACE) || (vlr->mat->mode & MA_TRACEBLE)) { - if((vlr->mat->mode & MA_WIRE)==0) { + if(vlr->mat->material_type != MA_TYPE_WIRE) { VECCOPY(co1, vlr->v1->co); VECCOPY(co2, vlr->v2->co); VECCOPY(co3, vlr->v3->co); @@ -194,7 +194,7 @@ void makeraytree(Render *re) else vlr++; if((re->flag & R_BAKE_TRACE) || (vlr->mat->mode & MA_TRACEBLE)) - if((vlr->mat->mode & MA_WIRE)==0) + if(vlr->mat->material_type != MA_TYPE_WIRE) RE_ray_tree_add_face(re->raytree, RAY_OBJECT_SET(re, obi), vlr); } } diff --git a/source/blender/render/intern/source/shadbuf.c b/source/blender/render/intern/source/shadbuf.c index 71cd678233d..33085b98095 100644 --- a/source/blender/render/intern/source/shadbuf.c +++ b/source/blender/render/intern/source/shadbuf.c @@ -1557,7 +1557,7 @@ static void isb_bsp_fillfaces(Render *re, LampRen *lar, ISBBranch *root) ma= vlr->mat; ok= 1; if((ma->mode & MA_SHADBUF)==0) ok= 0; - if(ma->mode & MA_WIRE) ok= 0; + if(ma->material_type == MA_TYPE_WIRE) ok= 0; zspanstrand.shad_alpha= zspan.shad_alpha= ma->shad_alpha; } @@ -1589,7 +1589,7 @@ static void isb_bsp_fillfaces(Render *re, LampRen *lar, ISBBranch *root) c4= testclip(hoco[3]); /* ***** NO WIRE YET */ - if(ma->mode & MA_WIRE) { + if(ma->material_type == MA_TYPE_WIRE) { if(vlr->v4) zbufclipwire(&zspan, i, a+1, vlr->ec, hoco[0], hoco[1], hoco[2], hoco[3], c1, c2, c3, c4); else diff --git a/source/blender/render/intern/source/shadeinput.c b/source/blender/render/intern/source/shadeinput.c index 6b1d11be6f3..c860e9ac5d1 100644 --- a/source/blender/render/intern/source/shadeinput.c +++ b/source/blender/render/intern/source/shadeinput.c @@ -617,7 +617,7 @@ void shade_input_calc_viewco(ShadeInput *shi, float x, float y, float z, float * /* returns not normalized, so is in viewplane coords */ calc_view_vector(view, x, y); - if(shi->mat->mode & MA_WIRE) { + if(shi->mat->material_type == MA_TYPE_WIRE) { /* wire cannot use normal for calculating shi->co, so * we reconstruct the coordinate less accurate */ if(R.r.mode & R_ORTHO) diff --git a/source/blender/render/intern/source/zbuf.c b/source/blender/render/intern/source/zbuf.c index 0d8f1be8c85..4436f3aa047 100644 --- a/source/blender/render/intern/source/zbuf.c +++ b/source/blender/render/intern/source/zbuf.c @@ -2154,7 +2154,7 @@ void zbuffer_solid(RenderPart *pa, RenderLayer *rl, void(*fillfunc)(RenderPart*, ma= vlr->mat; nofill= ma->mode & (MA_ZTRA|MA_ONLYCAST); env= (ma->mode & MA_ENV); - wire= (ma->mode & MA_WIRE); + wire= (ma->material_type == MA_TYPE_WIRE); for(zsample=0; zsample<samples; zsample++) { if(ma->mode & MA_ZINV || (zmaskpass && neg_zmask)) @@ -2341,7 +2341,7 @@ void zbuffer_shadow(Render *re, float winmat[][4], LampRen *lar, int *rectz, int c2= zbuf_shadow_project(cache, vlr->v2->index, obwinmat, vlr->v2->co, ho2); c3= zbuf_shadow_project(cache, vlr->v3->index, obwinmat, vlr->v3->co, ho3); - if((ma->mode & MA_WIRE) || (vlr->flag & R_STRAND)) { + if((ma->material_type == MA_TYPE_WIRE) || (vlr->flag & R_STRAND)) { if(vlr->v4) { c4= zbuf_shadow_project(cache, vlr->v4->index, obwinmat, vlr->v4->co, ho4); zbufclipwire(&zspan, 0, a+1, vlr->ec, ho1, ho2, ho3, ho4, c1, c2, c3, c4); @@ -2571,7 +2571,7 @@ void zbuffer_sss(RenderPart *pa, unsigned int lay, void *handle, void (*func)(vo ma= vlr->mat; nofill= ma->mode & MA_ONLYCAST; env= (ma->mode & MA_ENV); - wire= (ma->mode & MA_WIRE); + wire= (ma->material_type == MA_TYPE_WIRE); } } else { @@ -3357,7 +3357,7 @@ static int zbuffer_abuf(RenderPart *pa, APixstr *APixbuf, ListBase *apsmbase, Re zspan= &zspans[zsample]; zspan->polygon_offset= polygon_offset; - if(ma->mode & (MA_WIRE)) { + if(ma->material_type == MA_TYPE_WIRE) { if(v4) zbufclipwire(zspan, i, zvlnr, vlr->ec, ho1, ho2, ho3, ho4, c1, c2, c3, c4); else |