Page MenuHome

scene_render2.txt

File Metadata

Author
Matt Ebb (broken)
Created
Nov 13 2013, 12:56 PM

scene_render2.txt

Index: source/blender//include/BIF_butspace.h
===================================================================
RCS file: /cvsroot/bf-blender/blender/source/blender/include/BIF_butspace.h,v
retrieving revision 1.11
diff -u -r1.11 BIF_butspace.h
--- source/blender//include/BIF_butspace.h 10 Nov 2005 16:01:56 -0000 1.11
+++ source/blender//include/BIF_butspace.h 21 Nov 2005 16:52:46 -0000
@@ -99,7 +99,36 @@
#define BUTS_ACT_ACT 128
#define BUTS_ACT_LINK 256
+/* buttons grid */
+#define PANELX 320
+#define PANELY 0
+#define PANELW 318
+#define PANELH 204
+#define BUTW1 300
+#define BUTW2 145
+#define BUTW3 93
+#define BUTW4 67
+#define ICONBUTW 20
+#define BUTH 22
+
+#define YSPACE 6
+#define XSPACE 10
+#define PANEL_YMAX 210
+
+#define X1CLM 10
+
+#define X2CLM1 X1CLM
+#define X2CLM2 165
+
+#define X3CLM1 X1CLM
+#define X3CLM2 113
+#define X3CLM3 217
+
+#define X4CLM1 X1CLM
+#define X4CLM2 77
+#define X4CLM3 165
+#define X4CLM4 232
#endif
Index: source/blender//include/butspace.h
===================================================================
RCS file: /cvsroot/bf-blender/blender/source/blender/include/butspace.h,v
retrieving revision 1.68
diff -u -r1.68 butspace.h
--- source/blender//include/butspace.h 10 Nov 2005 21:39:29 -0000 1.68
+++ source/blender//include/butspace.h 21 Nov 2005 16:52:46 -0000
@@ -300,6 +300,12 @@
#define B_SET_EDGE 1643
#define B_SET_ZBLUR 1644
+#define B_PRESET_RDIMENSIONS 1653
+#define B_DIMSCHANGED 1654
+#define B_SHOWBUFFER 1655
+
+#define SAVEPRESETNAME "Save Preset..."
+
#ifdef __NLA
/* *********************** */
enum {
Index: source/blender//python/BPY_menus.c
===================================================================
RCS file: /cvsroot/bf-blender/blender/source/blender/python/BPY_menus.c,v
retrieving revision 1.29
diff -u -r1.29 BPY_menus.c
--- source/blender//python/BPY_menus.c 3 Oct 2005 19:12:11 -0000 1.29
+++ source/blender//python/BPY_menus.c 21 Nov 2005 16:52:47 -0000
@@ -95,6 +95,8 @@
return PYMENU_MATERIALS;
else if( !strcmp( str, "UV" ) )
return PYMENU_UV;
+ else if( !strcmp( str, "PresetRDimensions" ) )
+ return PYMENU_PRESET_RDIMENSIONS;
else if( !strcmp( str, "FaceSelect" ) )
return PYMENU_FACESELECT;
/* "Misc" or an inexistent group name: use misc */
@@ -152,6 +154,9 @@
break;
case PYMENU_FACESELECT:
return "FaceSelect";
+ break;
+ case PYMENU_PRESET_RDIMENSIONS:
+ return "Preset: Render Dimensions";
break;
case PYMENU_MISC:
return "Misc";
Index: source/blender//python/BPY_menus.h
===================================================================
RCS file: /cvsroot/bf-blender/blender/source/blender/python/BPY_menus.h,v
retrieving revision 1.16
diff -u -r1.16 BPY_menus.h
--- source/blender//python/BPY_menus.h 16 Apr 2005 05:25:42 -0000 1.16
+++ source/blender//python/BPY_menus.h 21 Nov 2005 16:52:47 -0000
@@ -91,7 +91,9 @@
PYMENU_THEMES,
PYMENU_UV,/* UV editing tools, to go in UV/Image editor space, 'UV' menu */
PYMENU_WIZARDS,/* complex 'app' scripts */
-
+
+ PYMENU_PRESET_RDIMENSIONS, /* for presets menu */
+
/* entries put after Wizards don't appear at the Scripts win->Scripts menu;
* see define right below */
Index: source/blender//src/buttons_scene.c
===================================================================
RCS file: /cvsroot/bf-blender/blender/source/blender/src/buttons_scene.c,v
retrieving revision 1.97
diff -u -r1.97 buttons_scene.c
--- source/blender//src/buttons_scene.c 20 Nov 2005 14:32:07 -0000 1.97
+++ source/blender//src/buttons_scene.c 21 Nov 2005 16:52:47 -0000
@@ -85,6 +85,10 @@
#include "BSE_headerbuttons.h"
#include "butspace.h" // own module
+/* for dimensions presets */
+#include "BPY_extern.h"
+#include "BPY_menus.h"
+
#ifdef WITH_QUICKTIME
#include "quicktime_export.h"
#endif
@@ -505,6 +509,9 @@
{
ScrArea *sa;
ID *id;
+
+ BPyMenu *pym; /* for the presets */
+ char savename[16] = SAVEPRESETNAME;
switch(event) {
@@ -554,6 +561,30 @@
activate_fileselect(FILE_SPECIAL, "SELECT FTYPE", G.scene->r.ftype, ftype_pic);
break;
+ case B_PRESET_RDIMENSIONS:
+ if (G.scene->r.dimensionspreset != 0) {
+ /* Execute the script! (the +1 is to accomodate the 'Custom' entry at 0 */
+ BPY_menu_do_python(PYMENU_PRESET_RDIMENSIONS, G.scene->r.dimensionspreset-1);
+
+ /* check to see if we just saved a new preset */
+ pym = BPyMenu_GetEntry( PYMENU_PRESET_RDIMENSIONS, G.scene->r.dimensionspreset-1 );
+ if ( !strcmp(pym->name, savename)) {
+
+ /* leave the menu showing 'Custom' rather than the 'Save Preset' option */
+ G.scene->r.dimensionspreset = 0;
+ }
+ }
+
+ allqueue(REDRAWVIEWCAM, 0);
+ allqueue(REDRAWBUTSSCENE, 0);
+ break;
+ case B_DIMSCHANGED:
+ G.scene->r.dimensionspreset = 0; /* Set the menu to display 'Custom' */
+
+ allqueue(REDRAWBUTSSCENE, 0);
+ allqueue(REDRAWVIEWCAM, 0);
+ break;
+
case B_PR_PAL:
G.scene->r.xsch= 720;
G.scene->r.ysch= 576;
@@ -782,139 +813,6 @@
}
}
-/* NOTE: this is a block-menu, needs 0 events, otherwise the menu closes */
-static uiBlock *edge_render_menu(void *arg_unused)
-{
- uiBlock *block;
-
- block= uiNewBlock(&curarea->uiblocks, "edge render", UI_EMBOSS, UI_HELV, curarea->win);
-
- /* use this for a fake extra empy space around the buttons */
- uiDefBut(block, LABEL, 0, "", 290, -15, 220, 115, NULL, 0, 0, 0, 0, "");
-
- uiBlockBeginAlign(block);
- uiDefButS(block, NUM, 0,"Eint:", 370,75,135,19, &G.scene->r.edgeint, 0.0, 255.0, 0, 0,
- "Sets edge intensity for Toon shading");
- uiDefButS(block, NUM, 0,"AntiShift",370,55,135,19, &(G.scene->r.same_mat_redux), 0, 255.0, 0, 0,
- "For unified renderer: reduce intensity on boundaries "
- "with identical materials with this number.");
-
- uiBlockBeginAlign(block);
- uiDefButI(block, TOG, 0,"Shift", 295,75,70,19, &G.compat, 0, 0, 0, 0,
- "For unified renderer: use old offsets for edges");
- uiDefButI(block, TOG, 0,"All", 295,55,70,19, &G.notonlysolid, 0, 0, 0, 0,
- "For unified renderer: also consider transparent faces for toon shading");
- uiBlockEndAlign(block);
-
- /* colour settings for the toon shading */
- uiDefButF(block, COL, 0, "", 295,-10,30,60, &(G.scene->r.edgeR), 0, 0, 0, B_EDGECOLSLI, "");
-
- uiBlockBeginAlign(block);
- uiDefButF(block, NUMSLI, 0, "R ", 330, 30, 175,19, &G.scene->r.edgeR, 0.0, 1.0, B_EDGECOLSLI, 0,
- "For unified renderer: Colour for edges in toon shading mode.");
- uiDefButF(block, NUMSLI, 0, "G ", 330, 10, 175,19, &G.scene->r.edgeG, 0.0, 1.0, B_EDGECOLSLI, 0,
- "For unified renderer: Colour for edges in toon shading mode.");
- uiDefButF(block, NUMSLI, 0, "B ", 330, -10, 175,19, &G.scene->r.edgeB, 0.0, 1.0, B_EDGECOLSLI, 0,
- "For unified renderer: Colour for edges in toon shading mode.");
-
-
- uiBlockSetDirection(block, UI_TOP);
-
- return block;
-}
-
-/* NOTE: this is a block-menu, needs 0 events, otherwise the menu closes */
-static uiBlock *post_render_menu(void *arg_unused)
-{
- uiBlock *block;
-
- block= uiNewBlock(&curarea->uiblocks, "post render", UI_EMBOSS, UI_HELV, curarea->win);
-
- /* use this for a fake extra empy space around the buttons */
- uiDefBut(block, LABEL, 0, "", -10, -10, 200, 120, NULL, 0, 0, 0, 0, "");
- uiBlockBeginAlign(block);
- uiDefButF(block, NUMSLI, 0, "Add:", 0,80,180,19, &G.scene->r.postadd, -1.0, 1.0, 0, 0, "");
- uiDefButF(block, NUMSLI, 0, "Mul:", 0,60,180,19, &G.scene->r.postmul, 0.01, 4.0, 0, 0, "");
- uiDefButF(block, NUMSLI, 0, "Gamma:", 0,40,180,19, &G.scene->r.postgamma, 0.1, 4.0, 0, 0, "");
- uiDefButF(block, NUMSLI, 0, "Hue:", 0,20,180,19, &G.scene->r.posthue, -0.5, 0.5, 0, 0, "");
- uiDefButF(block, NUMSLI, 0, "Sat:", 0, 0,180,19, &G.scene->r.postsat, 0.0, 4.0, 0, 0, "");
-
- uiBlockSetDirection(block, UI_TOP);
-
- addqueue(curarea->win, UI_BUT_EVENT, B_FBUF_REDO);
-
- return block;
-}
-
-/* NOTE: this is a block-menu, needs 0 events, otherwise the menu closes */
-static uiBlock *framing_render_menu(void *arg_unused)
-{
- uiBlock *block;
- short yco = 190, xco = 0;
- int randomcolorindex = 1234;
-
- block= uiNewBlock(&curarea->uiblocks, "framing_options", UI_EMBOSS, UI_HELV, curarea->win);
-
- /* use this for a fake extra empy space around the buttons */
- uiDefBut(block, LABEL, 0, "", -5, -10, 295, 224, NULL, 0, 0, 0, 0, "");
-
- uiDefBut(block, LABEL, 0, "Framing:", xco, yco, 68,19, 0, 0, 0, 0, 0, "");
- uiBlockBeginAlign(block);
- uiDefButC(block, ROW, 0, "Stretch", xco += 70, yco, 68, 19, &G.scene->framing.type, 1.0, SCE_GAMEFRAMING_SCALE , 0, 0, "Stretch or squeeze the viewport to fill the display window");
- uiDefButC(block, ROW, 0, "Expose", xco += 70, yco, 68, 19, &G.scene->framing.type, 1.0, SCE_GAMEFRAMING_EXTEND, 0, 0, "Show the entire viewport in the display window, viewing more horizontally or vertically");
- uiDefButC(block, ROW, 0, "Letterbox", xco += 70, yco, 68, 19, &G.scene->framing.type, 1.0, SCE_GAMEFRAMING_BARS , 0, 0, "Show the entire viewport in the display window, using bar horizontally or vertically");
- uiBlockEndAlign(block);
-
- yco -= 25;
- xco = 40;
-
- uiDefButF(block, COL, 0, "", 0, yco - 58 + 18, 33, 58, &G.scene->framing.col[0], 0, 0, 0, randomcolorindex, "");
-
- uiBlockBeginAlign(block);
- uiDefButF(block, NUMSLI, 0, "R ", xco,yco,243,18, &G.scene->framing.col[0], 0.0, 1.0, randomcolorindex, 0, "Set the red component of the bars");
- yco -= 20;
- uiDefButF(block, NUMSLI, 0, "G ", xco,yco,243,18, &G.scene->framing.col[1], 0.0, 1.0, randomcolorindex, 0, "Set the green component of the bars");
- yco -= 20;
- uiDefButF(block, NUMSLI, 0, "B ", xco,yco,243,18, &G.scene->framing.col[2], 0.0, 1.0, randomcolorindex, 0, "Set the blue component of the bars");
- uiBlockEndAlign(block);
-
- xco = 0;
- uiDefBut(block, LABEL, 0, "Fullscreen:", xco, yco-=30, 100, 19, 0, 0.0, 0.0, 0, 0, "");
- uiDefButS(block, TOG, 0, "Fullscreen", xco+70, yco, 68, 19, &G.scene->r.fullscreen, 0.0, 0.0, 0, 0, "Starts player in a new fullscreen display");
- uiBlockBeginAlign(block);
- uiDefButS(block, NUM, 0, "X:", xco+40, yco-=27, 100, 19, &G.scene->r.xplay, 10.0, 2000.0, 0, 0, "Displays current X screen/window resolution. Click to change.");
- uiDefButS(block, NUM, 0, "Y:", xco+140, yco, 100, 19, &G.scene->r.yplay, 10.0, 2000.0, 0, 0, "Displays current Y screen/window resolution. Click to change.");
- uiDefButS(block, NUM, 0, "Freq:", xco+40, yco-=21, 100, 19, &G.scene->r.freqplay, 10.0, 2000.0, 0, 0, "Displays clock frequency of fullscreen display. Click to change.");
- uiDefButS(block, NUM, 0, "Bits:", xco+140, yco, 100, 19, &G.scene->r.depth, 8.0, 32.0, 800.0, 0, "Displays bit depth of full screen display. Click to change.");
- uiBlockEndAlign(block);
-
- /* stereo settings */
- /* can't use any definition from the game engine here so hardcode it. Change it here when it changes there!
- * RAS_IRasterizer has definitions:
- * RAS_STEREO_NOSTEREO 1
- * RAS_STEREO_QUADBUFFERED 2
- * RAS_STEREO_ABOVEBELOW 3
- * RAS_STEREO_INTERLACED 4 future
- * RAS_STEREO_ANAGLYPH 5
- * RAS_STEREO_SIDEBYSIDE 6
- * RAS_STEREO_VINTERLACE 7
- */
- uiBlockBeginAlign(block);
- uiDefButS(block, ROW, 0, "No Stereo", xco, yco-=30, 88, 19, &(G.scene->r.stereomode), 7.0, 1.0, 0, 0, "Disables stereo");
- uiDefButS(block, ROW, 0, "Pageflip", xco+=90, yco, 88, 19, &(G.scene->r.stereomode), 7.0, 2.0, 0, 0, "Enables hardware pageflip stereo method");
- uiDefButS(block, ROW, 0, "Syncdouble", xco+=90, yco, 88, 19, &(G.scene->r.stereomode), 7.0, 3.0, 0, 0, "Enables syncdoubling stereo method");
- uiDefButS(block, ROW, 0, "Anaglyph", xco-=180, yco-=21, 88, 19, &(G.scene->r.stereomode), 7.0, 5.0, 0, 0, "Enables anaglyph (Red-Blue) stereo method");
- uiDefButS(block, ROW, 0, "Side by Side", xco+=90, yco, 88, 19, &(G.scene->r.stereomode), 7.0, 6.0, 0, 0, "Enables side by side left and right images");
- uiDefButS(block, ROW, 0, "V Interlace", xco+=90, yco, 88, 19, &(G.scene->r.stereomode), 7.0, 7.0, 0, 0, "Enables interlaced vertical strips for autostereo display");
-
- uiBlockEndAlign(block);
-
- uiBlockSetDirection(block, UI_TOP);
-
- return block;
-}
-
-
static char *imagetype_pup(void)
{
static char string[1024];
@@ -989,6 +887,35 @@
return (string);
}
+static char *dimensions_presets_pup(void)
+{
+ BPyMenu *pym;
+ int i = 0;
+
+ static char string[1024];
+ char tempstring[1024];
+ char savename[16] = "Save Preset...";
+ short saveevent = 0;
+
+ strcpy(string, "Custom %x0|%l");
+
+ for (pym = BPyMenuTable[PYMENU_PRESET_RDIMENSIONS]; pym; pym = pym->next, i++) {
+ if ( !strcmp(pym->name, savename)) {
+ saveevent = i+1;
+ } else {
+ sprintf(tempstring, "|%s %%x%d", pym->name, i+1); //+1 to account for 'Custom' at 0
+ strcat(string, tempstring);
+ }
+ }
+
+ if (saveevent) {
+ sprintf(tempstring, "|%%l|%s %%x%d", savename, saveevent);
+ strcat(string, tempstring);
+ }
+
+ return (string);
+}
+
#ifdef _WIN32
static char *avicodec_str(void)
{
@@ -1003,269 +930,633 @@
static void render_panel_output(void)
{
ID *id;
- int a,b;
uiBlock *block;
char *strp;
-
-
+ short yco=PANEL_YMAX;
+
block= uiNewBlock(&curarea->uiblocks, "render_panel_output", UI_EMBOSS, UI_HELV, curarea->win);
- if(uiNewPanel(curarea, block, "Output", "Render", 0, 0, 318, 204)==0) return;
+ if(uiNewPanel(curarea, block, "Output", "Render", PANELX, PANELY, PANELW, PANELH)==0) return;
+
+ uiBlockBeginAlign(block);
+ uiDefIconBut(block, BUT, B_FS_PIC, ICON_FILESEL,
+ X1CLM, yco-=BUTH, ICONBUTW, BUTH,
+ 0, 0, 0, 0, 0, "Open Fileselect to get Pics dir/name");
+ uiDefBut(block, TEX,0,"",
+ X1CLM+ICONBUTW, yco, (2*BUTW3)-ICONBUTW, BUTH,
+ G.scene->r.pic, 0.0,79.0, 0, 0, "Directory/name to save rendered Pics to");
+ uiBlockEndAlign(block);
+
+ uiDefButS(block, TOG|BIT|4, 0, "Extensions",
+ X3CLM3-10, yco, BUTW3+10, BUTH,
+ &G.scene->r.scemode, 0.0, 0.0, 0, 0, "Adds extensions to the output when rendering animations");
+
+ yco -= YSPACE;
+
+ /* 1st column */
+
+ uiBlockBeginAlign(block);
+ uiDefButS(block, ROW,B_DIFF,"RGB",
+ X1CLM, yco-=BUTH, BUTW2/3, BUTH,
+ &G.scene->r.planes, 5.0,(float)R_PLANES24, 0, 0, "Images are saved with RGB (color) data");
+ uiDefButS(block, ROW,B_DIFF,"RGBA",
+ X1CLM+BUTW2/3, yco, BUTW2/3, BUTH,
+ &G.scene->r.planes, 5.0,(float)R_PLANES32, 0, 0, "Images are saved with RGB and Alpha data (if supported)");
+ uiDefButS(block, ROW,B_DIFF,"BW",
+ X1CLM+2*BUTW2/3, yco, BUTW2/3, BUTH,
+ &G.scene->r.planes, 5.0,(float)R_PLANESBW, 0, 0, "Images are saved with BW (grayscale) data");
+ uiBlockEndAlign(block);
uiBlockBeginAlign(block);
- uiDefIconBut(block, BUT, B_FS_PIC, ICON_FILESEL, 10, 190, 20, 20, 0, 0, 0, 0, 0, "Open Fileselect to get Pics dir/name");
- uiDefBut(block, TEX,0,"", 31, 190, 279, 20,G.scene->r.pic, 0.0,79.0, 0, 0, "Directory/name to save rendered Pics to");
- uiDefIconBut(block, BUT,B_FS_BACKBUF, ICON_FILESEL, 10, 168, 20, 20, 0, 0, 0, 0, 0, "Open Fileselect to get Backbuf image");
- uiDefBut(block, TEX,0,"", 31, 168, 279, 20,G.scene->r.backbuf, 0.0,79.0, 0, 0, "Image to use as background for rendering");
- uiDefIconBut(block, BUT,B_FS_FTYPE, ICON_FILESEL, 10, 146, 20, 20, 0, 0, 0, 0, 0, "Open Fileselect to get Ftype image");
- uiDefBut(block, TEX,0,"", 31, 146, 279, 20,G.scene->r.ftype,0.0,79.0, 0, 0, "Image to use with FTYPE Image type");
+ uiDefButS(block, ROW, 800,"Sky",
+ X2CLM2, yco, BUTW2/3, BUTH,
+ &G.scene->r.alphamode,3.0,0.0, 0, 0, "Fill background with sky");
+ uiDefButS(block, ROW, 800,"Premul",
+ X2CLM2+BUTW2/3, yco, BUTW2/3, BUTH,
+ &G.scene->r.alphamode,3.0,1.0, 0, 0, "Multiply alpha in advance");
+ uiDefButS(block, ROW, 800,"Key",
+ X2CLM2+2*BUTW2/3, yco, BUTW2/3, BUTH,
+ &G.scene->r.alphamode,3.0,2.0, 0, 0, "Alpha and colour values remain unchanged");
uiBlockEndAlign(block);
+ yco -= YSPACE;
+
+ uiDefButS(block, MENU,B_FILETYPEMENU,imagetype_pup(),
+ X1CLM, yco-=BUTH, BUTW2, BUTH,
+ &G.scene->r.imtype, 0, 0, 0, 0, "Images are saved in this file format");
+
+ if(G.scene->r.quality==0) G.scene->r.quality= 90;
+
+ if(G.scene->r.imtype == R_AVICODEC || G.scene->r.imtype == R_AVIJPEG || G.scene->r.imtype == R_MOVIE
+ || G.scene->r.imtype == R_JPEG90 || G.scene->r.imtype == R_FTYPE ){ /* Ftype just in case */
+
+ uiDefButS(block, NUM,B_DIFF, "Quality:",
+ X2CLM2, yco, BUTW2, BUTH,
+ &G.scene->r.quality, 10.0, 100.0, 0, 0, "Quality setting for JPEG images, AVI Jpeg and SGI movies");
+ }
+
+ yco -= YSPACE;
+
+#ifdef WITH_QUICKTIME
+ if (G.scene->r.imtype == R_AVICODEC || G.scene->r.imtype == R_QUICKTIME) {
+#else /* WITH_QUICKTIME */
+ if (0) {
+#endif
+ if(G.scene->r.imtype == R_QUICKTIME) {
+#ifdef WITH_QUICKTIME
+#if defined (_WIN32) || defined (__APPLE__)
+
+ if(G.scene->r.qtcodecdata == NULL) {
+ uiDefBut(block, LABEL, 0, "Codec: not set",
+ X1CLM, yco-=BUTH, BUTW2, BUTH,
+ 0, 0, 0, 0, 0, "");
+ } else {
+ uiDefBut(block, LABEL, 0, G.scene->r.qtcodecdata->qtcodecname,
+ X1CLM, yco-=BUTH, BUTW2, BUTH,
+ 0, 0, 0, 0, 0, "");
+ }
+
+ uiDefBut(block, BUT,B_SELECTCODEC, "Change Codec",
+ X2CLM2, yco, BUTW2, BUTH,
+ 0, 0, 0, 0, 0, "Set codec settings for Quicktime");
+#endif
+#endif /* WITH_QUICKTIME */
+ } else {
+#ifdef _WIN32
+ if(G.scene->r.avicodecdata == NULL) {
+ uiDefBut(block, LABEL, 0, "Codec: not set",
+ X1CLM, yco-=BUTH, BUTW1, BUTH,
+ 0, 0, 0, 0, 0, "");
+ } else {
+ uiDefBut(block, LABEL, 0, avicodec_str(),
+ X1CLM, yco-=BUTH, BUTW1, BUTH,
+ 0, 0, 0, 0, 0, "");
+ }
+
+#endif
+ uiDefBut(block, BUT,B_SELECTCODEC, "Change Codec",
+ X2CLM2, yco, BUTW1, BUTH,
+ 0, 0, 0, 0, 0, "Set codec settings for AVI");
+ }
+ }
+
+ if(G.scene->r.imtype == R_FTYPE){
+ uiBlockBeginAlign(block);
+ uiDefIconBut(block, BUT, B_FS_FTYPE, ICON_FILESEL,
+ X1CLM, yco-=BUTH, ICONBUTW, BUTH,
+ 0, 0, 0, 0, 0, "Open Fileselect to get Ftype image");
+ uiDefBut(block, TEX, 0, "",
+ X1CLM+ICONBUTW, yco, BUTW2-ICONBUTW, BUTH,
+ G.scene->r.ftype,0.0,79.0, 0, 0, "Image to take Ftype settings from");
+ uiBlockEndAlign(block);
+ } else {
+ yco -= BUTH;
+ }
+
+ yco -= YSPACE;
+
+ uiDefBut(block, LABEL, 0, "Renderer:",
+ X1CLM, yco-=BUTH, BUTW2, BUTH,
+ 0, 0, 0, 0, 0, "");
+
+ uiDefButS(block, MENU, B_SWITCHRENDER, "Rendering Engine %t|Blender Internal %x0|YafRay %x1",
+ X1CLM, yco-=BUTH, BUTW2, BUTH,
+ &G.scene->r.renderer, 0, 0, 0, 0, "Choose rendering engine");
+
+ yco -= YSPACE;
+
- /* SET BUTTON */
+ if (G.scene->r.renderer == R_INTERN) {
+ uiBlockBeginAlign(block);
+ uiDefButI(block, TOG|BIT|15, B_REDR, "Unified Render",
+ X1CLM, yco-=BUTH, BUTW2, BUTH,
+ &G.scene->r.mode, 0, 0, 0, 0, "Use the unified renderer");
+
+ uiDefButI(block, TOG|BIT|19, B_NOP, "Threaded",
+ X1CLM, yco-=BUTH, BUTW2, BUTH,
+ &G.scene->r.mode, 0, 0, 0, 0, "Render using two CPU threads");
+
+ uiBlockEndAlign(block);
+ }
+
+
+ yco += (3*BUTH+YSPACE);
+
+ uiBlockBeginAlign(block);
+ uiDefButS(block, ROW|BIT|0, B_REDR, "3D Scene",
+ X4CLM3, yco-=BUTH, BUTW4, BUTH, &G.scene->r.scemode, 1.0, 0, 0, 0, "Renders using the active camera in this scene");
+ uiDefButS(block, ROW|BIT|0, B_REDR, "Sequence",
+ X4CLM4+10, yco, BUTW4, BUTH, &G.scene->r.scemode, 1.0, 1.0, 0, 0, "Renders the output of the video sequence editor");
+ uiBlockEndAlign(block);
+
+ yco -= YSPACE;
+
+ uiDefBut(block, LABEL, 0, "Set:",
+ X2CLM2, yco-=BUTH, BUTW4, BUTH, 0, 0, 0, 0, 0, "");
uiBlockBeginAlign(block);
id= (ID *)G.scene->set;
IDnames_to_pupstring(&strp, NULL, NULL, &(G.main->scene), id, &(G.buts->menunr));
if(strp[0])
- uiDefButS(block, MENU, B_SETBROWSE, strp, 10, 120, 20, 20, &(G.buts->menunr), 0, 0, 0, 0, "Scene to link as a Set");
+ uiDefButS(block, MENU, B_SETBROWSE, strp,
+ X2CLM2+40, yco, ICONBUTW, BUTH, &(G.buts->menunr), 0, 0, 0, 0, "Scene to link as a Set");
MEM_freeN(strp);
if(G.scene->set) {
uiSetButLock(1, NULL);
- uiDefIDPoinBut(block, test_scenepoin_but, ID_SCE, 0, "", 31, 120, 100, 20, &(G.scene->set), "Name of the Set");
+ uiDefIDPoinBut(block, test_scenepoin_but, ID_SCE, 0, "",
+ X2CLM2+40, yco, BUTW4, BUTH, &(G.scene->set), "Name of the Set");
uiClearButLock();
- uiDefIconBut(block, BUT, B_CLEARSET, ICON_X, 132, 120, 20, 20, 0, 0, 0, 0, 0, "Remove Set link");
+ uiDefIconBut(block, BUT, B_CLEARSET, ICON_X,
+ X2CLM2+40+BUTW4, yco, ICONBUTW, BUTH, 0, 0, 0, 0, 0, "Remove Set link");
}
uiBlockEndAlign(block);
- uiBlockSetCol(block, TH_BUT_SETTING1);
- uiDefButBitS(block, TOG, R_BACKBUF, B_NOP,"Backbuf", 10, 94, 80, 20, &G.scene->r.bufflag, 0, 0, 0, 0, "Enable/Disable use of Backbuf image");
- uiDefButBitI(block, TOG, R_THREADS, B_NOP,"Threads", 10, 68, 80, 20, &G.scene->r.mode, 0, 0, 0, 0, "Enable/Disable render in two threads");
- uiBlockSetCol(block, TH_AUTO);
-
- uiBlockBeginAlign(block);
- for(b=2; b>=0; b--)
- for(a=0; a<3; a++)
- uiDefButBitS(block, TOG, 1<<(3*b+a), 800,"", (short)(10+18*a),(short)(10+14*b),16,12, &G.winpos, 0, 0, 0, 0, "Render window placement on screen");
- uiBlockEndAlign(block);
+ yco -= YSPACE;
- uiBlockBeginAlign(block);
- uiDefButS(block, ROW, B_REDR, "DispWin", 72, 10, 60, 20, &G.displaymode, 0.0, (float)R_DISPLAYWIN, 0, 0, "Sets render output to display in a seperate window");
- uiDefButS(block, ROW, B_REDR, "DispView", 134, 10, 60, 20, &G.displaymode, 0.0, (float)R_DISPLAYVIEW, 0, 0, "Sets render output to display in 3D view");
- uiBlockEndAlign(block);
+#ifdef __sgi
+ uiDefButS(block, NUM,B_DIFF,"MaxSize:",
+ X1CLM, yco-=BUTH, BUTW2, BUTH, &G.scene->r.maximsize, 0.0, 500.0, 0, 0, "Maximum size per frame to save in an SGI movie");
+ uiDefButI(block, TOG|BIT|12,0,"Cosmo",
+ X2CLM2, yco, BUTW2, BUTH, &G.scene->r.mode, 0, 0, 0, 0, "Attempt to save SGI movies using Cosmo hardware");
+#endif
- uiDefButBitS(block, TOG, R_EXTENSION, 0, "Extensions", 205, 10, 105, 19, &G.scene->r.scemode, 0.0, 0.0, 0, 0, "Adds extensions to the output when rendering animations");
+/*
+ uiDefButS(block, TOG|BIT|1, 0, "Network Rendering",
+ 220, 60, 100, 20, &G.scene->r.scemode, 0, 0, 0, 0, "Let external network render this scene");
+ */
+}
- /* Dither control */
- uiDefButF(block, NUM,B_DIFF, "Dither:", 205,31,105,19, &G.scene->r.dither_intensity, 0.0, 2.0, 0, 0, "The amount of dithering noise present in the output image (0.0 = no dithering)");
-
- /* Toon shading buttons */
- uiBlockBeginAlign(block);
- uiDefButBitI(block, TOG, R_EDGE, 0,"Edge", 100, 94, 70, 20, &G.scene->r.mode, 0, 0, 0, 0, "Enable Toon edge shading");
- uiDefBlockBut(block, edge_render_menu, NULL, "Edge Settings", 170, 94, 140, 20, "Display edge settings");
+static void render_panel_dimensions(void)
+{
+ uiBlock *block;
+ short yco=PANEL_YMAX;
+
+ block= uiNewBlock(&curarea->uiblocks, "render_panel_dimensions", UI_EMBOSS, UI_HELV, curarea->win);
+ if(uiNewPanel(curarea, block, "Dimensions", "Render", PANELX, PANELY, PANELW, PANELH)==0) return;
+
+ uiDefBut(block, LABEL, 0, "Presets:",
+ X1CLM, yco-=BUTH, BUTW4, BUTH, 0, 0, 0, 0, 0, "");
+ uiDefButS(block, MENU, B_PRESET_RDIMENSIONS, dimensions_presets_pup(),
+ X1CLM+BUTW4, yco, BUTW1-BUTW4, BUTH, &G.scene->r.dimensionspreset, 0, 0, 0, 0, "Presets");
+
- /* postprocess render buttons */
+ uiDefBut(block, LABEL, 0, "Size:",
+ X1CLM, yco-=BUTH, BUTW4, BUTH, 0, 0, 0, 0, 0, "");
uiBlockBeginAlign(block);
- if(R.rectftot)
- uiDefIconTextButBitI(block, TOG, R_FBUF, B_NOP, ICON_IMAGE_DEHLT," Fbuf", 100, 68, 70, 20, &G.scene->r.mode, 0, 0, 0, 0, "Keep RGBA float buffer after render; buffer available");
- else
- uiDefButBitI(block, TOG, R_FBUF, 0,"Fbuf", 100, 68, 70, 20, &G.scene->r.mode, 0, 0, 0, 0, "Keep RGBA float buffer after render, no buffer available now");
- uiDefBlockBut(block, post_render_menu, NULL, "Post process", 170, 68, 140, 20, "Applies on RGBA floats while render or with Fbuf available");
+ uiDefButS(block, NUM,B_DIMSCHANGED,"X:",
+ X1CLM, yco-=BUTH, BUTW4, BUTH,
+ &G.scene->r.xsch, 4.0, 10000.0, 0, 0, "The image width in pixels");
+ uiDefButS(block, NUM,B_DIMSCHANGED,"Y:",
+ X4CLM2+XSPACE, yco, BUTW4, BUTH,
+ &G.scene->r.ysch, 4.0, 10000.0, 0, 0, "The image height in pixels");
+
+ uiDefButS(block, NUM,B_DIFF,"Size %:",
+ X1CLM, yco-=BUTH, BUTW2-ICONBUTW, BUTH,
+ &G.scene->r.size, 1.0, 400.0, 0, 0, "The image width in pixels");
+ uiDefButS(block, MENU,B_REDR,"400% %x400|200% %x200|150% %x150|100% %x100|75% %x75|50% %x50|25% %x25",
+ X1CLM+BUTW2-ICONBUTW, yco, ICONBUTW, BUTH,
+ &G.scene->r.size, 0, 0, 0, 0, "The image width in pixels");
uiBlockEndAlign(block);
- /* removed, for time being unified and normal render will use same gamma for blending (2.0) */
- //if (G.scene->r.mode & R_GAMMA) {
- // uiDefButF(block, NUMSLI, B_NOP,"Gamma:", 10, 68, 142, 20,
- // &(G.scene->r.gamma), 0.2, 5.0, B_GAMMASLI, 0,
- // "The gamma value for blending oversampled images (1.0 = no correction).");
- //}
+ yco -= 2*YSPACE;
+
+ uiDefBut(block, LABEL, 0, "Aspect:",
+ X1CLM, yco-=BUTH, BUTW2, BUTH, 0, 0, 0, 0, 0, "");
+
+ uiBlockBeginAlign(block);
+ uiDefButS(block, NUM,B_DIMSCHANGED,"X:",
+ X1CLM, yco-=BUTH, BUTW4, BUTH,
+ &G.scene->r.xasp, 1.0,200.0, 0, 0, "The horizontal pixel aspect ratio");
+ uiDefButS(block, NUM,B_DIMSCHANGED,"Y:",
+ X4CLM2+XSPACE, yco, BUTW4, BUTH,
+ &G.scene->r.yasp, 1.0,200.0, 0, 0, "The vertical pixel aspect ratio");
+ uiBlockEndAlign(block);
+
+ yco -= YSPACE;
+
+ uiDefButI(block, TOG|BIT|9,REDRAWVIEWCAM, "Border",
+ X4CLM1, yco-=BUTH, BUTW4, BUTH,
+ &G.scene->r.mode, 0, 0, 0, 0, "Render a small cut-out of the image");
+ uiDefButI(block, TOG|BIT|11,B_DIFF, "Crop",
+ X4CLM2+XSPACE, yco, BUTW4, BUTH,
+ &G.scene->r.mode, 0, 0, 0, 0, "Exclude border rendering from total image");
+
+
+ yco = PANEL_YMAX-BUTH;
+
+
+ uiDefBut(block, LABEL, 0, "Frames:",
+ X4CLM3, yco-=BUTH, BUTW4, BUTH, 0, 0, 0, 0, 0, "");
+ uiBlockBeginAlign(block);
+ uiDefButS(block, NUM,REDRAWALL,"Start:",
+ X4CLM3, yco-=BUTH, BUTW4, BUTH,
+ &G.scene->r.sfra,-18000.0,18000.0, 0, 0, "The start frame of the animation");
+ uiDefButS(block, NUM,REDRAWALL,"End:",
+ X4CLM4+XSPACE, yco, BUTW4, BUTH,
+ &G.scene->r.efra,-18000.0,18000.0, 0, 0, "The end frame of the animation");
+
+ uiDefButS(block, NUM,B_FRAMEMAP,"Old:",
+ X4CLM3, yco-=BUTH, BUTW4, BUTH,
+ &G.scene->r.framapto,1.0,900.0, 0, 0, "Specify old map value in frames");
+ uiDefButS(block, NUM,B_FRAMEMAP,"New:",
+ X4CLM4+XSPACE, yco, BUTW4, BUTH,
+ &G.scene->r.images,1.0,900.0, 0, 0, "Specify new map value in frames");
+
+ uiDefButS(block, NUM,B_FRAMEMAP,"Frs/sec:",
+ X4CLM3, yco-=BUTH, BUTW2, BUTH,
+ &G.scene->r.frs_sec, 1.0, 120.0, 100.0, 0, "Frames per second");
+
+ uiDefButI(block, TOG|BIT|6, B_REDR, "Fields",
+ X4CLM3, yco-=BUTH, 60, BUTH,
+ &G.scene->r.mode, 0, 0, 0, 0, "Enables field rendering");
+ uiDefButI(block, TOG|BIT|13,0,"Up",
+ X4CLM3+50, yco, 35, BUTH,
+ &G.scene->r.mode, 0, 0, 0, 0, "Enables Upper (Odd) field first rendering (Default: Lower (Even) field)");
+ uiDefButI(block, TOG|BIT|7,B_DIMSCHANGED,"Hold",
+ X4CLM3+50+45, yco, 50, BUTH,
+ &G.scene->r.mode, 0, 0, 0, 0, "Disables time difference in field calculations");
+ uiBlockEndAlign(block);
+
+ yco -= YSPACE;
+
+ uiDefBut(block, LABEL, 0, "Parts:",
+ X4CLM3, yco-=BUTH, BUTW4, BUTH, 0, 0, 0, 0, 0, "");
+ uiBlockBeginAlign(block);
+ uiDefButS(block, NUM,B_DIFF,"X:",
+ X4CLM3, yco-=BUTH, BUTW4, BUTH,
+ &G.scene->r.xparts,1.0, 64.0, 0, 0, "Sets the number of horizontal parts to render image in (For panorama sets number of camera slices)");
+ uiDefButS(block, NUM,B_DIFF,"Y:",
+ X4CLM4+XSPACE, yco, BUTW4, BUTH,
+ &G.scene->r.yparts,1.0, 64.0, 0, 0, "Sets the number of vertical parts to render image in");
+ uiDefButI(block, TOG|BIT|10,0,"Panorama",
+ X4CLM3, yco-=BUTH, BUTW2, BUTH,
+ &G.scene->r.mode, 0, 0, 0, 0, "Enable panorama rendering (output width is multiplied by Xparts)");
+ uiBlockEndAlign(block);
+
+ // uiDefButS(block, MENU, B_FIELDORDER, "Lower %x0|Upper %x1",
+ // 115, 8, 100, 20, &G.scene->r.fieldsmenu, 0, 0, 0, 0, "Field order: Upper (odd) field first or Lower (even) field first");
+ // -- to be replaced with a REAL bit toggling menu solution hopefully
+
+
+
+
}
-static void render_panel_render(void)
+static void render_panel_gameframing(void)
{
uiBlock *block;
+ int randomcolorindex = 1234;
+ short yco=PANEL_YMAX;
+
+ block= uiNewBlock(&curarea->uiblocks, "render_panel_gameframing", UI_EMBOSS, UI_HELV, curarea->win);
+ uiNewPanelTabbed("Dimensions", "Render");
+ if(uiNewPanel(curarea, block, "Game Framing", "Render", PANELX, PANELY, PANELW, PANELH)==0) return;
+
+ uiDefBut(block, LABEL, B_NOP, "Framing:",
+ X1CLM, yco-=BUTH, BUTW4, BUTH, 0, 0, 0, 0, 0, "");
+ uiBlockBeginAlign(block);
+ uiDefButC(block, ROW, 0, "Stretch",
+ X4CLM2, yco, BUTW4, BUTH,
+ &G.scene->framing.type, 1.0, SCE_GAMEFRAMING_SCALE , 0, 0, "Stretch or squeeze the viewport to fill the display window");
+ uiDefButC(block, ROW, 0, "Expose",
+ X4CLM3, yco, BUTW4, BUTH,
+ &G.scene->framing.type, 1.0, SCE_GAMEFRAMING_EXTEND, 0, 0, "Show the entire viewport in the display window, viewing more horizontally or vertically");
+ uiDefButC(block, ROW, 0, "Letterbox",
+ X4CLM4, yco, BUTW4, BUTH,
+ &G.scene->framing.type, 1.0, SCE_GAMEFRAMING_BARS , 0, 0, "Show the entire viewport in the display window, using bar horizontally or vertically");
+ uiBlockEndAlign(block);
+
+ yco -= YSPACE;
+
+ uiDefBut(block, LABEL, 0, "Size:",
+ X1CLM, yco-=BUTH, BUTW4, BUTH, 0, 0, 0, 0, 0, "");
+ uiBlockBeginAlign(block);
+ uiDefButS(block, NUM, B_NOP,"X:",
+ X1CLM, yco-=BUTH, BUTW4, BUTH,
+ &G.scene->r.xplay, 10.0, 2000.0, 0, 0, "The horizontal screen/window resolution");
+ uiDefButS(block, NUM, B_NOP,"Y:",
+ X4CLM2+XSPACE, yco, BUTW4, BUTH,
+ &G.scene->r.yplay, 10.0, 2000.0, 0, 0, "The vertical screen/window resolution");
+
+ uiDefButS(block, TOG, 0, "Fullscreen",
+ X1CLM, yco-=BUTH, BUTW2, BUTH,
+ &G.scene->r.fullscreen, 0.0, 0.0, 0, 0, "Starts player in a new fullscreen display");
+ uiBlockEndAlign(block);
+
+ yco -= YSPACE;
+ uiDefBut(block, LABEL, B_NOP, "Stereo:",
+ X1CLM, yco-=BUTH, BUTW2, BUTH, 0, 0, 0, 0, 0, "");
+ uiDefButS(block, MENU, B_NOP, "No Stereo %x1|Pageflip %x2|Syncdouble %x3|Anaglyph %x5|Side by Side %x6|V Interlace %x7",
+ X1CLM, yco-=BUTH, BUTW2, BUTH,
+ &(G.scene->r.stereomode), 0, 0, 0, 0, "None / Hardware pageflip / Syncdoubling / Anaglyph (red-blue) / Side by side, left and right / Interlaced vertical strips");
- block= uiNewBlock(&curarea->uiblocks, "render_panel_render", UI_EMBOSS, UI_HELV, curarea->win);
- if(uiNewPanel(curarea, block, "Render", "Render", 320, 0, 318, 204)==0) return;
+ yco=PANEL_YMAX;
+
+ yco -= (BUTH+2*YSPACE);
- uiBlockBeginAlign(block);
- uiDefBut(block, BUT,B_DORENDER,"RENDER", 369, 164, 191,37, 0, 0, 0, 0, 0, "Start the rendering");
- /* yafray: on request, render engine menu is back again, and moved to Render panel */
- uiDefButS(block, MENU, B_SWITCHRENDER, "Rendering Engine %t|Blender Internal %x0|YafRay %x1",
- 369, 142, 191, 20, &G.scene->r.renderer, 0, 0, 0, 0, "Choose rendering engine");
+ uiDefBut(block, LABEL, B_NOP, "Border:",
+ X4CLM3, yco-=BUTH, BUTW4, BUTH, 0, 0, 0, 0, 0, "");
+ uiDefButF(block, COL, 0, "",
+ X4CLM4, yco, BUTW4, BUTH,
+ &G.scene->framing.col[0], 0, 0, 0, randomcolorindex, "");
+
+ yco -= YSPACE;
+
+ uiDefButS(block, NUM, B_NOP, "Frequency (Hz):",
+ X2CLM2, yco-=BUTH, BUTW2, BUTH,
+ &G.scene->r.freqplay, 10.0, 120.0, 0, 0, "Displays clock frequency of fullscreen display. Click to change.");
+
+ yco -= YSPACE;
+
+ uiDefButS(block, NUM, B_NOP, "Bit Depth:",
+ X2CLM2, yco-=BUTH, BUTW2, BUTH,
+ &G.scene->r.depth, 8.0, 32.0, 800.0, 0, "Displays bit depth of full screen display. Click to change.");
- uiBlockBeginAlign(block);
- uiDefButBitI(block, TOG, R_OSA, 0, "OSA", 369,109,122,20,&G.scene->r.mode, 0, 0, 0, 0, "Enables Oversampling (Anti-aliasing)");
- uiDefButS(block, ROW,B_DIFF,"5", 369,88,29,20,&G.scene->r.osa,2.0,5.0, 0, 0, "Sets oversample level to 5");
- uiDefButS(block, ROW,B_DIFF,"8", 400,88,29,20,&G.scene->r.osa,2.0,8.0, 0, 0, "Sets oversample level to 8 (Recommended)");
- uiDefButS(block, ROW,B_DIFF,"11", 431,88,29,20,&G.scene->r.osa,2.0,11.0, 0, 0, "Sets oversample level to 11");
- uiDefButS(block, ROW,B_DIFF,"16", 462,88,29,20,&G.scene->r.osa,2.0,16.0, 0, 0, "Sets oversample level to 16");
- uiBlockEndAlign(block);
+
+ /* stereo settings */
+ /* can't use any definition from the game engine here so hardcode it. Change it here when it changes there!
+ * RAS_IRasterizer has definitions:
+ * RAS_STEREO_NOSTEREO 1
+ * RAS_STEREO_QUADBUFFERED 2
+ * RAS_STEREO_ABOVEBELOW 3
+ * RAS_STEREO_INTERLACED 4 future
+ * RAS_STEREO_ANAGLYPH 5
+ * RAS_STEREO_SIDEBYSIDE 6
+ * RAS_STEREO_VINTERLACE 7
+ */
- uiBlockBeginAlign(block);
- uiDefButBitI(block, TOG, R_MBLUR, 0, "MBLUR", 496,109,64,20,&G.scene->r.mode, 0, 0, 0, 0, "Enables Motion Blur calculation");
- uiDefButF(block, NUM,B_DIFF,"Bf:", 496,88,64,20,&G.scene->r.blurfac, 0.01, 5.0, 10, 2, "Sets motion blur factor");
- uiBlockEndAlign(block);
+}
+static void render_panel_elements(void)
+{
+ uiBlock *block;
+ short yco=PANEL_YMAX;
+
+ block= uiNewBlock(&curarea->uiblocks, "render_panel_elements", UI_EMBOSS, UI_HELV, curarea->win);
+ if(uiNewPanel(curarea, block, "Elements", "Render", PANELX, PANELY, PANELW, PANELH)==0) return;
+
+ /* 1st col */
uiBlockBeginAlign(block);
- uiDefButS(block, NUM,B_DIFF,"Xparts:", 369,46,95,29,&G.scene->r.xparts,1.0, 64.0, 0, 0, "Sets the number of horizontal parts to render image in (For panorama sets number of camera slices)");
- uiDefButS(block, NUM,B_DIFF,"Yparts:", 465,46,95,29,&G.scene->r.yparts,1.0, 64.0, 0, 0, "Sets the number of vertical parts to render image in");
+ uiDefButI(block, TOG|BIT|16,B_REDR,"Raytracing",
+ X1CLM, yco-=BUTH, BUTW2, BUTH,
+ &G.scene->r.mode, 0, 0, 0, 0, "Enable raytracing");
+
+ uiDefButS(block, MENU, B_DIFF,"Octree resolution %t|Octree: 64 %x64|Octree: 128 %x128|Octree: 256 %x256|Octree: 512 %x512",
+ X1CLM, yco-=BUTH, BUTW2, BUTH,
+ &G.scene->r.ocres,0.0,0.0, 0, 0, "Octree resolution for ray tracing");
uiBlockEndAlign(block);
-
+
+ yco -= YSPACE;
+
uiBlockBeginAlign(block);
- uiDefButS(block, ROW,800,"Sky", 369,13,35,20,&G.scene->r.alphamode,3.0,0.0, 0, 0, "Fill background with sky");
- uiDefButS(block, ROW,800,"Premul", 405,13,50,20,&G.scene->r.alphamode,3.0,1.0, 0, 0, "Multiply alpha in advance");
- uiDefButS(block, ROW,800,"Key", 456,13,35,20,&G.scene->r.alphamode,3.0,2.0, 0, 0, "Alpha and colour values remain unchanged");
+ uiDefButI(block, TOG|BIT|8,0,"Radiosity",
+ X1CLM, yco-=BUTH, BUTW2, BUTH,
+ &G.scene->r.mode, 0, 0, 0, 0, "Enable radiosity rendering");
+ uiDefButI(block, TOG|BIT|1,0,"Shadows",
+ X1CLM, yco-=BUTH, BUTW2, BUTH,
+ &G.scene->r.mode, 0, 0, 0, 0, "Enable shadow calculation");
+ uiDefButI(block, TOG|BIT|4,0,"EnvMaps",
+ X1CLM, yco-=BUTH, BUTW2, BUTH,
+ &G.scene->r.mode, 0, 0, 0, 0, "Enable environment map rendering");
uiBlockEndAlign(block);
-
- if(G.scene->r.mode & R_RAYTRACE)
- uiDefButS(block, MENU, B_DIFF,"Octree resolution %t|64 %x64|128 %x128|256 %x256|512 %x512", 496,13,64,20,&G.scene->r.ocres,0.0,0.0, 0, 0, "Octree resolution for ray tracing");
-
+
+ yco -= YSPACE;
+
uiBlockBeginAlign(block);
- uiDefButBitI(block, TOG, R_SHADOW, 0,"Shadow", 565,172,60,29, &G.scene->r.mode, 0, 0, 0, 0, "Enable shadow calculation");
- uiDefButBitI(block, TOG, R_ENVMAP, 0,"EnvMap", 627,172,60,29, &G.scene->r.mode, 0, 0, 0, 0, "Enable environment map rendering");
- uiDefButBitI(block, TOG, R_PANORAMA, 0,"Pano", 565,142,40,29, &G.scene->r.mode, 0, 0, 0, 0, "Enable panorama rendering (output width is multiplied by Xparts)");
- uiDefButBitI(block, TOG, R_RAYTRACE, B_REDR,"Ray",606,142,40,29, &G.scene->r.mode, 0, 0, 0, 0, "Enable ray tracing");
- uiDefButBitI(block, TOG, R_RADIO, 0,"Radio", 647,142,40,29, &G.scene->r.mode, 0, 0, 0, 0, "Enable radiosity rendering");
+ uiDefButS(block, TOG|BIT|0, B_REDR,"Background",
+ X1CLM, yco-=BUTH, BUTW2, BUTH,
+ &G.scene->r.bufflag, 0, 0, 0, 0, "Enable/Disable use of Backbuf image");
+
+ uiDefIconBut(block, BUT,B_FS_BACKBUF, ICON_FILESEL,
+ X1CLM, yco-=BUTH, ICONBUTW, BUTH,
+ 0, 0, 0, 0, 0, "Open Fileselect to get Backbuf image");
+ uiDefBut(block, TEX,0,"",
+ X1CLM+ICONBUTW, yco, BUTW2-ICONBUTW, BUTH,
+ G.scene->r.backbuf, 0.0,79.0, 0, 0, "Image to use as background for rendering");
uiBlockEndAlign(block);
+
+ /* 2nd col */
+
+ yco = PANEL_YMAX;
+
uiBlockBeginAlign(block);
- uiDefButS(block, ROW,B_DIFF,"100%", 565,109,122,20,&G.scene->r.size,1.0,100.0, 0, 0, "Set render size to defined size");
- uiDefButS(block, ROW,B_DIFF,"75%", 565,88,40,20,&G.scene->r.size,1.0,75.0, 0, 0, "Set render size to 3/4 of defined size");
- uiDefButS(block, ROW,B_DIFF,"50%", 606,88,40,20,&G.scene->r.size,1.0,50.0, 0, 0, "Set render size to 1/2 of defined size");
- uiDefButS(block, ROW,B_DIFF,"25%", 647,88,40,20,&G.scene->r.size,1.0,25.0, 0, 0, "Set render size to 1/4 of defined size");
+ uiDefButI(block, TOG|BIT|0, B_REDR, "Oversampling",
+ X2CLM2, yco-=BUTH, BUTW2, BUTH,
+ &G.scene->r.mode, 0, 0, 0, 0, "Enables Oversampling (Anti-aliasing)");
+
+ uiDefButS(block, ROW,B_DIFF,"5",
+ X2CLM2, yco-=BUTH, BUTW2/4, BUTH,
+ &G.scene->r.osa,2.0,5.0, 0, 0, "5 samples");
+ uiDefButS(block, ROW,B_DIFF,"8",
+ X2CLM2+BUTW2/4, yco, BUTW2/4, BUTH,
+ &G.scene->r.osa,2.0,8.0, 0, 0, "8 samples (recommended)");
+ uiDefButS(block, ROW,B_DIFF,"11",
+ X2CLM2+2*BUTW2/4, yco, BUTW2/4, BUTH,
+ &G.scene->r.osa,2.0,11.0, 0, 0, "11 samples");
+ uiDefButS(block, ROW,B_DIFF,"16",
+ X2CLM2+3*BUTW2/4, yco, BUTW2/4, BUTH,
+ &G.scene->r.osa,2.0,16.0, 0, 0, "Sets oversample level to 16");
uiBlockEndAlign(block);
-
+
+ yco -= YSPACE;
+
uiBlockBeginAlign(block);
- uiDefButBitI(block, TOG, R_FIELDS, 0,"Fields", 565,55,60,20,&G.scene->r.mode, 0, 0, 0, 0, "Enables field rendering");
- uiDefButBitI(block, TOG, R_ODDFIELD, 0,"Odd", 627,55,39,20,&G.scene->r.mode, 0, 0, 0, 0, "Enables Odd field first rendering (Default: Even field)");
- uiDefButBitI(block, TOG, R_FIELDSTILL, 0,"X", 668,55,19,20,&G.scene->r.mode, 0, 0, 0, 0, "Disables time difference in field calculations");
+ uiDefButI(block, TOG|BIT|17,B_REDR,"Gaussian",
+ X2CLM2, yco-=BUTH, BUTW2, BUTH,
+ &G.scene->r.mode, 0, 0, 0, 0, "Enable Gaussian sampling filter for antialiasing");
+ uiDefButF(block, NUM,B_DIFF,"Filter:",
+ X2CLM2, yco-=BUTH, BUTW2, BUTH,
+ &G.scene->r.gauss,0.5, 1.5, 100, 2, "Sets the Gaussian filter size");
+ uiBlockEndAlign(block);
- uiDefButBitI(block, TOG, R_GAUSS, 0,"Gauss", 565,34,60,20, &G.scene->r.mode, 0, 0, 0, 0, "Enable Gaussian sampling filter for antialiasing");
- uiDefButF(block, NUM,B_DIFF,"", 627,34,60,20,&G.scene->r.gauss,0.5, 1.5, 100, 2, "Sets the Gaussian filter size");
+ yco -= YSPACE;
- uiDefButBitI(block, TOG, R_BORDER, REDRAWVIEWCAM, "Border", 565,13,60,20, &G.scene->r.mode, 0, 0, 0, 0, "Render a small cut-out of the image");
- uiDefButBitI(block, TOG, R_GAMMA, B_REDR, "Gamma", 627,13,60,20, &G.scene->r.mode, 0, 0, 0, 0, "Enable gamma correction");
+ uiBlockBeginAlign(block);
+ uiDefButI(block, TOG|BIT|14, B_REDR, "Motion Blur",
+ X2CLM2, yco-=BUTH, BUTW2, BUTH,
+ &G.scene->r.mode, 0, 0, 0, 0, "Enables Motion Blur calculation");
+ uiDefButF(block, NUM,B_DIFF,"Range:",
+ X2CLM2, yco-=BUTH, BUTW2, BUTH,
+ &G.scene->r.blurfac, 0.01, 5.0, 10, 2, "Sets the number of frames to blur across in time");
uiBlockEndAlign(block);
-
+
+ yco -= YSPACE;
+
+ uiDefButI(block, TOG|BIT|2, B_REDR, "Gamma",
+ X2CLM2, yco-=BUTH, BUTW2, BUTH,
+ &G.scene->r.mode, 0, 0, 0, 0, "Enable gamma correction");
+
+ yco -= YSPACE;
+
+ uiDefButF(block, NUM,B_DIFF, "Dither:",
+ X2CLM2, yco-=BUTH, BUTW2, BUTH,
+ &G.scene->r.dither_intensity, 0.0, 2.0, 0, 0, "The amount of dithering noise present in the output image (0.0 = no dithering)");
}
-static void render_panel_anim(void)
+static void render_panel_postpro(void)
{
uiBlock *block;
-
-
- block= uiNewBlock(&curarea->uiblocks, "render_panel_anim", UI_EMBOSS, UI_HELV, curarea->win);
- if(uiNewPanel(curarea, block, "Anim", "Render", 640, 0, 318, 204)==0) return;
-
-
- uiDefBut(block, BUT,B_DOANIM,"ANIM", 692,142,192,47, 0, 0, 0, 0, 0, "Start rendering a sequence");
-
- uiBlockSetCol(block, TH_BUT_SETTING1);
+ short yco=PANEL_YMAX;
+
+ block= uiNewBlock(&curarea->uiblocks, "render_panel_postpro", UI_EMBOSS, UI_HELV, curarea->win);
+ uiNewPanelTabbed("Elements", "Render");
+ if(uiNewPanel(curarea, block, "Post Process", "Render", PANELX, PANELY, PANELW, PANELH)==0) return;
+
+ uiDefBut(block, LABEL, B_NOP, "Color Correct:",
+ X1CLM, yco-=BUTH, BUTW2, BUTH, 0, 0, 0, 0, 0, "");
+
+ uiBlockBeginAlign(block);
+ uiDefButF(block, NUMSLI, B_FBUF_REDO,"Add: ",
+ X1CLM, yco-=BUTH, BUTW2, BUTH,
+ &G.scene->r.postadd, -1.0, 1.0, 0, 0, "");
+ uiDefButF(block, NUMSLI, B_FBUF_REDO,"Mul: ",
+ X1CLM, yco-=BUTH, BUTW2, BUTH,
+ &G.scene->r.postmul, 0.01, 4.0, 0, 0, "");
+ uiDefButF(block, NUMSLI, B_FBUF_REDO, "Hue: ",
+ X1CLM, yco-=BUTH, BUTW2, BUTH,
+ &G.scene->r.posthue, -0.5, 0.5, 0, 0, "");
+ uiDefButF(block, NUMSLI, B_FBUF_REDO, "Sat: ",
+ X1CLM, yco-=BUTH, BUTW2, BUTH,
+ &G.scene->r.postsat, 0.0, 4.0, 0, 0, "");
+ uiDefButF(block, NUMSLI, B_FBUF_REDO,"Gamma: ",
+ X1CLM, yco-=BUTH, BUTW2, BUTH,
+ &G.scene->r.postgamma, 0.2, 2.0, 0, 0, "");
+ uiBlockEndAlign(block);
+
+ yco=PANEL_YMAX;
+
+ uiDefButI(block, TOG|BIT|5, B_REDR,"Edge Rendering",
+ X2CLM2, yco-=BUTH, BUTW2, BUTH,
+ &G.scene->r.mode, 0, 0, 0, 0, "Enable toon edge rendering");
+
+ yco -= YSPACE;
+
+ uiDefBut(block, LABEL, B_NOP, "Color:",
+ X2CLM2, yco-=BUTH, BUTW4, BUTH, 0, 0, 0, 0, 0, "");
+ uiDefButF(block, COL, 0, "",
+ X4CLM4, yco, BUTW4, BUTH,
+ &(G.scene->r.edgeR), 0, 0, 0, B_EDGECOLSLI, "Edge color (unified renderer only)");
+
+ yco -= YSPACE;
+
uiBlockBeginAlign(block);
- uiDefButBitS(block, TOG, R_DOSEQ, 0, "Do Sequence",692,114,192,20, &G.scene->r.scemode, 0, 0, 0, 0, "Enables sequence output rendering (Default: 3D rendering)");
- uiDefButBitS(block, TOG, R_BG_RENDER, 0, "Render Daemon",692,90,192,20, &G.scene->r.scemode, 0, 0, 0, 0, "Let external network render current scene");
+ uiDefButS(block, NUM, B_NOP, "Intensity:",
+ X2CLM2, yco-=BUTH, BUTW2, BUTH,
+ &G.scene->r.edgeint, 0.0, 255.0, 0, 0, "Sets edge intensity for toon edge rendering");
+ uiDefButS(block, NUM, B_NOP,"Anti-Shift:",
+ X2CLM2, yco-=BUTH, BUTW2, BUTH,
+ &(G.scene->r.same_mat_redux), 0, 255.0, 0, 0, "For unified renderer: reduce intensity on boundaries with identical materials with this number.");
+ uiBlockEndAlign(block);
+
+ yco -= YSPACE;
+
+ uiBlockBeginAlign(block);
+ uiDefButI(block, TOG, 0,"Old Offset",
+ X2CLM2, yco-=BUTH, BUTW2, BUTH,
+ &G.compat, 0, 0, 0, 0, "For unified renderer: use old offsets for edges");
+ uiDefButI(block, TOG, 0,"Transparent",
+ X2CLM2, yco-=BUTH, BUTW2, BUTH,
+ &G.notonlysolid, 0, 0, 0, 0, "For unified renderer: also consider transparent faces for toon shading");
uiBlockEndAlign(block);
- uiBlockSetCol(block, TH_AUTO);
- uiDefBut(block, BUT,B_PLAYANIM, "PLAY",692,40,94,33, 0, 0, 0, 0, 0, "Play animation of rendered images/avi (searches Pics: field)");
- uiDefButS(block, NUM, B_RTCHANGED, "rt:",789,40,95,33, &G.rt, -1000.0, 1000.0, 0, 0, "General testing/debug button");
-
- uiBlockBeginAlign(block);
- uiDefButS(block, NUM,REDRAWSEQ,"Sta:",692,10,94,24, &G.scene->r.sfra,1.0,MAXFRAMEF, 0, 0, "The start frame of the animation");
- uiDefButS(block, NUM,REDRAWSEQ,"End:",789,10,95,24, &G.scene->r.efra,1.0,MAXFRAMEF, 0, 0, "The end frame of the animation");
- uiBlockEndAlign(block);
+
+ //addqueue(curarea->win, UI_BUT_EVENT, B_FBUF_REDO);
}
-static void render_panel_format(void)
+static void render_panel_render(void)
{
+ int a,b;
uiBlock *block;
- int yofs;
+ short yco=PANEL_YMAX;
+
+ block= uiNewBlock(&curarea->uiblocks, "render_panel_render", UI_EMBOSS, UI_HELV, curarea->win);
+ if(uiNewPanel(curarea, block, "Render ", "Render", PANELX, PANELY, PANELW, PANELH)==0) return;
+ uiDefBut(block, BUT,B_DORENDER,"Render Frame",
+ X1CLM, yco-=BUTH*3/2, 2*BUTW3+XSPACE, BUTH*3/2, 0, 0, 0, 0, 0, "Start the rendering");
+
+ uiDefBut(block, BUT,B_SHOWBUFFER, "Show",
+ X3CLM3, yco, BUTW3, BUTH*3/2, 0, 0, 0, 0, 0, "Show the buffered rendered image");
- block= uiNewBlock(&curarea->uiblocks, "render_panel_format", UI_EMBOSS, UI_HELV, curarea->win);
- if(uiNewPanel(curarea, block, "Format", "Render", 960, 0, 318, 204)==0) return;
- uiDefBlockBut(block, framing_render_menu, NULL,
- "Game framing settings",
- 892, 169, 227, 20, "Display game framing settings");
- /* uiDefIconTextBlockBut(block, framing_render_menu, NULL,
- ICON_BLOCKBUT_CORNER,
- "Game framing settings",
- 892, 169, 227, 20,
- "Display game framing settings"); */
+ yco -= 2*YSPACE;
+
+ uiDefBut(block, BUT,B_DOANIM,"Render Animation",
+ X1CLM, yco-=BUTH*3/2, 2*BUTW3+XSPACE, BUTH*3/2, 0, 0, 0, 0, 0, "Start rendering a sequence");
+ uiDefBut(block, BUT,B_PLAYANIM, "Play",
+ X3CLM3, yco, BUTW3, BUTH*3/2, 0, 0, 0, 0, 0, "Play animation of rendered images/avi (searches Pics: field)");
+
+ yco -= 2*YSPACE;
+
+ yco -= (3*BUTH+2*YSPACE);
+
uiBlockBeginAlign(block);
- uiDefButS(block, NUM,REDRAWVIEWCAM,"SizeX:", 892 ,136,112,27, &G.scene->r.xsch, 4.0, 10000.0, 0, 0, "The image width in pixels");
- uiDefButS(block, NUM,REDRAWVIEWCAM,"SizeY:", 1007,136,112,27, &G.scene->r.ysch, 4.0,10000.0, 0, 0, "The image height in scanlines");
- uiDefButS(block, NUM,REDRAWVIEWCAM,"AspX:", 892 ,114,112,20, &G.scene->r.xasp, 1.0,200.0, 0, 0, "The horizontal aspect ratio");
- uiDefButS(block, NUM,REDRAWVIEWCAM,"AspY:", 1007,114,112,20, &G.scene->r.yasp, 1.0,200.0, 0, 0, "The vertical aspect ratio");
+ for(b=2; b>=0; b--)
+ for(a=0; a<3; a++)
+ uiDefButS(block, TOG|BIT|(3*b+a), 800,"",
+ (short)(X1CLM+19*a),(short)(yco+16*b), 19, 16, &G.winpos, 0, 0, 0, 0, "Render window placement on screen");
uiBlockEndAlign(block);
-
- yofs = 54;
-
-#ifdef __sgi
- yofs = 76;
- uiDefButS(block, NUM,B_DIFF,"MaxSize:", 892,32,165,20, &G.scene->r.maximsize, 0.0, 500.0, 0, 0, "Maximum size per frame to save in an SGI movie");
- uiDefButBitI(block, TOG, R_COSMO, 0,"Cosmo", 1059,32,60,20, &G.scene->r.mode, 0, 0, 0, 0, "Attempt to save SGI movies using Cosmo hardware");
-#endif
-
- uiDefButS(block, MENU,B_FILETYPEMENU,imagetype_pup(), 892,yofs,174,20, &G.scene->r.imtype, 0, 0, 0, 0, "Images are saved in this file format");
- uiDefButBitI(block, TOG, R_MOVIECROP, B_DIFF, "Crop", 1068,yofs,51,20, &G.scene->r.mode, 0, 0, 0, 0, "Exclude border rendering from total image");
-
- yofs -= 22;
-
- if(G.scene->r.quality==0) G.scene->r.quality= 90;
-
-#ifdef WITH_QUICKTIME
- if (G.scene->r.imtype == R_AVICODEC || G.scene->r.imtype == R_QUICKTIME) {
-#else /* WITH_QUICKTIME */
- if (0) {
-#endif
- if(G.scene->r.imtype == R_QUICKTIME) {
-#ifdef WITH_QUICKTIME
-#if defined (_WIN32) || defined (__APPLE__)
- //glColor3f(0.65, 0.65, 0.7);
- //glRecti(892,yofs+46,892+225,yofs+45+20);
- if(G.scene->r.qtcodecdata == NULL)
- uiDefBut(block, LABEL, 0, "Codec: not set", 892,yofs+44,225,20, 0, 0, 0, 0, 0, "");
- else
- uiDefBut(block, LABEL, 0, G.scene->r.qtcodecdata->qtcodecname, 892,yofs+44,225,20, 0, 0, 0, 0, 0, "");
- uiDefBut(block, BUT,B_SELECTCODEC, "Set codec", 892,yofs,112,20, 0, 0, 0, 0, 0, "Set codec settings for Quicktime");
-#endif
-#endif /* WITH_QUICKTIME */
- } else {
-#ifdef _WIN32
- //glColor3f(0.65, 0.65, 0.7);
- //glRecti(892,yofs+46,892+225,yofs+45+20);
- if(G.scene->r.avicodecdata == NULL)
- uiDefBut(block, LABEL, 0, "Codec: not set.", 892,yofs+43,225,20, 0, 0, 0, 0, 0, "");
- else
- uiDefBut(block, LABEL, 0, avicodec_str(), 892,yofs+43,225,20, 0, 0, 0, 0, 0, "");
-#endif
- uiDefBut(block, BUT,B_SELECTCODEC, "Set codec", 892,yofs,112,20, 0, 0, 0, 0, 0, "Set codec settings for AVI");
- }
- } else {
- uiDefButS(block, NUM,B_DIFF, "Quality:", 892,yofs,112,20, &G.scene->r.quality, 10.0, 100.0, 0, 0, "Quality setting for JPEG images, AVI Jpeg and SGI movies");
- }
- uiDefButS(block, NUM,B_FRAMEMAP,"Frs/sec:", 1006,yofs,113,20, &G.scene->r.frs_sec, 1.0, 120.0, 100.0, 0, "Frames per second");
-
-
- uiBlockBeginAlign(block);
- uiDefButS(block, ROW,B_DIFF,"BW", 892, 10,74,19, &G.scene->r.planes, 5.0,(float)R_PLANESBW, 0, 0, "Images are saved with BW (grayscale) data");
- uiDefButS(block, ROW,B_DIFF,"RGB", 968, 10,74,19, &G.scene->r.planes, 5.0,(float)R_PLANES24, 0, 0, "Images are saved with RGB (color) data");
- uiDefButS(block, ROW,B_DIFF,"RGBA", 1044, 10,75,19, &G.scene->r.planes, 5.0,(float)R_PLANES32, 0, 0, "Images are saved with RGB and Alpha data (if supported)");
-
+
+ yco += (2*BUTH);
+
+ uiDefBut(block, LABEL, 0, "Display:",
+ X4CLM2+XSPACE/2, yco-=BUTH, BUTW3, BUTH, 0, 0, 0, 0, 0, "");
uiBlockBeginAlign(block);
- uiDefBut(block, BUT,B_PR_PAL, "PAL", 1146,170,100,18, 0, 0, 0, 0, 0, "Size preset: Image size - 720x576, Aspect ratio - 54x51, 25 fps");
- uiDefBut(block, BUT,B_PR_NTSC, "NTSC", 1146,150,100,18, 0, 0, 0, 0, 0, "Size preset: Image size - 720x480, Aspect ratio - 10x11, 30 fps");
- uiDefBut(block, BUT,B_PR_PRESET, "Default", 1146,130,100,18, 0, 0, 0, 0, 0, "Same as PAL, with render settings (OSA, Shadows, Fields)");
- uiDefBut(block, BUT,B_PR_PRV, "Preview", 1146,110,100,18, 0, 0, 0, 0, 0, "Size preset: Image size - 640x512, Render size 50%");
- uiDefBut(block, BUT,B_PR_PC, "PC", 1146,90,100,18, 0, 0, 0, 0, 0, "Size preset: Image size - 640x480, Aspect ratio - 100x100");
- uiDefBut(block, BUT,B_PR_PAL169, "PAL 16:9",1146,70,100,18, 0, 0, 0, 0, 0, "Size preset: Image size - 720x576, Aspect ratio - 64x45");
- uiDefBut(block, BUT,B_PR_PANO, "PANO", 1146,50,100,18, 0, 0, 0, 0, 0, "Standard panorama settings");
- uiDefBut(block, BUT,B_PR_FULL, "FULL", 1146,30,100,18, 0, 0, 0, 0, 0, "Size preset: Image size - 1280x1024, Aspect ratio - 1x1");
- uiDefButBitI(block, TOG, R_UNIFIED, B_REDR, "Unified Renderer", 1146,10,100,18, &G.scene->r.mode, 0, 0, 0, 0, "Use the unified renderer.");
+ uiDefButS(block, ROW, B_REDR, "Window",
+ X4CLM2+XSPACE/2, yco-=BUTH, BUTW3*2/3, BUTH, &G.displaymode, 0.0, (float)R_DISPLAYWIN, 0, 0, "Sets render output to display in a seperate window");
+ uiDefButS(block, ROW, B_REDR, "3D View",
+ X4CLM2+BUTW3*2/3+XSPACE/2, yco, BUTW3*2/3, BUTH, &G.displaymode, 0.0, (float)R_DISPLAYVIEW, 0, 0, "Sets render output to display in 3D view");
uiBlockEndAlign(block);
+
+ if(R.rectftot)
+ uiDefIconTextButI(block, TOG|BIT|18, B_NOP, ICON_IMAGE_DEHLT, "Float buffer",
+ X3CLM3, yco, BUTW3, BUTH,
+ &G.scene->r.mode, 0, 0, 0, 0, "Keep RGBA float buffer after render; buffer available");
+ else
+ uiDefButI(block, TOG|BIT|18, 0,"Float Buffer",
+ X3CLM3, yco, BUTW3, BUTH,
+ &G.scene->r.mode, 0, 0, 0, 0, "Keep RGBA float buffer after render, no buffer available now");
}
@@ -1275,7 +1566,7 @@
uiBlock *block;
block= uiNewBlock(&curarea->uiblocks, "render_panel_yafrayGI", UI_EMBOSS, UI_HELV, curarea->win);
- uiNewPanelTabbed("Render", "Render");
+ uiNewPanelTabbed("YafRay", "Render");
if(uiNewPanel(curarea, block, "YafRay GI", "Render", 320, 0, 318, 204)==0) return;
// label to force a boundbox for buttons not to be centered
@@ -1299,13 +1590,13 @@
if (G.scene->r.GImethod==2) {
uiDefButI(block, NUM, B_DIFF, "Depth:", 180,175,110,20, &G.scene->r.GIdepth, 1.0, 100.0, 10, 10, "Number of bounces of the indirect light");
uiDefButI(block, NUM, B_DIFF, "CDepth:", 180,150,110,20, &G.scene->r.GIcausdepth, 1.0, 100.0, 10, 10, "Number of bounces inside objects (for caustics)");
- uiDefButBitS(block, TOG, 1, B_REDR, "Photons",210,125,100,20, &G.scene->r.GIphotons, 0, 0, 0, 0, "Use global photons to help in GI");
+ uiDefButS(block,TOG|BIT|0, B_REDR, "Photons",210,125,100,20, &G.scene->r.GIphotons, 0, 0, 0, 0, "Use global photons to help in GI");
}
- uiDefButBitS(block, TOG, 1, B_REDR, "Cache",6,125,95,20, &G.scene->r.GIcache, 0, 0, 0, 0, "Cache occlusion/irradiance samples (faster)");
+ uiDefButS(block,TOG|BIT|0, B_REDR, "Cache",6,125,95,20, &G.scene->r.GIcache, 0, 0, 0, 0, "Cache occlusion/irradiance samples (faster)");
if (G.scene->r.GIcache)
{
- uiDefButBitS(block,TOG, 1, B_REDR, "NoBump",108,125,95,20, &G.scene->r.YF_nobump, 0, 0, 0, 0, "Don't use bumpnormals for cache (faster, but no bumpmapping in total indirectly lit areas)");
+ uiDefButS(block,TOG|BIT|0, B_REDR, "NoBump",108,125,95,20, &G.scene->r.YF_nobump, 0, 0, 0, 0, "Don't use bumpnormals for cache (faster, but no bumpmapping in total indirectly lit areas)");
uiDefBut(block, LABEL, 0, "Cache parameters:", 5,105,130,20, 0, 1.0, 0, 0, 0, "");
if (G.scene->r.GIshadowquality==0.0) G.scene->r.GIshadowquality=0.9;
uiDefButF(block, NUM, B_DIFF,"ShadQu:", 5,85,154,20, &(G.scene->r.GIshadowquality), 0.01, 1.0 ,1,0, "Sets the shadow quality, keep it under 0.95 :-) ");
@@ -1328,7 +1619,7 @@
if(G.scene->r.GImixphotons==0) G.scene->r.GImixphotons=100;
uiDefButI(block, NUM, B_DIFF, "MixCount:", 170,35,140,20, &G.scene->r.GImixphotons,
0, 1000, 10, 10, "Number of photons to mix");
- uiDefButBitS(block, TOG, 1, B_REDR, "Tune Photons",170,10,140,20, &G.scene->r.GIdirect,
+ uiDefButS(block,TOG|BIT|0, B_REDR, "Tune Photons",170,10,140,20, &G.scene->r.GIdirect,
0, 0, 0, 0, "Show the photonmap directly in the render for tuning");
}
}
@@ -1342,13 +1633,12 @@
uiBlock *block;
block= uiNewBlock(&curarea->uiblocks, "render_panel_yafrayGlobal", UI_EMBOSS, UI_HELV, curarea->win);
- uiNewPanelTabbed("Render", "Render");
if(uiNewPanel(curarea, block, "YafRay", "Render", 320, 0, 318, 204)==0) return;
// label to force a boundbox for buttons not to be centered
uiDefBut(block, LABEL, 0, " ", 305,180,10,10, 0, 0, 0, 0, 0, "");
- uiDefButBitS(block, TOGN, 1, B_REDR, "xml", 5,180,75,20, &G.scene->r.YFexportxml,
+ uiDefButS(block,TOGN|BIT|0, B_REDR, "xml", 5,180,75,20, &G.scene->r.YFexportxml,
0, 0, 0, 0, "Export to an xml file and call yafray instead of plugin");
uiDefButF(block, NUMSLI, B_DIFF,"Bi ", 5,35,150,20, &(G.scene->r.YF_raybias),
@@ -1361,9 +1651,9 @@
uiDefButI(block, NUM, B_DIFF, "Processors:", 160,60,150,20, &G.scene->r.YF_numprocs, 1.0, 8.0, 10, 10, "Number of processors to use");
/*AA Settings*/
- uiDefButBitS(block, TOGN, 1, B_REDR, "Auto AA", 5,140,150,20, &G.scene->r.YF_AA,
+ uiDefButS(block,TOGN|BIT|0, B_REDR, "Auto AA", 5,140,150,20, &G.scene->r.YF_AA,
0, 0, 0, 0, "Set AA using OSA and GI quality, disable for manual control");
- uiDefButBitS(block, TOGN, 1, B_DIFF, "Clamp RGB", 160,140,150,20, &G.scene->r.YF_clamprgb, 1.0, 8.0, 10, 10, "For AA on fast high contrast changes. Not advisable for Bokeh! Dulls lens shape detail.");
+ uiDefButS(block, TOGN|BIT|0, B_DIFF, "Clamp RGB", 160,140,150,20, &G.scene->r.YF_clamprgb, 1.0, 8.0, 10, 10, "For AA on fast high contrast changes. Not advisable for Bokeh! Dulls lens shape detail.");
if(G.scene->r.YF_AA){
uiDefButI(block, NUM, B_DIFF, "AA Passes ", 5,115,150,20, &G.scene->r.YF_AApasses, 0, 64, 10, 10, "Number of AA passes (0 is no AA)");
uiDefButI(block, NUM, B_DIFF, "AA Samples ", 160,115,150,20, &G.scene->r.YF_AAsamples, 0, 2048, 10, 10, "Number of samples per pass");
@@ -1414,10 +1704,10 @@
{
render_panel_output();
-// render_panel_sfx();
- render_panel_render();
- render_panel_anim();
- render_panel_format();
+ render_panel_dimensions();
+ render_panel_gameframing();
+ render_panel_elements();
+ render_panel_postpro();
/* yafray: GI & Global panel, only available when yafray enabled for rendering */
if (G.scene->r.renderer==R_YAFRAY) {
if (G.scene->r.YF_gamma==0.0) G.scene->r.YF_gamma=1.0;
@@ -1430,8 +1720,10 @@
render_panel_yafrayGlobal();
render_panel_yafrayGI();
}
+ render_panel_render();
}
+
/* --------------------------------------------- */

Event Timeline