replace local cross_product() function with dCROSS()
This commit is contained in:
parent
1dda197ca3
commit
6e35afb4ad
11
Engine.cc
11
Engine.cc
@ -61,13 +61,6 @@ Engine * g_engine;
|
|||||||
|
|
||||||
/* static helper functions */
|
/* static helper functions */
|
||||||
|
|
||||||
static void cross_product(dVector3 result, dVector3 first, dVector3 second)
|
|
||||||
{
|
|
||||||
result[0] = first[1] * second[2] - first[2] * second[1];
|
|
||||||
result[1] = first[2] * second[0] - first[0] * second[2];
|
|
||||||
result[2] = first[0] * second[1] - first[1] * second[0];
|
|
||||||
}
|
|
||||||
|
|
||||||
static void debug_hook(lua_State * L, lua_Debug * debug)
|
static void debug_hook(lua_State * L, lua_Debug * debug)
|
||||||
{
|
{
|
||||||
g_engine->debug_hook(debug);
|
g_engine->debug_hook(debug);
|
||||||
@ -714,7 +707,7 @@ refptr< vector<Engine::PickedObjectRef> > Engine::pickObjects(int x, int y)
|
|||||||
forward[0] = m_center[0] - m_eye[0];
|
forward[0] = m_center[0] - m_eye[0];
|
||||||
forward[1] = m_center[1] - m_eye[1];
|
forward[1] = m_center[1] - m_eye[1];
|
||||||
forward[2] = m_center[2] - m_eye[2];
|
forward[2] = m_center[2] - m_eye[2];
|
||||||
cross_product(right, forward, up);
|
dCROSS(right, =, forward, up);
|
||||||
dRFrom2Axes(r, right[0], right[1], right[2],
|
dRFrom2Axes(r, right[0], right[1], right[2],
|
||||||
forward[0], forward[1], forward[2]);
|
forward[0], forward[1], forward[2]);
|
||||||
initial_direction[0] = x - m_av.getWidth() / 2;
|
initial_direction[0] = x - m_av.getWidth() / 2;
|
||||||
@ -749,7 +742,7 @@ Engine::PickedObjectRef Engine::pickOne(int x, int y, Engine::Object *obj)
|
|||||||
forward[0] = m_center[0] - m_eye[0];
|
forward[0] = m_center[0] - m_eye[0];
|
||||||
forward[1] = m_center[1] - m_eye[1];
|
forward[1] = m_center[1] - m_eye[1];
|
||||||
forward[2] = m_center[2] - m_eye[2];
|
forward[2] = m_center[2] - m_eye[2];
|
||||||
cross_product(right, forward, up);
|
dCROSS(right, =, forward, up);
|
||||||
dRFrom2Axes(r, right[0], right[1], right[2],
|
dRFrom2Axes(r, right[0], right[1], right[2],
|
||||||
forward[0], forward[1], forward[2]);
|
forward[0], forward[1], forward[2]);
|
||||||
initial_direction[0] = x - m_av.getWidth() / 2;
|
initial_direction[0] = x - m_av.getWidth() / 2;
|
||||||
|
@ -25,15 +25,6 @@ static void checkGLErrorLine(const char * function, int line)
|
|||||||
|
|
||||||
#define FP_EQ(a,b) (fabsf(a - b) < 0.0001)
|
#define FP_EQ(a,b) (fabsf(a - b) < 0.0001)
|
||||||
|
|
||||||
/* static helper functions */
|
|
||||||
|
|
||||||
static void cross_product(dVector3 result, dVector3 first, dVector3 second)
|
|
||||||
{
|
|
||||||
result[0] = first[1] * second[2] - first[2] * second[1];
|
|
||||||
result[1] = first[2] * second[0] - first[0] * second[2];
|
|
||||||
result[2] = first[0] * second[1] - first[1] * second[0];
|
|
||||||
}
|
|
||||||
|
|
||||||
/* used for objects loaded directly from model files */
|
/* used for objects loaded directly from model files */
|
||||||
Engine::Object::Object(bool is_static, bool is_reference, bool enable_blending,
|
Engine::Object::Object(bool is_static, bool is_reference, bool enable_blending,
|
||||||
OdeWorld & world, WFObj * obj, float scale)
|
OdeWorld & world, WFObj * obj, float scale)
|
||||||
@ -374,8 +365,8 @@ void Engine::Object::render()
|
|||||||
dVector3 cross_vec;
|
dVector3 cross_vec;
|
||||||
for (int i = 0; i < 3; i++)
|
for (int i = 0; i < 3; i++)
|
||||||
cross_vec[i] = (i == min_component) ? 1 : 0;
|
cross_vec[i] = (i == min_component) ? 1 : 0;
|
||||||
cross_product(rotated_x, normal, cross_vec);
|
dCROSS(rotated_x, =, normal, cross_vec);
|
||||||
cross_product(rotated_y, normal, rotated_x);
|
dCROSS(rotated_y, =, normal, rotated_x);
|
||||||
x_o = normal[0] * d;
|
x_o = normal[0] * d;
|
||||||
y_o = normal[1] * d;
|
y_o = normal[1] * d;
|
||||||
z_o = normal[2] * d;
|
z_o = normal[2] * d;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user