Bugfix #5277
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:
parent
4cf4b4d0d2
commit
967869fecd
@ -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);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user