Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrecht Van Lommel <brechtvanlommel@pandora.be>2009-07-26 01:31:17 +0400
committerBrecht Van Lommel <brechtvanlommel@pandora.be>2009-07-26 01:31:17 +0400
commiteb80ce4d7f24778e1edcc3c88a9b071dd2e25b4c (patch)
tree34a3ce693e362b69d5c01e8404b310ba4eca1304 /source/blender/render/intern
parent1b142434055e2b56b23991f0c9d695b6d4f33390 (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.c12
-rw-r--r--source/blender/render/intern/source/rayshade.c4
-rw-r--r--source/blender/render/intern/source/shadbuf.c4
-rw-r--r--source/blender/render/intern/source/shadeinput.c2
-rw-r--r--source/blender/render/intern/source/zbuf.c8
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