[brlcad-commits] SF.net SVN: brlcad:[33582] brlcad/trunk/src/adrt
Open Source Solid Modeling CAD
Brought to you by:
brlcad
From: <eri...@us...> - 2009-01-22 20:21:52
|
Revision: 33582 http://brlcad.svn.sourceforge.net/brlcad/?rev=33582&view=rev Author: erikgreenwald Date: 2009-01-22 20:21:40 +0000 (Thu, 22 Jan 2009) Log Message: ----------- move utilization of vmath.h Modified Paths: -------------- brlcad/trunk/src/adrt/librender/camera.c brlcad/trunk/src/adrt/librender/path.c brlcad/trunk/src/adrt/libutil/Makefile.am brlcad/trunk/src/adrt/libutil/umath.h Modified: brlcad/trunk/src/adrt/librender/camera.c =================================================================== --- brlcad/trunk/src/adrt/librender/camera.c 2009-01-22 12:38:22 UTC (rev 33581) +++ brlcad/trunk/src/adrt/librender/camera.c 2009-01-22 20:21:40 UTC (rev 33582) @@ -125,8 +125,8 @@ MATH_VEC_CROSS(side, up, look); /* Apply tilt to up vector - negate angle to make positive angles clockwise */ - s = sin(-camera->tilt * MATH_DEG2RAD); - c = cos(-camera->tilt * MATH_DEG2RAD); + s = sin(-camera->tilt * DEG2RAD); + c = cos(-camera->tilt * DEG2RAD); MATH_VEC_MUL_SCALAR(up, up, c); MATH_VEC_MUL_SCALAR(side, side, s); MATH_VEC_ADD(up, up, side); @@ -181,8 +181,8 @@ MATH_VEC_CROSS(side, up, look); /* Apply tilt to up vector - negate angle to make positive angles clockwise */ - s = sin(-camera->tilt * MATH_DEG2RAD); - c = cos(-camera->tilt * MATH_DEG2RAD); + s = sin(-camera->tilt * DEG2RAD); + c = cos(-camera->tilt * DEG2RAD); MATH_VEC_MUL_SCALAR(up, up, c); MATH_VEC_MUL_SCALAR(side, side, s); MATH_VEC_ADD(up, up, side); @@ -191,8 +191,8 @@ MATH_VEC_CROSS(side, up, look); /* Compute sine and cosine terms for field of view */ - s = sin(camera->fov*MATH_DEG2RAD); - c = cos(camera->fov*MATH_DEG2RAD); + s = sin(camera->fov*DEG2RAD); + c = cos(camera->fov*DEG2RAD); /* Up, Look, and Side vectors are complete, generate Top Left reference vector */ topl.v[0] = s*up.v[0] + camera->aspect*s*side.v[0] + c*look.v[0]; @@ -255,8 +255,8 @@ MATH_VEC_CROSS(dof_side, dof_up, dof_look); /* Apply tilt to up vector - negate angle to make positive angles clockwise */ - sdof = sin(-camera->tilt * MATH_DEG2RAD); - cdof = cos(-camera->tilt * MATH_DEG2RAD); + sdof = sin(-camera->tilt * DEG2RAD); + cdof = cos(-camera->tilt * DEG2RAD); MATH_VEC_MUL_SCALAR(dof_up, dof_up, cdof); MATH_VEC_MUL_SCALAR(dof_side, dof_side, sdof); MATH_VEC_ADD(dof_up, dof_up, dof_side); @@ -270,13 +270,13 @@ /* Obtain magnitude of reverse look vector */ MATH_VEC_SUB(dof_look, camera->pos, camera->focus); - MATH_VEC_MAG(mag, dof_look); + mag = MAGNITUDE(dof_look.v); MATH_VEC_UNITIZE(dof_look); /* Compute sine and cosine terms for field of view */ - sdof = sin(camera->dof*MATH_DEG2RAD); - cdof = cos(camera->dof*MATH_DEG2RAD); + sdof = sin(camera->dof*DEG2RAD); + cdof = cos(camera->dof*DEG2RAD); /* Up, Look, and Side vectors are complete, generate Top Left reference vector */ @@ -332,8 +332,8 @@ MATH_VEC_CROSS(side, up, look); /* Apply tilt to up vector - negate angle to make positive angles clockwise */ - sfov = sin(-camera->tilt * MATH_DEG2RAD); - cfov = cos(-camera->tilt * MATH_DEG2RAD); + sfov = sin(-camera->tilt * DEG2RAD); + cfov = cos(-camera->tilt * DEG2RAD); MATH_VEC_MUL_SCALAR(up, up, cfov); MATH_VEC_MUL_SCALAR(side, side, sfov); MATH_VEC_ADD(up, up, side); @@ -342,8 +342,8 @@ MATH_VEC_CROSS(side, up, look); /* Compute sine and cosine terms for field of view */ - sfov = sin(camera->fov*MATH_DEG2RAD); - cfov = cos(camera->fov*MATH_DEG2RAD); + sfov = sin(camera->fov*DEG2RAD); + cfov = cos(camera->fov*DEG2RAD); /* Up, Look, and Side vectors are complete, generate Top Left reference vector */ Modified: brlcad/trunk/src/adrt/librender/path.c =================================================================== --- brlcad/trunk/src/adrt/librender/path.c 2009-01-22 12:38:22 UTC (rev 33581) +++ brlcad/trunk/src/adrt/librender/path.c 2009-01-22 20:21:40 UTC (rev 33582) @@ -36,6 +36,7 @@ #include "adrt_struct.h" #include "bu.h" +#include "vmath.h" void render_path_init(render_t *render, int samples) { render_path_t *d; @@ -131,7 +132,7 @@ sin_theta = sqrt(cos_theta); cos_theta = 1-cos_theta; - cos_phi = math_rand()*MATH_2_PI; + cos_phi = math_rand() * 2 * M_PI; sin_phi = sin(cos_phi); cos_phi = cos(cos_phi); Modified: brlcad/trunk/src/adrt/libutil/Makefile.am =================================================================== --- brlcad/trunk/src/adrt/libutil/Makefile.am 2009-01-22 12:38:22 UTC (rev 33581) +++ brlcad/trunk/src/adrt/libutil/Makefile.am 2009-01-22 20:21:40 UTC (rev 33582) @@ -1,6 +1,6 @@ lib_LTLIBRARIES = libtieutil.la -libtieutil_la_SOURCES = rand.c umath.c +libtieutil_la_SOURCES = rand.c AM_CFLAGS = \ -I${top_srcdir}/src/adrt \ @@ -19,6 +19,6 @@ tieincludedir = $(includedir)/tie tieinclude_HEADERS = umath.h rand.h -EXTRA_DIST=camera.c camera.h +EXTRA_DIST=camera.c camera.h umath.c umath.h include $(top_srcdir)/misc/Makefile.defs Modified: brlcad/trunk/src/adrt/libutil/umath.h =================================================================== --- brlcad/trunk/src/adrt/libutil/umath.h 2009-01-22 12:38:22 UTC (rev 33581) +++ brlcad/trunk/src/adrt/libutil/umath.h 2009-01-22 20:21:40 UTC (rev 33582) @@ -32,51 +32,8 @@ #include "tie.h" #include "rand.h" - -#define MATH_PI 3.14159265f -#define MATH_2_PI 6.28318530f -#define MATH_RAD2DEG 57.2957795f -#define MATH_DEG2RAD 0.0174532925f -#define MATH_1DIV180 0.0055555556f - -#define MATH_MIN2(_a, _b, _c) { \ - _a = _b < _c ? _b : _c; } - -#define MATH_MAX2(_a, _b, _c) { \ - _a = _b > _c ? _b : _c; } - -#define MATH_MIN_MAX3(_a, _b, _c, _d, _e) { \ - MATH_MIN3(_a, _c, _d, _e); \ - MATH_MAX3(_b, _c, _d, _e); } - -#define MATH_VEC_MAG(_a, _b) { \ - _a = sqrt(_b.v[0]*_b.v[0] + _b.v[1]*_b.v[1] + _b.v[2]*_b.v[2]); } - -#define MATH_SWAP(_a, _b) { \ - tfloat _c; \ - _c = _b; \ - _b = _a; \ - _a = _c; } - - /* Vector Functions */ -/* _a is transformed vertex, _b is input vertex, _c is 4x4 transformation matrix */ -#define MATH_VEC_TRANSFORM(_a, _b, _c) { \ - tfloat w; \ - _a.v[0] = (_b.v[0] * _c[0]) + (_b.v[1] * _c[4]) + (_b.v[2] * _c[8]) + _c[12]; \ - _a.v[1] = (_b.v[0] * _c[1]) + (_b.v[1] * _c[5]) + (_b.v[2] * _c[9]) + _c[13]; \ - _a.v[2] = (_b.v[0] * _c[2]) + (_b.v[1] * _c[6]) + (_b.v[2] * _c[10]) + _c[14]; \ - w = (_b.v[0] * _c[3]) + (_b.v[1] * _c[7]) + (_b.v[2] * _c[11]) + _c[15]; \ - w = w ? 1/w : 1.0; \ - _a.v[0] *= w; _a.v[1] *= w; _a.v[2] *= w; } - -/* _a is transformed vertex, _b is input vertex, _c is 4x4 transformation matrix */ -#define MATH_VEC_TRANSFORM_ROTATE(_a, _b, _c) { \ - _a.v[0] = (_b.v[0] * _c[0]) + (_b.v[1] * _c[4]) + (_b.v[2] * _c[8]); \ - _a.v[1] = (_b.v[0] * _c[1]) + (_b.v[1] * _c[5]) + (_b.v[2] * _c[9]); \ - _a.v[2] = (_b.v[0] * _c[2]) + (_b.v[1] * _c[6]) + (_b.v[2] * _c[10]); } - /* _a is reflected ray, _b is incident ray, _c is normal */ #define MATH_VEC_REFLECT(_a, _b, _c) { \ tfloat _d; \ @@ -85,11 +42,6 @@ MATH_VEC_SUB(_a, _b, _a); \ MATH_VEC_UNITIZE(_a); } - -extern void math_mat_ident(tfloat *M, int S); /* Identity Matrix */ -extern void math_mat_mult(tfloat *A, int Ar, int Ac, tfloat *B, int Br, int Bc, tfloat *C); /* Multiply 2 Matrices */ -extern void math_mat_invert(tfloat *D, tfloat *M, int S); /* Invert */ - #endif /* This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |