Added "Auto AA" toggle in Yafray Render panel defaulted to On (current functionality AA is determined by OSA and GI quality settings)

When disbaled, 2 number buttons appear to allow setting  manual AA passes and AA samples.

Johnny Matthews (guitarGeek)
This commit is contained in:
Johnny Matthews 2004-04-15 15:52:28 +00:00
parent d753f8a681
commit 328f6c7c9e
3 changed files with 24 additions and 10 deletions

@ -214,15 +214,16 @@ typedef struct RenderData {
/* yafray: global panel params */
short GIquality, GIcache, GImethod, GIgradient,GIphotons,GIdirect;
short YF_AA, YFshortpad;
int GIdepth, GIcausdepth, GIpixelspersample;
int GIphotoncount,GImixphotons;
float GIphotonradius;
int YF_numprocs,YF_raydepth;
int YF_numprocs,YF_raydepth, YF_AApasses, YF_AAsamples, YFintpad;
float GIshadowquality, GIrefinement, GIpower;
float YF_gamma, YF_exposure,YF_raybias, YF_AAthreshold;
char backbuf[160], pic[160], ftype[160];
} RenderData;

@ -1283,6 +1283,15 @@ static void render_panel_yafrayGlobal()
uiDefButI(block, NUM, 0, "Processors:", 160,35,150,20,
&G.scene->r.YF_numprocs, 1.0, 8.0, 10, 10, "Number of processors to use");
/*AA Settings*/
uiDefButS(block,TOGN|BIT|0, B_REDR, "Auto AA",5,110,150,20, &G.scene->r.YF_AA,
0, 0, 0, 0, "Set AA using OSA and GI quality, disable for manual control");
if(G.scene->r.YF_AA){
uiDefButI(block, NUM, 0, "AA Passes ", 5,85,150,20,
&G.scene->r.YF_AApasses, 0, 64, 10, 10, "AA Passes");
uiDefButI(block, NUM, 0, "AA Samples ", 160,85,150,20,
&G.scene->r.YF_AAsamples, 0, 2048, 10, 10, "AA Samples");
}
}

@ -205,15 +205,19 @@ bool yafrayFileRender_t::writeRender()
ostr << "\traydepth=\"" << R.r.YF_raydepth << "\" gamma=\"" << R.r.YF_gamma << "\" exposure=\"" << R.r.YF_exposure << "\"\n";
//if( (G.scene->world!=NULL) && (G.scene->world->GIquality>1) && ! G.scene->world->cache )
if ((R.r.GImethod!=0) && (R.r.GIquality>1) && (!R.r.GIcache))
ostr << "\tAA_passes=\"5\" AA_minsamples=\"5\" " << endl;
else if ((R.r.mode & R_OSA) && (R.r.osa)) {
int passes=(R.r.osa%4)==0 ? R.r.osa/4 : 1;
int minsamples=(R.r.osa%4)==0 ? 4 : R.r.osa;
ostr << "\tAA_passes=\"" << passes << "\" AA_minsamples=\"" << minsamples << "\"";
if(R.r.YF_AA){
ostr << "\tAA_passes=\"" << R.r.YF_AApasses << "\" AA_minsamples=\"" << R.r.YF_AAsamples << "\"";
}
else{
if ((R.r.GImethod!=0) && (R.r.GIquality>1) && (!R.r.GIcache))
ostr << "\tAA_passes=\"5\" AA_minsamples=\"5\" " << endl;
else if ((R.r.mode & R_OSA) && (R.r.osa)) {
int passes=(R.r.osa%4)==0 ? R.r.osa/4 : 1;
int minsamples=(R.r.osa%4)==0 ? 4 : R.r.osa;
ostr << "\tAA_passes=\"" << passes << "\" AA_minsamples=\"" << minsamples << "\"";
}
else ostr << "\tAA_passes=\"0\" AA_minsamples=\"1\"";
}
else ostr << "\tAA_passes=\"0\" AA_minsamples=\"1\"";
ostr << "\n";
if (hasworld) ostr << "\tbackground_name=\"world_background\"\n";