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 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)
|
||||
{
|
||||
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[1] = m_center[1] - m_eye[1];
|
||||
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],
|
||||
forward[0], forward[1], forward[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[1] = m_center[1] - m_eye[1];
|
||||
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],
|
||||
forward[0], forward[1], forward[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)
|
||||
|
||||
/* 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 */
|
||||
Engine::Object::Object(bool is_static, bool is_reference, bool enable_blending,
|
||||
OdeWorld & world, WFObj * obj, float scale)
|
||||
@ -374,8 +365,8 @@ void Engine::Object::render()
|
||||
dVector3 cross_vec;
|
||||
for (int i = 0; i < 3; i++)
|
||||
cross_vec[i] = (i == min_component) ? 1 : 0;
|
||||
cross_product(rotated_x, normal, cross_vec);
|
||||
cross_product(rotated_y, normal, rotated_x);
|
||||
dCROSS(rotated_x, =, normal, cross_vec);
|
||||
dCROSS(rotated_y, =, normal, rotated_x);
|
||||
x_o = normal[0] * d;
|
||||
y_o = normal[1] * d;
|
||||
z_o = normal[2] * d;
|
||||
|
Loading…
x
Reference in New Issue
Block a user