Vector RotateVertex( Vector _target, float _x, float _y, float _z, float angle )

{

Vector vertex = _target;


if( _x > 0.0f ) {

m_RotateY += angle;


float x = vertex.x;

float y = vertex.y;

float z = vertex.z;


vertex.y = ( y * cosf( angle * ( PI / 180.0f ) ) ) - 

( z * sinf( angle * ( PI / 180.0f ) ) );

vertex.z = ( y * sinf( angle * ( PI / 180.0f ) ) ) + 

( z * cosf( angle * ( PI / 180.0f ) ) );


}


if( _y > 0.0f ) {

m_RotateX += angle;


float x = vertex.x;

float y = vertex.y;

float z = vertex.z;


vertex.x = ( z * sinf( angle * ( PI / 180.0f ) ) ) + 

( x * cosf( angle * ( PI / 180.0f ) ) );

vertex.z = ( z * cosf( angle * ( PI / 180.0f ) ) ) - 

( x * sinf( angle * ( PI / 180.0f ) ) );

}


if( _z > 0.0f ) {

m_RotateZ += angle;


float x = vertex.x;

float y = vertex.y;

float z = vertex.z;


vertex.x = ( x * cosf( angle * ( PI / 180.0f ) ) ) - 

( y * sinf( angle * ( PI / 180.0f ) ) );

vertex.y = ( x * sinf( angle * ( PI / 180.0f ) ) ) + 

( y * cosf( angle * ( PI / 180.0f ) ) );

}


return vertex;

}



sin, cos에 f는 방금 붙였으용

전달받은 _x, _y, _z가 1 이상이면 그 축으로 회전하는 방식인데

if문 안에만 봐주시면 될 것 같네요..