// CCRenderable
void CCTile3DButton::refreshModelMatrix()
{
	if( updateModelMatrix )
	{
        CCMatrixLoadIdentity( modelMatrix );	
        CCMatrixTranslate( modelMatrix, position.x, position.y, position.z );
        
		if( scale != NULL )
		{	
			CCMatrixScale( modelMatrix, scale->x, scale->y, scale->z );
		}

        if( rotation.x != 0.0f )
        {
            CCMatrixRotate( modelMatrix, rotation.x, 1.0f, 0.0f, 0.0f );
        }

        if( rotation.y != 0.0f )
        {
            CCMatrixRotate( modelMatrix, rotation.y, 0.0f, 1.0f, 0.0f );
        }
        
		updateModelMatrix = false;
		dirtyWorldMatrix();
	}
}
void GLScalef(GLfloat sx, GLfloat sy, GLfloat sz)
{
    CCMatrixScale( CCCameraBase::currentCamera->pushedMatrix[CCCameraBase::currentCamera->currentPush], sx, sy, sz );
}
void GLScalef(GLfloat sx, GLfloat sy, GLfloat sz)
{
    CCMatrixScale( pushedMatrix[currentPush], sx, sy, sz );
}