57 return 0.75f - (
x *
x);
60 return 0.50f * (
x - 1.5f) * (
x - 1.5f);
74 return 0.5f *
x *
x2 -
x2 + 2.0f / 3.0f;
77 return (2.0f -
x) * (2.0f -
x) * (2.0f -
x) / 6.0f;
90 return 1.5f *
x2 *
x - 2.5f *
x2 + 1.0f;
93 return -0.5f *
x2 *
x + 2.5f *
x2 - 4.0f *
x + 2.0f;
100 float b = 1.0f / 3.0f,
c = 1.0f / 3.0f;
101 float p0 = (6.0f - 2.0f * b) / 6.0f;
102 float p2 = (-18.0f + 12.0f * b + 6.0f *
c) / 6.0f;
103 float p3 = (12.0f - 9.0f * b - 6.0f *
c) / 6.0f;
104 float q0 = (8.0f * b + 24.0f *
c) / 6.0f;
105 float q1 = (-12.0f * b - 48.0f *
c) / 6.0f;
106 float q2 = (6.0f * b + 30.0f *
c) / 6.0f;
107 float q3 = (-b - 6.0f *
c) / 6.0f;
113 return (q0 -
x * (
q1 -
x * (q2 -
x * q3)));
116 return (p0 +
x *
x * (p2 -
x * p3));
119 return (p0 +
x *
x * (p2 +
x * p3));
122 return (q0 +
x * (
q1 +
x * (q2 +
x * q3)));
130 float gaussfac = 1.6f;
148 const float two_gaussfac2 = 2.0f * gaussfac * gaussfac;
149 x *= 3.0f * gaussfac;
150 return 1.0f /
sqrtf((
float)
M_PI * two_gaussfac2) *
expf(-
x *
x / two_gaussfac2);
222 params.viewplane.xmin -= overscan;
223 params.viewplane.xmax += overscan;
224 params.viewplane.ymin -= overscan;
225 params.viewplane.ymax += overscan;
267 int nr, xd, yd, partx, party, xparts, yparts;
268 int xminb, xmaxb, yminb, ymaxb;
286 xparts = (re->
rectx + partx - 1) / partx;
287 yparts = (re->
recty + party - 1) / party;
289 for (nr = 0; nr < xparts * yparts; nr++) {
294 yd = (nr - xd) / xparts;
296 disprect.
xmin = xminb + xd * partx;
297 disprect.
ymin = yminb + yd * party;
300 if (xd < xparts - 1) {
301 disprect.
xmax = disprect.
xmin + partx;
302 if (disprect.
xmax > xmaxb) {
303 disprect.
xmax = xmaxb;
307 disprect.
xmax = xmaxb;
310 if (yd < yparts - 1) {
311 disprect.
ymax = disprect.
ymin + party;
312 if (disprect.
ymax > ymaxb) {
313 disprect.
ymax = ymaxb;
317 disprect.
ymax = ymaxb;
324 if (rectx > 0 && recty > 0) {
Camera data-block and utility functions.
void BKE_camera_multiview_params(const struct RenderData *rd, struct CameraParams *params, const struct Object *camera, const char *viewname)
struct Object * BKE_camera_multiview_render(const struct Scene *scene, struct Object *camera, const char *viewname)
void BKE_camera_params_init(CameraParams *params)
void BKE_camera_multiview_model_matrix(const struct RenderData *rd, const struct Object *camera, const char *viewname, float r_modelmat[4][4])
void BKE_camera_params_from_object(CameraParams *params, const struct Object *cam_ob)
void BKE_camera_params_compute_viewplane(CameraParams *params, int winx, int winy, float aspx, float aspy)
void BKE_camera_params_compute_matrix(CameraParams *params)
#define BLI_ghashutil_inthash_v4_cmp
GHash * BLI_ghash_new(GHashHashFP hashfp, GHashCmpFP cmpfp, const char *info) ATTR_MALLOC ATTR_WARN_UNUSED_RESULT
#define BLI_ghashutil_inthash_v4_p
void BLI_ghash_insert(GHash *gh, void *key, void *val)
void BLI_ghash_free(GHash *gh, GHashKeyFreeFP keyfreefp, GHashValFreeFP valfreefp)
MINLINE float max_ff(float a, float b)
MINLINE int min_ii(int a, int b)
MINLINE int max_ii(int a, int b)
void copy_m4_m4(float m1[4][4], const float m2[4][4])
BLI_INLINE int BLI_rcti_size_y(const struct rcti *rct)
void BLI_rcti_init(struct rcti *rect, int xmin, int xmax, int ymin, int ymax)
BLI_INLINE int BLI_rcti_size_x(const struct rcti *rct)
BLI_INLINE float BLI_rctf_size_x(const struct rctf *rct)
BLI_INLINE float BLI_rctf_size_y(const struct rctf *rct)
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum const void *lists _GL_VOID_RET _GL_VOID const GLdouble *equation _GL_VOID_RET _GL_VOID GLdouble GLdouble blue _GL_VOID_RET _GL_VOID GLfloat GLfloat blue _GL_VOID_RET _GL_VOID GLint GLint blue _GL_VOID_RET _GL_VOID GLshort GLshort blue _GL_VOID_RET _GL_VOID GLubyte GLubyte blue _GL_VOID_RET _GL_VOID GLuint GLuint blue _GL_VOID_RET _GL_VOID GLushort GLushort blue _GL_VOID_RET _GL_VOID GLbyte GLbyte GLbyte alpha _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble alpha _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat alpha _GL_VOID_RET _GL_VOID GLint GLint GLint alpha _GL_VOID_RET _GL_VOID GLshort GLshort GLshort alpha _GL_VOID_RET _GL_VOID GLubyte GLubyte GLubyte alpha _GL_VOID_RET _GL_VOID GLuint GLuint GLuint alpha _GL_VOID_RET _GL_VOID GLushort GLushort GLushort alpha _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLint GLsizei GLsizei GLenum type _GL_VOID_RET _GL_VOID GLsizei GLenum GLenum const void *pixels _GL_VOID_RET _GL_VOID const void *pointer _GL_VOID_RET _GL_VOID GLdouble v _GL_VOID_RET _GL_VOID GLfloat v _GL_VOID_RET _GL_VOID GLint GLint i2 _GL_VOID_RET _GL_VOID GLint j _GL_VOID_RET _GL_VOID GLfloat param _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble GLdouble GLdouble zFar _GL_VOID_RET _GL_UINT GLdouble *equation _GL_VOID_RET _GL_VOID GLenum GLint *params _GL_VOID_RET _GL_VOID GLenum GLfloat *v _GL_VOID_RET _GL_VOID GLenum GLfloat *params _GL_VOID_RET _GL_VOID GLfloat *values _GL_VOID_RET _GL_VOID GLushort *values _GL_VOID_RET _GL_VOID GLenum GLfloat *params _GL_VOID_RET _GL_VOID GLenum GLdouble *params _GL_VOID_RET _GL_VOID GLenum GLint *params _GL_VOID_RET _GL_VOID GLsizei const void *pointer _GL_VOID_RET _GL_VOID GLsizei const void *pointer _GL_VOID_RET _GL_BOOL GLfloat param _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID GLenum GLfloat param _GL_VOID_RET _GL_VOID GLenum GLint param _GL_VOID_RET _GL_VOID GLushort pattern _GL_VOID_RET _GL_VOID GLdouble GLdouble GLint GLint const GLdouble *points _GL_VOID_RET _GL_VOID GLdouble GLdouble GLint GLint GLdouble GLdouble GLint GLint const GLdouble *points _GL_VOID_RET _GL_VOID GLdouble GLdouble u2 _GL_VOID_RET _GL_VOID GLdouble GLdouble GLint GLdouble GLdouble v2 _GL_VOID_RET _GL_VOID GLenum GLfloat param _GL_VOID_RET _GL_VOID GLenum GLint param _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLdouble GLdouble nz _GL_VOID_RET _GL_VOID GLfloat GLfloat nz _GL_VOID_RET _GL_VOID GLint GLint nz _GL_VOID_RET _GL_VOID GLshort GLshort nz _GL_VOID_RET _GL_VOID GLsizei const void *pointer _GL_VOID_RET _GL_VOID GLsizei const GLfloat *values _GL_VOID_RET _GL_VOID GLsizei const GLushort *values _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID const GLuint const GLclampf *priorities _GL_VOID_RET _GL_VOID GLdouble y _GL_VOID_RET _GL_VOID GLfloat y _GL_VOID_RET _GL_VOID GLint y _GL_VOID_RET _GL_VOID GLshort y _GL_VOID_RET _GL_VOID GLdouble GLdouble z _GL_VOID_RET _GL_VOID GLfloat GLfloat z _GL_VOID_RET _GL_VOID GLint GLint z _GL_VOID_RET _GL_VOID GLshort GLshort z _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble w _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat w _GL_VOID_RET _GL_VOID GLint GLint GLint w _GL_VOID_RET _GL_VOID GLshort GLshort GLshort w _GL_VOID_RET _GL_VOID GLdouble GLdouble x2
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum type
Read Guarded memory(de)allocation.
static float filt_cubic(float x)
void RE_GetViewPlane(Render *re, rctf *r_viewplane, rcti *r_disprect)
void RE_SetCamera(Render *re, Object *cam_ob)
void RE_SetOverrideCamera(Render *re, Object *cam_ob)
void RE_GetCameraWindowWithOverscan(struct Render *re, float overscan, float r_winmat[4][4])
static float filt_catrom(float x)
void RE_parts_clamp(Render *re)
static float filt_quadratic(float x)
void RE_parts_free(Render *re)
static float filt_mitchell(float x)
void RE_GetCameraWindow(struct Render *re, struct Object *camera, float r_winmat[4][4])
void RE_GetCameraModelMatrix(Render *re, struct Object *camera, float r_modelmat[4][4])
float RE_filter_value(int type, float x)
struct Object * RE_GetCamera(Render *re)
void RE_parts_init(Render *re)
void(* MEM_freeN)(void *vmemh)
void *(* MEM_callocN)(size_t len, const char *str)
struct Object * camera_override