#include "echo.h"
#include "privateEcho.h"
#define CC (1.0-RR) |
#define LVALGRAD | ( | VV, | |||
DV, | |||||
TT | ) |
Value:
ELL_3V_SCALE_ADD2(pos, 1, from, (TT), ray->dir); \ (VV) = lvg(grad, pos[0], pos[1], pos[2], obj->A, obj->B); \ (DV) = ELL_3V_DOT(grad, ray->dir)
#define RR 0.61803399 |
#define SHIFT2 | ( | a, | |||
b, | |||||
c | ) | (a)=(b); (b)=(c) |
#define SHIFT3 | ( | a, | |||
b, | |||||
c, | |||||
d | ) | (a)=(b); (b)=(c); (c)=(d) |
#define VAL | ( | TT | ) |
Value:
(ELL_3V_SCALE_ADD2(pos, 1, from, (TT), ray->dir), \ v(pos[0], pos[1], pos[2], obj->A, obj->B))
#define VALGRAD | ( | VV, | |||
DV, | |||||
TT | ) |
Value:
ELL_3V_SCALE_ADD2(pos, 1, from, (TT), ray->dir); \ (VV) = vg(grad, pos[0], pos[1], pos[2], obj->A, obj->B); \ (DV) = ELL_3V_DOT(grad, ray->dir)
echoPos_t _echo_SuperquadX_lvg | ( | echoPos_t | grad[3], | |
echoPos_t | x, | |||
echoPos_t | y, | |||
echoPos_t | z, | |||
echoPos_t | A, | |||
echoPos_t | B | |||
) |
echoPos_t _echo_SuperquadX_vg | ( | echoPos_t | grad[3], | |
echoPos_t | x, | |||
echoPos_t | y, | |||
echoPos_t | z, | |||
echoPos_t | A, | |||
echoPos_t | B | |||
) |
echoPos_t _echo_SuperquadY_lvg | ( | echoPos_t | grad[3], | |
echoPos_t | x, | |||
echoPos_t | y, | |||
echoPos_t | z, | |||
echoPos_t | A, | |||
echoPos_t | B | |||
) |
echoPos_t _echo_SuperquadY_vg | ( | echoPos_t | grad[3], | |
echoPos_t | x, | |||
echoPos_t | y, | |||
echoPos_t | z, | |||
echoPos_t | A, | |||
echoPos_t | B | |||
) |
echoPos_t _echo_SuperquadZ_lvg | ( | echoPos_t | grad[3], | |
echoPos_t | x, | |||
echoPos_t | y, | |||
echoPos_t | z, | |||
echoPos_t | A, | |||
echoPos_t | B | |||
) |
echoPos_t _echo_SuperquadZ_vg | ( | echoPos_t | grad[3], | |
echoPos_t | x, | |||
echoPos_t | y, | |||
echoPos_t | z, | |||
echoPos_t | A, | |||
echoPos_t | B | |||
) |
int _echoRayIntx_Superquad | ( | RAYINTX_ARGS(Superquad) | ) |