this is the bug reported earlier with the line_strips. i tried to fix it but gave up in the clipping macros. i attached my test programm so someone else may look at it. looks like it takes a vertex that is clipped out and has an invalid origin.. a switch from line_strip to line_loop let me suspect that it is the last vertex in the buffer. sorry for the size.. -- ralf willenbacher ([EMAIL PROTECTED])
/* $Id: glxdemo.c,v 1.1.1.1 1999/08/19 00:55:43 jtg Exp $ */ /* * A demonstration of using the GLX functions. This program is in the * public domain. * * Brian Paul */ /* * $Log: glxdemo.c,v $ * Revision 1.1.1.1 1999/08/19 00:55:43 jtg * Imported sources * * Revision 3.0 1998/02/21 02:16:54 brianp * initial rev * */ #include <GL/gl.h> #include <GL/glx.h> #include <stdio.h> #include <stdlib.h> /* ortho args */ #if 1 #define LEFT -9500.0 #define RIGHT -8000.0 #define BOTTOM 4500.0 #define TOP 6000.0 #else #define LEFT -10000.0 #define RIGHT -7000.0 #define BOTTOM 3000.0 #define TOP 8000.0 #endif /* line loop/strip switching */ #define GLBEGIN_ARG GL_LINE_STRIP /* line strips */ #define T1 1 #define T2 0 #define T3 0 #define T4 0 #define T5 0 #define T6 0 #define T7 0 #define T8 0 #define T9 0 #define T10 0 #define T11 0 #define T12 0 #define T13 1 #define USE_DISPLAYLIST 1 GLuint linelist; static void redraw( Display *dpy, Window w ) { printf("Redraw event\n"); glClear( GL_COLOR_BUFFER_BIT ); glMatrixMode( GL_MODELVIEW ); glLoadIdentity(); #if USE_DISPLAYLIST glCallList(linelist); #else create_linelist(); #endif glXSwapBuffers( dpy, w ); } static void create_linelist(void) { int i; #if USE_DISPLAYLIST glNewList(linelist, GL_COMPILE); #endif glColor3f(0.0, 0.7, 0.0); #if T1 glBegin(GLBEGIN_ARG); glVertex2f(-7793.077148, 5427.343750); glVertex2f(-7794.624512, 5427.698242); glVertex2f(-7794.156738, 5429.316895); glVertex2f(-7793.166504, 5430.734863); glVertex2f(-7792.520996, 5440.591797); glVertex2f(-7793.755859, 5440.931152); glVertex2f(-7792.732422, 5442.135254); glVertex2f(-7793.010254, 5444.791016); glVertex2f(-7794.034180, 5443.509277); glVertex2f(-7795.025391, 5442.042480); glVertex2f(-7796.071777, 5440.761719); glVertex2f(-7797.407715, 5440.113770); glVertex2f(-7798.921387, 5439.773926); glVertex2f(-7800.346191, 5439.264648); glVertex2f(-7801.916016, 5439.172363); glVertex2f(-7803.095215, 5438.107422); glVertex2f(-7804.141602, 5436.811523); glVertex2f(-7805.533691, 5436.302246); glVertex2f(-7806.835938, 5435.531250); glVertex2f(-7807.916016, 5434.158203); glVertex2f(-7808.851074, 5432.785645); glVertex2f(-7810.086914, 5431.891113); glVertex2f(-7811.567383, 5431.552246); glVertex2f(-7812.157715, 5429.625000); glVertex2f(-7812.925293, 5427.775391); glVertex2f(-7813.793457, 5426.280273); glVertex2f(-7814.695312, 5424.693359); glVertex2f(-7815.552246, 5422.983398); glVertex2f(-7816.765625, 5422.090332); glVertex2f(-7818.124023, 5421.443359); glVertex2f(-7818.156738, 5419.780273); glVertex2f(-7817.934570, 5418.271484); glVertex2f(-7817.567383, 5416.777832); glVertex2f(-7818.056641, 5415.069336); glVertex2f(-7819.169922, 5413.915039); glVertex2f(-7819.604004, 5413.622559); glVertex2f(-7821.151367, 5413.360840); glVertex2f(-7823.010742, 5413.837891); glVertex2f(-7823.689941, 5413.191895); glVertex2f(-7822.354004, 5412.161133); glVertex2f(-7820.506348, 5411.775879); glVertex2f(-7818.958496, 5412.037598); glVertex2f(-7817.600586, 5412.684082); glVertex2f(-7816.086426, 5412.807129); glVertex2f(-7814.662109, 5411.822266); glVertex2f(-7814.138672, 5410.406738); glVertex2f(-7814.038574, 5408.837891); glVertex2f(-7813.949707, 5407.253906); glVertex2f(-7814.383301, 5405.377930); glVertex2f(-7814.595215, 5403.579590); glVertex2f(-7814.004883, 5402.119629); glVertex2f(-7813.448242, 5400.797363); glVertex2f(-7814.004883, 5399.568359); glVertex2f(-7815.808594, 5399.998535); glVertex2f(-7817.199707, 5399.476074); glVertex2f(-7818.435547, 5398.584961); glVertex2f(-7819.704590, 5397.817383); glVertex2f(-7820.072266, 5399.261230); glVertex2f(-7820.962402, 5400.167480); glVertex2f(-7822.142578, 5399.138184); glVertex2f(-7823.222168, 5397.939453); glVertex2f(-7824.157227, 5396.280762); glVertex2f(-7824.992188, 5394.652832); glVertex2f(-7826.038574, 5395.175293); glVertex2f(-7825.726562, 5396.957031); glVertex2f(-7826.384277, 5398.277832); glVertex2f(-7828.053711, 5398.539062); glVertex2f(-7829.066406, 5397.340820); glVertex2f(-7829.900879, 5395.635742); glVertex2f(-7830.925293, 5394.360840); glVertex2f(-7831.816406, 5392.779297); glVertex2f(-7832.650879, 5391.075684); glVertex2f(-7832.962891, 5389.279297); glVertex2f(-7833.118164, 5387.576172); glVertex2f(-7833.062988, 5385.964844); glVertex2f(-7832.650879, 5384.507812); glVertex2f(-7832.194824, 5383.111328); glVertex2f(-7830.858887, 5382.421875); glVertex2f(-7829.623535, 5383.311035); glVertex2f(-7828.542969, 5384.461426); glVertex2f(-7827.218750, 5384.124023); glVertex2f(-7828.176270, 5382.682129); glVertex2f(-7829.412109, 5381.777832); glVertex2f(-7830.613770, 5380.887695); glVertex2f(-7831.760254, 5379.615234); glVertex2f(-7832.628906, 5378.158691); glVertex2f(-7833.429688, 5376.212402); glVertex2f(-7834.176270, 5374.464844); glVertex2f(-7835.255859, 5373.315918); glVertex2f(-7837.014648, 5373.392578); glVertex2f(-7838.250488, 5372.718750); glVertex2f(-7839.274902, 5371.400879); glVertex2f(-7840.198730, 5369.731445); glVertex2f(-7841.033691, 5368.031250); glVertex2f(-7842.091309, 5366.714844); glVertex2f(-7843.416016, 5366.117188); glVertex2f(-7845.051758, 5366.117188); glVertex2f(-7847.000000, 5366.714844); glVertex2f(-7848.580566, 5366.592285); glVertex2f(-7849.938477, 5365.949219); glVertex2f(-7851.019043, 5364.801270); glVertex2f(-7852.042969, 5363.484863); glVertex2f(-7853.067383, 5361.954102); glVertex2f(-7853.957520, 5360.638672); glVertex2f(-7854.859375, 5359.062988); glVertex2f(-7855.694336, 5357.364746); glVertex2f(-7856.529297, 5355.666992); glVertex2f(-7857.241699, 5353.709961); glVertex2f(-7857.419434, 5351.890625); glVertex2f(-7857.419434, 5350.316406); glVertex2f(-7856.895996, 5348.956055); glVertex2f(-7856.284668, 5347.596191); glVertex2f(-7856.028320, 5346.067871); glVertex2f(-7856.930176, 5344.494629); glVertex2f(-7857.976562, 5343.227539); glVertex2f(-7858.477539, 5341.746094); glVertex2f(-7857.453125, 5340.601074); glVertex2f(-7857.797852, 5339.410156); glVertex2f(-7859.345703, 5339.074219); glVertex2f(-7860.547852, 5338.173828); glVertex2f(-7860.893066, 5336.617188); glVertex2f(-7861.315918, 5335.121582); glVertex2f(-7862.462402, 5334.068848); glVertex2f(-7863.085938, 5332.329102); glVertex2f(-7863.887695, 5330.636719); glVertex2f(-7864.755371, 5328.943848); glVertex2f(-7865.312012, 5327.037598); glVertex2f(-7866.113770, 5325.345215); glVertex2f(-7867.349121, 5324.446777); glVertex2f(-7868.652344, 5325.421387); glVertex2f(-7869.264648, 5326.778320); glVertex2f(-7870.043457, 5328.059082); glVertex2f(-7871.089355, 5329.157227); glVertex2f(-7872.146973, 5330.300781); glVertex2f(-7873.539062, 5330.682129); glVertex2f(-7873.694336, 5329.065918); glVertex2f(-7873.160156, 5327.708008); glVertex2f(-7873.783691, 5325.940430); glVertex2f(-7874.496094, 5324.278320); glVertex2f(-7875.174805, 5322.678711); glVertex2f(-7875.943359, 5320.850098); glVertex2f(-7874.674316, 5320.606445); glVertex2f(-7873.349609, 5321.230957); glVertex2f(-7871.924316, 5321.749023); glVertex2f(-7870.722656, 5321.200684); glVertex2f(-7870.755859, 5319.585449); glVertex2f(-7871.434570, 5317.590332); glVertex2f(-7872.269043, 5315.899414); glVertex2f(-7873.138184, 5314.346680); glVertex2f(-7874.095215, 5312.900391); glVertex2f(-7875.052246, 5311.500000); glVertex2f(-7875.976562, 5309.811035); glVertex2f(-7876.878418, 5308.289062); glVertex2f(-7877.680176, 5306.600098); glVertex2f(-7878.637207, 5305.170410); glVertex2f(-7879.561523, 5303.726074); glVertex2f(-7880.518555, 5302.296387); glVertex2f(-7880.830078, 5300.517578); glVertex2f(-7880.863281, 5298.921387); glVertex2f(-7881.887695, 5297.614746); glVertex2f(-7882.622070, 5295.791016); glVertex2f(-7882.778320, 5294.058594); glVertex2f(-7882.811523, 5292.463867); glVertex2f(-7882.844727, 5290.808594); glVertex2f(-7882.744629, 5289.213867); glVertex2f(-7882.500000, 5287.740723); glVertex2f(-7882.410645, 5286.132324); glVertex2f(-7883.279785, 5284.902344); glVertex2f(-7885.071777, 5285.205566); glVertex2f(-7886.774414, 5285.373047); glVertex2f(-7888.166504, 5284.872070); glVertex2f(-7887.509277, 5283.566895); glVertex2f(-7886.496094, 5282.428711); glVertex2f(-7884.603516, 5282.079590); glVertex2f(-7883.245605, 5282.504883); glVertex2f(-7881.943848, 5282.125488); glVertex2f(-7881.486816, 5280.653809); glVertex2f(-7880.952637, 5279.303711); glVertex2f(-7880.273926, 5278.075684); glVertex2f(-7879.683594, 5276.649902); glVertex2f(-7879.193848, 5275.254883); glVertex2f(-7878.949219, 5273.738770); glVertex2f(-7878.670410, 5272.359375); glVertex2f(-7878.203125, 5270.874023); glVertex2f(-7877.680176, 5269.570801); glVertex2f(-7877.312500, 5268.146484); glVertex2f(-7878.637207, 5267.843750); glVertex2f(-7879.538574, 5269.025879); glVertex2f(-7880.429199, 5270.207031); glVertex2f(-7880.930664, 5271.601562); glVertex2f(-7881.174805, 5273.117676); glVertex2f(-7882.166016, 5273.450684); glVertex2f(-7882.321777, 5271.768066); glVertex2f(-7882.255371, 5270.086426); glVertex2f(-7882.099121, 5268.601562); glVertex2f(-7881.208984, 5267.434570); glVertex2f(-7879.561523, 5266.753418); glVertex2f(-7878.425781, 5265.662598); glVertex2f(-7876.967773, 5264.738770); glVertex2f(-7875.208496, 5264.102539); glVertex2f(-7873.561035, 5263.436523); glVertex2f(-7873.939941, 5262.134277); glVertex2f(-7875.453125, 5261.876465); glVertex2f(-7876.967773, 5261.664551); glVertex2f(-7876.444336, 5260.271973); glVertex2f(-7875.141602, 5259.273438); glVertex2f(-7873.594238, 5258.379883); glVertex2f(-7872.146973, 5258.758301); glVertex2f(-7871.000488, 5259.817871); glVertex2f(-7869.330566, 5259.863281); glVertex2f(-7867.872559, 5258.939941); glVertex2f(-7868.685059, 5257.335938); glVertex2f(-7867.783203, 5256.155273); glVertex2f(-7866.202637, 5256.246582); glVertex2f(-7865.312012, 5257.805176); glVertex2f(-7865.557129, 5259.318359); glVertex2f(-7866.458984, 5260.483887); glVertex2f(-7865.590332, 5261.967773); glVertex2f(-7864.477051, 5262.966797); glVertex2f(-7863.330566, 5263.981445); glVertex2f(-7862.095703, 5264.904785); glVertex2f(-7860.703613, 5264.814453); glVertex2f(-7860.859863, 5263.133301); glVertex2f(-7861.015137, 5261.452637); glVertex2f(-7860.024902, 5260.786621); glVertex2f(-7858.599609, 5261.120117); glVertex2f(-7856.963379, 5260.786621); glVertex2f(-7856.996094, 5259.137207); glVertex2f(-7858.009277, 5257.834961); glVertex2f(-7857.241699, 5256.624512); glVertex2f(-7857.920410, 5255.656250); glVertex2f(-7859.557129, 5255.656250); glVertex2f(-7860.458984, 5254.143555); glVertex2f(-7861.193359, 5252.298340); glVertex2f(-7862.061523, 5250.860840); glVertex2f(-7863.397461, 5250.241699); glVertex2f(-7864.533203, 5251.284668); glVertex2f(-7864.376953, 5253.008789); glVertex2f(-7865.679688, 5253.341797); glVertex2f(-7866.915039, 5252.328125); glVertex2f(-7867.661133, 5250.649414); glVertex2f(-7868.340332, 5249.016602); glVertex2f(-7869.419922, 5247.882812); glVertex2f(-7870.934082, 5247.625977); glVertex2f(-7872.514648, 5247.549805); glVertex2f(-7873.939941, 5247.172363); glVertex2f(-7875.420410, 5246.794434); glVertex2f(-7876.811523, 5246.280273); glVertex2f(-7876.967773, 5246.159668); glVertex2f(-7878.358887, 5245.660645); glVertex2f(-7879.838867, 5245.192383); glVertex2f(-7881.208984, 5244.769043); glVertex2f(-7882.600098, 5244.270508); glVertex2f(-7884.080566, 5243.816895); glVertex2f(-7885.405273, 5243.438965); glVertex2f(-7886.952637, 5243.182129); glVertex2f(-7888.411133, 5242.804688); glVertex2f(-7889.646973, 5241.837402); glVertex2f(-7889.424316, 5240.236328); glVertex2f(-7890.392578, 5239.028320); glVertex2f(-7891.227539, 5237.352051); glVertex2f(-7890.726074, 5235.962402); glVertex2f(-7889.424316, 5236.762695); glVertex2f(-7888.622559, 5238.438965); glVertex2f(-7887.454102, 5239.526855); glVertex2f(-7887.053223, 5238.182617); glVertex2f(-7885.906250, 5237.140625); glVertex2f(-7885.717285, 5235.750977); glVertex2f(-7887.053223, 5235.131836); glVertex2f(-7888.188477, 5234.120605); glVertex2f(-7889.212891, 5232.822266); glVertex2f(-7890.080566, 5231.268066); glVertex2f(-7891.405762, 5230.634277); glVertex2f(-7893.175781, 5230.936523); glVertex2f(-7894.655762, 5230.725098); glVertex2f(-7895.401855, 5229.004395); glVertex2f(-7894.845215, 5227.707520); glVertex2f(-7893.821289, 5226.621094); glVertex2f(-7892.273926, 5225.731445); glVertex2f(-7892.206543, 5224.313477); glVertex2f(-7893.788086, 5224.193359); glVertex2f(-7895.546875, 5224.479492); glVertex2f(-7896.325684, 5225.731445); glVertex2f(-7896.848633, 5227.118652); glVertex2f(-7897.316895, 5228.461426); glVertex2f(-7898.797363, 5228.084473); glVertex2f(-7899.542969, 5226.273926); glVertex2f(-7900.410645, 5224.735840); glVertex2f(-7901.112305, 5223.137695); glVertex2f(-7900.867676, 5221.629883); glVertex2f(-7899.542969, 5220.620117); glVertex2f(-7899.164062, 5219.203125); glVertex2f(-7899.631836, 5217.273926); glVertex2f(-7899.075684, 5216.023926); glVertex2f(-7897.962402, 5214.969238); glVertex2f(-7899.320312, 5214.471680); glVertex2f(-7900.867676, 5215.345703); glVertex2f(-7901.524414, 5216.656738); glVertex2f(-7902.938477, 5217.575684); glVertex2f(-7904.451660, 5217.319336); glVertex2f(-7904.084961, 5215.902832); glVertex2f(-7903.060547, 5214.772949); glVertex2f(-7903.038574, 5213.598145); glVertex2f(-7904.363281, 5214.471680); glVertex2f(-7905.665527, 5215.481445); glVertex2f(-7906.957031, 5216.475586); glVertex2f(-7908.481934, 5216.565918); glVertex2f(-7908.815430, 5214.938477); glVertex2f(-7907.424316, 5213.884277); glVertex2f(-7906.099609, 5213.010742); glVertex2f(-7905.198242, 5211.835938); glVertex2f(-7906.589355, 5211.338867); glVertex2f(-7907.791992, 5210.420410); glVertex2f(-7908.660156, 5208.914551); glVertex2f(-7908.626953, 5207.695312); glVertex2f(-7908.104004, 5206.987793); glVertex2f(-7907.491211, 5205.648438); glVertex2f(-7906.033203, 5205.061035); glVertex2f(-7904.919922, 5206.069824); glVertex2f(-7903.806152, 5206.987793); glVertex2f(-7902.727051, 5206.069824); glVertex2f(-7903.750977, 5204.805664); glVertex2f(-7904.274414, 5203.270508); glVertex2f(-7902.971680, 5202.262695); glVertex2f(-7901.212402, 5201.977051); glVertex2f(-7899.631836, 5202.097168); glVertex2f(-7898.151855, 5202.307617); glVertex2f(-7898.185059, 5200.667969); glVertex2f(-7899.075684, 5199.299316); glVertex2f(-7899.721191, 5197.870605); glVertex2f(-7898.485352, 5196.998535); glVertex2f(-7897.282715, 5197.870605); glVertex2f(-7895.858398, 5197.916016); glVertex2f(-7894.466797, 5197.464355); glVertex2f(-7893.598633, 5198.998535); glVertex2f(-7892.395996, 5199.886230); glVertex2f(-7891.561035, 5198.622559); glVertex2f(-7890.537109, 5198.035645); glVertex2f(-7889.424316, 5199.043945); glVertex2f(-7888.288574, 5200.096680); glVertex2f(-7888.934082, 5201.390137); glVertex2f(-7890.203125, 5202.382812); glVertex2f(-7890.726074, 5203.767090); glVertex2f(-7891.349609, 5205.061035); glVertex2f(-7892.918945, 5205.934082); glVertex2f(-7892.763672, 5207.620117); glVertex2f(-7891.194336, 5207.409180); glVertex2f(-7889.735840, 5206.445801); glVertex2f(-7888.744629, 5205.362305); glVertex2f(-7888.099609, 5204.023438); glVertex2f(-7887.454102, 5202.729004); glVertex2f(-7886.150879, 5201.721191); glVertex2f(-7884.326172, 5201.014160); glVertex2f(-7882.466797, 5200.427246); glVertex2f(-7880.930664, 5199.464844); glVertex2f(-7879.594727, 5198.592285); glVertex2f(-7877.835449, 5198.291504); glVertex2f(-7876.344238, 5197.539551); glVertex2f(-7875.453125, 5196.367188); glVertex2f(-7874.429199, 5195.239258); glVertex2f(-7873.416504, 5194.111816); glVertex2f(-7872.236328, 5193.075195); glVertex2f(-7871.746094, 5191.692383); glVertex2f(-7871.769043, 5190.069336); glVertex2f(-7871.679688, 5188.521973); glVertex2f(-7872.425781, 5186.733887); glVertex2f(-7871.679688, 5185.472656); glVertex2f(-7870.043457, 5185.442871); glVertex2f(-7869.019043, 5184.346191); glVertex2f(-7868.652344, 5182.889648); glVertex2f(-7867.994629, 5181.598633); glVertex2f(-7867.538574, 5180.142578); glVertex2f(-7866.915039, 5178.852051); glVertex2f(-7866.147461, 5177.591797); glVertex2f(-7865.123047, 5176.465820); glVertex2f(-7863.976562, 5175.431152); glVertex2f(-7862.841309, 5174.350586); glVertex2f(-7863.119141, 5172.595703); glVertex2f(-7862.896484, 5171.141113); glVertex2f(-7862.128418, 5169.881348); glVertex2f(-7861.382812, 5168.637207); glVertex2f(-7860.859863, 5167.258301); glVertex2f(-7860.080078, 5166.059082); glVertex2f(-7859.089844, 5164.935059); glVertex2f(-7858.042480, 5163.811523); glVertex2f(-7857.976562, 5162.267578); glVertex2f(-7859.156250, 5161.354004); glVertex2f(-7860.614258, 5161.024902); glVertex2f(-7862.429199, 5161.638672); glVertex2f(-7862.307129, 5162.597168); glVertex2f(-7860.948242, 5163.062012); glVertex2f(-7861.315918, 5164.515625); glVertex2f(-7862.061523, 5165.758789); glVertex2f(-7862.773926, 5167.092773); glVertex2f(-7863.330566, 5168.352051); glVertex2f(-7863.953613, 5169.687012); glVertex2f(-7865.468262, 5169.431641); glVertex2f(-7865.746582, 5167.677734); glVertex2f(-7865.646484, 5166.134277); glVertex2f(-7865.835938, 5164.470215); glVertex2f(-7865.958008, 5162.807129); glVertex2f(-7867.538574, 5162.687012); glVertex2f(-7869.019043, 5163.436523); glVertex2f(-7869.920898, 5162.223145); glVertex2f(-7869.141113, 5160.979492); glVertex2f(-7867.716797, 5160.065918); glVertex2f(-7866.547363, 5158.987305); glVertex2f(-7865.801758, 5157.729492); glVertex2f(-7865.189453, 5156.441895); glVertex2f(-7864.099121, 5155.453613); glVertex2f(-7862.495605, 5154.870117); glVertex2f(-7861.104492, 5154.151367); glVertex2f(-7859.679199, 5153.208496); glVertex2f(-7857.887207, 5153.028809); glVertex2f(-7856.651367, 5153.777344); glVertex2f(-7855.070801, 5153.238281); glVertex2f(-7853.656738, 5152.280273); glVertex2f(-7852.109375, 5151.412598); glVertex2f(-7851.553223, 5149.916504); glVertex2f(-7852.354980, 5148.375000); glVertex2f(-7852.165527, 5146.804688); glVertex2f(-7851.764648, 5145.353516); glVertex2f(-7851.274414, 5144.097656); glVertex2f(-7850.773438, 5142.737305); glVertex2f(-7850.439941, 5141.241699); glVertex2f(-7850.461914, 5139.612793); glVertex2f(-7850.718262, 5137.954102); glVertex2f(-7851.430664, 5136.041504); glVertex2f(-7851.831543, 5134.263672); glVertex2f(-7851.731445, 5132.725098); glVertex2f(-7850.997070, 5131.485352); glVertex2f(-7849.693848, 5130.485352); glVertex2f(-7848.180664, 5129.529297); glVertex2f(-7847.000000, 5128.573730); glVertex2f(-7845.986816, 5127.454102); glVertex2f(-7844.996582, 5126.334961); glVertex2f(-7843.972168, 5125.215332); glVertex2f(-7842.547363, 5124.305176); glVertex2f(-7841.467773, 5123.932617); glVertex2f(-7839.641602, 5123.275391); glVertex2f(-7837.849609, 5122.738770); glVertex2f(-7836.023438, 5122.395508); glVertex2f(-7834.265625, 5122.439941); glVertex2f(-7832.840332, 5122.484863); glVertex2f(-7831.081543, 5122.201660); glVertex2f(-7829.289551, 5121.783691); glVertex2f(-7827.463379, 5121.455566); glVertex2f(-7825.726562, 5121.276855); glVertex2f(-7824.157227, 5121.112305); glVertex2f(-7822.509766, 5121.201660); glVertex2f(-7823.601074, 5120.291992); glVertex2f(-7824.925781, 5119.665527); glVertex2f(-7826.595703, 5119.830078); glVertex2f(-7828.265137, 5119.785156); glVertex2f(-7829.656250, 5119.546387); glVertex2f(-7830.335938, 5118.591797); glVertex2f(-7828.509766, 5117.846191); glVertex2f(-7826.807129, 5117.682129); glVertex2f(-7825.048340, 5117.473633); glVertex2f(-7823.601074, 5117.592773); glVertex2f(-7822.108887, 5117.801758); glVertex2f(-7820.539062, 5118.129395); glVertex2f(-7819.448730, 5119.039062); glVertex2f(-7818.524902, 5120.411621); glVertex2f(-7817.377930, 5121.455566); glVertex2f(-7816.142578, 5122.201660); glVertex2f(-7814.839355, 5122.768555); glVertex2f(-7813.448242, 5123.275391); glVertex2f(-7812.034180, 5123.857910); glVertex2f(-7810.765625, 5124.350098); glVertex2f(-7809.374512, 5124.842773); glVertex2f(-7807.949219, 5125.215332); glVertex2f(-7806.401855, 5125.304688); glVertex2f(-7804.821289, 5125.379883); glVertex2f(-7803.340820, 5125.842285); glVertex2f(-7801.859863, 5126.379883); glVertex2f(-7800.780273, 5126.961914); glVertex2f(-7799.511230, 5127.708008); glVertex2f(-7798.053223, 5128.364746); glVertex2f(-7796.817383, 5128.782715); glVertex2f(-7795.425293, 5129.291016); glVertex2f(-7794.123535, 5130.111328); glVertex2f(-7793.232422, 5131.395996); glVertex2f(-7792.397461, 5133.053711); glVertex2f(-7792.920898, 5141.241699); glVertex2f(-7793.266602, 5142.691895); glVertex2f(-7792.954590, 5144.396484); glVertex2f(-7794.101562, 5145.473633); glVertex2f(-7793.878906, 5146.669922); glVertex2f(-7792.453613, 5149.093262); glVertex2f(-7793.878906, 5148.749023); glVertex2f(-7795.270020, 5149.467285); glVertex2f(-7795.236816, 5151.083008); glVertex2f(-7796.416504, 5151.711426); glVertex2f(-7797.841797, 5151.127930); glVertex2f(-7798.554199, 5149.751465); glVertex2f(-7798.454102, 5148.210449); glVertex2f(-7798.364746, 5146.669922); glVertex2f(-7798.798828, 5144.845215); glVertex2f(-7799.666992, 5144.935059); glVertex2f(-7799.878418, 5146.430664); glVertex2f(-7799.967285, 5148.000977); glVertex2f(-7800.067871, 5149.541992); glVertex2f(-7800.089844, 5151.157715); glVertex2f(-7800.224121, 5152.744141); glVertex2f(-7800.312988, 5154.286133); glVertex2f(-7800.524414, 5155.783203); glVertex2f(-7800.780273, 5157.280273); glVertex2f(-7801.236328, 5158.643066); glVertex2f(-7801.425781, 5160.230469); glVertex2f(-7801.759277, 5161.638672); glVertex2f(-7802.316406, 5162.941895); glVertex2f(-7803.029297, 5164.260742); glVertex2f(-7803.685547, 5165.474121); glVertex2f(-7804.265137, 5166.882812); glVertex2f(-7805.043945, 5168.007812); glVertex2f(-7806.034668, 5169.221680); glVertex2f(-7807.481934, 5170.091309); glVertex2f(-7809.185059, 5170.256348); glVertex2f(-7810.665039, 5170.016113); glVertex2f(-7811.934082, 5169.267090); glVertex2f(-7813.114746, 5168.187500); glVertex2f(-7813.793457, 5166.553711); glVertex2f(-7812.591309, 5165.729492); glVertex2f(-7811.166504, 5165.968750); glVertex2f(-7812.190430, 5164.680176); glVertex2f(-7813.670898, 5164.470215); glVertex2f(-7814.973633, 5165.474121); glVertex2f(-7815.708496, 5166.718262); glVertex2f(-7816.332031, 5168.007812); glVertex2f(-7817.099609, 5169.267090); glVertex2f(-7818.246094, 5170.346191); glVertex2f(-7819.760254, 5170.631348); glVertex2f(-7819.704590, 5172.385742); glVertex2f(-7818.736328, 5173.765625); glVertex2f(-7817.600586, 5174.560547); glVertex2f(-7815.986328, 5174.726074); glVertex2f(-7814.261230, 5174.425293); glVertex2f(-7812.524414, 5174.260742); glVertex2f(-7810.887695, 5174.215332); glVertex2f(-7809.273926, 5174.185547); glVertex2f(-7807.458984, 5173.765625); glVertex2f(-7805.633789, 5173.015625); glVertex2f(-7804.086426, 5172.220703); glVertex2f(-7802.628418, 5171.306152); glVertex2f(-7801.147949, 5170.301270); glVertex2f(-7800.089844, 5169.311523); glVertex2f(-7799.199707, 5168.097656); glVertex2f(-7798.208496, 5166.882812); glVertex2f(-7797.307617, 5165.804199); glVertex2f(-7796.327148, 5164.560059); glVertex2f(-7795.392090, 5163.481445); glVertex2f(-7794.557617, 5162.223145); glVertex2f(-7793.667480, 5161.024902); glVertex2f(-7792.887695, 5159.856445); glEnd(); #endif #if T2 glBegin(GLBEGIN_ARG); glVertex2f(-8384.673828, 4569.655273); glVertex2f(-8384.517578, 4569.739746); glVertex2f(-8384.217773, 4570.911133); glVertex2f(-8384.093750, 4571.503906); glVertex2f(-8383.504883, 4573.226074); glVertex2f(-8382.914062, 4574.680664); glVertex2f(-8382.513672, 4575.852539); glVertex2f(-8381.923828, 4576.798828); glVertex2f(-8381.400391, 4578.055664); glVertex2f(-8380.721680, 4579.072754); glVertex2f(-8379.730469, 4580.089844); glVertex2f(-8378.740234, 4581.107422); glVertex2f(-8377.816406, 4582.364746); glVertex2f(-8376.981445, 4583.551758); glVertex2f(-8376.146484, 4584.809570); glVertex2f(-8375.990234, 4586.449707); glVertex2f(-8375.210938, 4587.749512); glVertex2f(-8374.130859, 4588.456543); glVertex2f(-8373.575195, 4589.403809); glVertex2f(-8372.961914, 4590.535645); glVertex2f(-8372.707031, 4591.794434); glVertex2f(-8371.994141, 4592.967773); glVertex2f(-8371.013672, 4594.000488); glVertex2f(-8370.202148, 4595.415039); glVertex2f(-8369.957031, 4596.703125); glVertex2f(-8369.923828, 4597.608887); glVertex2f(-8369.522461, 4599.108887); glVertex2f(-8369.400391, 4600.241699); glVertex2f(-8369.278320, 4601.430664); glVertex2f(-8369.032227, 4602.846191); glVertex2f(-8368.654297, 4604.134766); glVertex2f(-8367.696289, 4605.395020); glVertex2f(-8366.928711, 4606.499512); glVertex2f(-8366.461914, 4607.760254); glVertex2f(-8365.971680, 4608.823242); glVertex2f(-8365.258789, 4610.310547); glVertex2f(-8364.391602, 4611.699219); glVertex2f(-8363.644531, 4612.988770); glVertex2f(-8362.999023, 4614.604492); glVertex2f(-8362.788086, 4615.355469); glVertex2f(-8362.443359, 4616.660156); glVertex2f(-8362.109375, 4617.553711); glVertex2f(-8361.730469, 4618.857910); glVertex2f(-8361.017578, 4620.006836); glVertex2f(-8360.372070, 4620.829102); glVertex2f(-8359.971680, 4621.226074); glVertex2f(-8359.326172, 4621.736816); glVertex2f(-8359.169922, 4621.183594); glVertex2f(-8359.448242, 4620.162598); glVertex2f(-8359.904297, 4619.212402); glVertex2f(-8360.215820, 4618.460449); glVertex2f(-8360.583984, 4617.482910); glVertex2f(-8361.139648, 4616.220215); glVertex2f(-8361.641602, 4615.157227); glVertex2f(-8362.231445, 4613.697266); glVertex2f(-8362.843750, 4612.082031); glVertex2f(-8363.433594, 4610.664551); glVertex2f(-8363.990234, 4609.403320); glVertex2f(-8364.546875, 4608.156738); glVertex2f(-8365.037109, 4606.570312); glVertex2f(-8365.538086, 4605.239258); glVertex2f(-8366.004883, 4603.865234); glVertex2f(-8366.305664, 4602.449707); glVertex2f(-8366.528320, 4601.189941); glVertex2f(-8366.862305, 4599.576172); glVertex2f(-8367.363281, 4598.514160); glVertex2f(-8368.041992, 4597.099121); glVertex2f(-8368.565430, 4595.571289); glVertex2f(-8369.122070, 4594.227051); glVertex2f(-8369.711914, 4592.854980); glVertex2f(-8370.390625, 4591.355469); glVertex2f(-8371.192383, 4589.983887); glVertex2f(-8371.971680, 4588.612305); glVertex2f(-8372.583984, 4587.467285); glVertex2f(-8373.084961, 4586.689453); glVertex2f(-8373.886719, 4585.318359); glVertex2f(-8374.476562, 4584.173340); glVertex2f(-8375.122070, 4583.042969); glVertex2f(-8375.767578, 4581.742676); glVertex2f(-8376.301758, 4580.485352); glVertex2f(-8376.880859, 4579.425781); glVertex2f(-8377.559570, 4578.451172); glVertex2f(-8378.461914, 4577.264648); glVertex2f(-8379.385742, 4576.134766); glVertex2f(-8380.065430, 4574.637695); glVertex2f(-8380.565430, 4573.268555); glVertex2f(-8381.155273, 4571.503906); glVertex2f(-8381.611328, 4570.445312); glVertex2f(-8382.202148, 4569.429199); glVertex2f(-8382.847656, 4568.483398); glVertex2f(-8383.592773, 4567.312500); glVertex2f(-8384.217773, 4566.056641); glVertex2f(-8384.673828, 4564.801270); glVertex2f(-8385.107422, 4563.897949); glVertex2f(-8385.942383, 4562.643066); glVertex2f(-8386.933594, 4561.627930); glVertex2f(-8387.801758, 4560.964844); glVertex2f(-8388.969727, 4560.457031); glVertex2f(-8390.061523, 4560.132812); glVertex2f(-8391.296875, 4560.372559); glVertex2f(-8391.752930, 4560.879883); glVertex2f(-8391.352539, 4561.669434); glVertex2f(-8390.083008, 4561.937500); glVertex2f(-8388.569336, 4561.867188); glVertex2f(-8387.645508, 4562.797852); glVertex2f(-8387.299805, 4563.897949); glVertex2f(-8388.269531, 4564.138184); glVertex2f(-8388.948242, 4564.208496); glVertex2f(-8389.593750, 4564.490723); glVertex2f(-8389.682617, 4565.506836); glVertex2f(-8389.226562, 4566.564453); glVertex2f(-8388.134766, 4566.874512); glVertex2f(-8386.744141, 4567.228027); glVertex2f(-8385.787109, 4567.665039); glVertex2f(-8385.263672, 4568.130371); glVertex2f(-8385.074219, 4568.483398); glVertex2f(-8384.706055, 4569.189453); glVertex2f(-8384.673828, 4569.655273); glEnd(); #endif #if T3 glBegin(GLBEGIN_ARG); glVertex2f(-8428.466797, 4191.134277); glVertex2f(-8427.909180, 4191.393555); glVertex2f(-8426.819336, 4192.156738); glVertex2f(-8426.261719, 4193.096191); glVertex2f(-8425.895508, 4194.240723); glVertex2f(-8425.282227, 4195.031738); glVertex2f(-8424.726562, 4194.608887); glVertex2f(-8423.613281, 4194.009766); glVertex2f(-8422.343750, 4194.391113); glVertex2f(-8421.130859, 4194.922363); glVertex2f(-8419.995117, 4195.604004); glVertex2f(-8418.848633, 4196.244629); glVertex2f(-8417.768555, 4197.117188); glVertex2f(-8416.745117, 4197.907227); glVertex2f(-8415.720703, 4198.779785); glVertex2f(-8414.729492, 4199.693359); glVertex2f(-8413.459961, 4200.033691); glVertex2f(-8412.046875, 4199.842773); glVertex2f(-8410.554688, 4199.952148); glVertex2f(-8409.319336, 4200.210938); glVertex2f(-8408.117188, 4200.743164); glVertex2f(-8407.059570, 4201.738281); glVertex2f(-8406.536133, 4203.320312); glVertex2f(-8406.291016, 4204.984375); glVertex2f(-8405.946289, 4206.320801); glVertex2f(-8405.979492, 4207.685547); glVertex2f(-8405.924805, 4208.926758); glVertex2f(-8405.946289, 4209.991211); glVertex2f(-8405.768555, 4211.096680); glVertex2f(-8405.333984, 4212.721191); glVertex2f(-8404.833008, 4214.126953); glVertex2f(-8404.432617, 4215.260254); glVertex2f(-8404.220703, 4216.434082); glVertex2f(-8403.998047, 4218.031738); glVertex2f(-8403.909180, 4219.356445); glVertex2f(-8403.719727, 4220.845215); glVertex2f(-8403.385742, 4222.389160); glVertex2f(-8403.041016, 4224.138184); glVertex2f(-8402.673828, 4225.846191); glVertex2f(-8402.461914, 4226.761719); glVertex2f(-8402.517578, 4228.237793); glVertex2f(-8402.550781, 4229.563965); glVertex2f(-8402.884766, 4230.931152); glVertex2f(-8403.196289, 4232.270996); glVertex2f(-8403.319336, 4233.707031); glVertex2f(-8402.952148, 4235.457520); glVertex2f(-8402.395508, 4237.126465); glVertex2f(-8401.873047, 4238.645020); glVertex2f(-8401.348633, 4240.354980); glVertex2f(-8400.881836, 4242.147949); glVertex2f(-8400.692383, 4243.749512); glVertex2f(-8400.814453, 4245.228027); glVertex2f(-8400.791992, 4245.296387); glVertex2f(-8401.125977, 4246.254883); glVertex2f(-8401.348633, 4247.665039); glVertex2f(-8401.560547, 4249.062012); glVertex2f(-8401.749023, 4250.472656); glVertex2f(-8402.206055, 4251.732910); glVertex2f(-8402.550781, 4252.910645); glVertex2f(-8402.707031, 4254.198730); glVertex2f(-8402.707031, 4255.267578); glVertex2f(-8403.196289, 4256.336426); glVertex2f(-8403.853516, 4257.213379); glVertex2f(-8404.310547, 4258.392090); glVertex2f(-8404.532227, 4259.378906); glVertex2f(-8404.499023, 4260.640137); glVertex2f(-8404.744141, 4262.052246); glVertex2f(-8405.089844, 4263.190430); glVertex2f(-8405.579102, 4264.411133); glVertex2f(-8406.135742, 4265.508301); glVertex2f(-8406.759766, 4266.618652); glVertex2f(-8407.315430, 4267.730469); glVertex2f(-8407.750000, 4269.020020); glVertex2f(-8406.847656, 4269.856934); glVertex2f(-8406.012695, 4270.007324); glVertex2f(-8405.245117, 4268.827637); glVertex2f(-8404.688477, 4267.730469); glVertex2f(-8404.065430, 4266.701660); glVertex2f(-8403.508789, 4265.508301); glVertex2f(-8402.952148, 4264.301270); glVertex2f(-8402.583984, 4263.107910); glVertex2f(-8402.272461, 4262.079590); glVertex2f(-8401.927734, 4260.750000); glVertex2f(-8401.749023, 4259.337891); glVertex2f(-8401.649414, 4258.159180); glVertex2f(-8401.527344, 4257.172363); glVertex2f(-8401.371094, 4255.883789); glVertex2f(-8401.092773, 4254.431641); glVertex2f(-8400.848633, 4253.144043); glVertex2f(-8400.602539, 4251.924805); glVertex2f(-8400.101562, 4250.746582); glVertex2f(-8399.678711, 4249.445312); glVertex2f(-8399.245117, 4248.198730); glVertex2f(-8398.933594, 4246.747559); glVertex2f(-8398.843750, 4245.378418); glVertex2f(-8398.777344, 4244.009766); glVertex2f(-8398.867188, 4242.682129); glVertex2f(-8398.867188, 4242.298828); glVertex2f(-8399.055664, 4241.573242); glVertex2f(-8399.579102, 4240.054199); glVertex2f(-8400.101562, 4238.686035); glVertex2f(-8400.636719, 4237.166992); glVertex2f(-8400.970703, 4235.539551); glVertex2f(-8401.160156, 4234.130859); glVertex2f(-8401.193359, 4233.173828); glVertex2f(-8401.348633, 4231.587402); glVertex2f(-8401.315430, 4230.219727); glVertex2f(-8401.315430, 4229.153809); glVertex2f(-8401.471680, 4227.854980); glVertex2f(-8401.593750, 4226.529785); glVertex2f(-8401.749023, 4224.944336); glVertex2f(-8402.049805, 4223.195312); glVertex2f(-8402.150391, 4221.979004); glVertex2f(-8402.329102, 4220.873047); glVertex2f(-8402.607422, 4219.506836); glVertex2f(-8402.640625, 4218.332520); glVertex2f(-8402.795898, 4217.048828); glVertex2f(-8402.707031, 4215.874512); glVertex2f(-8402.707031, 4214.809570); glVertex2f(-8402.795898, 4213.676758); glVertex2f(-8402.795898, 4212.611816); glVertex2f(-8402.795898, 4211.587891); glVertex2f(-8402.985352, 4210.073242); glVertex2f(-8403.263672, 4208.708984); glVertex2f(-8403.575195, 4207.644531); glVertex2f(-8404.131836, 4206.239258); glVertex2f(-8404.833008, 4204.684570); glVertex2f(-8405.389648, 4203.320312); glVertex2f(-8405.667969, 4202.229492); glVertex2f(-8405.857422, 4200.934082); glVertex2f(-8406.046875, 4199.461426); glVertex2f(-8406.202148, 4198.438965); glVertex2f(-8406.380859, 4197.416504); glVertex2f(-8406.570312, 4196.694336); glVertex2f(-8407.125977, 4196.094238); glVertex2f(-8407.771484, 4195.862793); glVertex2f(-8407.750000, 4195.944336); glVertex2f(-8408.272461, 4195.781250); glVertex2f(-8409.541992, 4195.372070); glVertex2f(-8410.989258, 4195.140137); glVertex2f(-8412.536133, 4195.099609); glVertex2f(-8413.649414, 4194.990723); glVertex2f(-8414.852539, 4194.731445); glVertex2f(-8416.243164, 4194.309082); glVertex2f(-8417.211914, 4194.009766); glVertex2f(-8418.191406, 4193.586914); glVertex2f(-8419.371094, 4193.137207); glVertex2f(-8420.640625, 4192.755859); glVertex2f(-8421.909180, 4192.347168); glVertex2f(-8423.201172, 4191.883789); glVertex2f(-8424.469727, 4191.475098); glVertex2f(-8425.561523, 4190.671387); glVertex2f(-8426.729492, 4190.031250); glVertex2f(-8427.843750, 4189.350098); glVertex2f(-8428.833984, 4188.941406); glVertex2f(-8429.947266, 4188.750977); glVertex2f(-8431.026367, 4189.050781); glVertex2f(-8431.093750, 4189.622559); glVertex2f(-8430.502930, 4190.031250); glVertex2f(-8429.635742, 4190.412598); glVertex2f(-8428.466797, 4191.134277); glEnd(); #endif #if T4 glBegin(GLBEGIN_ARG); glVertex2f(-8437.739258, 4187.307129); glVertex2f(-8438.541016, 4186.748535); glVertex2f(-8439.653320, 4186.176758); glVertex2f(-8440.867188, 4185.604980); glVertex2f(-8442.103516, 4185.074219); glVertex2f(-8443.305664, 4184.515625); glVertex2f(-8444.485352, 4184.052734); glVertex2f(-8445.687500, 4183.603516); glVertex2f(-8446.889648, 4183.031738); glVertex2f(-8448.192383, 4182.501465); glVertex2f(-8449.394531, 4181.983398); glVertex2f(-8450.507812, 4181.412109); glVertex2f(-8451.866211, 4180.771973); glVertex2f(-8452.979492, 4180.119141); glVertex2f(-8454.069336, 4179.330078); glVertex2f(-8455.027344, 4178.608398); glVertex2f(-8456.107422, 4177.859863); glVertex2f(-8457.186523, 4177.057617); glVertex2f(-8458.266602, 4176.200195); glVertex2f(-8459.256836, 4175.397949); glVertex2f(-8460.348633, 4174.608398); glVertex2f(-8461.484375, 4173.969238); glVertex2f(-8461.951172, 4173.969238); glVertex2f(-8461.305664, 4174.676270); glVertex2f(-8460.625977, 4175.356934); glVertex2f(-8459.914062, 4176.689941); glVertex2f(-8459.758789, 4178.309082); glVertex2f(-8459.813477, 4179.628906); glVertex2f(-8458.890625, 4180.160156); glVertex2f(-8458.422852, 4179.669922); glVertex2f(-8457.744141, 4179.330078); glVertex2f(-8456.730469, 4179.261230); glVertex2f(-8455.895508, 4179.710938); glVertex2f(-8454.749023, 4180.458984); glVertex2f(-8453.691406, 4181.139648); glVertex2f(-8452.578125, 4181.643555); glVertex2f(-8451.498047, 4182.432617); glVertex2f(-8450.351562, 4183.072754); glVertex2f(-8449.182617, 4183.644531); glVertex2f(-8448.248047, 4184.175293); glVertex2f(-8447.201172, 4184.774414); glVertex2f(-8445.999023, 4185.414062); glVertex2f(-8444.852539, 4185.986328); glVertex2f(-8443.862305, 4186.408203); glVertex2f(-8442.592773, 4186.816895); glVertex2f(-8441.390625, 4187.388672); glVertex2f(-8440.088867, 4187.919922); glVertex2f(-8438.852539, 4188.451172); glVertex2f(-8437.671875, 4188.941406); glVertex2f(-8436.381836, 4189.472656); glVertex2f(-8435.201172, 4189.921875); glVertex2f(-8434.333008, 4190.262695); glVertex2f(-8434.867188, 4189.649902); glVertex2f(-8435.668945, 4188.900391); glVertex2f(-8436.693359, 4188.178711); glVertex2f(-8437.739258, 4187.307129); glEnd(); #endif #if T5 glBegin(GLBEGIN_ARG); glVertex2f(-8466.159180, 4170.568848); glVertex2f(-8466.871094, 4170.080078); glVertex2f(-8467.829102, 4169.236816); glVertex2f(-8468.909180, 4168.489258); glVertex2f(-8470.088867, 4167.728027); glVertex2f(-8471.135742, 4167.020996); glVertex2f(-8472.282227, 4166.368164); glVertex2f(-8473.361328, 4165.580078); glVertex2f(-8474.352539, 4164.709961); glVertex2f(-8475.621094, 4163.962402); glVertex2f(-8474.841797, 4165.009277); glVertex2f(-8474.040039, 4165.960938); glVertex2f(-8473.171875, 4166.898926); glVertex2f(-8472.248047, 4167.999512); glVertex2f(-8471.324219, 4168.978516); glVertex2f(-8470.456055, 4169.998047); glVertex2f(-8469.810547, 4170.977539); glVertex2f(-8469.153320, 4172.459473); glVertex2f(-8468.263672, 4173.588379); glVertex2f(-8467.361328, 4173.356934); glVertex2f(-8466.771484, 4172.976074); glVertex2f(-8465.691406, 4172.636230); glVertex2f(-8464.666992, 4172.187500); glVertex2f(-8464.823242, 4171.167480); glVertex2f(-8466.159180, 4170.568848); glEnd(); #endif #if T6 glBegin(GLBEGIN_ARG); glVertex2f(-8287.369141, 4781.249023); glVertex2f(-8287.369141, 4781.249023); glVertex2f(-8287.247070, 4781.407227); glVertex2f(-8287.090820, 4781.566406); glVertex2f(-8286.712891, 4782.099609); glVertex2f(-8286.133789, 4782.416016); glVertex2f(-8285.598633, 4782.373047); glVertex2f(-8285.320312, 4781.897949); glVertex2f(-8285.109375, 4781.335449); glVertex2f(-8285.019531, 4781.205566); glVertex2f(-8284.430664, 4781.133789); glVertex2f(-8283.929688, 4780.687500); glVertex2f(-8283.750977, 4779.938477); glVertex2f(-8283.439453, 4779.131348); glVertex2f(-8282.203125, 4778.728027); glVertex2f(-8280.934570, 4779.174316); glVertex2f(-8280.099609, 4780.053223); glVertex2f(-8279.577148, 4781.450684); glVertex2f(-8279.354492, 4783.006836); glVertex2f(-8278.619141, 4784.261230); glVertex2f(-8277.806641, 4785.529785); glVertex2f(-8277.928711, 4786.610840); glVertex2f(-8278.151367, 4787.778320); glVertex2f(-8277.806641, 4788.903320); glVertex2f(-8277.161133, 4789.739258); glVertex2f(-8275.491211, 4789.782715); glVertex2f(-8273.821289, 4789.133789); glVertex2f(-8272.708008, 4788.744629); glVertex2f(-8271.662109, 4788.341309); glVertex2f(-8271.104492, 4787.778320); glVertex2f(-8271.194336, 4787.101074); glVertex2f(-8271.594727, 4786.812500); glVertex2f(-8272.307617, 4786.898926); glVertex2f(-8272.831055, 4786.740723); glVertex2f(-8273.454102, 4786.091797); glVertex2f(-8273.632812, 4785.010742); glVertex2f(-8273.509766, 4783.973145); glVertex2f(-8273.732422, 4783.208984); glVertex2f(-8274.311523, 4782.257812); glVertex2f(-8275.212891, 4781.292480); glVertex2f(-8276.136719, 4780.413574); glVertex2f(-8276.760742, 4779.765137); glVertex2f(-8277.528320, 4779.174316); glVertex2f(-8278.363281, 4778.367676); glVertex2f(-8279.476562, 4777.446289); glVertex2f(-8279.509766, 4777.373535); glVertex2f(-8279.420898, 4777.331055); glVertex2f(-8279.509766, 4777.287598); glVertex2f(-8280.433594, 4776.927734); glVertex2f(-8281.124023, 4776.696777); glVertex2f(-8281.858398, 4776.696777); glVertex2f(-8282.637695, 4776.495117); glVertex2f(-8283.250000, 4776.452148); glVertex2f(-8283.284180, 4776.365723); glVertex2f(-8283.439453, 4776.524414); glVertex2f(-8283.750977, 4776.610352); glVertex2f(-8284.051758, 4776.884277); glVertex2f(-8284.207031, 4776.812012); glVertex2f(-8284.274414, 4777.244629); glVertex2f(-8284.463867, 4777.604492); glVertex2f(-8284.396484, 4777.575195); glVertex2f(-8284.396484, 4777.575195); glVertex2f(-8284.430664, 4777.806152); glVertex2f(-8284.485352, 4777.935547); glVertex2f(-8284.954102, 4778.454590); glVertex2f(-8285.420898, 4778.684570); glVertex2f(-8285.944336, 4779.016113); glVertex2f(-8286.222656, 4779.217773); glVertex2f(-8286.778320, 4779.649902); glVertex2f(-8286.990234, 4780.010254); glVertex2f(-8287.112305, 4780.254883); glVertex2f(-8287.146484, 4780.571777); glEnd(); #endif #if T7 glBegin(GLBEGIN_ARG); glVertex2f(-8427.787109, 4495.906250); glVertex2f(-8427.687500, 4495.906250); glVertex2f(-8427.753906, 4496.018066); glVertex2f(-8427.787109, 4495.906250); glVertex2f(-8427.564453, 4496.326660); glVertex2f(-8427.475586, 4496.719238); glVertex2f(-8426.952148, 4497.966797); glVertex2f(-8426.518555, 4498.821777); glVertex2f(-8426.050781, 4499.873047); glVertex2f(-8425.561523, 4500.966797); glVertex2f(-8425.125977, 4501.821777); glVertex2f(-8424.659180, 4502.803223); glVertex2f(-8424.102539, 4503.336426); glVertex2f(-8423.791016, 4503.462402); glVertex2f(-8423.333984, 4503.336426); glVertex2f(-8423.301758, 4502.256348); glVertex2f(-8423.735352, 4501.078613); glVertex2f(-8424.135742, 4499.873047); glVertex2f(-8424.502930, 4499.213867); glVertex2f(-8425.003906, 4498.050293); glVertex2f(-8425.650391, 4496.760742); glVertex2f(-8426.329102, 4495.751953); glVertex2f(-8426.796875, 4495.093262); glVertex2f(-8427.375000, 4494.420898); glVertex2f(-8427.843750, 4493.846680); glVertex2f(-8428.155273, 4493.762695); glVertex2f(-8428.188477, 4494.743164); glVertex2f(-8428.065430, 4495.275879); glVertex2f(-8427.843750, 4496.018066); glVertex2f(-8427.719727, 4496.494629); glVertex2f(-8427.719727, 4496.494629); glEnd(); #endif #if T8 glBegin(GLBEGIN_ARG); glVertex2f(-8441.112305, 4471.522461); glVertex2f(-8440.611328, 4471.675781); glVertex2f(-8439.598633, 4471.997559); glVertex2f(-8439.041016, 4472.654785); glVertex2f(-8438.574219, 4473.703613); glVertex2f(-8438.330078, 4475.018066); glVertex2f(-8438.330078, 4476.108887); glVertex2f(-8438.229492, 4477.549805); glVertex2f(-8437.772461, 4478.907227); glVertex2f(-8437.338867, 4479.760254); glVertex2f(-8436.904297, 4480.348145); glVertex2f(-8436.381836, 4480.810059); glVertex2f(-8436.135742, 4480.348145); glVertex2f(-8436.102539, 4479.256348); glVertex2f(-8436.436523, 4477.857910); glVertex2f(-8436.503906, 4476.612793); glVertex2f(-8436.414062, 4475.409668); glVertex2f(-8436.414062, 4474.249023); glVertex2f(-8436.660156, 4472.920410); glVertex2f(-8437.093750, 4471.647949); glVertex2f(-8437.806641, 4470.865234); glVertex2f(-8438.384766, 4470.599609); glVertex2f(-8438.975586, 4470.250000); glVertex2f(-8440.054688, 4470.250000); glVertex2f(-8440.867188, 4470.250000); glVertex2f(-8441.724609, 4470.403809); glVertex2f(-8442.192383, 4470.906738); glVertex2f(-8442.036133, 4471.452637); glVertex2f(-8441.390625, 4471.675781); glVertex2f(-8441.167969, 4471.717773); glEnd(); #endif #if T9 glBegin(GLBEGIN_ARG); glVertex2f(-8450.017578, 4456.391113); glVertex2f(-8450.017578, 4456.391113); glVertex2f(-8450.017578, 4456.391113); glVertex2f(-8449.494141, 4457.158691); glVertex2f(-8449.027344, 4458.206543); glVertex2f(-8448.559570, 4458.792969); glVertex2f(-8448.158203, 4459.184082); glVertex2f(-8447.602539, 4459.490723); glVertex2f(-8446.734375, 4459.686523); glVertex2f(-8446.087891, 4459.923828); glVertex2f(-8445.932617, 4459.686523); glVertex2f(-8446.456055, 4458.904297); glVertex2f(-8447.112305, 4457.898926); glVertex2f(-8447.791992, 4456.893555); glVertex2f(-8448.503906, 4456.000488); glVertex2f(-8449.272461, 4455.344238); glVertex2f(-8449.828125, 4454.799316); glVertex2f(-8450.173828, 4454.562500); glVertex2f(-8450.452148, 4455.037109); glVertex2f(-8450.295898, 4455.692871); glVertex2f(-8450.017578, 4456.391113); glEnd(); #endif #if T10 glBegin(GLBEGIN_ARG); glVertex2f(-8478.716797, 4619.254883); glVertex2f(-8479.016602, 4618.744629); glVertex2f(-8478.616211, 4618.347656); glVertex2f(-8477.781250, 4617.751953); glVertex2f(-8477.101562, 4616.887207); glVertex2f(-8476.078125, 4615.823242); glVertex2f(-8474.909180, 4615.242676); glVertex2f(-8474.128906, 4614.250488); glVertex2f(-8474.318359, 4613.187500); glVertex2f(-8476.022461, 4613.300293); glVertex2f(-8477.446289, 4614.094238); glVertex2f(-8478.804688, 4614.916504); glVertex2f(-8479.484375, 4615.781250); glVertex2f(-8479.951172, 4617.127930); glVertex2f(-8480.408203, 4618.106445); glVertex2f(-8480.875000, 4619.411133); glVertex2f(-8481.276367, 4620.715332); glVertex2f(-8480.630859, 4621.538574); glVertex2f(-8479.484375, 4620.942871); glVertex2f(-8479.139648, 4619.878906); glVertex2f(-8479.172852, 4619.411133); glEnd(); #endif #if T11 glBegin(GLBEGIN_ARG); glVertex2f(-8462.697266, 4607.448730); glVertex2f(-8462.418945, 4606.499512); glVertex2f(-8461.883789, 4605.550781); glVertex2f(-8461.305664, 4604.333008); glVertex2f(-8462.018555, 4603.511719); glVertex2f(-8462.853516, 4602.251465); glVertex2f(-8464.144531, 4601.968262); glVertex2f(-8465.079102, 4603.001465); glVertex2f(-8466.471680, 4603.426758); glVertex2f(-8467.794922, 4603.001465); glVertex2f(-8469.120117, 4603.313477); glVertex2f(-8469.376953, 4604.573730); glVertex2f(-8469.253906, 4605.947266); glVertex2f(-8468.263672, 4607.094238); glVertex2f(-8466.994141, 4607.633301); glVertex2f(-8465.914062, 4608.270020); glVertex2f(-8465.224609, 4609.021484); glVertex2f(-8464.054688, 4609.219727); glVertex2f(-8463.342773, 4608.823242); glVertex2f(-8462.853516, 4607.987305); glVertex2f(-8462.697266, 4607.448730); glEnd(); #endif #if T12 glBegin(GLBEGIN_ARG); glVertex2f(-8459.813477, 4592.232422); glVertex2f(-8459.635742, 4591.398438); glVertex2f(-8459.813477, 4590.337891); glVertex2f(-8461.183594, 4590.493164); glVertex2f(-8462.229492, 4591.440430); glVertex2f(-8463.030273, 4592.657227); glVertex2f(-8463.777344, 4593.717773); glVertex2f(-8464.456055, 4594.892090); glVertex2f(-8464.889648, 4596.080566); glVertex2f(-8464.422852, 4596.985840); glVertex2f(-8462.875000, 4597.056641); glVertex2f(-8461.761719, 4597.495605); glVertex2f(-8461.048828, 4597.608887); glVertex2f(-8460.994141, 4596.193359); glVertex2f(-8460.905273, 4594.977051); glVertex2f(-8460.493164, 4594.269531); glVertex2f(-8460.248047, 4593.647461); glVertex2f(-8460.002930, 4592.657227); glEnd(); #endif #if T13 glBegin(GLBEGIN_ARG); glVertex2f(-8460.994141, 4583.975586); glVertex2f(-8460.214844, 4583.395996); glVertex2f(-8459.513672, 4582.717773); glVertex2f(-8458.923828, 4581.785645); glVertex2f(-8458.800781, 4580.753906); glVertex2f(-8458.734375, 4579.425781); glVertex2f(-8459.079102, 4578.125977); glVertex2f(-8459.936523, 4576.869141); glVertex2f(-8460.526367, 4576.007812); glVertex2f(-8461.083008, 4575.075684); glVertex2f(-8461.517578, 4574.991211); glVertex2f(-8462.384766, 4575.894531); glVertex2f(-8463.932617, 4576.601074); glVertex2f(-8465.324219, 4577.039062); glVertex2f(-8465.936523, 4578.098145); glVertex2f(-8465.780273, 4579.425781); glVertex2f(-8464.490234, 4579.425781); glVertex2f(-8463.532227, 4578.762207); glVertex2f(-8462.262695, 4577.928223); glVertex2f(-8461.394531, 4577.744629); glVertex2f(-8460.905273, 4578.804688); glVertex2f(-8461.027344, 4580.019043); glVertex2f(-8462.073242, 4580.994141); glVertex2f(-8463.276367, 4581.389648); glVertex2f(-8464.456055, 4581.785645); glVertex2f(-8465.324219, 4582.717773); glVertex2f(-8465.413086, 4583.905273); glVertex2f(-8465.447266, 4584.611816); glVertex2f(-8464.923828, 4585.474121); glVertex2f(-8463.810547, 4585.784668); glVertex2f(-8462.664062, 4585.190918); glVertex2f(-8461.951172, 4584.837891); glVertex2f(-8461.183594, 4584.328613); glEnd(); #endif #if USE_DISPLAYLIST glEndList(); #endif } static void resize( unsigned int width, unsigned int height ) { printf("Resize event\n"); glViewport( 0, 0, width, height ); glMatrixMode( GL_PROJECTION ); glLoadIdentity(); glOrtho( LEFT, RIGHT, BOTTOM, TOP, -10000.000000, 10000.000000 ); } static Window make_rgb_db_window( Display *dpy, unsigned int width, unsigned int height ) { int attrib[] = { GLX_RGBA, GLX_RED_SIZE, 1, GLX_GREEN_SIZE, 1, GLX_BLUE_SIZE, 1, GLX_DOUBLEBUFFER, None }; int scrnum; XSetWindowAttributes attr; unsigned long mask; Window root; Window win; GLXContext ctx; XVisualInfo *visinfo; scrnum = DefaultScreen( dpy ); root = RootWindow( dpy, scrnum ); visinfo = glXChooseVisual( dpy, scrnum, attrib ); if (!visinfo) { printf("Error: couldn't get an RGB, Double-buffered visual\n"); exit(1); } /* window attributes */ attr.background_pixel = 0; attr.border_pixel = 0; attr.colormap = XCreateColormap( dpy, root, visinfo->visual, AllocNone); attr.event_mask = StructureNotifyMask | ExposureMask; mask = CWBackPixel | CWBorderPixel | CWColormap | CWEventMask; win = XCreateWindow( dpy, root, 0, 0, width, height, 0, visinfo->depth, InputOutput, visinfo->visual, mask, &attr ); ctx = glXCreateContext( dpy, visinfo, NULL, 0 ); glXMakeCurrent( dpy, win, ctx ); return win; } static void event_loop( Display *dpy ) { XEvent event; while (1) { XNextEvent( dpy, &event ); switch (event.type) { case Expose: redraw( dpy, event.xany.window ); break; case ConfigureNotify: resize( event.xconfigure.width, event.xconfigure.height ); break; } } } int main( int argc, char *argv[] ) { Display *dpy; Window win; dpy = XOpenDisplay(NULL); win = make_rgb_db_window( dpy, 300, 300 ); glShadeModel( GL_NONE ); glEnable(GL_TEXTURE_2D); glEnable(GL_CULL_FACE); glCullFace(GL_BACK); glClearColor( 1.0, 1.0, 1.0, 1.0 ); XMapWindow( dpy, win ); linelist = glGenLists(1); create_linelist(); event_loop( dpy ); return 0; }
CC = gcc IPATH = -I/usr/local/include -L/usr/X11R6/lib LIBS = -lm -lGL CFLAGS = -O2 -m486 -Wall DEFINES = $(DEFS) -D__Linux__ AS = nasm AFLAGS = -f elf PROGRAM = linebug SOURCE = linebug.c OBJECTS = $(SOURCE:.c=.o) all: clear $(PROGRAM) $(PROGRAM): $(OBJECTS) $(CC) $(CFLAGS) $^ -o $@ $(IPATH) $(LIBS) ############################################################################### %.o : %.c $(CC) -c $(CFLAGS) $(IPATH) $(DEFINES) $< -o $@ %.o : %.s $(AS) $(AFLAGS) $< -o $@ ############################################################################### clean: rm -f "#"*"#" *~ $(OBJECTS) core clear: clear