static ssgStateSelector *layer_states[SGCloudLayer::SG_MAX_CLOUD_COVERAGES];
static bool state_initialized = false;
static bool bump_mapping = false;
-static int nb_texture_unit = 0;
+static GLint nb_texture_unit = 0;
static ssgTexture *normal_map[SGCloudLayer::SG_MAX_CLOUD_COVERAGES][2] = { 0 };
static ssgTexture *color_map[SGCloudLayer::SG_MAX_CLOUD_COVERAGES][2] = { 0 };
static GLuint normalization_cube_map;
# ifdef __GNUC__
# if ( __GNUC__ >= 3 ) && ( __GNUC_MINOR__ >= 3 )
// # include <math.h>
-extern "C" int isnan (double);
-extern "C" int isinf (double);
+inline int (isnan)(double r) { return !(r <= 0 || r >= 0); }
# else
// any C++ header file undefines isinf and isnan
// so this should be included before <iostream>