const static float normalTable[256][3] = { { 0.565061f, -0.270644f, -0.779396f }, { -0.309804f, -0.731114f, 0.607860f }, { -0.867412f, 0.472957f, 0.154619f }, { -0.757488f, 0.498188f, -0.421925f }, { 0.306834f, -0.915340f, 0.260778f }, { 0.098754f, 0.639153f, -0.762713f }, { 0.713706f, -0.558862f, -0.422252f }, { -0.890431f, -0.407603f, -0.202466f }, { 0.848050f, -0.487612f, -0.207475f }, { -0.232226f, 0.776855f, 0.585293f }, { -0.940195f, 0.304490f, -0.152706f }, { 0.602019f, -0.491878f, -0.628991f }, { -0.096835f, -0.494354f, -0.863850f }, { 0.026630f, -0.323659f, -0.945799f }, { 0.019208f, 0.909386f, 0.415510f }, { 0.854440f, 0.491730f, 0.167731f }, { -0.418835f, 0.866521f, -0.271512f }, { 0.465024f, 0.409667f, 0.784809f }, { -0.674391f, -0.691087f, -0.259992f }, { 0.303858f, -0.869270f, -0.389922f }, { 0.991333f, 0.090061f, -0.095640f }, { -0.275924f, -0.369550f, 0.887298f }, { 0.426545f, -0.465962f, 0.775202f }, { -0.482741f, -0.873278f, -0.065920f }, { 0.063616f, 0.932012f, -0.356800f }, { 0.624786f, -0.061315f, 0.778385f }, { -0.530300f, 0.416850f, 0.738253f }, { 0.312144f, -0.757028f, -0.573999f }, { 0.399288f, -0.587091f, -0.704197f }, { -0.132698f, 0.482877f, 0.865576f }, { 0.950966f, 0.306530f, 0.041268f }, { -0.015923f, -0.144300f, 0.989406f }, { -0.407522f, -0.854193f, 0.322925f }, { -0.932398f, 0.220464f, 0.286408f }, { 0.477509f, 0.876580f, 0.059936f }, { 0.337133f, 0.932606f, -0.128796f }, { -0.638117f, 0.199338f, 0.743687f }, { -0.677454f, 0.445349f, 0.585423f }, { -0.446715f, 0.889059f, -0.100099f }, { -0.410024f, 0.909168f, 0.072759f }, { 0.708462f, 0.702103f, -0.071641f }, { -0.048801f, -0.903683f, -0.425411f }, { -0.513681f, -0.646901f, 0.563606f }, { -0.080022f, 0.000676f, -0.996793f }, { 0.066966f, -0.991150f, -0.114615f }, { -0.245220f, 0.639318f, -0.728793f }, { 0.250978f, 0.855979f, 0.452006f }, { -0.123547f, 0.982443f, -0.139791f }, { -0.794825f, 0.030254f, -0.606084f }, { -0.772905f, 0.547941f, 0.319967f }, { 0.916347f, 0.369614f, -0.153928f }, { -0.388203f, 0.105395f, 0.915527f }, { -0.700468f, -0.709334f, 0.078677f }, { -0.816193f, 0.390455f, 0.425880f }, { -0.043007f, 0.769222f, -0.637533f }, { 0.911444f, 0.113150f, 0.395560f }, { 0.845801f, 0.156091f, -0.510153f }, { 0.829801f, -0.029340f, 0.557287f }, { 0.259529f, 0.416263f, 0.871418f }, { 0.231128f, -0.845982f, 0.480515f }, { -0.626203f, -0.646168f, 0.436277f }, { -0.197047f, -0.065791f, 0.978184f }, { -0.255692f, -0.637488f, -0.726794f }, { 0.530662f, -0.844385f, -0.073567f }, { -0.779887f, 0.617067f, -0.104899f }, { 0.739908f, 0.113984f, 0.662982f }, { -0.218801f, 0.930194f, -0.294729f }, { -0.374231f, 0.818666f, 0.435589f }, { -0.720250f, -0.028285f, 0.693137f }, { 0.075389f, 0.415049f, 0.906670f }, { -0.539724f, -0.106620f, 0.835063f }, { -0.452612f, -0.754669f, -0.474991f }, { 0.682822f, 0.581234f, -0.442629f }, { 0.002435f, -0.618462f, -0.785811f }, { -0.397631f, 0.110766f, -0.910835f }, { 0.133935f, -0.985438f, 0.104754f }, { 0.759098f, -0.608004f, 0.232595f }, { -0.825239f, -0.256087f, 0.503388f }, { 0.101693f, -0.565568f, 0.818408f }, { 0.386377f, 0.793546f, -0.470104f }, { -0.520516f, -0.840690f, 0.149346f }, { -0.784549f, -0.479672f, 0.392935f }, { -0.325322f, -0.927581f, -0.183735f }, { -0.069294f, -0.428541f, 0.900861f }, { 0.993354f, -0.115023f, -0.004288f }, { -0.123896f, -0.700568f, 0.702747f }, { -0.438031f, -0.120880f, -0.890795f }, { 0.063314f, 0.813233f, 0.578484f }, { 0.322045f, 0.889086f, -0.325289f }, { -0.133521f, 0.875063f, -0.465228f }, { 0.637155f, 0.564814f, 0.524422f }, { 0.260092f, -0.669353f, 0.695930f }, { 0.953195f, 0.040485f, -0.299634f }, { -0.840665f, -0.076509f, 0.536124f }, { -0.971350f, 0.202093f, 0.125047f }, { -0.804307f, -0.396312f, -0.442749f }, { -0.936746f, 0.069572f, 0.343027f }, { 0.426545f, -0.465962f, 0.775202f }, { 0.794542f, -0.227450f, 0.563000f }, { -0.892172f, 0.091169f, -0.442399f }, { -0.312654f, 0.541264f, 0.780564f }, { 0.590603f, -0.735618f, -0.331743f }, { -0.098040f, -0.986713f, 0.129558f }, { 0.569646f, 0.283078f, -0.771603f }, { 0.431051f, -0.407385f, -0.805129f }, { -0.162087f, -0.938749f, -0.304104f }, { 0.241533f, -0.359509f, 0.901341f }, { -0.576191f, 0.614939f, 0.538380f }, { -0.025110f, 0.085740f, 0.996001f }, { -0.352693f, -0.198168f, 0.914515f }, { -0.604577f, 0.700711f, 0.378802f }, { 0.465024f, 0.409667f, 0.784809f }, { -0.254684f, -0.030474f, -0.966544f }, { -0.604789f, 0.791809f, 0.085259f }, { -0.705147f, -0.399298f, 0.585943f }, { 0.185691f, 0.017236f, -0.982457f }, { 0.044588f, 0.973094f, 0.226052f }, { -0.405463f, 0.642367f, 0.650357f }, { -0.563959f, 0.599136f, -0.568319f }, { 0.367162f, -0.072253f, -0.927347f }, { 0.960429f, -0.213570f, -0.178783f }, { -0.192629f, 0.906005f, 0.376893f }, { -0.199718f, -0.359865f, -0.911378f }, { 0.485072f, 0.121233f, -0.866030f }, { 0.467163f, -0.874294f, 0.131792f }, { -0.638953f, -0.716603f, 0.279677f }, { -0.622710f, 0.047813f, -0.780990f }, { 0.828724f, -0.054433f, -0.557004f }, { 0.130241f, 0.991080f, 0.028245f }, { 0.310995f, -0.950076f, -0.025242f }, { 0.818118f, 0.275336f, 0.504850f }, { 0.676328f, 0.387023f, 0.626733f }, { -0.100433f, 0.495114f, -0.863004f }, { -0.949609f, -0.240681f, -0.200786f }, { -0.102610f, 0.261831f, -0.959644f }, { -0.845732f, -0.493136f, 0.203850f }, { 0.672617f, -0.738838f, 0.041290f }, { 0.380465f, 0.875938f, 0.296613f }, { -0.811223f, 0.262027f, -0.522742f }, { -0.074423f, -0.775670f, -0.626736f }, { -0.286499f, 0.755850f, -0.588735f }, { 0.291182f, -0.276189f, -0.915933f }, { -0.638117f, 0.199338f, 0.743687f }, { 0.439922f, -0.864433f, -0.243359f }, { 0.177649f, 0.206919f, 0.962094f }, { 0.277107f, 0.948521f, 0.153361f }, { 0.507629f, 0.661918f, -0.551523f }, { -0.503110f, -0.579308f, -0.641313f }, { 0.600522f, 0.736495f, -0.311364f }, { -0.691096f, -0.715301f, -0.103592f }, { -0.041083f, -0.858497f, 0.511171f }, { 0.207773f, -0.480062f, -0.852274f }, { 0.795719f, 0.464614f, 0.388543f }, { -0.100433f, 0.495114f, -0.863004f }, { 0.703249f, 0.065157f, -0.707951f }, { -0.324171f, -0.941112f, 0.096024f }, { -0.134933f, -0.940212f, 0.312722f }, { -0.438240f, 0.752088f, -0.492249f }, { 0.964762f, -0.198855f, 0.172311f }, { -0.831799f, 0.196807f, 0.519015f }, { -0.508008f, 0.819902f, 0.263986f }, { 0.471075f, -0.001146f, 0.882092f }, { 0.919512f, 0.246162f, -0.306435f }, { -0.960050f, 0.279828f, -0.001187f }, { 0.110232f, -0.847535f, -0.519165f }, { 0.208229f, 0.697360f, 0.685806f }, { -0.199680f, -0.560621f, 0.803637f }, { 0.170135f, -0.679985f, -0.713214f }, { 0.758371f, -0.494907f, 0.424195f }, { 0.077734f, -0.755978f, 0.649965f }, { 0.612831f, -0.672475f, 0.414987f }, { 0.142776f, 0.836698f, -0.528726f }, { -0.765185f, 0.635778f, 0.101382f }, { 0.669873f, -0.419737f, 0.612447f }, { 0.593549f, 0.194879f, 0.780847f }, { 0.646930f, 0.752173f, 0.125368f }, { 0.837721f, 0.545266f, -0.030127f }, { 0.541505f, 0.768070f, 0.341820f }, { 0.760679f, -0.365715f, -0.536301f }, { 0.381516f, 0.640377f, 0.666605f }, { 0.565794f, -0.072415f, -0.821361f }, { -0.466072f, -0.401588f, 0.788356f }, { 0.987146f, 0.096290f, 0.127560f }, { 0.509709f, -0.688886f, -0.515396f }, { -0.135132f, -0.988046f, -0.074192f }, { 0.600499f, 0.476471f, -0.642166f }, { -0.732326f, -0.275320f, -0.622815f }, { -0.881141f, -0.470404f, 0.048078f }, { 0.051548f, 0.601042f, 0.797553f }, { 0.402027f, -0.763183f, 0.505891f }, { 0.404233f, -0.208288f, 0.890624f }, { -0.311793f, 0.343843f, 0.885752f }, { 0.098132f, -0.937014f, 0.335223f }, { 0.537158f, 0.830585f, -0.146936f }, { 0.725277f, 0.298172f, -0.620538f }, { -0.882025f, 0.342976f, -0.323110f }, { -0.668829f, 0.424296f, -0.610443f }, { -0.408835f, -0.476442f, -0.778368f }, { 0.809472f, 0.397249f, -0.432375f }, { -0.909184f, -0.205938f, -0.361903f }, { 0.866930f, -0.347934f, -0.356895f }, { 0.911660f, -0.141281f, -0.385897f }, { -0.431404f, -0.844074f, -0.318480f }, { -0.950593f, -0.073496f, 0.301614f }, { -0.719716f, 0.626915f, -0.298305f }, { -0.779887f, 0.617067f, -0.104899f }, { -0.475899f, -0.542630f, 0.692151f }, { 0.081952f, -0.157248f, -0.984153f }, { 0.923990f, -0.381662f, -0.024025f }, { -0.957998f, 0.120979f, -0.260008f }, { 0.306601f, 0.227975f, -0.924134f }, { -0.141244f, 0.989182f, 0.039601f }, { 0.077097f, 0.186288f, -0.979466f }, { -0.630407f, -0.259801f, 0.731499f }, { 0.718150f, 0.637408f, 0.279233f }, { 0.340946f, 0.110494f, 0.933567f }, { -0.396671f, 0.503020f, -0.767869f }, { 0.636943f, -0.245005f, 0.730942f }, { -0.849605f, -0.518660f, -0.095724f }, { -0.388203f, 0.105395f, 0.915527f }, { -0.280671f, -0.776541f, -0.564099f }, { -0.601680f, 0.215451f, -0.769131f }, { -0.660112f, -0.632371f, -0.405412f }, { 0.921096f, 0.284072f, 0.266242f }, { 0.074850f, -0.300846f, 0.950731f }, { 0.943952f, -0.067062f, 0.323198f }, { -0.917838f, -0.254589f, 0.304561f }, { 0.889843f, -0.409008f, 0.202219f }, { -0.565849f, 0.753721f, -0.334246f }, { 0.791460f, 0.555918f, -0.254060f }, { 0.261936f, 0.703590f, -0.660568f }, { -0.234406f, 0.952084f, 0.196444f }, { 0.111205f, 0.979492f, -0.168014f }, { -0.869844f, -0.109095f, -0.481113f }, { -0.337728f, -0.269701f, -0.901777f }, { 0.366793f, 0.408875f, -0.835634f }, { -0.098749f, 0.261316f, 0.960189f }, { -0.272379f, -0.847100f, 0.456324f }, { -0.319506f, 0.287444f, -0.902935f }, { 0.873383f, -0.294109f, 0.388203f }, { -0.088950f, 0.710450f, 0.698104f }, { 0.551238f, -0.786552f, 0.278340f }, { 0.724436f, -0.663575f, -0.186712f }, { 0.529741f, -0.606539f, 0.592861f }, { -0.949743f, -0.282514f, 0.134809f }, { 0.155047f, 0.419442f, -0.894443f }, { -0.562653f, -0.329139f, -0.758346f }, { 0.816407f, -0.576953f, 0.024576f }, { 0.178550f, -0.950242f, -0.255266f }, { 0.479571f, 0.706691f, 0.520192f }, { 0.391687f, 0.559884f, -0.730145f }, { 0.724872f, -0.205570f, -0.657496f }, { -0.663196f, -0.517587f, -0.540624f }, { -0.660054f, -0.122486f, -0.741165f }, { -0.531989f, 0.374711f, -0.759328f }, { 0.194979f, -0.059120f, 0.979024f } } ;