forked from bartvdbraak/blender
Made aspx/y into floats so we can render precise regions (for apricot terrain baking)
This commit is contained in:
parent
9f6080cf1b
commit
235f793f28
@ -125,14 +125,14 @@ def imageFromObjectsOrtho(objects, path, width, height, smooth, alpha= True, cam
|
||||
# camera is wider then image res.
|
||||
# to make the image wider, reduce the aspy
|
||||
asp_diff= asp_image_res/asp_cam_mat
|
||||
min_asp= int(round(asp_diff * 200))
|
||||
min_asp= asp_diff * 200
|
||||
#print 'X', min_asp
|
||||
|
||||
elif asp_cam_mat < asp_image_res: # asp_cam_mat < asp_image_res
|
||||
# camera is narrower then image res
|
||||
# to make the image narrower, reduce the aspx
|
||||
asp_diff= asp_cam_mat/asp_image_res
|
||||
min_asp= int(round(asp_diff * 200))
|
||||
min_asp= asp_diff * 200
|
||||
#print 'Y', min_asp
|
||||
else:
|
||||
min_asp= 200
|
||||
|
@ -201,14 +201,6 @@ typedef struct RenderData {
|
||||
* The desired number of pixels in the y direction
|
||||
*/
|
||||
short ysch;
|
||||
/**
|
||||
* Adjustment factors for the aspect ratio in the x direction
|
||||
*/
|
||||
short xasp;
|
||||
/**
|
||||
* Adjustment factors for the aspect ratio in the x direction
|
||||
*/
|
||||
short yasp;
|
||||
/**
|
||||
* The number of part to use in the x direction
|
||||
*/
|
||||
@ -225,7 +217,7 @@ typedef struct RenderData {
|
||||
short bufflag;
|
||||
short quality;
|
||||
|
||||
short rpad;
|
||||
short rpad, rpad1, rpad2;
|
||||
|
||||
/**
|
||||
* Flags for render settings. Use bit-masking to access the settings.
|
||||
@ -260,6 +252,15 @@ typedef struct RenderData {
|
||||
/* information on different layers to be rendered */
|
||||
ListBase layers;
|
||||
short actlay, pad;
|
||||
|
||||
/**
|
||||
* Adjustment factors for the aspect ratio in the x direction, was a short in 2.45
|
||||
*/
|
||||
float xasp;
|
||||
/**
|
||||
* Adjustment factors for the aspect ratio in the x direction, was a short in 2.45
|
||||
*/
|
||||
float yasp;
|
||||
|
||||
float frs_sec_base;
|
||||
|
||||
|
@ -919,6 +919,18 @@ PyObject *RenderData_GaussFilterSize( BPy_RenderData * self, PyObject * args )
|
||||
0.5f, 1.5f );
|
||||
}
|
||||
|
||||
PyObject *RenderData_AspectRatioX( BPy_RenderData * self, PyObject * args )
|
||||
{
|
||||
return M_Render_GetSetAttributeFloat( args, &self->renderContext->xasp,
|
||||
1.0f, 200.0f );
|
||||
}
|
||||
|
||||
PyObject *RenderData_AspectRatioY( BPy_RenderData * self, PyObject * args )
|
||||
{
|
||||
return M_Render_GetSetAttributeFloat( args, &self->renderContext->yasp,
|
||||
1.0f, 200.0f );
|
||||
}
|
||||
|
||||
PyObject *RenderData_StartFrame( BPy_RenderData * self, PyObject * args )
|
||||
{
|
||||
return M_Render_GetSetAttributeInt( args, &self->renderContext->sfra,
|
||||
@ -949,18 +961,6 @@ PyObject *RenderData_ImageSizeY( BPy_RenderData * self, PyObject * args )
|
||||
4, 10000 );
|
||||
}
|
||||
|
||||
PyObject *RenderData_AspectRatioX( BPy_RenderData * self, PyObject * args )
|
||||
{
|
||||
return M_Render_GetSetAttributeShort( args, &self->renderContext->xasp,
|
||||
1, 200 );
|
||||
}
|
||||
|
||||
PyObject *RenderData_AspectRatioY( BPy_RenderData * self, PyObject * args )
|
||||
{
|
||||
return M_Render_GetSetAttributeShort( args, &self->renderContext->yasp,
|
||||
1, 200 );
|
||||
}
|
||||
|
||||
static int RenderData_setRenderer( BPy_RenderData * self, PyObject * value )
|
||||
{
|
||||
int type;
|
||||
@ -1868,6 +1868,12 @@ static PyObject *RenderData_getFloatAttr( BPy_RenderData *self, void *type )
|
||||
case EXPP_RENDER_ATTR_BAKEBIAS:
|
||||
param = self->renderContext->bake_biasdist;
|
||||
break;
|
||||
case EXPP_RENDER_ATTR_ASPECTX:
|
||||
param = (long)self->renderContext->xasp;
|
||||
break;
|
||||
case EXPP_RENDER_ATTR_ASPECTY:
|
||||
param = (long)self->renderContext->yasp;
|
||||
break;
|
||||
default:
|
||||
return EXPP_ReturnPyObjError( PyExc_RuntimeError,
|
||||
"undefined type constant in RenderData_getFloatAttr" );
|
||||
@ -1911,6 +1917,16 @@ static int RenderData_setFloatAttrClamp( BPy_RenderData *self, PyObject *value,
|
||||
max = 1000.0f;
|
||||
param = &self->renderContext->bake_biasdist;
|
||||
break;
|
||||
case EXPP_RENDER_ATTR_ASPECTX:
|
||||
min = 1.0f;
|
||||
max = 200.0f;
|
||||
param = &self->renderContext->xasp;
|
||||
break;
|
||||
case EXPP_RENDER_ATTR_ASPECTY:
|
||||
min = 1.0f;
|
||||
max = 200.0f;
|
||||
param = &self->renderContext->yasp;
|
||||
break;
|
||||
default:
|
||||
return EXPP_ReturnIntError( PyExc_RuntimeError,
|
||||
"undefined type constant in RenderData_setFloatAttrClamp" );
|
||||
@ -1933,12 +1949,6 @@ static PyObject *RenderData_getIValueAttr( BPy_RenderData *self, void *type )
|
||||
case EXPP_RENDER_ATTR_YPARTS:
|
||||
param = (long)self->renderContext->yparts;
|
||||
break;
|
||||
case EXPP_RENDER_ATTR_ASPECTX:
|
||||
param = (long)self->renderContext->xasp;
|
||||
break;
|
||||
case EXPP_RENDER_ATTR_ASPECTY:
|
||||
param = (long)self->renderContext->yasp;
|
||||
break;
|
||||
case EXPP_RENDER_ATTR_CFRAME:
|
||||
param = (long)self->renderContext->cfra;
|
||||
break;
|
||||
@ -1996,18 +2006,6 @@ static int RenderData_setIValueAttrClamp( BPy_RenderData *self, PyObject *value,
|
||||
size = 'h';
|
||||
param = &self->renderContext->yparts;
|
||||
break;
|
||||
case EXPP_RENDER_ATTR_ASPECTX:
|
||||
min = 1;
|
||||
max = 200;
|
||||
size = 'h';
|
||||
param = &self->renderContext->xasp;
|
||||
break;
|
||||
case EXPP_RENDER_ATTR_ASPECTY:
|
||||
min = 1;
|
||||
max = 200;
|
||||
size = 'h';
|
||||
param = &self->renderContext->yasp;
|
||||
break;
|
||||
case EXPP_RENDER_ATTR_CFRAME:
|
||||
min = 1;
|
||||
max = MAXFRAME;
|
||||
@ -2726,14 +2724,6 @@ static PyGetSetDef BPy_RenderData_getseters[] = {
|
||||
(getter)RenderData_getIValueAttr, (setter)RenderData_setIValueAttrClamp,
|
||||
"Number of vertical parts for image render",
|
||||
(void *)EXPP_RENDER_ATTR_YPARTS},
|
||||
{"aspectX",
|
||||
(getter)RenderData_getIValueAttr, (setter)RenderData_setIValueAttrClamp,
|
||||
"Horizontal aspect ratio",
|
||||
(void *)EXPP_RENDER_ATTR_ASPECTX},
|
||||
{"aspectY",
|
||||
(getter)RenderData_getIValueAttr, (setter)RenderData_setIValueAttrClamp,
|
||||
"Vertical aspect ratio",
|
||||
(void *)EXPP_RENDER_ATTR_ASPECTY},
|
||||
{"cFrame",
|
||||
(getter)RenderData_getIValueAttr, (setter)RenderData_setIValueAttrClamp,
|
||||
"The current frame for rendering",
|
||||
@ -2771,6 +2761,14 @@ static PyGetSetDef BPy_RenderData_getseters[] = {
|
||||
(getter)RenderData_getFloatAttr, (setter)RenderData_setFloatAttrClamp,
|
||||
"Motion blur factor",
|
||||
(void *)EXPP_RENDER_ATTR_MBLURFACTOR},
|
||||
{"aspectX",
|
||||
(getter)RenderData_getFloatAttr, (setter)RenderData_setFloatAttrClamp,
|
||||
"Horizontal aspect ratio",
|
||||
(void *)EXPP_RENDER_ATTR_ASPECTX},
|
||||
{"aspectY",
|
||||
(getter)RenderData_getFloatAttr, (setter)RenderData_setFloatAttrClamp,
|
||||
"Vertical aspect ratio",
|
||||
(void *)EXPP_RENDER_ATTR_ASPECTY},
|
||||
{"mapOld",
|
||||
(getter)RenderData_getMapOld, (setter)RenderData_setMapOld,
|
||||
"Number of frames the Map Old will last",
|
||||
|
@ -2497,8 +2497,18 @@ static void render_panel_format(void)
|
||||
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");
|
||||
|
||||
uiDefButF(block, NUM, REDRAWVIEWCAM, "AspX:",
|
||||
892 ,114,112,20,
|
||||
&G.scene->r.xasp,
|
||||
1, 200, 100, 2,
|
||||
"Horizontal Aspect Ratio");
|
||||
uiDefButF(block, NUM, REDRAWVIEWCAM, "AspY:",
|
||||
1007,114,112,20,
|
||||
&G.scene->r.yasp,
|
||||
1, 200, 100, 2,
|
||||
"Vertical Aspect Ratio");
|
||||
|
||||
uiBlockEndAlign(block);
|
||||
|
||||
yofs = 54;
|
||||
|
Loading…
Reference in New Issue
Block a user