Bake-render:
Quad faces still didn't get handled properly, error visible for vertex
color or UV textures.

Also: added error meny when a Bake cannot work because there are no Images
or no Images with buffers
This commit is contained in:
Ton Roosendaal 2006-11-21 18:09:32 +00:00
parent 4cf4b4d0d2
commit 967869fecd
3 changed files with 9 additions and 5 deletions

@ -118,7 +118,7 @@ int multitex_ext(struct Tex *tex, float *texvec, float *dxt, float *dyt, int osa
/* shaded view and bake */
struct Render;
void RE_shade_external(struct Render *re, struct ShadeInput *shi, struct ShadeResult *shr);
void RE_bake_shade_all_selected(struct Render *re, int type);
int RE_bake_shade_all_selected(struct Render *re, int type);
#endif /* RE_SHADER_EXT_H */

@ -3725,7 +3725,7 @@ static void do_bake_shade(void *handle, int x, int y, float u, float v)
shi->puno= 0;
if(bs->quad)
shade_input_set_coords(shi, -u, -v, 0, 3, 4);
shade_input_set_coords(shi, -u, -v, 0, 2, 3);
else
shade_input_set_coords(shi, -u, -v, 0, 1, 2);
@ -3822,7 +3822,8 @@ static void shade_tface(BakeShade *bs, VlakRen *vlr)
/* using object selection tags, the faces with UV maps get baked */
/* render should have been setup */
void RE_bake_shade_all_selected(Render *re, int type)
/* returns 0 if nothing was handled */
int RE_bake_shade_all_selected(Render *re, int type)
{
BakeShade handle;
Image *ima;
@ -3874,5 +3875,5 @@ void RE_bake_shade_all_selected(Render *re, int type)
free_realtime_image(ima); /* force OpenGL reload */
}
}
return vdone;
}

@ -808,6 +808,7 @@ void objects_bake_render(void)
event= pupmenu("Bake Selected Meshes %t|Full Render %x1|Ambient Occlusion %x2|Normals %x3|Texture Only %x4");
if(event>0) {
Render *re= RE_NewRender("_Bake View_");
int tot;
if(event==1) event= RE_BAKE_ALL;
else if(event==2) event= RE_BAKE_AO;
@ -829,11 +830,13 @@ void objects_bake_render(void)
RE_Database_Baking(re, G.scene, event);
RE_bake_shade_all_selected(re, event);
tot= RE_bake_shade_all_selected(re, event);
RE_Database_Free(re);
waitcursor(0);
if(tot==0) error("No Images found to bake to");
allqueue(REDRAWIMAGE, 0);
allqueue(REDRAWVIEW3D, 0);
}