X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=tests%2Ftest-env-map.cxx;h=0cb13dee982901375392fe742b42402df6a8f89e;hb=da3c098a4bb9c5c4b16d2ae286ee0183271374cf;hp=55498086e1f95badb2485bfde08274b589c356b2;hpb=56fef38054490b5dd2ece93061c8643a9a42ad40;p=flightgear.git diff --git a/tests/test-env-map.cxx b/tests/test-env-map.cxx index 55498086e..0cb13dee9 100644 --- a/tests/test-env-map.cxx +++ b/tests/test-env-map.cxx @@ -1,14 +1,33 @@ -#include +#ifdef HAVE_CONFIG_H +# include +#endif + +#ifdef HAVE_WINDOWS_H +# include +#endif + #include #include #include +#include +#if defined( __APPLE__) +# include +# include +#else +# include +# ifdef HAVE_GLUT_H +# include +# endif +#endif + #define TEXRES_X 256 #define TEXRES_Y 256 +#ifdef HAVE_GLUT_H unsigned char env_map[TEXRES_X][TEXRES_Y][4]; GLuint texName; -float window_x = 640, window_y = 480; +int window_x = 640, window_y = 480; float alpha = 0.0, beta = 0.0; /*****************************************************************/ @@ -44,8 +63,8 @@ void setColor(float x, float y, float z, float angular_size, float r, float g, f float rz = -tz; float inv_m = 1.0 / (2.0 * sqrt(rx*rx + ry*ry + (rz + 1)*(rz + 1))); - int s = TEXRES_X * (rx * inv_m + 0.5); - int t = TEXRES_Y * (ry * inv_m + 0.5); + int s = (int)(TEXRES_X * (rx * inv_m + 0.5)); + int t = (int)(TEXRES_Y * (ry * inv_m + 0.5)); //seg_fault protection: if (s<0) s=0; @@ -54,10 +73,10 @@ void setColor(float x, float y, float z, float angular_size, float r, float g, f if (t<0) t=0; if (t>=TEXRES_Y) t=TEXRES_Y-1; - env_map[s][t][0] = r * 255; - env_map[s][t][1] = g * 255; - env_map[s][t][2] = b * 255; - env_map[s][t][3] = a * 255; + env_map[s][t][0] = (unsigned char)(r * 255); + env_map[s][t][1] = (unsigned char)(g * 255); + env_map[s][t][2] = (unsigned char)(b * 255); + env_map[s][t][3] = (unsigned char)(a * 255); } } } @@ -124,7 +143,7 @@ void display() //show light glMatrixMode(GL_PROJECTION); glLoadIdentity(); - gluPerspective((GLdouble) 60.0, window_x/window_y, (GLdouble) 1.0, (GLdouble) 100.0); + gluPerspective((GLdouble) 60.0, (float)window_x/window_y, (GLdouble) 1.0, (GLdouble) 100.0); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); @@ -177,9 +196,9 @@ void display() //show how the map looks like glMatrixMode(GL_PROJECTION); glLoadIdentity(); - //gluOrtho2D(0.0 -10.0, 1.0 +10.0, -window_x/window_y -10.0,0.0 +10.0); + //gluOrtho2D(0.0 -10.0, 1.0 +10.0, -(float)window_x/window_y -10.0,0.0 +10.0); //glOrtho(0.0, 5.0, -5.0, 0.0, -10.0, 10.0); - glOrtho(0.0, 5.0*(window_x/window_y), -5.0, 0.0, -10.0, 10.0); + glOrtho(0.0, 5.0*((float)window_x/window_y), -5.0, 0.0, -10.0, 10.0); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); glEnable(GL_TEXTURE_2D); @@ -231,9 +250,11 @@ void keyboard (unsigned char key, int x, int y) break; } } +#endif /* HAVE_GLUT_H */ int main(int argc, char** argv) { +#ifdef HAVE_GLUT_H glutInitWindowSize(window_x, window_y); glutInit(&argc, argv); glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH); @@ -244,6 +265,10 @@ int main(int argc, char** argv) glutKeyboardFunc(keyboard); glutMainLoop(); +#else + + printf("GL Utility Toolkit (glut) was not found on this system.\n"); +#endif return 0; }