From 328f6c7c9ea56df3edf2067a9f9d410b98914d90 Mon Sep 17 00:00:00 2001 From: Johnny Matthews Date: Thu, 15 Apr 2004 15:52:28 +0000 Subject: [PATCH] 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) --- source/blender/makesdna/DNA_scene_types.h | 5 +++-- source/blender/src/buttons_scene.c | 9 +++++++++ source/blender/yafray/intern/export_File.cpp | 20 ++++++++++++-------- 3 files changed, 24 insertions(+), 10 deletions(-) diff --git a/source/blender/makesdna/DNA_scene_types.h b/source/blender/makesdna/DNA_scene_types.h index cc2bc7fa012..5550dcd4708 100644 --- a/source/blender/makesdna/DNA_scene_types.h +++ b/source/blender/makesdna/DNA_scene_types.h @@ -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; diff --git a/source/blender/src/buttons_scene.c b/source/blender/src/buttons_scene.c index 70bd128686b..a4ca0bb17db 100644 --- a/source/blender/src/buttons_scene.c +++ b/source/blender/src/buttons_scene.c @@ -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"); + } } diff --git a/source/blender/yafray/intern/export_File.cpp b/source/blender/yafray/intern/export_File.cpp index ae2313fac03..fa4f6a69c71 100755 --- a/source/blender/yafray/intern/export_File.cpp +++ b/source/blender/yafray/intern/export_File.cpp @@ -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";