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