S60 3rd Edition SDK for Symbian OS
Example Applications Guide

duck.h

00001 /*
00002 * ==============================================================================
00003 *  Name        : duck.h
00004 *  Part of     : OpenGLEx / SimpleLight
00005 *  Interface   : 
00006 *  Description : 
00007 *  Version     : 
00008 *
00009 *  Copyright (c) 2004-2006 Nokia Corporation.
00010 *  This material, including documentation and any related 
00011 *  computer programs, is protected by copyright controlled by 
00012 *  Nokia Corporation.
00013 * ==============================================================================
00014 */
00015 
00016 // MACROS
00017 #define objVertices     96
00018 #define objFaces        186
00019 #define scalar(a) ((short)(a*300))
00020 
00021 // CONSTANTS
00022 /** Vertices for the duck object. */
00023 static const GLshort objVertexdataDuck[]=
00024     {
00025     scalar(-76.586),scalar(3.49221),scalar(15.5749),
00026     scalar(-74.8592),scalar(3.3196),scalar(18.1653),
00027     scalar(-74.5137),scalar(0.729208),scalar(17.4746),
00028     scalar(-74.3411),scalar(6.25547),scalar(17.6472),
00029     scalar(-74.1682),scalar(0.901814),scalar(15.2294),
00030     scalar(-71.5778),scalar(-0.30695),scalar(19.5469),
00031     scalar(-71.4052),scalar(6.94642),scalar(19.7195),
00032     scalar(-70.7143),scalar(-0.65216),scalar(15.0565),
00033     scalar(-70.5417),scalar(7.4645),scalar(15.2294),
00034     scalar(-66.5696),scalar(-1.34311),scalar(21.1011),
00035     scalar(-66.5696),scalar(3.147),scalar(23.1732),
00036     scalar(-66.3968),scalar(7.6371),scalar(21.2738),
00037     scalar(-63.4609),scalar(3.147),scalar(14.5385),
00038     scalar(-60.8705),scalar(-0.134081),scalar(26.9726),
00039     scalar(-60.8705),scalar(3.66508),scalar(-4.45838),
00040     scalar(-60.6976),scalar(5.91),scalar(27.1455),
00041     scalar(-59.6615),scalar(-1.68832),scalar(26.1091),
00042     scalar(-58.7979),scalar(0.0385243),scalar(30.4268),
00043     scalar(-58.6253),scalar(5.39192),scalar(30.5994),
00044     scalar(-58.4527),scalar(-4.79705),scalar(0.204591),
00045     scalar(-58.2799),scalar(-4.62445),scalar(-9.46683),
00046     scalar(-58.1073),scalar(11.782),scalar(0.549802),
00047     scalar(-57.9346),scalar(11.9546),scalar(-9.12136),
00048     scalar(-57.7618),scalar(2.45605),scalar(41.3067),
00049     scalar(-57.2437),scalar(-4.27898),scalar(21.9644),
00050     scalar(-56.8982),scalar(10.0549),scalar(22.3099),
00051     scalar(-54.1352),scalar(2.97413),scalar(15.0565),
00052     scalar(-54.1352),scalar(10.4004),scalar(33.8808),
00053     scalar(-53.9624),scalar(-4.79705),scalar(7.28509),
00054     scalar(-53.9624),scalar(-0.997633),scalar(45.4516),
00055     scalar(-53.4443),scalar(-3.06995),scalar(17.6472),
00056     scalar(-53.0991),scalar(8.84613),scalar(17.9927),
00057     scalar(-52.2355),scalar(12.3001),scalar(36.6438),
00058     scalar(-50.5084),scalar(12.4727),scalar(33.5353),
00059     scalar(-50.3358),scalar(2.97413),scalar(11.7755),
00060     scalar(-49.4723),scalar(-4.45158),scalar(-21.2103),
00061     scalar(-48.7816),scalar(-1.17024),scalar(49.5963),
00062     scalar(-48.6087),scalar(5.21931),scalar(49.7691),
00063     scalar(-47.0545),scalar(9.01873),scalar(48.2149),
00064     scalar(-46.1909),scalar(8.50066),scalar(12.8116),
00065     scalar(-42.046),scalar(20.2441),scalar(-20.0015),
00066     scalar(-38.9375),scalar(-7.21484),scalar(45.9697),
00067     scalar(-38.5921),scalar(7.98258),scalar(50.1146),
00068     scalar(-38.5921),scalar(14.8905),scalar(36.6438),
00069     scalar(-37.9014),scalar(-7.56032),scalar(12.2935),
00070     scalar(-37.9014),scalar(1.5925),scalar(51.6689),
00071     scalar(-37.3833),scalar(12.8182),scalar(12.8116),
00072     scalar(-37.3833),scalar(13.3362),scalar(39.7525),
00073     scalar(-35.4836),scalar(32.3331),scalar(-10.1575),
00074     scalar(-34.62),scalar(-12.0504),scalar(28.8723),
00075     scalar(-31.8568),scalar(-29.8385),scalar(-1.86799),
00076     scalar(-31.5116),scalar(-26.73),scalar(-15.8566),
00077     scalar(-30.4751),scalar(15.5814),scalar(28.0088),
00078     scalar(-30.1299),scalar(35.4418),scalar(-0.313751),
00079     scalar(-28.7483),scalar(-0.997633),scalar(45.4516),
00080     scalar(-27.0212),scalar(-7.04224),scalar(14.3659),
00081     scalar(-26.8486),scalar(-24.8303),scalar(7.97604),
00082     scalar(-25.8124),scalar(-4.45158),scalar(40.4432),
00083     scalar(-23.0492),scalar(-6.86937),scalar(27.8362),
00084     scalar(-22.013),scalar(-3.9335),scalar(17.3017),
00085     scalar(-21.6675),scalar(8.15518),scalar(17.6472),
00086     scalar(-20.804),scalar(-0.825028),scalar(20.4105),
00087     scalar(-20.6314),scalar(4.87384),scalar(20.5831),
00088     scalar(-20.4588),scalar(1.93797),scalar(21.4466),
00089     scalar(-20.2859),scalar(7.29163),scalar(30.254),
00090     scalar(-19.9404),scalar(-1.51571),scalar(31.463),
00091     scalar(-19.7678),scalar(-0.997633),scalar(18.6834),
00092     scalar(-19.7678),scalar(1.93797),scalar(19.2014),
00093     scalar(-19.5952),scalar(1.5925),scalar(34.9169),
00094     scalar(-19.5952),scalar(5.04671),scalar(18.856),
00095     scalar(-18.9043),scalar(35.9599),scalar(-13.9569),
00096     scalar(-18.7317),scalar(1.76537),scalar(28.6997),
00097     scalar(-4.22494),scalar(-15.5044),scalar(21.1011),
00098     scalar(-3.36138),scalar(18.5173),scalar(21.9644),
00099     scalar(-2.84331),scalar(-35.8831),scalar(2.96759),
00100     scalar(25.8247),scalar(-20.5128),scalar(13.3297),
00101     scalar(26.3428),scalar(-32.4292),scalar(-10.8485),
00102     scalar(26.8609),scalar(22.4893),scalar(14.3659),
00103     scalar(28.0699),scalar(35.4418),scalar(-9.12136),
00104     scalar(39.1227),scalar(19.5534),scalar(-21.2103),
00105     scalar(51.2116),scalar(-19.9947),scalar(-5.14933),
00106     scalar(52.2478),scalar(21.4532),scalar(-4.11317),
00107     scalar(54.8382),scalar(-17.577),scalar(-9.46683),
00108     scalar(57.9469),scalar(-8.0784),scalar(-15.166),
00109     scalar(64.8548),scalar(0.383735),scalar(-2.73154),
00110     scalar(70.0359),scalar(-12.5685),scalar(-7.56712),
00111     scalar(71.072),scalar(0.383735),scalar(-11.8846),
00112     scalar(79.5344),scalar(8.84613),scalar(-7.04904),
00113     scalar(79.707),scalar(-5.31513),scalar(-10.1575),
00114     scalar(80.0525),scalar(5.73739),scalar(-9.81204),
00115     scalar(84.8881),scalar(-0.65216),scalar(-8.94875),
00116     scalar(84.8881),scalar(0.383735),scalar(-8.94875),
00117     scalar(85.0607),scalar(-3.9335),scalar(-6.70357),
00118     scalar(85.2335),scalar(3.83768),scalar(-6.53096),
00119     scalar(85.4061),scalar(0.0385243),scalar(-5.32194),
00120     scalar(-5.98613),scalar(9.906),scalar(18.2876)
00121     };
00122 
00123 /** Surface normal vectors for the duck object. */
00124 static const GLbyte objNormaldataDuck[]=
00125     {
00126     -124,5,-21,
00127     -87,-2,91,
00128     -87,-78,48,
00129     -86,71,59,
00130     -44,-49,-108,
00131     -57,-91,66,
00132     -51,91,71,
00133     -25,-106,-64,
00134     -22,97,-78,
00135     -53,-97,61,
00136     -68,-1,106,
00137     -46,98,65,
00138     0,1,-126,
00139     -90,-38,80,
00140     -126,4,-3,
00141     -87,52,75,
00142     -76,-88,48,
00143     -113,-40,40,
00144     -114,25,49,
00145     -101,-65,40,
00146     -103,-63,-36,
00147     -95,62,56,
00148     -104,54,-48,
00149     -111,35,50,
00150     -44,-119,-4,
00151     -38,120,-3,
00152     -21,3,-125,
00153     -89,87,20,
00154     -94,-29,79,
00155     -85,-77,53,
00156     -38,-80,-89,
00157     -39,87,-83,
00158     -64,107,21,
00159     -32,121,15,
00160     -46,-53,105,
00161     -69,-10,-105,
00162     -42,-50,108,
00163     -54,27,111,
00164     -34,102,66,
00165     -55,81,-80,
00166     -44,56,-104,
00167     8,-102,75,
00168     46,74,91,
00169     -12,124,21,
00170     -37,-51,109,
00171     18,-17,124,
00172     -19,114,-50,
00173     8,114,54,
00174     -67,103,-30,
00175     4,-126,6,
00176     -64,-107,19,
00177     -34,-91,-80,
00178     38,120,13,
00179     -37,111,48,
00180     78,-21,97,
00181     -30,-41,115,
00182     -45,-68,96,
00183     77,-83,56,
00184     80,-98,5,
00185     -43,-34,114,
00186     92,87,0,
00187     118,-36,28,
00188     120,27,30,
00189     126,-6,0,
00190     112,57,15,
00191     116,-50,6,
00192     -40,-24,117,
00193     114,-20,51,
00194     112,4,58,
00195     0,14,126,
00196     -13,104,-70,
00197     126,-6,-5,
00198     -11,-29,123,
00199     -14,50,115,
00200     -6,-118,45,
00201     43,-67,98,
00202     39,-110,-49,
00203     43,47,109,
00204     39,89,-81,
00205     26,34,-119,
00206     52,-115,12,
00207     65,108,7,
00208     50,-103,-53,
00209     30,-42,-115,
00210     37,0,121,
00211     61,-111,3,
00212     29,0,-123,
00213     64,100,44,
00214     47,-47,-107,
00215     55,42,-106,
00216     52,24,-112,
00217     51,-22,-113,
00218     70,-98,39,
00219     125,0,-17,
00220     14,-42,118,
00221     -7,-30,122
00222     };
00223 
00224 /** Indices to the duck object vertices. */
00225 static const GLubyte objFacedataDuck[]=
00226     {
00227     14,20,19,
00228     19,20,50,
00229     35,20,14,
00230     35,51,20,
00231     51,50,20,
00232     50,56,19,
00233     19,56,28,
00234     28,56,34,
00235     34,56,44,
00236     19,28,14,
00237     74,50,51,
00238     74,56,50,
00239     72,66,59,
00240     56,72,59,
00241     56,74,72,
00242     76,75,74,
00243     74,75,72,
00244     85,75,80,
00245     75,76,80,
00246     80,76,82,
00247     76,82,80,
00248     80,82,85,
00249     85,82,83,
00250     85,84,75,
00251     88,83,86,
00252     88,85,83,
00253     85,88,92,
00254     92,88,91,
00255     91,88,86,
00256     92,84,85,
00257     84,92,94,
00258     92,91,94,
00259     59,55,56,
00260     56,55,44,
00261     74,51,76,
00262     82,76,83,
00263     67,61,66,
00264     66,61,59,
00265     59,61,65,
00266     65,61,63,
00267     63,61,67,
00268     59,58,55,
00269     55,58,49,
00270     66,72,67,
00271     59,65,58,
00272     58,65,57,
00273     57,65,68,
00274     68,65,71,
00275     63,71,65,
00276     57,49,58,
00277     55,49,44,
00278     24,44,49,
00279     34,44,30,
00280     24,30,44,
00281     29,24,49,
00282     41,45,36,
00283     54,45,41,
00284     54,41,57,
00285     49,57,41,
00286     68,54,57,
00287     29,49,41,
00288     36,29,41,
00289     24,29,16,
00290     16,29,17,
00291     17,29,23,
00292     24,7,30,
00293     17,13,16,
00294     30,7,26,
00295     26,7,12,
00296     7,4,12,
00297     34,30,26,
00298     10,9,13,
00299     13,9,16,
00300     16,9,24,
00301     24,9,7,
00302     7,9,5,
00303     5,9,10,
00304     10,2,5,
00305     5,2,7,
00306     7,2,4,
00307     4,2,0,
00308     0,2,1,
00309     1,2,10,
00310     1,10,3,
00311     0,1,3,
00312     6,8,3,
00313     10,6,3,
00314     6,10,11,
00315     8,6,11,
00316     10,15,11,
00317     34,26,31,
00318     4,0,8,
00319     12,4,8,
00320     0,3,8,
00321     26,12,8,
00322     31,26,8,
00323     13,18,15,
00324     10,13,15,
00325     13,17,18,
00326     15,25,11,
00327     25,8,11,
00328     25,31,8,
00329     15,18,27,
00330     25,15,27,
00331     37,23,29,
00332     37,29,36,
00333     37,42,38,
00334     18,17,23,
00335     27,18,23,
00336     23,37,38,
00337     23,38,32,
00338     27,23,32,
00339     33,27,32,
00340     38,33,32,
00341     33,38,47,
00342     37,36,45,
00343     42,37,45,
00344     38,42,47,
00345     42,52,47,
00346     45,54,42,
00347     25,33,43,
00348     25,27,33,
00349     25,52,46,
00350     31,25,46,
00351     39,31,46,
00352     33,47,43,
00353     47,52,43,
00354     68,64,42,
00355     54,68,42,
00356     64,52,42,
00357     25,43,52,
00358     64,68,71,
00359     63,64,71,
00360     69,67,72,
00361     60,52,64,
00362     63,67,62,
00363     64,63,62,
00364     60,64,62,
00365     69,60,62,
00366     67,69,62,
00367     79,70,78,
00368     46,52,60,
00369     73,46,60,
00370     93,94,91,
00371     93,87,94,
00372     87,81,84,
00373     94,87,84,
00374     90,86,89,
00375     93,90,89,
00376     87,93,89,
00377     79,87,89,
00378     86,79,89,
00379     87,79,81,
00380     83,79,86,
00381     81,79,78,
00382     78,81,81,
00383     77,75,84,
00384     84,81,77,
00385     81,78,77,
00386     78,73,77,
00387     73,78,53,
00388     73,60,69,
00389     73,69,72,
00390     72,75,77,
00391     73,72,77,
00392     46,73,53,
00393     78,70,53,
00394     48,53,70,
00395     34,31,39,
00396     21,28,34,
00397     21,34,39,
00398     21,14,28,
00399     46,21,39,
00400     53,48,21,
00401     46,53,21,
00402     70,40,48,
00403     35,14,22,
00404     40,35,22,
00405     48,40,22,
00406     21,48,22,
00407     14,21,22,
00408     79,76,51,
00409     79,83,76,
00410     79,40,70,
00411     79,35,40,
00412     79,51,35
00413     };
00414 

© Nokia 2006

Back to top