ce5d765ada472afb9a9aace8a0d3d95213bc74b4
[blender.git] / source / blender / editors / gpencil / gpencil_add_monkey.c
1 /*
2  * ***** BEGIN GPL LICENSE BLOCK *****
3  *
4  * This program is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU General Public License
6  * as published by the Free Software Foundation; either version 2
7  * of the License, or (at your option) any later version.
8  *
9  * This program is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12  * GNU General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with this program; if not, write to the Free Software Foundation,
16  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17  *
18  * The Original Code is Copyright (C) 2017 Blender Foundation
19  * This is a new part of Blender
20  *
21  * Contributor(s): Antonio Vazquez, Matias Mendiola
22  *
23  * ***** END GPL LICENSE BLOCK *****
24  */
25
26 /** \file blender/editors/gpencil/gpencil_add_monkey.c
27  *  \ingroup edgpencil
28  */
29
30 #include "BLI_blenlib.h"
31 #include "BLI_math.h"
32 #include "BLI_utildefines.h"
33
34 #include "DNA_gpencil_types.h"
35 #include "DNA_object_types.h"
36 #include "DNA_scene_types.h"
37
38 #include "BKE_brush.h"
39 #include "BKE_context.h"
40 #include "BKE_gpencil.h"
41 #include "BKE_main.h"
42 #include "BKE_material.h"
43
44 #include "DEG_depsgraph.h"
45 #include "DEG_depsgraph_query.h"
46
47 #include "ED_gpencil.h"
48
49 /* Definition of the most important info from a color */
50 typedef struct ColorTemplate {
51         const char *name;
52         float line[4];
53         float fill[4];
54 } ColorTemplate;
55
56 /* Add color an ensure duplications (matched by name) */
57 static int gpencil_monkey_color(
58         Main *bmain, Object *ob, const ColorTemplate *pct, bool stroke, bool fill)
59 {
60         short *totcol = give_totcolp(ob);
61         Material *ma = NULL;
62         for (short i = 0; i < *totcol; i++) {
63                 ma = give_current_material(ob, i + 1);
64                 if (STREQ(ma->id.name, pct->name)) {
65                         return i;
66                 }
67         }
68
69         /* create a new one */
70         BKE_object_material_slot_add(bmain, ob);
71         ma = BKE_material_add_gpencil(bmain, pct->name);
72         assign_material(bmain, ob, ma, ob->totcol, BKE_MAT_ASSIGN_USERPREF);
73
74         copy_v4_v4(ma->gp_style->stroke_rgba, pct->line);
75         copy_v4_v4(ma->gp_style->fill_rgba, pct->fill);
76
77         if (!stroke) {
78                 ma->gp_style->flag &= ~GP_STYLE_STROKE_SHOW;
79         }
80
81         if (!fill) {
82                 ma->gp_style->flag &= ~GP_STYLE_FILL_SHOW;
83         }
84
85         return BKE_gpencil_get_material_index(ob, ma) - 1;
86 }
87
88 /* ***************************************************************** */
89 /* Monkey Geometry */
90 static const float data0[270 * GP_PRIM_DATABUF_SIZE] = {
91 -0.4911f, 0.0f, -0.1781f, 0.267f, 0.362f,-0.5168f, 0.0f, -0.1806f, 0.31f, 0.407f,-0.5361f, 0.0f, -0.1817f, 0.38f, 0.439f,-0.5618f, 0.0f, -0.1829f, 0.433f, 0.458f,
92 -0.5892f, 0.0f, -0.1827f, 0.471f, 0.5f,-0.6193f, 0.0f, -0.1814f, 0.496f, 0.516f,-0.6499f, 0.0f, -0.1782f, 0.511f, 0.519f,-0.6808f, 0.0f, -0.1729f, 0.521f, 0.53f,
93 -0.7107f, 0.0f, -0.1651f, 0.527f, 0.533f,-0.7404f, 0.0f, -0.1555f, 0.531f, 0.534f,-0.7698f, 0.0f, -0.1447f, 0.534f, 0.535f,-0.7993f, 0.0f, -0.1332f, 0.535f, 0.535f,
94 -0.8289f, -0.0f, -0.1209f, 0.536f, 0.537f,-0.8586f, -0.0f, -0.109f, 0.536f, 0.537f,-0.8871f, -0.0f, -0.0973f, 0.536f, 0.537f,-0.9125f, 0.0f, -0.0838f, 0.535f, 0.535f,
95 -0.9353f, 0.0f, -0.0688f, 0.534f, 0.534f,-0.9561f, 0.0f, -0.0525f, 0.534f, 0.534f,-0.9752f, 0.0f, -0.0346f, 0.533f, 0.534f,-0.9944f, 0.0f, -0.016f, 0.533f, 0.534f,
96 -1.0148f, 0.0f, 0.0028f, 0.532f, 0.532f,-1.0348f, 0.0f, 0.0215f, 0.531f, 0.531f,-1.05f, 0.0f, 0.0407f, 0.531f, 0.531f,-1.0639f, 0.0f, 0.0613f, 0.532f, 0.532f,
97 -1.0752f, 0.0f, 0.0838f, 0.535f, 0.535f,-1.0848f, 0.0f, 0.1082f, 0.54f, 0.54f,-1.0936f, 0.0f, 0.1346f, 0.542f, 0.542f,-1.1024f, 0.0f, 0.1639f, 0.543f, 0.543f,
98 -1.1102f, 0.0f, 0.1953f, 0.543f, 0.543f,-1.1128f, 0.0f, 0.2277f, 0.546f, 0.546f,-1.1091f, 0.0f, 0.2579f, 0.549f, 0.549f,-1.1023f, 0.0f, 0.2849f, 0.549f, 0.549f,
99 -1.0934f, 0.0f, 0.3086f, 0.549f, 0.549f,-1.0831f, 0.0f, 0.3285f, 0.549f, 0.549f,-1.0724f, 0.0f, 0.3451f, 0.551f, 0.551f,-1.0607f, 0.0f, 0.3594f, 0.553f, 0.553f,
100 -1.0474f, 0.0f, 0.3713f, 0.554f, 0.554f,-1.031f, 0.0f, 0.3804f, 0.554f, 0.554f,-1.0108f, 0.0f, 0.3874f, 0.555f, 0.555f,-0.9862f, 0.0f, 0.3922f, 0.556f, 0.556f,
101 -0.9568f, 0.0f, 0.3941f, 0.557f, 0.557f,-0.9243f, 0.0f, 0.3934f, 0.557f, 0.557f,-0.8897f, 0.0f, 0.3861f, 0.557f, 0.557f,-0.8556f, 0.0f, 0.3754f, 0.557f, 0.557f,
102 -0.8237f, 0.0f, 0.3608f, 0.558f, 0.557f,-0.7982f, 0.0f, 0.344f, 0.558f, 0.558f,-0.7786f, 0.0f, 0.329f, 0.557f, 0.559f,-0.7633f, 0.0f, 0.3183f, 0.556f, 0.559f,
103 -0.7498f, 0.0f, 0.3135f, 0.554f, 0.559f,-0.7374f, 0.0f, 0.3134f, 0.552f, 0.548f,-0.7261f, 0.0f, 0.3179f, 0.551f, 0.546f,-0.7146f, 0.0f, 0.3262f, 0.55f, 0.547f,
104 -0.703f, 0.0f, 0.3395f, 0.549f, 0.547f,-0.692f, 0.0f, 0.3576f, 0.549f, 0.548f,-0.6831f, 0.0f, 0.3806f, 0.549f, 0.548f,-0.6748f, 0.0f, 0.4052f, 0.55f, 0.549f,
105 -0.6648f, 0.0f, 0.4305f, 0.552f, 0.548f,-0.6527f, 0.0f, 0.4549f, 0.556f, 0.549f,-0.6375f, 0.0f, 0.4783f, 0.563f, 0.549f,-0.6195f, 0.0f, 0.5021f, 0.572f, 0.558f,
106 -0.5985f, 0.0f, 0.5256f, 0.582f, 0.587f,-0.5775f, -0.0f, 0.5488f, 0.591f, 0.595f,-0.556f, -0.0f, 0.5715f, 0.597f, 0.598f,-0.5339f, -0.0f, 0.593f, 0.602f, 0.603f,
107 -0.5119f, -0.0f, 0.613f, 0.605f, 0.606f,-0.4905f, -0.0f, 0.6312f, 0.607f, 0.607f,-0.4697f, -0.0f, 0.6474f, 0.609f, 0.607f,-0.4499f, -0.0f, 0.6613f, 0.612f, 0.611f,
108 -0.4306f, -0.0f, 0.6734f, 0.616f, 0.615f,-0.4116f, -0.0f, 0.6845f, 0.619f, 0.621f,-0.3918f, -0.0f, 0.6954f, 0.623f, 0.623f,-0.3709f, -0.0f, 0.7059f, 0.626f, 0.626f,
109 -0.3486f, -0.0f, 0.7157f, 0.63f, 0.63f,-0.3251f, -0.0f, 0.7249f, 0.637f, 0.632f,-0.3006f, -0.0f, 0.7333f, 0.646f, 0.644f,-0.2755f, -0.0f, 0.7414f, 0.654f, 0.657f,
110 -0.25f, -0.0f, 0.7489f, 0.659f, 0.661f,-0.2242f, -0.0f, 0.7562f, 0.664f, 0.664f,-0.1979f, -0.0f, 0.7631f, 0.667f, 0.668f,-0.171f, -0.0f, 0.7695f, 0.671f, 0.671f,
111 -0.1434f, -0.0f, 0.7752f, 0.674f, 0.674f,-0.1151f, -0.0f, 0.7801f, 0.677f, 0.678f,-0.0861f, -0.0f, 0.7841f, 0.678f, 0.68f,-0.0563f, -0.0f, 0.7869f, 0.68f, 0.68f,
112 -0.026f, -0.0f, 0.7889f, 0.68f, 0.68f,0.0049f, -0.0f, 0.7899f, 0.681f, 0.681f,0.0362f, -0.0f, 0.7898f, 0.682f, 0.681f,0.0679f, -0.0f, 0.7881f, 0.683f, 0.683f,
113 0.0996f, -0.0f, 0.7853f, 0.685f, 0.683f,0.1313f, -0.0f, 0.7812f, 0.687f, 0.685f,0.1632f, -0.0f, 0.7756f, 0.69f, 0.686f,0.1953f, -0.0f, 0.7687f, 0.693f, 0.694f,
114 0.2277f, -0.0f, 0.7608f, 0.697f, 0.697f,0.2606f, -0.0f, 0.7513f, 0.7f, 0.7f,0.2934f, -0.0f, 0.7404f, 0.704f, 0.704f,0.3258f, -0.0f, 0.7276f, 0.707f, 0.71f,
115 0.357f, -0.0f, 0.7135f, 0.709f, 0.711f,0.387f, -0.0f, 0.6983f, 0.711f, 0.713f,0.4157f, -0.0f, 0.6819f, 0.712f, 0.714f,0.444f, -0.0f, 0.6645f, 0.714f, 0.714f,
116 0.4719f, -0.0f, 0.6459f, 0.715f, 0.715f,0.4994f, -0.0f, 0.6261f, 0.715f, 0.716f,0.526f, -0.0f, 0.6046f, 0.716f, 0.716f,0.552f, -0.0f, 0.5816f, 0.717f, 0.717f,
117 0.577f, -0.0f, 0.5575f, 0.718f, 0.717f,0.6008f, -0.0f, 0.5328f, 0.718f, 0.718f,0.6231f, -0.0f, 0.5077f, 0.718f, 0.718f,0.6423f, -0.0f, 0.4829f, 0.719f, 0.718f,
118 0.658f, -0.0f, 0.4617f, 0.719f, 0.719f,0.6713f, -0.0f, 0.4432f, 0.719f, 0.719f,0.6828f, -0.0f, 0.4266f, 0.719f, 0.719f,0.6928f, -0.0f, 0.4118f, 0.719f, 0.719f,
119 0.7016f, -0.0f, 0.3987f, 0.718f, 0.717f,0.7094f, -0.0f, 0.3871f, 0.717f, 0.717f,0.7165f, -0.0f, 0.3769f, 0.717f, 0.717f,0.7233f, -0.0f, 0.3679f, 0.718f, 0.718f,
120 0.7301f, -0.0f, 0.3598f, 0.717f, 0.719f,0.7373f, -0.0f, 0.3524f, 0.715f, 0.719f,0.7454f, -0.0f, 0.3458f, 0.713f, 0.709f,0.7545f, -0.0f, 0.3398f, 0.718f, 0.704f,
121 0.7651f, -0.0f, 0.3351f, 0.732f, 0.705f,0.777f, -0.0f, 0.3317f, 0.753f, 0.713f,0.7909f, -0.0f, 0.3311f, 0.774f, 0.813f,0.8068f, -0.0f, 0.334f, 0.791f, 0.815f,
122 0.8246f, -0.0f, 0.3398f, 0.802f, 0.815f,0.8438f, -0.0f, 0.3486f, 0.809f, 0.816f,0.8651f, -0.0f, 0.3575f, 0.812f, 0.816f,0.8893f, -0.0f, 0.3665f, 0.814f, 0.816f,
123 0.9166f, -0.0f, 0.374f, 0.814f, 0.817f,0.9459f, -0.0f, 0.3791f, 0.812f, 0.817f,0.9751f, -0.0f, 0.3811f, 0.81f, 0.815f,1.0029f, -0.0f, 0.38f, 0.806f, 0.807f,
124 1.0288f, -0.0f, 0.3754f, 0.8f, 0.801f,1.052f, -0.0f, 0.3673f, 0.794f, 0.8f,1.0722f, -0.0f, 0.3556f, 0.788f, 0.781f,1.0888f, -0.0f, 0.3403f, 0.783f, 0.78f,
125 1.1027f, -0.0f, 0.322f, 0.781f, 0.778f,1.1133f, -0.0f, 0.301f, 0.779f, 0.777f,1.1215f, -0.0f, 0.278f, 0.778f, 0.777f,1.1269f, -0.0f, 0.2534f, 0.777f, 0.777f,
126 1.1296f, -0.0f, 0.2284f, 0.777f, 0.778f,1.1292f, -0.0f, 0.2031f, 0.776f, 0.776f,1.1254f, -0.0f, 0.1778f, 0.775f, 0.776f,1.1178f, 0.0f, 0.153f, 0.774f, 0.774f,
127 1.1076f, 0.0f, 0.1299f, 0.774f, 0.772f,1.0955f, 0.0f, 0.1079f, 0.773f, 0.773f,1.0817f, 0.0f, 0.087f, 0.772f, 0.773f,1.0668f, 0.0f, 0.0677f, 0.771f, 0.772f,
128 1.0508f, 0.0f, 0.0491f, 0.77f, 0.772f,1.0339f, 0.0f, 0.0313f, 0.768f, 0.766f,1.0157f, 0.0f, 0.0144f, 0.767f, 0.765f,0.9969f, -0.0f, -0.0015f, 0.766f, 0.765f,
129 0.9784f, -0.0f, -0.017f, 0.765f, 0.766f,0.96f, -0.0f, -0.0321f, 0.764f, 0.765f,0.9413f, -0.0f, -0.0468f, 0.761f, 0.765f,0.9216f, -0.0f, -0.0611f, 0.756f, 0.761f,
130 0.9009f, -0.0f, -0.0751f, 0.751f, 0.751f,0.8787f, 0.0f, -0.0893f, 0.745f, 0.744f,0.8556f, 0.0f, -0.1027f, 0.739f, 0.738f,0.8312f, 0.0f, -0.1152f, 0.733f, 0.731f,
131 0.8058f, 0.0f, -0.1268f, 0.728f, 0.727f,0.7788f, 0.0f, -0.1372f, 0.723f, 0.723f,0.7505f, 0.0f, -0.1467f, 0.718f, 0.717f,0.7214f, 0.0f, -0.1549f, 0.713f, 0.708f,
132 0.6929f, 0.0f, -0.1617f, 0.709f, 0.706f,0.6652f, 0.0f, -0.1665f, 0.704f, 0.705f,0.6388f, 0.0f, -0.1691f, 0.7f, 0.704f,0.6131f, 0.0f, -0.1701f, 0.695f, 0.698f,
133 0.5883f, 0.0f, -0.1699f, 0.691f, 0.691f,0.5644f, 0.0f, -0.1691f, 0.686f, 0.685f,0.5416f, 0.0f, -0.1683f, 0.681f, 0.683f,0.5195f, 0.0f, -0.168f, 0.676f, 0.676f,
134 0.4975f, 0.0f, -0.1687f, 0.671f, 0.67f,0.4754f, 0.0f, -0.1705f, 0.666f, 0.663f,0.4527f, 0.0f, -0.1741f, 0.663f, 0.66f,0.4293f, 0.0f, -0.1797f, 0.661f, 0.659f,
135 0.4054f, 0.0f, -0.1881f, 0.66f, 0.659f,0.3813f, 0.0f, -0.1992f, 0.659f, 0.657f,0.3585f, 0.0f, -0.212f, 0.658f, 0.659f,0.3368f, 0.0f, -0.2266f, 0.658f, 0.659f,
136 0.3174f, 0.0f, -0.2426f, 0.658f, 0.659f,0.2996f, 0.0f, -0.2594f, 0.657f, 0.657f,0.284f, 0.0f, -0.2768f, 0.656f, 0.658f,0.2702f, 0.0f, -0.2946f, 0.653f, 0.657f,
137 0.2585f, 0.0f, -0.3127f, 0.646f, 0.656f,0.25f, 0.0f, -0.3308f, 0.637f, 0.642f,0.2447f, 0.0f, -0.3489f, 0.628f, 0.609f,0.2418f, 0.0f, -0.3672f, 0.62f, 0.608f,
138 0.2412f, 0.0f, -0.386f, 0.614f, 0.607f,0.2425f, 0.0f, -0.4051f, 0.61f, 0.606f,0.2456f, 0.0f, -0.4246f, 0.608f, 0.604f,0.2509f, 0.0f, -0.4447f, 0.607f, 0.606f,
139 0.2576f, 0.0f, -0.4652f, 0.606f, 0.607f,0.2666f, 0.0f, -0.4867f, 0.605f, 0.607f,0.2766f, 0.0f, -0.5091f, 0.603f, 0.607f,0.2871f, 0.0f, -0.5326f, 0.598f, 0.606f,
140 0.2973f, 0.0f, -0.5569f, 0.591f, 0.602f,0.306f, 0.0f, -0.5826f, 0.583f, 0.585f,0.3131f, 0.0f, -0.61f, 0.574f, 0.576f,0.3197f, 0.0f, -0.6384f, 0.564f, 0.564f,
141 0.326f, 0.0f, -0.6681f, 0.555f, 0.549f,0.3315f, 0.0f, -0.6984f, 0.547f, 0.543f,0.336f, 0.0f, -0.7291f, 0.541f, 0.541f,0.3391f, 0.0f, -0.7593f, 0.536f, 0.538f,
142 0.3399f, 0.0f, -0.7884f, 0.532f, 0.528f,0.3382f, 0.0f, -0.8158f, 0.529f, 0.528f,0.334f, 0.0f, -0.8417f, 0.525f, 0.529f,0.3273f, 0.0f, -0.8657f, 0.521f, 0.528f,
143 0.3185f, 0.0f, -0.8881f, 0.516f, 0.515f,0.3073f, 0.0f, -0.9088f, 0.51f, 0.514f,0.2941f, 0.0f, -0.9278f, 0.505f, 0.507f,0.2786f, 0.0f, -0.9449f, 0.499f, 0.494f,
144 0.261f, 0.0f, -0.96f, 0.495f, 0.49f,0.2413f, 0.0f, -0.9733f, 0.493f, 0.491f,0.2193f, 0.0f, -0.9845f, 0.491f, 0.489f,0.1953f, 0.0f, -0.9935f, 0.491f, 0.491f,
145 0.1693f, 0.0f, -1.0004f, 0.491f, 0.492f,0.1421f, 0.0f, -1.0051f, 0.492f, 0.492f,0.1136f, -0.0f, -1.0072f, 0.492f, 0.492f,0.0842f, -0.0f, -1.0073f, 0.492f, 0.492f,
146 0.0548f, -0.0f, -1.0059f, 0.493f, 0.494f,0.0258f, -0.0f, -1.0037f, 0.493f, 0.494f,-0.0027f, -0.0f, -1.0003f, 0.493f, 0.493f,-0.0309f, -0.0f, -0.9959f, 0.492f, 0.492f,
147 -0.0584f, -0.0f, -0.9904f, 0.491f, 0.492f,-0.0858f, -0.0f, -0.9848f, 0.491f, 0.491f,-0.1127f, -0.0f, -0.9783f, 0.49f, 0.49f,-0.1386f, -0.0f, -0.9703f, 0.49f, 0.49f,
148 -0.1649f, -0.0f, -0.9604f, 0.489f, 0.489f,-0.191f, -0.0f, -0.9479f, 0.489f, 0.489f,-0.2165f, -0.0f, -0.9345f, 0.489f, 0.49f,-0.2414f, -0.0f, -0.9205f, 0.489f, 0.489f,
149 -0.2654f, -0.0f, -0.9055f, 0.489f, 0.489f,-0.2877f, -0.0f, -0.8898f, 0.49f, 0.49f,-0.3076f, -0.0f, -0.8723f, 0.49f, 0.489f,-0.324f, -0.0f, -0.8532f, 0.491f, 0.489f,
150 -0.3367f, -0.0f, -0.8316f, 0.492f, 0.489f,-0.3451f, -0.0f, -0.8077f, 0.494f, 0.488f,-0.3505f, -0.0f, -0.7829f, 0.497f, 0.49f,-0.3531f, -0.0f, -0.7584f, 0.501f, 0.497f,
151 -0.3528f, -0.0f, -0.7349f, 0.505f, 0.504f,-0.3503f, -0.0f, -0.7115f, 0.51f, 0.51f,-0.346f, -0.0f, -0.688f, 0.515f, 0.515f,-0.3411f, -0.0f, -0.6643f, 0.52f, 0.522f,
152 -0.3361f, -0.0f, -0.6403f, 0.525f, 0.528f,-0.3304f, -0.0f, -0.6164f, 0.53f, 0.532f,-0.3244f, -0.0f, -0.5925f, 0.535f, 0.535f,-0.318f, -0.0f, -0.5687f, 0.539f, 0.54f,
153 -0.3124f, -0.0f, -0.5441f, 0.542f, 0.545f,-0.3051f, -0.0f, -0.5191f, 0.546f, 0.549f,-0.2959f, -0.0f, -0.4917f, 0.548f, 0.549f,-0.2882f, -0.0f, -0.4639f, 0.55f, 0.552f,
154 -0.2814f, -0.0f, -0.4363f, 0.551f, 0.552f,-0.2759f, -0.0f, -0.4084f, 0.552f, 0.553f,-0.2707f, -0.0f, -0.3827f, 0.553f, 0.553f,-0.2703f, -0.0f, -0.3586f, 0.554f, 0.553f,
155 -0.2772f, -0.0f, -0.3375f, 0.554f, 0.554f,-0.2871f, -0.0f, -0.3178f, 0.555f, 0.555f,-0.2995f, -0.0f, -0.2996f, 0.556f, 0.555f,-0.3145f, -0.0f, -0.283f, 0.556f, 0.557f,
156 -0.332f, -0.0f, -0.2672f, 0.557f, 0.557f,-0.3488f, -0.0f, -0.2531f, 0.558f, 0.558f,-0.3639f, -0.0f, -0.2407f, 0.558f, 0.558f,-0.3778f, -0.0f, -0.2292f, 0.558f, 0.558f,
157 -0.3909f, -0.0f, -0.2191f, 0.559f, 0.559f,-0.4032f, -0.0f, -0.2102f, 0.559f, 0.558f,-0.4146f, -0.0f, -0.2027f, 0.559f, 0.559f,-0.426f, 0.0f, -0.1968f, 0.558f, 0.558f,
158 -0.4348f, 0.0f, -0.1931f, 0.558f, 0.558f,-0.4479f, 0.0f, -0.1886f, 0.555f, 0.559f
159 };
160
161 static const float data1[33 * GP_PRIM_DATABUF_SIZE] = {
162 0.5292f, -0.0f, 0.1742f, 0.1f, 1.0f,0.5291f, -0.0f, 0.1621f, 0.2199f, 1.0f,0.5274f, -0.0f, 0.1386f, 0.4615f, 1.0f,0.5239f, -0.0f, 0.116f, 0.6019f, 1.0f,
163 0.5185f, -0.0f, 0.0945f, 0.6981f, 1.0f,0.5115f, -0.0f, 0.0741f, 0.7689f, 1.0f,0.503f, -0.0f, 0.0548f, 0.8236f, 1.0f,0.4931f, -0.0f, 0.0368f, 0.866f, 1.0f,
164 0.482f, -0.0f, 0.02f, 0.9003f, 1.0f,0.4697f, -0.0f, 0.0046f, 0.9272f, 1.0f,0.4565f, 0.0f, -0.0094f, 0.9485f, 1.0f,0.4424f, 0.0f, -0.0219f, 0.9653f, 1.0f,
165 0.4275f, 0.0f, -0.033f, 0.9781f, 1.0f,0.4121f, 0.0f, -0.0424f, 0.9876f, 1.0f,0.3961f, 0.0f, -0.0501f, 0.9942f, 1.0f,0.3799f, 0.0f, -0.0562f, 0.9983f, 1.0f,
166 0.3634f, 0.0f, -0.0605f, 0.9997f, 1.0f,0.3468f, 0.0f, -0.0629f, 0.999f, 1.0f,0.3303f, 0.0f, -0.0634f, 0.9963f, 1.0f,0.3139f, 0.0f, -0.062f, 0.9912f, 1.0f,
167 0.2979f, 0.0f, -0.0585f, 0.9834f, 1.0f,0.2823f, 0.0f, -0.0529f, 0.9724f, 1.0f,0.2672f, 0.0f, -0.0452f, 0.9576f, 1.0f,0.2529f, 0.0f, -0.0352f, 0.9385f, 1.0f,
168 0.2393f, 0.0f, -0.023f, 0.9143f, 1.0f,0.2267f, 0.0f, -0.0085f, 0.8841f, 1.0f,0.2153f, -0.0f, 0.0085f, 0.8461f, 1.0f,0.205f, -0.0f, 0.0279f, 0.7979f, 1.0f,
169 0.196f, -0.0f, 0.0499f, 0.7359f, 1.0f,0.1886f, -0.0f, 0.0745f, 0.6541f, 1.0f,0.1827f, -0.0f, 0.1017f, 0.5396f, 1.0f,0.1786f, -0.0f, 0.1316f, 0.36f, 1.0f,
170 0.1763f, -0.0f, 0.1643f, 0.1f, 1.0f
171 };
172
173 static const float data2[18 * GP_PRIM_DATABUF_SIZE] = {
174 -0.0844f, 0.0f, -0.301f, 0.1f, 1.0f,-0.0825f, 0.0f, -0.3034f, 0.2199f, 1.0f,-0.0751f, 0.0f, -0.3128f, 0.6019f, 1.0f,-0.0677f, 0.0f, -0.3216f, 0.7689f, 1.0f,
175 -0.06f, 0.0f, -0.3298f, 0.866f, 1.0f,-0.0522f, 0.0f, -0.3372f, 0.9272f, 1.0f,-0.044f, 0.0f, -0.3437f, 0.9653f, 1.0f,-0.0354f, 0.0f, -0.3491f, 0.9876f, 1.0f,
176 -0.0264f, 0.0f, -0.3535f, 0.9983f, 1.0f,-0.0168f, 0.0f, -0.3566f, 0.999f, 1.0f,-0.0065f, 0.0f, -0.3583f, 0.9912f, 1.0f,0.0045f, 0.0f, -0.3585f, 0.9724f, 1.0f,
177 0.0163f, 0.0f, -0.3571f, 0.9385f, 1.0f,0.029f, 0.0f, -0.354f, 0.8841f, 1.0f,0.0427f, 0.0f, -0.3491f, 0.7979f, 1.0f,0.0574f, 0.0f, -0.3421f, 0.6541f, 1.0f,
178 0.0732f, 0.0f, -0.3331f, 0.36f, 1.0f,0.0816f, 0.0f, -0.3278f, 0.1f, 1.0f
179 };
180
181 static const float data3[64 * GP_PRIM_DATABUF_SIZE] = {
182 -0.6551f, -0.0f, 0.4448f, 0.1f, 1.0f,-0.6353f, -0.0f, 0.4689f, 0.2199f, 1.0f,-0.6211f, -0.0f, 0.4845f, 0.36f, 1.0f,-0.6033f, -0.0f, 0.5034f, 0.4615f, 1.0f,
183 -0.5856f, -0.0f, 0.5211f, 0.5396f, 1.0f,-0.5672f, -0.0f, 0.5387f, 0.6019f, 1.0f,-0.5485f, -0.0f, 0.5555f, 0.6541f, 1.0f,-0.5295f, -0.0f, 0.5718f, 0.6981f, 1.0f,
184 -0.5103f, -0.0f, 0.5875f, 0.7359f, 1.0f,-0.4909f, -0.0f, 0.6028f, 0.7689f, 1.0f,-0.4712f, -0.0f, 0.6174f, 0.7979f, 1.0f,-0.4512f, -0.0f, 0.6313f, 0.8236f, 1.0f,
185 -0.4307f, -0.0f, 0.6444f, 0.8461f, 1.0f,-0.4099f, -0.0f, 0.6568f, 0.866f, 1.0f,-0.3884f, -0.0f, 0.6684f, 0.8841f, 1.0f,-0.3665f, -0.0f, 0.6793f, 0.9003f, 1.0f,
186 -0.3439f, -0.0f, 0.6893f, 0.9143f, 1.0f,-0.3207f, -0.0f, 0.6984f, 0.9272f, 1.0f,-0.2971f, -0.0f, 0.7069f, 0.9385f, 1.0f,-0.2731f, -0.0f, 0.7148f, 0.9485f, 1.0f,
187 -0.249f, -0.0f, 0.7222f, 0.9576f, 1.0f,-0.2247f, -0.0f, 0.7292f, 0.9653f, 1.0f,-0.2003f, -0.0f, 0.7356f, 0.9724f, 1.0f,-0.1759f, -0.0f, 0.7416f, 0.9781f, 1.0f,
188 -0.1515f, -0.0f, 0.7471f, 0.9834f, 1.0f,-0.1272f, -0.0f, 0.7518f, 0.9876f, 1.0f,-0.1028f, -0.0f, 0.7556f, 0.9912f, 1.0f,-0.0785f, -0.0f, 0.7586f, 0.9942f, 1.0f,
189 -0.0543f, -0.0f, 0.7607f, 0.9963f, 1.0f,-0.0302f, -0.0f, 0.7621f, 0.9983f, 1.0f,-0.0062f, -0.0f, 0.7627f, 0.999f, 1.0f,0.0177f, -0.0f, 0.7625f, 0.9997f, 1.0f,
190 0.0415f, -0.0f, 0.7616f, 0.9997f, 1.0f,0.0652f, -0.0f, 0.7602f, 0.999f, 1.0f,0.0887f, -0.0f, 0.7583f, 0.9983f, 1.0f,0.1122f, -0.0f, 0.7559f, 0.9963f, 1.0f,
191 0.1355f, -0.0f, 0.7529f, 0.9942f, 1.0f,0.1585f, -0.0f, 0.7493f, 0.9912f, 1.0f,0.1814f, -0.0f, 0.7451f, 0.9876f, 1.0f,0.2041f, -0.0f, 0.7404f, 0.9834f, 1.0f,
192 0.2266f, -0.0f, 0.7352f, 0.9781f, 1.0f,0.2488f, -0.0f, 0.729f, 0.9724f, 1.0f,0.2706f, -0.0f, 0.7216f, 0.9653f, 1.0f,0.2921f, -0.0f, 0.7131f, 0.9576f, 1.0f,
193 0.3135f, -0.0f, 0.7041f, 0.9485f, 1.0f,0.3348f, -0.0f, 0.6945f, 0.9385f, 1.0f,0.3559f, -0.0f, 0.6845f, 0.9272f, 1.0f,0.3769f, -0.0f, 0.6739f, 0.9143f, 1.0f,
194 0.3978f, -0.0f, 0.6628f, 0.9003f, 1.0f,0.4185f, -0.0f, 0.651f, 0.8841f, 1.0f,0.439f, -0.0f, 0.6383f, 0.866f, 1.0f,0.4594f, -0.0f, 0.6249f, 0.8461f, 1.0f,
195 0.4795f, -0.0f, 0.6106f, 0.8236f, 1.0f,0.4995f, -0.0f, 0.5956f, 0.7979f, 1.0f,0.5193f, -0.0f, 0.5801f, 0.7689f, 1.0f,0.539f, -0.0f, 0.5642f, 0.7359f, 1.0f,
196 0.5586f, -0.0f, 0.5479f, 0.6981f, 1.0f,0.578f, -0.0f, 0.5312f, 0.6541f, 1.0f,0.597f, -0.0f, 0.5141f, 0.6019f, 1.0f,0.6153f, -0.0f, 0.4966f, 0.5396f, 1.0f,
197 0.6324f, -0.0f, 0.4797f, 0.4615f, 1.0f,0.6498f, -0.0f, 0.462f, 0.36f, 1.0f,0.6638f, -0.0f, 0.4477f, 0.2199f, 1.0f,0.6843f, -0.0f, 0.4263f, 0.1f, 1.0f
198 };
199
200 static const float data4[33 * GP_PRIM_DATABUF_SIZE] = {
201 -0.7765f, -0.0f, 0.3255f, 0.1f, 1.0f,-0.7908f, -0.0f, 0.3335f, 0.2199f, 1.0f,-0.8048f, -0.0f, 0.3402f, 0.4615f, 1.0f,-0.8225f, -0.0f, 0.3467f, 0.6019f, 1.0f,
202 -0.8426f, -0.0f, 0.3529f, 0.6981f, 1.0f,-0.8651f, -0.0f, 0.3587f, 0.7689f, 1.0f,-0.8878f, -0.0f, 0.3633f, 0.8236f, 1.0f,-0.9105f, -0.0f, 0.367f, 0.866f, 1.0f,
203 -0.9323f, -0.0f, 0.3693f, 0.9003f, 1.0f,-0.9529f, -0.0f, 0.3701f, 0.9272f, 1.0f,-0.972f, -0.0f, 0.3695f, 0.9485f, 1.0f,-0.9896f, -0.0f, 0.3675f, 0.9653f, 1.0f,
204 -1.0057f, -0.0f, 0.364f, 0.9781f, 1.0f,-1.0203f, -0.0f, 0.3592f, 0.9876f, 1.0f,-1.0333f, -0.0f, 0.3528f, 0.9942f, 1.0f,-1.0447f, -0.0f, 0.3452f, 0.9983f, 1.0f,
205 -1.0546f, -0.0f, 0.3362f, 0.9997f, 1.0f,-1.0633f, -0.0f, 0.3261f, 0.999f, 1.0f,-1.0708f, -0.0f, 0.315f, 0.9963f, 1.0f,-1.0767f, -0.0f, 0.3027f, 0.9912f, 1.0f,
206 -1.0818f, -0.0f, 0.2894f, 0.9834f, 1.0f,-1.0861f, -0.0f, 0.2752f, 0.9724f, 1.0f,-1.0897f, -0.0f, 0.2604f, 0.9576f, 1.0f,-1.0922f, -0.0f, 0.2446f, 0.9385f, 1.0f,
207 -1.0938f, -0.0f, 0.2277f, 0.9143f, 1.0f,-1.0944f, -0.0f, 0.2098f, 0.8841f, 1.0f,-1.0939f, -0.0f, 0.191f, 0.8461f, 1.0f,-1.0924f, -0.0f, 0.1714f, 0.7979f, 1.0f,
208 -1.0897f, -0.0f, 0.1511f, 0.7359f, 1.0f,-1.0855f, -0.0f, 0.1303f, 0.6541f, 1.0f,-1.0798f, -0.0f, 0.1095f, 0.5396f, 1.0f,-1.0723f, -0.0f, 0.089f, 0.36f, 1.0f,
209 -1.0642f, -0.0f, 0.0702f, 0.1f, 1.0f
210 };
211
212 static const float data5[64 * GP_PRIM_DATABUF_SIZE] = {
213 0.8135f, -0.0f, 0.3341f, 0.1f, 1.0f,0.8191f, -0.0f, 0.3376f, 0.2199f, 1.0f,0.8246f, -0.0f, 0.3408f, 0.36f, 1.0f,0.8304f, -0.0f, 0.3438f, 0.4615f, 1.0f,
214 0.8368f, -0.0f, 0.3465f, 0.5396f, 1.0f,0.843f, -0.0f, 0.3491f, 0.6019f, 1.0f,0.8494f, -0.0f, 0.3515f, 0.6541f, 1.0f,0.8558f, -0.0f, 0.3536f, 0.6981f, 1.0f,
215 0.8623f, -0.0f, 0.3557f, 0.7359f, 1.0f,0.8688f, -0.0f, 0.3575f, 0.7689f, 1.0f,0.8752f, -0.0f, 0.3593f, 0.7979f, 1.0f,0.8813f, -0.0f, 0.3609f, 0.8236f, 1.0f,
216 0.8872f, -0.0f, 0.3625f, 0.8461f, 1.0f,0.8929f, -0.0f, 0.364f, 0.866f, 1.0f,0.8984f, -0.0f, 0.3653f, 0.8841f, 1.0f,0.9039f, -0.0f, 0.3665f, 0.9003f, 1.0f,
217 0.9093f, -0.0f, 0.3675f, 0.9143f, 1.0f,0.9146f, -0.0f, 0.3684f, 0.9272f, 1.0f,0.9199f, -0.0f, 0.3692f, 0.9385f, 1.0f,0.9253f, -0.0f, 0.3698f, 0.9485f, 1.0f,
218 0.9305f, -0.0f, 0.3703f, 0.9576f, 1.0f,0.9358f, -0.0f, 0.3706f, 0.9653f, 1.0f,0.941f, -0.0f, 0.3709f, 0.9724f, 1.0f,0.9462f, -0.0f, 0.371f, 0.9781f, 1.0f,
219 0.9514f, -0.0f, 0.371f, 0.9834f, 1.0f,0.9566f, -0.0f, 0.3708f, 0.9876f, 1.0f,0.9617f, -0.0f, 0.3706f, 0.9912f, 1.0f,0.9668f, -0.0f, 0.3702f, 0.9942f, 1.0f,
220 0.9718f, -0.0f, 0.3697f, 0.9963f, 1.0f,0.9768f, -0.0f, 0.3692f, 0.9983f, 1.0f,0.9818f, -0.0f, 0.3685f, 0.999f, 1.0f,0.9867f, -0.0f, 0.3677f, 0.9997f, 1.0f,
221 0.9916f, -0.0f, 0.3667f, 0.9997f, 1.0f,0.9964f, -0.0f, 0.3657f, 0.999f, 1.0f,1.0012f, -0.0f, 0.3646f, 0.9983f, 1.0f,1.006f, -0.0f, 0.3634f, 0.9963f, 1.0f,
222 1.0107f, -0.0f, 0.3621f, 0.9942f, 1.0f,1.0154f, -0.0f, 0.3607f, 0.9912f, 1.0f,1.02f, -0.0f, 0.3593f, 0.9876f, 1.0f,1.0245f, -0.0f, 0.3577f, 0.9834f, 1.0f,
223 1.029f, -0.0f, 0.3561f, 0.9781f, 1.0f,1.0335f, -0.0f, 0.3543f, 0.9724f, 1.0f,1.0379f, -0.0f, 0.3525f, 0.9653f, 1.0f,1.0422f, -0.0f, 0.3507f, 0.9576f, 1.0f,
224 1.0465f, -0.0f, 0.3487f, 0.9485f, 1.0f,1.0507f, -0.0f, 0.3468f, 0.9385f, 1.0f,1.0549f, -0.0f, 0.3447f, 0.9272f, 1.0f,1.0591f, -0.0f, 0.3427f, 0.9143f, 1.0f,
225 1.0633f, -0.0f, 0.3404f, 0.9003f, 1.0f,1.0675f, -0.0f, 0.338f, 0.8841f, 1.0f,1.0717f, -0.0f, 0.3351f, 0.866f, 1.0f,1.0761f, -0.0f, 0.3318f, 0.8461f, 1.0f,
226 1.0805f, -0.0f, 0.3279f, 0.8236f, 1.0f,1.0849f, -0.0f, 0.3235f, 0.7979f, 1.0f,1.0893f, -0.0f, 0.3186f, 0.7689f, 1.0f,1.0936f, -0.0f, 0.3134f, 0.7359f, 1.0f,
227 1.0979f, -0.0f, 0.3076f, 0.6981f, 1.0f,1.102f, -0.0f, 0.3017f, 0.6541f, 1.0f,1.106f, -0.0f, 0.2953f, 0.6019f, 1.0f,1.1097f, -0.0f, 0.289f, 0.5396f, 1.0f,
228 1.1132f, -0.0f, 0.2826f, 0.4615f, 1.0f,1.1164f, -0.0f, 0.2766f, 0.36f, 1.0f,1.1193f, -0.0f, 0.2708f, 0.2199f, 1.0f,1.1221f, -0.0f, 0.2652f, 0.1f, 1.0f
229 };
230
231 static const float data6[33 * GP_PRIM_DATABUF_SIZE] = {
232 -0.2677f, 0.0f, -0.3496f, 0.1f, 1.0f,-0.2658f, 0.0f, -0.3919f, 0.2199f, 1.0f,-0.2657f, 0.0f, -0.4295f, 0.4615f, 1.0f,-0.2691f, 0.0f, -0.4621f, 0.6019f, 1.0f,
233 -0.275f, 0.0f, -0.4949f, 0.6981f, 1.0f,-0.2828f, 0.0f, -0.527f, 0.7689f, 1.0f,-0.2911f, 0.0f, -0.5578f, 0.8236f, 1.0f,-0.2971f, 0.0f, -0.5884f, 0.866f, 1.0f,
234 -0.303f, 0.0f, -0.6181f, 0.9003f, 1.0f,-0.3089f, 0.0f, -0.6467f, 0.9272f, 1.0f,-0.3148f, 0.0f, -0.6738f, 0.9485f, 1.0f,-0.3196f, 0.0f, -0.7f, 0.9653f, 1.0f,
235 -0.323f, 0.0f, -0.7253f, 0.9781f, 1.0f,-0.3234f, 0.0f, -0.7496f, 0.9876f, 1.0f,-0.3219f, 0.0f, -0.7728f, 0.9942f, 1.0f,-0.3184f, 0.0f, -0.7949f, 0.9983f, 1.0f,
236 -0.3103f, 0.0f, -0.8138f, 0.9997f, 1.0f,-0.3004f, 0.0f, -0.8307f, 0.999f, 1.0f,-0.2892f, 0.0f, -0.8464f, 0.9963f, 1.0f,-0.2766f, 0.0f, -0.8611f, 0.9912f, 1.0f,
237 -0.2618f, 0.0f, -0.8735f, 0.9834f, 1.0f,-0.2469f, 0.0f, -0.8853f, 0.9724f, 1.0f,-0.2315f, 0.0f, -0.8964f, 0.9576f, 1.0f,-0.2158f, 0.0f, -0.9068f, 0.9385f, 1.0f,
238 -0.1997f, 0.0f, -0.9167f, 0.9143f, 1.0f,-0.1833f, 0.0f, -0.9262f, 0.8841f, 1.0f,-0.1663f, 0.0f, -0.9355f, 0.8461f, 1.0f,-0.1481f, 0.0f, -0.9445f, 0.7979f, 1.0f,
239 -0.1282f, 0.0f, -0.9534f, 0.7359f, 1.0f,-0.1077f, 0.0f, -0.9625f, 0.6541f, 1.0f,-0.0854f, 0.0f, -0.9718f, 0.5396f, 1.0f,-0.0616f, 0.0f, -0.9813f, 0.36f, 1.0f,
240 -0.0248f, 0.0f, -0.992f, 0.1f, 1.0f
241 };
242
243 static const float data7[18 * GP_PRIM_DATABUF_SIZE] = {
244 -0.0618f, 0.0f, -0.1922f, 0.1f, 1.0f,-0.0703f, 0.0f, -0.2021f, 0.2199f, 1.0f,-0.0758f, 0.0f, -0.2103f, 0.6019f, 1.0f,-0.0803f, 0.0f, -0.2206f, 0.7689f, 1.0f,
245 -0.083f, 0.0f, -0.2307f, 0.866f, 1.0f,-0.0851f, 0.0f, -0.2405f, 0.9272f, 1.0f,-0.0865f, 0.0f, -0.2499f, 0.9653f, 1.0f,-0.0872f, 0.0f, -0.2588f, 0.9876f, 1.0f,
246 -0.0869f, 0.0f, -0.2673f, 0.9983f, 1.0f,-0.0858f, 0.0f, -0.2754f, 0.999f, 1.0f,-0.0831f, 0.0f, -0.2829f, 0.9912f, 1.0f,-0.0791f, 0.0f, -0.2898f, 0.9724f, 1.0f,
247 -0.074f, 0.0f, -0.2966f, 0.9385f, 1.0f,-0.0674f, 0.0f, -0.303f, 0.8841f, 1.0f,-0.0591f, 0.0f, -0.3084f, 0.7979f, 1.0f,-0.0465f, 0.0f, -0.3134f, 0.6541f, 1.0f,
248 -0.0331f, 0.0f, -0.3165f, 0.36f, 1.0f,-0.015f, 0.0f, -0.318f, 0.1f, 1.0f
249 };
250
251 static const float data8[49 * GP_PRIM_DATABUF_SIZE] = {
252 0.5311f, -0.0f, 0.1661f, 1.0f, 1.0f,0.5307f, -0.0f, 0.1794f, 1.0f, 1.0f,0.5277f, -0.0f, 0.2057f, 1.0f, 1.0f,0.5218f, -0.0f, 0.2314f, 1.0f, 1.0f,
253 0.513f, -0.0f, 0.256f, 1.0f, 1.0f,0.5014f, -0.0f, 0.279f, 1.0f, 1.0f,0.4874f, -0.0f, 0.3001f, 1.0f, 1.0f,0.4711f, -0.0f, 0.3189f, 1.0f, 1.0f,
254 0.4529f, -0.0f, 0.3351f, 1.0f, 1.0f,0.4329f, -0.0f, 0.3483f, 1.0f, 1.0f,0.4117f, -0.0f, 0.3585f, 1.0f, 1.0f,0.3894f, -0.0f, 0.3654f, 1.0f, 1.0f,
255 0.3666f, -0.0f, 0.3689f, 1.0f, 1.0f,0.3435f, -0.0f, 0.3689f, 1.0f, 1.0f,0.3207f, -0.0f, 0.3654f, 1.0f, 1.0f,0.2985f, -0.0f, 0.3585f, 1.0f, 1.0f,
256 0.2772f, -0.0f, 0.3483f, 1.0f, 1.0f,0.2573f, -0.0f, 0.3351f, 1.0f, 1.0f,0.239f, -0.0f, 0.3189f, 1.0f, 1.0f,0.2227f, -0.0f, 0.3001f, 1.0f, 1.0f,
257 0.2087f, -0.0f, 0.279f, 1.0f, 1.0f,0.1972f, -0.0f, 0.256f, 1.0f, 1.0f,0.1884f, -0.0f, 0.2314f, 1.0f, 1.0f,0.1824f, -0.0f, 0.2057f, 1.0f, 1.0f,
258 0.1794f, -0.0f, 0.1794f, 1.0f, 1.0f,0.1794f, -0.0f, 0.1528f, 1.0f, 1.0f,0.1824f, -0.0f, 0.1264f, 1.0f, 1.0f,0.1884f, -0.0f, 0.1007f, 1.0f, 1.0f,
259 0.1972f, -0.0f, 0.0762f, 1.0f, 1.0f,0.2087f, -0.0f, 0.0531f, 1.0f, 1.0f,0.2227f, -0.0f, 0.032f, 1.0f, 1.0f,0.239f, -0.0f, 0.0132f, 1.0f, 1.0f,
260 0.2573f, 0.0f, -0.0029f, 1.0f, 1.0f,0.2772f, 0.0f, -0.0162f, 1.0f, 1.0f,0.2985f, 0.0f, -0.0264f, 1.0f, 1.0f,0.3207f, 0.0f, -0.0333f, 1.0f, 1.0f,
261 0.3435f, 0.0f, -0.0368f, 1.0f, 1.0f,0.3666f, 0.0f, -0.0368f, 1.0f, 1.0f,0.3894f, 0.0f, -0.0333f, 1.0f, 1.0f,0.4117f, 0.0f, -0.0264f, 1.0f, 1.0f,
262 0.4329f, 0.0f, -0.0162f, 1.0f, 1.0f,0.4529f, 0.0f, -0.0029f, 1.0f, 1.0f,0.4711f, -0.0f, 0.0132f, 1.0f, 1.0f,0.4874f, -0.0f, 0.032f, 1.0f, 1.0f,
263 0.5014f, -0.0f, 0.0531f, 1.0f, 1.0f,0.513f, -0.0f, 0.0762f, 1.0f, 1.0f,0.5218f, -0.0f, 0.1007f, 1.0f, 1.0f,0.5277f, -0.0f, 0.1264f, 1.0f, 1.0f,
264 0.5307f, -0.0f, 0.1528f, 1.0f, 1.0f
265 };
266
267 static const float data9[33 * GP_PRIM_DATABUF_SIZE] = {
268 -0.5271f, -0.0f, 0.1742f, 0.1f, 1.0f,-0.527f, -0.0f, 0.1621f, 0.2199f, 1.0f,-0.5253f, -0.0f, 0.1386f, 0.4615f, 1.0f,-0.5217f, -0.0f, 0.116f, 0.6019f, 1.0f,
269 -0.5164f, -0.0f, 0.0945f, 0.6981f, 1.0f,-0.5094f, -0.0f, 0.0741f, 0.7689f, 1.0f,-0.5009f, -0.0f, 0.0548f, 0.8236f, 1.0f,-0.491f, -0.0f, 0.0368f, 0.866f, 1.0f,
270 -0.4799f, -0.0f, 0.02f, 0.9003f, 1.0f,-0.4676f, -0.0f, 0.0046f, 0.9272f, 1.0f,-0.4544f, 0.0f, -0.0094f, 0.9485f, 1.0f,-0.4402f, 0.0f, -0.0219f, 0.9653f, 1.0f,
271 -0.4254f, 0.0f, -0.033f, 0.9781f, 1.0f,-0.4099f, 0.0f, -0.0424f, 0.9876f, 1.0f,-0.394f, 0.0f, -0.0501f, 0.9942f, 1.0f,-0.3777f, 0.0f, -0.0562f, 0.9983f, 1.0f,
272 -0.3612f, 0.0f, -0.0605f, 0.9997f, 1.0f,-0.3447f, 0.0f, -0.0629f, 0.999f, 1.0f,-0.3281f, 0.0f, -0.0634f, 0.9963f, 1.0f,-0.3118f, 0.0f, -0.062f, 0.9912f, 1.0f,
273 -0.2957f, 0.0f, -0.0585f, 0.9834f, 1.0f,-0.2801f, 0.0f, -0.0529f, 0.9724f, 1.0f,-0.2651f, 0.0f, -0.0452f, 0.9576f, 1.0f,-0.2507f, 0.0f, -0.0352f, 0.9385f, 1.0f,
274 -0.2372f, 0.0f, -0.023f, 0.9143f, 1.0f,-0.2246f, 0.0f, -0.0085f, 0.8841f, 1.0f,-0.2131f, -0.0f, 0.0085f, 0.8461f, 1.0f,-0.2028f, -0.0f, 0.0279f, 0.7979f, 1.0f,
275 -0.1939f, -0.0f, 0.0499f, 0.7359f, 1.0f,-0.1864f, -0.0f, 0.0745f, 0.6541f, 1.0f,-0.1806f, -0.0f, 0.1017f, 0.5396f, 1.0f,-0.1765f, -0.0f, 0.1316f, 0.36f, 1.0f,
276 -0.1742f, -0.0f, 0.1643f, 0.1f, 1.0f
277 };
278
279 static const float data10[49 * GP_PRIM_DATABUF_SIZE] = {
280 -0.174f, -0.0f, 0.1661f, 1.0f, 1.0f,-0.1744f, -0.0f, 0.1794f, 1.0f, 1.0f,-0.1774f, -0.0f, 0.2057f, 1.0f, 1.0f,-0.1833f, -0.0f, 0.2314f, 1.0f, 1.0f,
281 -0.1922f, -0.0f, 0.256f, 1.0f, 1.0f,-0.2037f, -0.0f, 0.279f, 1.0f, 1.0f,-0.2177f, -0.0f, 0.3001f, 1.0f, 1.0f,-0.234f, -0.0f, 0.3189f, 1.0f, 1.0f,
282 -0.2522f, -0.0f, 0.3351f, 1.0f, 1.0f,-0.2722f, -0.0f, 0.3483f, 1.0f, 1.0f,-0.2935f, -0.0f, 0.3585f, 1.0f, 1.0f,-0.3157f, -0.0f, 0.3654f, 1.0f, 1.0f,
283 -0.3385f, -0.0f, 0.3689f, 1.0f, 1.0f,-0.3616f, -0.0f, 0.3689f, 1.0f, 1.0f,-0.3844f, -0.0f, 0.3654f, 1.0f, 1.0f,-0.4066f, -0.0f, 0.3585f, 1.0f, 1.0f,
284 -0.4279f, -0.0f, 0.3483f, 1.0f, 1.0f,-0.4479f, -0.0f, 0.3351f, 1.0f, 1.0f,-0.4661f, -0.0f, 0.3189f, 1.0f, 1.0f,-0.4824f, -0.0f, 0.3001f, 1.0f, 1.0f,
285 -0.4964f, -0.0f, 0.279f, 1.0f, 1.0f,-0.508f, -0.0f, 0.256f, 1.0f, 1.0f,-0.5168f, -0.0f, 0.2314f, 1.0f, 1.0f,-0.5227f, -0.0f, 0.2057f, 1.0f, 1.0f,
286 -0.5257f, -0.0f, 0.1794f, 1.0f, 1.0f,-0.5257f, -0.0f, 0.1528f, 1.0f, 1.0f,-0.5227f, -0.0f, 0.1264f, 1.0f, 1.0f,-0.5168f, -0.0f, 0.1007f, 1.0f, 1.0f,
287 -0.508f, -0.0f, 0.0762f, 1.0f, 1.0f,-0.4964f, -0.0f, 0.0531f, 1.0f, 1.0f,-0.4824f, -0.0f, 0.032f, 1.0f, 1.0f,-0.4661f, -0.0f, 0.0132f, 1.0f, 1.0f,
288 -0.4479f, 0.0f, -0.0029f, 1.0f, 1.0f,-0.4279f, 0.0f, -0.0162f, 1.0f, 1.0f,-0.4066f, 0.0f, -0.0264f, 1.0f, 1.0f,-0.3844f, 0.0f, -0.0333f, 1.0f, 1.0f,
289 -0.3616f, 0.0f, -0.0368f, 1.0f, 1.0f,-0.3385f, 0.0f, -0.0368f, 1.0f, 1.0f,-0.3157f, 0.0f, -0.0333f, 1.0f, 1.0f,-0.2935f, 0.0f, -0.0264f, 1.0f, 1.0f,
290 -0.2722f, 0.0f, -0.0162f, 1.0f, 1.0f,-0.2522f, 0.0f, -0.0029f, 1.0f, 1.0f,-0.234f, -0.0f, 0.0132f, 1.0f, 1.0f,-0.2177f, -0.0f, 0.032f, 1.0f, 1.0f,
291 -0.2037f, -0.0f, 0.0531f, 1.0f, 1.0f,-0.1922f, -0.0f, 0.0762f, 1.0f, 1.0f,-0.1833f, -0.0f, 0.1007f, 1.0f, 1.0f,-0.1774f, -0.0f, 0.1264f, 1.0f, 1.0f,
292 -0.1744f, -0.0f, 0.1528f, 1.0f, 1.0f
293 };
294
295 static const float data11[18 * GP_PRIM_DATABUF_SIZE] = {
296 0.963f, -0.0f, 0.1753f, 0.1f, 1.0f,0.9555f, -0.0f, 0.1761f, 0.2199f, 1.0f,0.9367f, -0.0f, 0.1758f, 0.6019f, 1.0f,0.9202f, -0.0f, 0.1741f, 0.7689f, 1.0f,
297 0.9036f, -0.0f, 0.1714f, 0.866f, 1.0f,0.8885f, -0.0f, 0.1668f, 0.9272f, 1.0f,0.8746f, -0.0f, 0.1607f, 0.9653f, 1.0f,0.8621f, -0.0f, 0.1531f, 0.9876f, 1.0f,
298 0.8503f, -0.0f, 0.1447f, 0.9983f, 1.0f,0.8389f, -0.0f, 0.1352f, 0.999f, 1.0f,0.8279f, -0.0f, 0.1244f, 0.9912f, 1.0f,0.8174f, -0.0f, 0.1125f, 0.9724f, 1.0f,
299 0.8079f, -0.0f, 0.099f, 0.9385f, 1.0f,0.7999f, -0.0f, 0.0839f, 0.8841f, 1.0f,0.7935f, -0.0f, 0.0669f, 0.7979f, 1.0f,0.7892f, -0.0f, 0.0488f, 0.6541f, 1.0f,
300 0.787f, -0.0f, 0.0305f, 0.36f, 1.0f,0.7847f, -0.0f, 0.0139f, 0.1f, 1.0f
301 };
302
303 static const float data12[18 * GP_PRIM_DATABUF_SIZE] = {
304 -1.0227f, -0.0f, 0.1753f, 0.1f, 1.0f,-1.0153f, -0.0f, 0.1761f, 0.2199f, 1.0f,-0.9964f, -0.0f, 0.1758f, 0.6019f, 1.0f,-0.9799f, -0.0f, 0.1741f, 0.7689f, 1.0f,
305 -0.9634f, -0.0f, 0.1714f, 0.866f, 1.0f,-0.9483f, -0.0f, 0.1668f, 0.9272f, 1.0f,-0.9344f, -0.0f, 0.1607f, 0.9653f, 1.0f,-0.9219f, -0.0f, 0.1531f, 0.9876f, 1.0f,
306 -0.9101f, -0.0f, 0.1447f, 0.9983f, 1.0f,-0.8986f, -0.0f, 0.1352f, 0.999f, 1.0f,-0.8876f, -0.0f, 0.1244f, 0.9912f, 1.0f,-0.8772f, -0.0f, 0.1125f, 0.9724f, 1.0f,
307 -0.8677f, -0.0f, 0.099f, 0.9385f, 1.0f,-0.8597f, -0.0f, 0.0839f, 0.8841f, 1.0f,-0.8533f, -0.0f, 0.0669f, 0.7979f, 1.0f,-0.849f, -0.0f, 0.0488f, 0.6541f, 1.0f,
308 -0.8467f, -0.0f, 0.0305f, 0.36f, 1.0f,-0.8444f, -0.0f, 0.0139f, 0.1f, 1.0f
309 };
310
311 static const float data13[33 * GP_PRIM_DATABUF_SIZE] = {
312 -0.6794f, -0.0f, 0.3908f, 0.1f, 1.0f,-0.6711f, -0.0f, 0.4112f, 0.2199f, 1.0f,-0.6513f, -0.0f, 0.4509f, 0.4615f, 1.0f,-0.6276f, -0.0f, 0.489f, 0.6019f, 1.0f,
313 -0.6001f, -0.0f, 0.5253f, 0.6981f, 1.0f,-0.5692f, -0.0f, 0.5598f, 0.7689f, 1.0f,-0.535f, -0.0f, 0.5924f, 0.8236f, 1.0f,-0.4979f, -0.0f, 0.6228f, 0.866f, 1.0f,
314 -0.4579f, -0.0f, 0.651f, 0.9003f, 1.0f,-0.4155f, -0.0f, 0.677f, 0.9272f, 1.0f,-0.3707f, -0.0f, 0.7005f, 0.9485f, 1.0f,-0.3239f, -0.0f, 0.7215f, 0.9653f, 1.0f,
315 -0.2753f, -0.0f, 0.7399f, 0.9781f, 1.0f,-0.2251f, -0.0f, 0.7555f, 0.9876f, 1.0f,-0.1736f, -0.0f, 0.7683f, 0.9942f, 1.0f,-0.121f, -0.0f, 0.778f, 0.9983f, 1.0f,
316 -0.0675f, -0.0f, 0.7847f, 0.9997f, 1.0f,-0.0134f, -0.0f, 0.7882f, 0.999f, 1.0f,0.0411f, -0.0f, 0.7884f, 0.9963f, 1.0f,0.0957f, -0.0f, 0.7851f, 0.9912f, 1.0f,
317 0.1503f, -0.0f, 0.7783f, 0.9834f, 1.0f,0.2045f, -0.0f, 0.7678f, 0.9724f, 1.0f,0.2581f, -0.0f, 0.7536f, 0.9576f, 1.0f,0.311f, -0.0f, 0.7355f, 0.9385f, 1.0f,
318 0.3628f, -0.0f, 0.7134f, 0.9143f, 1.0f,0.4133f, -0.0f, 0.6873f, 0.8841f, 1.0f,0.4622f, -0.0f, 0.6569f, 0.8461f, 1.0f,0.5095f, -0.0f, 0.6221f, 0.7979f, 1.0f,
319 0.5547f, -0.0f, 0.583f, 0.7359f, 1.0f,0.5977f, -0.0f, 0.5393f, 0.6541f, 1.0f,0.6382f, -0.0f, 0.4909f, 0.5396f, 1.0f,0.676f, -0.0f, 0.4377f, 0.36f, 1.0f,
320 0.7109f, -0.0f, 0.3797f, 0.1f, 1.0f
321 };
322
323 static const float data14[33 * GP_PRIM_DATABUF_SIZE] = {
324 -0.7544f, -0.0f, 0.1799f, 0.1f, 1.0f,-0.7495f, -0.0f, 0.162f, 0.2199f, 1.0f,-0.7392f, -0.0f, 0.1283f, 0.4615f, 1.0f,-0.7281f, -0.0f, 0.0975f, 0.6019f, 1.0f,
325 -0.7161f, -0.0f, 0.0693f, 0.6981f, 1.0f,-0.7033f, -0.0f, 0.0435f, 0.7689f, 1.0f,-0.6898f, -0.0f, 0.02f, 0.8236f, 1.0f,-0.6757f, 0.0f, -0.0014f, 0.866f, 1.0f,
326 -0.6609f, 0.0f, -0.0208f, 0.9003f, 1.0f,-0.6455f, 0.0f, -0.0386f, 0.9272f, 1.0f,-0.6297f, 0.0f, -0.0547f, 0.9485f, 1.0f,-0.6133f, 0.0f, -0.0695f, 0.9653f, 1.0f,
327 -0.5966f, 0.0f, -0.083f, 0.9781f, 1.0f,-0.5795f, 0.0f, -0.0955f, 0.9876f, 1.0f,-0.5621f, 0.0f, -0.1071f, 0.9942f, 1.0f,-0.5444f, 0.0f, -0.118f, 0.9983f, 1.0f,
328 -0.5265f, 0.0f, -0.1284f, 0.9997f, 1.0f,-0.5084f, 0.0f, -0.1384f, 0.999f, 1.0f,-0.4902f, 0.0f, -0.1483f, 0.9963f, 1.0f,-0.4719f, 0.0f, -0.1582f, 0.9912f, 1.0f,
329 -0.4537f, 0.0f, -0.1682f, 0.9834f, 1.0f,-0.4355f, 0.0f, -0.1787f, 0.9724f, 1.0f,-0.4173f, 0.0f, -0.1896f, 0.9576f, 1.0f,-0.3993f, 0.0f, -0.2013f, 0.9385f, 1.0f,
330 -0.3815f, 0.0f, -0.2138f, 0.9143f, 1.0f,-0.364f, 0.0f, -0.2274f, 0.8841f, 1.0f,-0.3467f, 0.0f, -0.2422f, 0.8461f, 1.0f,-0.3298f, 0.0f, -0.2584f, 0.7979f, 1.0f,
331 -0.3133f, 0.0f, -0.2762f, 0.7359f, 1.0f,-0.2972f, 0.0f, -0.2958f, 0.6541f, 1.0f,-0.2816f, 0.0f, -0.3173f, 0.5396f, 1.0f,-0.2665f, 0.0f, -0.3409f, 0.36f, 1.0f,
332 -0.2521f, 0.0f, -0.3668f, 0.1f, 1.0f
333 };
334
335 static const float data15[65 * GP_PRIM_DATABUF_SIZE] = {
336 -0.2854f, 0.0f, -0.4528f, 0.1f, 1.0f,-0.2866f, 0.0f, -0.4623f, 0.1288f, 1.0f,-0.2899f, 0.0f, -0.4814f, 0.2962f, 1.0f,-0.2943f, 0.0f, -0.5008f, 0.4147f, 1.0f,
337 -0.2995f, 0.0f, -0.5203f, 0.5028f, 1.0f,-0.3054f, 0.0f, -0.54f, 0.5723f, 1.0f,-0.3117f, 0.0f, -0.5598f, 0.6291f, 1.0f,-0.3182f, 0.0f, -0.5797f, 0.6768f, 1.0f,
338 -0.3249f, 0.0f, -0.5996f, 0.7177f, 1.0f,-0.3314f, 0.0f, -0.6196f, 0.753f, 1.0f,-0.3376f, 0.0f, -0.6395f, 0.7838f, 1.0f,-0.3432f, 0.0f, -0.6594f, 0.8109f, 1.0f,
339 -0.3482f, 0.0f, -0.6792f, 0.8349f, 1.0f,-0.3523f, 0.0f, -0.6989f, 0.8564f, 1.0f,-0.3552f, 0.0f, -0.7185f, 0.8756f, 1.0f,-0.3569f, 0.0f, -0.7379f, 0.8922f, 1.0f,
340 -0.357f, 0.0f, -0.7571f, 0.9074f, 1.0f,-0.3555f, 0.0f, -0.7761f, 0.9211f, 1.0f,-0.3522f, 0.0f, -0.7948f, 0.9329f, 1.0f,-0.3467f, 0.0f, -0.8132f, 0.944f, 1.0f,
341 -0.339f, 0.0f, -0.8313f, 0.9531f, 1.0f,-0.3289f, 0.0f, -0.849f, 0.9617f, 1.0f,-0.316f, 0.0f, -0.8663f, 0.9688f, 1.0f,-0.3004f, 0.0f, -0.8831f, 0.9755f, 1.0f,
342 -0.2817f, 0.0f, -0.8996f, 0.9808f, 1.0f,-0.2598f, 0.0f, -0.9155f, 0.9858f, 1.0f,-0.2344f, 0.0f, -0.9309f, 0.9894f, 1.0f,-0.2051f, 0.0f, -0.9457f, 0.993f, 1.0f,
343 -0.1716f, 0.0f, -0.9599f, 0.9952f, 1.0f,-0.1341f, 0.0f, -0.9733f, 0.9973f, 1.0f,-0.0928f, 0.0f, -0.9857f, 0.9987f, 1.0f,-0.05f, 0.0f, -0.9962f, 0.9993f, 1.0f,
344 -0.0087f, 0.0f, -1.0041f, 1.0f, 1.0f,0.0287f, 0.0f, -1.0087f, 0.9993f, 1.0f,0.062f, 0.0f, -1.0104f, 0.9987f, 1.0f,0.0924f, 0.0f, -1.0102f, 0.9973f, 1.0f,
345 0.1205f, 0.0f, -1.0086f, 0.9952f, 1.0f,0.1465f, 0.0f, -1.0057f, 0.993f, 1.0f,0.1706f, 0.0f, -1.0017f, 0.9894f, 1.0f,0.1928f, 0.0f, -0.9964f, 0.9858f, 1.0f,
346 0.2132f, 0.0f, -0.99f, 0.9808f, 1.0f,0.2318f, 0.0f, -0.9824f, 0.9755f, 1.0f,0.2487f, 0.0f, -0.9738f, 0.9688f, 1.0f,0.2641f, 0.0f, -0.9641f, 0.9617f, 1.0f,
347 0.2778f, 0.0f, -0.9533f, 0.9531f, 1.0f,0.2901f, 0.0f, -0.9415f, 0.944f, 1.0f,0.3009f, 0.0f, -0.9287f, 0.9329f, 1.0f,0.3103f, 0.0f, -0.9148f, 0.9211f, 1.0f,
348 0.3183f, 0.0f, -0.8999f, 0.9074f, 1.0f,0.325f, 0.0f, -0.8841f, 0.8922f, 1.0f,0.3304f, 0.0f, -0.8672f, 0.8756f, 1.0f,0.3345f, 0.0f, -0.8493f, 0.8564f, 1.0f,
349 0.3374f, 0.0f, -0.8305f, 0.8349f, 1.0f,0.3391f, 0.0f, -0.8107f, 0.8109f, 1.0f,0.3397f, 0.0f, -0.7899f, 0.7838f, 1.0f,0.3392f, 0.0f, -0.7682f, 0.753f, 1.0f,
350 0.3377f, 0.0f, -0.7456f, 0.7177f, 1.0f,0.3352f, 0.0f, -0.7221f, 0.6768f, 1.0f,0.3317f, 0.0f, -0.6976f, 0.6291f, 1.0f,0.3273f, 0.0f, -0.6722f, 0.5723f, 1.0f,
351 0.322f, 0.0f, -0.646f, 0.5028f, 1.0f,0.316f, 0.0f, -0.6188f, 0.4147f, 1.0f,0.3091f, 0.0f, -0.5908f, 0.2962f, 1.0f,0.3015f, 0.0f, -0.5619f, 0.1288f, 1.0f,
352 0.2974f, 0.0f, -0.5472f, 0.1f, 1.0f
353 };
354
355 static const float data16[34 * GP_PRIM_DATABUF_SIZE] = {
356 -0.4408f, -0.0f, 0.5073f, 0.1f, 1.0f,-0.4312f, -0.0f, 0.5132f, 0.1288f, 1.0f,-0.3945f, -0.0f, 0.5319f, 0.4147f, 1.0f,-0.3605f, -0.0f, 0.5438f, 0.5723f, 1.0f,
357 -0.3288f, -0.0f, 0.5496f, 0.6768f, 1.0f,-0.2992f, -0.0f, 0.5501f, 0.753f, 1.0f,-0.2712f, -0.0f, 0.546f, 0.8109f, 1.0f,-0.2446f, -0.0f, 0.5381f, 0.8564f, 1.0f,
358 -0.2191f, -0.0f, 0.5272f, 0.8922f, 1.0f,-0.1943f, -0.0f, 0.5139f, 0.9211f, 1.0f,-0.1699f, -0.0f, 0.4992f, 0.944f, 1.0f,-0.1456f, -0.0f, 0.4837f, 0.9617f, 1.0f,
359 -0.1211f, -0.0f, 0.4682f, 0.9755f, 1.0f,-0.096f, -0.0f, 0.4535f, 0.9858f, 1.0f,-0.07f, -0.0f, 0.4404f, 0.993f, 1.0f,-0.0428f, -0.0f, 0.4301f, 0.9973f, 1.0f,
360 -0.016f, -0.0f, 0.4235f, 0.9993f, 1.0f,0.0076f, -0.0f, 0.4216f, 0.9993f, 1.0f,0.0283f, -0.0f, 0.4237f, 0.9973f, 1.0f,0.0477f, -0.0f, 0.4291f, 0.993f, 1.0f,
361 0.067f, -0.0f, 0.4369f, 0.9858f, 1.0f,0.0866f, -0.0f, 0.4465f, 0.9755f, 1.0f,0.1068f, -0.0f, 0.4576f, 0.9617f, 1.0f,0.1278f, -0.0f, 0.4695f, 0.944f, 1.0f,
362 0.1498f, -0.0f, 0.4819f, 0.9211f, 1.0f,0.173f, -0.0f, 0.4941f, 0.8922f, 1.0f,0.1977f, -0.0f, 0.5056f, 0.8564f, 1.0f,0.2241f, -0.0f, 0.5159f, 0.8109f, 1.0f,
363 0.2523f, -0.0f, 0.5244f, 0.753f, 1.0f,0.2825f, -0.0f, 0.5307f, 0.6768f, 1.0f,0.315f, -0.0f, 0.5342f, 0.5723f, 1.0f,0.3499f, -0.0f, 0.5345f, 0.4147f, 1.0f,
364 0.3875f, -0.0f, 0.5311f, 0.1288f, 1.0f,0.3973f, -0.0f, 0.5295f, 0.1f, 1.0f
365 };
366
367 static const float data17[33 * GP_PRIM_DATABUF_SIZE] = {
368 0.724f, -0.0f, 0.1799f, 0.1f, 1.0f,0.7192f, -0.0f, 0.162f, 0.2199f, 1.0f,0.7089f, -0.0f, 0.1283f, 0.4615f, 1.0f,0.6977f, -0.0f, 0.0975f, 0.6019f, 1.0f,
369 0.6858f, -0.0f, 0.0693f, 0.6981f, 1.0f,0.673f, -0.0f, 0.0435f, 0.7689f, 1.0f,0.6595f, -0.0f, 0.02f, 0.8236f, 1.0f,0.6453f, 0.0f, -0.0014f, 0.866f, 1.0f,
370 0.6306f, 0.0f, -0.0208f, 0.9003f, 1.0f,0.6152f, 0.0f, -0.0386f, 0.9272f, 1.0f,0.5994f, 0.0f, -0.0547f, 0.9485f, 1.0f,0.583f, 0.0f, -0.0695f, 0.9653f, 1.0f,
371 0.5663f, 0.0f, -0.083f, 0.9781f, 1.0f,0.5492f, 0.0f, -0.0955f, 0.9876f, 1.0f,0.5317f, 0.0f, -0.1071f, 0.9942f, 1.0f,0.514f, 0.0f, -0.118f, 0.9983f, 1.0f,
372 0.4961f, 0.0f, -0.1284f, 0.9997f, 1.0f,0.4781f, 0.0f, -0.1384f, 0.999f, 1.0f,0.4599f, 0.0f, -0.1483f, 0.9963f, 1.0f,0.4416f, 0.0f, -0.1582f, 0.9912f, 1.0f,
373 0.4234f, 0.0f, -0.1682f, 0.9834f, 1.0f,0.4051f, 0.0f, -0.1787f, 0.9724f, 1.0f,0.387f, 0.0f, -0.1896f, 0.9576f, 1.0f,0.369f, 0.0f, -0.2013f, 0.9385f, 1.0f,
374 0.3512f, 0.0f, -0.2138f, 0.9143f, 1.0f,0.3337f, 0.0f, -0.2274f, 0.8841f, 1.0f,0.3164f, 0.0f, -0.2422f, 0.8461f, 1.0f,0.2995f, 0.0f, -0.2584f, 0.7979f, 1.0f,
375 0.2829f, 0.0f, -0.2762f, 0.7359f, 1.0f,0.2669f, 0.0f, -0.2958f, 0.6541f, 1.0f,0.2513f, 0.0f, -0.3173f, 0.5396f, 1.0f,0.2362f, 0.0f, -0.3409f, 0.36f, 1.0f,
376 0.2218f, 0.0f, -0.3668f, 0.1f, 1.0f
377 };
378
379 static const float data18[33 * GP_PRIM_DATABUF_SIZE] = {
380 -0.1119f, 0.0f, -0.7868f, 0.1f, 1.0f,-0.1087f, 0.0f, -0.7905f, 0.2199f, 1.0f,-0.1022f, 0.0f, -0.7974f, 0.4615f, 1.0f,-0.0955f, 0.0f, -0.8038f, 0.6019f, 1.0f,
381 -0.0886f, 0.0f, -0.8097f, 0.6981f, 1.0f,-0.0816f, 0.0f, -0.8152f, 0.7689f, 1.0f,-0.0744f, 0.0f, -0.8201f, 0.8236f, 1.0f,-0.0671f, 0.0f, -0.8246f, 0.866f, 1.0f,
382 -0.0597f, 0.0f, -0.8286f, 0.9003f, 1.0f,-0.0522f, 0.0f, -0.8321f, 0.9272f, 1.0f,-0.0446f, 0.0f, -0.8351f, 0.9485f, 1.0f,-0.0369f, 0.0f, -0.8376f, 0.9653f, 1.0f,
383 -0.0292f, 0.0f, -0.8397f, 0.9781f, 1.0f,-0.0214f, 0.0f, -0.8413f, 0.9876f, 1.0f,-0.0136f, 0.0f, -0.8424f, 0.9942f, 1.0f,-0.0057f, 0.0f, -0.843f, 0.9983f, 1.0f,
384 0.0022f, 0.0f, -0.8431f, 0.9997f, 1.0f,0.01f, 0.0f, -0.8428f, 0.999f, 1.0f,0.0178f, 0.0f, -0.8419f, 0.9963f, 1.0f,0.0257f, 0.0f, -0.8407f, 0.9912f, 1.0f,
385 0.0334f, 0.0f, -0.8389f, 0.9834f, 1.0f,0.0411f, 0.0f, -0.8366f, 0.9724f, 1.0f,0.0488f, 0.0f, -0.8339f, 0.9576f, 1.0f,0.0564f, 0.0f, -0.8308f, 0.9385f, 1.0f,
386 0.0638f, 0.0f, -0.8271f, 0.9143f, 1.0f,0.0712f, 0.0f, -0.823f, 0.8841f, 1.0f,0.0785f, 0.0f, -0.8184f, 0.8461f, 1.0f,0.0856f, 0.0f, -0.8134f, 0.7979f, 1.0f,
387 0.0925f, 0.0f, -0.8079f, 0.7359f, 1.0f,0.0994f, 0.0f, -0.8019f, 0.6541f, 1.0f,0.106f, 0.0f, -0.7954f, 0.5396f, 1.0f,0.1125f, 0.0f, -0.7885f, 0.36f, 1.0f,
388 0.1187f, 0.0f, -0.7812f, 0.1f, 1.0f
389 };
390
391 static const float data19[34 * GP_PRIM_DATABUF_SIZE] = {
392 -0.1119f, 0.0f, -0.2655f, 0.1f, 1.0f,-0.1101f, 0.0f, -0.2605f, 0.1288f, 1.0f,-0.1032f, 0.0f, -0.2424f, 0.4147f, 1.0f,-0.0965f, 0.0f, -0.2276f, 0.5723f, 1.0f,
393 -0.0901f, 0.0f, -0.2158f, 0.6768f, 1.0f,-0.0837f, 0.0f, -0.2069f, 0.753f, 1.0f,-0.0775f, 0.0f, -0.2006f, 0.8109f, 1.0f,-0.0712f, 0.0f, -0.1967f, 0.8564f, 1.0f,
394 -0.065f, 0.0f, -0.1949f, 0.8922f, 1.0f,-0.0587f, 0.0f, -0.195f, 0.9211f, 1.0f,-0.0522f, 0.0f, -0.1968f, 0.944f, 1.0f,-0.0455f, 0.0f, -0.2001f, 0.9617f, 1.0f,
395 -0.0386f, 0.0f, -0.2046f, 0.9755f, 1.0f,-0.0315f, 0.0f, -0.21f, 0.9858f, 1.0f,-0.0239f, 0.0f, -0.2163f, 0.993f, 1.0f,-0.016f, 0.0f, -0.223f, 0.9973f, 1.0f,
396 -0.0075f, 0.0f, -0.2301f, 0.9993f, 1.0f,-0.0002f, 0.0f, -0.2342f, 0.9993f, 1.0f,0.0054f, 0.0f, -0.234f, 0.9973f, 1.0f,0.0106f, 0.0f, -0.2324f, 0.993f, 1.0f,
397 0.0155f, 0.0f, -0.2297f, 0.9858f, 1.0f,0.0202f, 0.0f, -0.2261f, 0.9755f, 1.0f,0.0249f, 0.0f, -0.2219f, 0.9617f, 1.0f,0.0296f, 0.0f, -0.2174f, 0.944f, 1.0f,
398 0.0344f, 0.0f, -0.2128f, 0.9211f, 1.0f,0.0394f, 0.0f, -0.2084f, 0.8922f, 1.0f,0.0448f, 0.0f, -0.2044f, 0.8564f, 1.0f,0.0506f, 0.0f, -0.2012f, 0.8109f, 1.0f,
399 0.057f, 0.0f, -0.1988f, 0.753f, 1.0f,0.064f, 0.0f, -0.1977f, 0.6768f, 1.0f,0.0717f, 0.0f, -0.198f, 0.5723f, 1.0f,0.0804f, 0.0f, -0.2001f, 0.4147f, 1.0f,
400 0.0899f, 0.0f, -0.2042f, 0.1288f, 1.0f,0.0925f, 0.0f, -0.2055f, 0.1f, 1.0f
401 };
402
403 static const float data20[33 * GP_PRIM_DATABUF_SIZE] = {
404 0.7993f, -0.0f, 0.3242f, 0.1f, 1.0f,0.8169f, -0.0f, 0.3354f, 0.2199f, 1.0f,0.8512f, -0.0f, 0.3542f, 0.4615f, 1.0f,0.884f, -0.0f, 0.3686f, 0.6019f, 1.0f,
405 0.9153f, -0.0f, 0.3787f, 0.6981f, 1.0f,0.945f, -0.0f, 0.3848f, 0.7689f, 1.0f,0.9729f, -0.0f, 0.3871f, 0.8236f, 1.0f,0.9989f, -0.0f, 0.3857f, 0.866f, 1.0f,
406 1.0229f, -0.0f, 0.3811f, 0.9003f, 1.0f,1.0447f, -0.0f, 0.3732f, 0.9272f, 1.0f,1.0643f, -0.0f, 0.3624f, 0.9485f, 1.0f,1.0814f, -0.0f, 0.349f, 0.9653f, 1.0f,
407 1.096f, -0.0f, 0.333f, 0.9781f, 1.0f,1.108f, -0.0f, 0.3147f, 0.9876f, 1.0f,1.1172f, -0.0f, 0.2944f, 0.9942f, 1.0f,1.1235f, -0.0f, 0.2723f, 0.9983f, 1.0f,
408 1.1267f, -0.0f, 0.2485f, 0.9997f, 1.0f,1.1269f, -0.0f, 0.2233f, 0.999f, 1.0f,1.1237f, -0.0f, 0.197f, 0.9963f, 1.0f,1.1172f, -0.0f, 0.1697f, 0.9912f, 1.0f,
409 1.1071f, -0.0f, 0.1417f, 0.9834f, 1.0f,1.0934f, -0.0f, 0.1131f, 0.9724f, 1.0f,1.0759f, -0.0f, 0.0842f, 0.9576f, 1.0f,1.0545f, -0.0f, 0.0553f, 0.9385f, 1.0f,
410 1.0291f, -0.0f, 0.0265f, 0.9143f, 1.0f,0.9995f, 0.0f, -0.0019f, 0.8841f, 1.0f,0.9657f, 0.0f, -0.0298f, 0.8461f, 1.0f,0.9275f, 0.0f, -0.0569f, 0.7979f, 1.0f,
411 0.8847f, 0.0f, -0.0829f, 0.7359f, 1.0f,0.8373f, 0.0f, -0.1077f, 0.6541f, 1.0f,0.7852f, 0.0f, -0.1311f, 0.5396f, 1.0f,0.7281f, 0.0f, -0.1528f, 0.36f, 1.0f,
412 0.6661f, 0.0f, -0.1725f, 0.1f, 1.0f
413 };
414
415 static const float data21[64 * GP_PRIM_DATABUF_SIZE] = {
416 -0.7428f, -0.0f, 0.2977f, 0.1f, 1.0f,-0.7608f, -0.0f, 0.3138f, 0.2199f, 1.0f,-0.7786f, -0.0f, 0.3284f, 0.36f, 1.0f,-0.7962f, -0.0f, 0.3414f, 0.4615f, 1.0f,
417 -0.8135f, -0.0f, 0.3531f, 0.5396f, 1.0f,-0.8306f, -0.0f, 0.3633f, 0.6019f, 1.0f,-0.8473f, -0.0f, 0.3722f, 0.6541f, 1.0f,-0.8637f, -0.0f, 0.3798f, 0.6981f, 1.0f,
418 -0.8798f, -0.0f, 0.386f, 0.7359f, 1.0f,-0.8956f, -0.0f, 0.3911f, 0.7689f, 1.0f,-0.9109f, -0.0f, 0.3949f, 0.7979f, 1.0f,-0.9259f, -0.0f, 0.3975f, 0.8236f, 1.0f,
419 -0.9405f, -0.0f, 0.3989f, 0.8461f, 1.0f,-0.9546f, -0.0f, 0.3993f, 0.866f, 1.0f,-0.9682f, -0.0f, 0.3986f, 0.8841f, 1.0f,-0.9814f, -0.0f, 0.3969f, 0.9003f, 1.0f,
420 -0.994f, -0.0f, 0.3941f, 0.9143f, 1.0f,-1.0062f, -0.0f, 0.3904f, 0.9272f, 1.0f,-1.0178f, -0.0f, 0.3858f, 0.9385f, 1.0f,-1.0288f, -0.0f, 0.3803f, 0.9485f, 1.0f,
421 -1.0393f, -0.0f, 0.3739f, 0.9576f, 1.0f,-1.0492f, -0.0f, 0.3668f, 0.9653f, 1.0f,-1.0584f, -0.0f, 0.3588f, 0.9724f, 1.0f,-1.067f, -0.0f, 0.3501f, 0.9781f, 1.0f,
422 -1.075f, -0.0f, 0.3407f, 0.9834f, 1.0f,-1.0822f, -0.0f, 0.3307f, 0.9876f, 1.0f,-1.0888f, -0.0f, 0.32f, 0.9912f, 1.0f,-1.0946f, -0.0f, 0.3087f, 0.9942f, 1.0f,
423 -1.0997f, -0.0f, 0.2969f, 0.9963f, 1.0f,-1.104f, -0.0f, 0.2845f, 0.9983f, 1.0f,-1.1075f, -0.0f, 0.2717f, 0.999f, 1.0f,-1.1103f, -0.0f, 0.2584f, 0.9997f, 1.0f,
424 -1.1122f, -0.0f, 0.2447f, 0.9997f, 1.0f,-1.1132f, -0.0f, 0.2306f, 0.999f, 1.0f,-1.1134f, -0.0f, 0.2162f, 0.9983f, 1.0f,-1.1128f, -0.0f, 0.2015f, 0.9963f, 1.0f,
425 -1.1112f, -0.0f, 0.1865f, 0.9942f, 1.0f,-1.1086f, -0.0f, 0.1713f, 0.9912f, 1.0f,-1.1052f, -0.0f, 0.1559f, 0.9876f, 1.0f,-1.1007f, -0.0f, 0.1404f, 0.9834f, 1.0f,
426 -1.0953f, -0.0f, 0.1247f, 0.9781f, 1.0f,-1.0889f, -0.0f, 0.109f, 0.9724f, 1.0f,-1.0814f, -0.0f, 0.0932f, 0.9653f, 1.0f,-1.0729f, -0.0f, 0.0774f, 0.9576f, 1.0f,
427 -1.0633f, -0.0f, 0.0617f, 0.9485f, 1.0f,-1.0527f, -0.0f, 0.046f, 0.9385f, 1.0f,-1.0409f, -0.0f, 0.0304f, 0.9272f, 1.0f,-1.028f, -0.0f, 0.015f, 0.9143f, 1.0f,
428 -1.0139f, 0.0f, -0.0003f, 0.9003f, 1.0f,-0.9987f, 0.0f, -0.0154f, 0.8841f, 1.0f,-0.9823f, 0.0f, -0.0302f, 0.866f, 1.0f,-0.9646f, 0.0f, -0.0447f, 0.8461f, 1.0f,
429 -0.9458f, 0.0f, -0.0589f, 0.8236f, 1.0f,-0.9257f, 0.0f, -0.0727f, 0.7979f, 1.0f,-0.9043f, 0.0f, -0.0862f, 0.7689f, 1.0f,-0.8816f, 0.0f, -0.0992f, 0.7359f, 1.0f,
430 -0.8576f, 0.0f, -0.1117f, 0.6981f, 1.0f,-0.8323f, 0.0f, -0.1237f, 0.6541f, 1.0f,-0.8056f, 0.0f, -0.1352f, 0.6019f, 1.0f,-0.7775f, 0.0f, -0.1461f, 0.5396f, 1.0f,
431 -0.7481f, 0.0f, -0.1564f, 0.4615f, 1.0f,-0.7172f, 0.0f, -0.166f, 0.36f, 1.0f,-0.6849f, 0.0f, -0.175f, 0.2199f, 1.0f,-0.6512f, 0.0f, -0.1832f, 0.1f, 1.0f
432 };
433
434 static const float data22[26 * GP_PRIM_DATABUF_SIZE] = {
435 0.2721f, -0.0f, 0.2084f, 1.0f, 1.0f,0.2721f, -0.0f, 0.2112f, 1.0f, 1.0f,0.2739f, -0.0f, 0.2223f, 1.0f, 1.0f,0.2778f, -0.0f, 0.2324f, 1.0f, 1.0f,
436 0.2836f, -0.0f, 0.2409f, 1.0f, 1.0f,0.291f, -0.0f, 0.2471f, 1.0f, 1.0f,0.2994f, -0.0f, 0.2507f, 1.0f, 1.0f,0.3082f, -0.0f, 0.2515f, 1.0f, 1.0f,
437 0.3169f, -0.0f, 0.2493f, 1.0f, 1.0f,0.3248f, -0.0f, 0.2443f, 1.0f, 1.0f,0.3315f, -0.0f, 0.2369f, 1.0f, 1.0f,0.3364f, -0.0f, 0.2275f, 1.0f, 1.0f,
438 0.3392f, -0.0f, 0.2168f, 1.0f, 1.0f,0.3398f, -0.0f, 0.2056f, 1.0f, 1.0f,0.3381f, -0.0f, 0.1945f, 1.0f, 1.0f,0.3342f, -0.0f, 0.1844f, 1.0f, 1.0f,
439 0.3283f, -0.0f, 0.176f, 1.0f, 1.0f,0.321f, -0.0f, 0.1697f, 1.0f, 1.0f,0.3126f, -0.0f, 0.1661f, 1.0f, 1.0f,0.3038f, -0.0f, 0.1653f, 1.0f, 1.0f,
440 0.2951f, -0.0f, 0.1675f, 1.0f, 1.0f,0.2871f, -0.0f, 0.1725f, 1.0f, 1.0f,0.2805f, -0.0f, 0.1799f, 1.0f, 1.0f,0.2756f, -0.0f, 0.1893f, 1.0f, 1.0f,
441 0.2727f, -0.0f, 0.2f, 1.0f, 1.0f,0.2721f, -0.0f, 0.2056f, 1.0f, 1.0f
442 };
443
444 static const float data23[26 * GP_PRIM_DATABUF_SIZE] = {
445 -0.3545f, -0.0f, 0.2084f, 1.0f, 1.0f,-0.3544f, -0.0f, 0.2112f, 1.0f, 1.0f,-0.3527f, -0.0f, 0.2223f, 1.0f, 1.0f,-0.3488f, -0.0f, 0.2324f, 1.0f, 1.0f,
446 -0.343f, -0.0f, 0.2409f, 1.0f, 1.0f,-0.3356f, -0.0f, 0.2471f, 1.0f, 1.0f,-0.3272f, -0.0f, 0.2507f, 1.0f, 1.0f,-0.3184f, -0.0f, 0.2515f, 1.0f, 1.0f,
447 -0.3097f, -0.0f, 0.2493f, 1.0f, 1.0f,-0.3018f, -0.0f, 0.2443f, 1.0f, 1.0f,-0.2951f, -0.0f, 0.2369f, 1.0f, 1.0f,-0.2902f, -0.0f, 0.2275f, 1.0f, 1.0f,
448 -0.2874f, -0.0f, 0.2168f, 1.0f, 1.0f,-0.2868f, -0.0f, 0.2056f, 1.0f, 1.0f,-0.2885f, -0.0f, 0.1945f, 1.0f, 1.0f,-0.2924f, -0.0f, 0.1844f, 1.0f, 1.0f,
449 -0.2983f, -0.0f, 0.176f, 1.0f, 1.0f,-0.3056f, -0.0f, 0.1697f, 1.0f, 1.0f,-0.314f, -0.0f, 0.1661f, 1.0f, 1.0f,-0.3228f, -0.0f, 0.1653f, 1.0f, 1.0f,
450 -0.3315f, -0.0f, 0.1675f, 1.0f, 1.0f,-0.3394f, -0.0f, 0.1725f, 1.0f, 1.0f,-0.3461f, -0.0f, 0.1799f, 1.0f, 1.0f,-0.351f, -0.0f, 0.1893f, 1.0f, 1.0f,
451 -0.3539f, -0.0f, 0.2f, 1.0f, 1.0f,-0.3544f, -0.0f, 0.2056f, 1.0f, 1.0f
452 };
453
454 static const float data24[33 * GP_PRIM_DATABUF_SIZE] = {
455 0.1904f, -0.0f, 0.0983f, 0.1f, 1.0f,0.1997f, -0.0f, 0.0774f, 0.2199f, 1.0f,0.2234f, -0.0f, 0.0407f, 0.4615f, 1.0f,0.2477f, -0.0f, 0.0158f, 0.6019f, 1.0f,
456 0.2767f, -0.0f, -0.0047f, 0.6981f, 1.0f,0.3061f, -0.0f, -0.0179f, 0.7689f, 1.0f,0.3346f, -0.0f, -0.0247f, 0.8236f, 1.0f,0.362f, -0.0f, -0.0262f, 0.866f, 1.0f,
457 0.3881f, -0.0f, -0.0231f, 0.9003f, 1.0f,0.4128f, -0.0f, -0.0159f, 0.9272f, 1.0f,0.436f, -0.0f, -0.0049f, 0.9485f, 1.0f,0.4577f, 0.0f, 0.0099f, 0.9653f, 1.0f,
458 0.4778f, 0.0f, 0.0289f, 0.9781f, 1.0f,0.4959f, 0.0f, 0.0524f, 0.9876f, 1.0f,0.5114f, 0.0f, 0.0806f, 0.9942f, 1.0f,0.5229f, 0.0f, 0.1134f, 0.9983f, 1.0f,
459 0.5291f, 0.0f, 0.1498f, 0.9997f, 1.0f,0.5289f, 0.0f, 0.1884f, 0.999f, 1.0f,0.5219f, -0.0f, 0.2267f, 0.9963f, 1.0f,0.5087f, -0.0f, 0.2616f, 0.9912f, 1.0f,
460 0.4907f, -0.0f, 0.2916f, 0.9834f, 1.0f,0.4697f, -0.0f, 0.3159f, 0.9724f, 1.0f,0.4465f, -0.0f, 0.3349f, 0.9576f, 1.0f,0.422f, -0.0f, 0.3489f, 0.9385f, 1.0f,
461 0.3964f, -0.0f, 0.3582f, 0.9143f, 1.0f,0.3705f, -0.0f, 0.3628f, 0.8841f, 1.0f,0.3436f, -0.0f, 0.363f, 0.8461f, 1.0f,0.3166f, -0.0f, 0.3586f, 0.7979f, 1.0f,
462 0.2897f, -0.0f, 0.3491f, 0.7359f, 1.0f,0.2635f, -0.0f, 0.3344f, 0.6541f, 1.0f,0.2382f, -0.0f, 0.3137f, 0.5396f, 1.0f,0.2162f, -0.0f, 0.2882f, 0.36f, 1.0f,
463 0.1949f, -0.0f, 0.2516f, 0.1f, 1.0f
464 };
465
466 static const float data25[18 * GP_PRIM_DATABUF_SIZE] = {
467 -1.0361f, -0.0f, 0.1745f, 0.1f, 1.0f,-1.0319f, -0.0f, 0.177f, 0.2199f, 1.0f,-1.0153f, -0.0f, 0.1852f, 0.6019f, 1.0f,-0.999f, -0.0f, 0.1907f, 0.7689f, 1.0f,
468 -0.983f, -0.0f, 0.1936f, 0.866f, 1.0f,-0.9673f, -0.0f, 0.1941f, 0.9272f, 1.0f,-0.9522f, -0.0f, 0.1923f, 0.9653f, 1.0f,-0.9376f, -0.0f, 0.1885f, 0.9876f, 1.0f,
469 -0.9236f, -0.0f, 0.1827f, 0.9983f, 1.0f,-0.9103f, -0.0f, 0.1752f, 0.999f, 1.0f,-0.8978f, -0.0f, 0.1662f, 0.9912f, 1.0f,-0.8862f, -0.0f, 0.1558f, 0.9724f, 1.0f,
470 -0.8756f, -0.0f, 0.1441f, 0.9385f, 1.0f,-0.866f, -0.0f, 0.1314f, 0.8841f, 1.0f,-0.8575f, -0.0f, 0.1179f, 0.7979f, 1.0f,-0.8501f, -0.0f, 0.1036f, 0.6541f, 1.0f,
471 -0.8441f, -0.0f, 0.0889f, 0.36f, 1.0f,-0.8416f, -0.0f, 0.0813f, 0.1f, 1.0f
472 };
473
474 static const float data26[18 * GP_PRIM_DATABUF_SIZE] = {
475 0.9747f, -0.0f, 0.1745f, 0.1f, 1.0f,0.9706f, -0.0f, 0.177f, 0.2199f, 1.0f,0.954f, -0.0f, 0.1852f, 0.6019f, 1.0f,0.9377f, -0.0f, 0.1907f, 0.7689f, 1.0f,
476 0.9216f, -0.0f, 0.1936f, 0.866f, 1.0f,0.906f, -0.0f, 0.1941f, 0.9272f, 1.0f,0.8908f, -0.0f, 0.1923f, 0.9653f, 1.0f,0.8762f, -0.0f, 0.1885f, 0.9876f, 1.0f,
477 0.8622f, -0.0f, 0.1827f, 0.9983f, 1.0f,0.849f, -0.0f, 0.1752f, 0.999f, 1.0f,0.8365f, -0.0f, 0.1662f, 0.9912f, 1.0f,0.8249f, -0.0f, 0.1558f, 0.9724f, 1.0f,
478 0.8143f, -0.0f, 0.1441f, 0.9385f, 1.0f,0.8046f, -0.0f, 0.1314f, 0.8841f, 1.0f,0.7961f, -0.0f, 0.1179f, 0.7979f, 1.0f,0.7888f, -0.0f, 0.1036f, 0.6541f, 1.0f,
479 0.7828f, -0.0f, 0.0889f, 0.36f, 1.0f,0.7802f, -0.0f, 0.0813f, 0.1f, 1.0f
480 };
481
482 static const float data27[33 * GP_PRIM_DATABUF_SIZE] = {
483 -0.186f, -0.0f, 0.0983f, 0.1f, 1.0f,-0.1954f, -0.0f, 0.0774f, 0.2199f, 1.0f,-0.2191f, -0.0f, 0.0407f, 0.4615f, 1.0f,-0.2434f, -0.0f, 0.0158f, 0.6019f, 1.0f,
484 -0.2723f, -0.0f, -0.0047f, 0.6981f, 1.0f,-0.3017f, -0.0f, -0.0179f, 0.7689f, 1.0f,-0.3302f, -0.0f, -0.0247f, 0.8236f, 1.0f,-0.3576f, -0.0f, -0.0262f, 0.866f, 1.0f,
485 -0.3837f, -0.0f, -0.0231f, 0.9003f, 1.0f,-0.4085f, -0.0f, -0.0159f, 0.9272f, 1.0f,-0.4317f, -0.0f, -0.0049f, 0.9485f, 1.0f,-0.4533f, 0.0f, 0.0099f, 0.9653f, 1.0f,
486 -0.4734f, 0.0f, 0.0289f, 0.9781f, 1.0f,-0.4916f, 0.0f, 0.0524f, 0.9876f, 1.0f,-0.507f, 0.0f, 0.0806f, 0.9942f, 1.0f,-0.5185f, 0.0f, 0.1134f, 0.9983f, 1.0f,
487 -0.5247f, 0.0f, 0.1498f, 0.9997f, 1.0f,-0.5246f, 0.0f, 0.1884f, 0.999f, 1.0f,-0.5175f, -0.0f, 0.2267f, 0.9963f, 1.0f,-0.5043f, -0.0f, 0.2616f, 0.9912f, 1.0f,
488 -0.4864f, -0.0f, 0.2916f, 0.9834f, 1.0f,-0.4653f, -0.0f, 0.3159f, 0.9724f, 1.0f,-0.4422f, -0.0f, 0.3349f, 0.9576f, 1.0f,-0.4177f, -0.0f, 0.3489f, 0.9385f, 1.0f,
489 -0.3921f, -0.0f, 0.3582f, 0.9143f, 1.0f,-0.3661f, -0.0f, 0.3628f, 0.8841f, 1.0f,-0.3392f, -0.0f, 0.363f, 0.8461f, 1.0f,-0.3123f, -0.0f, 0.3586f, 0.7979f, 1.0f,
490 -0.2853f, -0.0f, 0.3491f, 0.7359f, 1.0f,-0.2591f, -0.0f, 0.3344f, 0.6541f, 1.0f,-0.2339f, -0.0f, 0.3137f, 0.5396f, 1.0f,-0.2118f, -0.0f, 0.2882f, 0.36f, 1.0f,
491 -0.1906f, -0.0f, 0.2516f, 0.1f, 1.0f
492 };
493
494
495 /* ***************************************************************** */
496 /* Monkey Color Data */
497
498 static const ColorTemplate gp_monkey_pct_black = {
499         "Black",
500         {0.0f, 0.0f, 0.0f, 1.0f},
501         {0.0f, 0.0f, 0.0f, 0.0f},
502 };
503
504 static const ColorTemplate gp_monkey_pct_skin = {
505         "Skin",
506         {0.733f, 0.569f, 0.361f, 1.0f},
507         {0.745f, 0.502f, 0.278f, 1.0f}
508 };
509
510 static const ColorTemplate gp_monkey_pct_skin_light = {
511         "Skin_Light",
512         {0.914f, 0.827f, 0.635f, 1.0f},
513         {0.913f, 0.828f, 0.637f, 0.0f}
514 };
515
516 static const ColorTemplate gp_monkey_pct_skin_shadow = {
517         "Skin_Shadow",
518         {0.322f, 0.29f, 0.224f, 0.5f},
519         {0.32f, 0.29f, 0.223f, 0.3f}
520 };
521
522 static const ColorTemplate gp_monkey_pct_eyes = {
523         "Eyes",
524         {0.553f, 0.39f, 0.266f, 0.0f},
525         {0.847f, 0.723f, 0.599f, 1.0f}
526 };
527
528 static const ColorTemplate gp_monkey_pct_pupils = {
529         "Pupils",
530         {0.0f, 0.0f, 0.0f, 0.0f},
531         {0.0f, 0.0f, 0.0f, 1.0f}
532 };
533
534 /* ***************************************************************** */
535 /* Monkey API */
536
537 /* add a 2D Suzanne (original model created by Matias Mendiola) */
538 void ED_gpencil_create_monkey(bContext *C, float mat[4][4])
539 {
540         Main *bmain = CTX_data_main(C);
541         Object *ob = CTX_data_active_object(C);
542         Depsgraph *depsgraph = CTX_data_depsgraph(C);
543         int cfra_eval = (int)DEG_get_ctime(depsgraph);
544         bGPdata *gpd = (bGPdata *)ob->data;
545         bGPDstroke *gps;
546
547         /* create colors */
548         int color_Black = gpencil_monkey_color(bmain, ob, &gp_monkey_pct_black, true, false);
549         int color_Skin = gpencil_monkey_color(bmain, ob, &gp_monkey_pct_skin, false, true);
550         int color_Skin_Light = gpencil_monkey_color(bmain, ob, &gp_monkey_pct_skin_light, true, false);
551         int color_Skin_Shadow = gpencil_monkey_color(bmain, ob, &gp_monkey_pct_skin_shadow, true, false);
552         int color_Eyes = gpencil_monkey_color(bmain, ob, &gp_monkey_pct_eyes, false, true);
553         int color_Pupils = gpencil_monkey_color(bmain, ob, &gp_monkey_pct_pupils, false, true);
554
555         /* set first color as active */
556         ob->actcol = color_Black + 1;
557         Material *ma = give_current_material(ob, ob->actcol);
558         if (ma != NULL) {
559                 BKE_brush_update_material(bmain, ma, NULL);
560         }
561
562         /* layers */
563         /* NOTE: For now, we just add new layers, to make it easier to separate out old/new instances */
564         bGPDlayer *Fills = BKE_gpencil_layer_addnew(gpd, "Fills", false);
565         bGPDlayer *Lines = BKE_gpencil_layer_addnew(gpd, "Lines", true);
566
567         /* frames */
568         /* NOTE: No need to check for existing, as this will take care of it for us */
569         bGPDframe *frameFills = BKE_gpencil_frame_addnew(Fills, cfra_eval);
570         bGPDframe *frameLines = BKE_gpencil_frame_addnew(Lines, cfra_eval);
571
572         /* generate strokes */
573         gps = BKE_gpencil_add_stroke(frameFills, color_Skin, 270, 75);
574         BKE_gpencil_stroke_add_points(gps, data0, 270, mat);
575
576         gps = BKE_gpencil_add_stroke(frameFills, color_Skin_Shadow, 33, 60);
577         BKE_gpencil_stroke_add_points(gps, data1, 33, mat);
578
579         gps = BKE_gpencil_add_stroke(frameFills, color_Skin_Shadow, 18, 60);
580         BKE_gpencil_stroke_add_points(gps, data2, 18, mat);
581
582         gps = BKE_gpencil_add_stroke(frameFills, color_Skin_Light, 64, 60);
583         BKE_gpencil_stroke_add_points(gps, data3, 64, mat);
584
585         gps = BKE_gpencil_add_stroke(frameFills, color_Skin_Light, 33, 60);
586         BKE_gpencil_stroke_add_points(gps, data4, 33, mat);
587
588         gps = BKE_gpencil_add_stroke(frameFills, color_Skin_Light, 64, 60);
589         BKE_gpencil_stroke_add_points(gps, data5, 64, mat);
590
591         gps = BKE_gpencil_add_stroke(frameFills, color_Skin_Light, 33, 60);
592         BKE_gpencil_stroke_add_points(gps, data6, 33, mat);
593
594         gps = BKE_gpencil_add_stroke(frameFills, color_Skin_Light, 18, 40);
595         BKE_gpencil_stroke_add_points(gps, data7, 18, mat);
596
597         gps = BKE_gpencil_add_stroke(frameFills, color_Eyes, 49, 60);
598         BKE_gpencil_stroke_add_points(gps, data8, 49, mat);
599
600         gps = BKE_gpencil_add_stroke(frameFills, color_Skin_Shadow, 33, 60);
601         BKE_gpencil_stroke_add_points(gps, data9, 33, mat);
602
603         gps = BKE_gpencil_add_stroke(frameFills, color_Eyes, 49, 60);
604         BKE_gpencil_stroke_add_points(gps, data10, 49, mat);
605
606         gps = BKE_gpencil_add_stroke(frameFills, color_Skin_Shadow, 18, 40);
607         BKE_gpencil_stroke_add_points(gps, data11, 18, mat);
608
609         gps = BKE_gpencil_add_stroke(frameFills, color_Skin_Shadow, 18, 40);
610         BKE_gpencil_stroke_add_points(gps, data12, 18, mat);
611
612         gps = BKE_gpencil_add_stroke(frameLines, color_Black, 33, 60);
613         BKE_gpencil_stroke_add_points(gps, data13, 33, mat);
614
615         gps = BKE_gpencil_add_stroke(frameLines, color_Black, 33, 60);
616         BKE_gpencil_stroke_add_points(gps, data14, 33, mat);
617
618         gps = BKE_gpencil_add_stroke(frameLines, color_Black, 65, 60);
619         BKE_gpencil_stroke_add_points(gps, data15, 65, mat);
620
621         gps = BKE_gpencil_add_stroke(frameLines, color_Black, 34, 60);
622         BKE_gpencil_stroke_add_points(gps, data16, 34, mat);
623
624         gps = BKE_gpencil_add_stroke(frameLines, color_Black, 33, 60);
625         BKE_gpencil_stroke_add_points(gps, data17, 33, mat);
626
627         gps = BKE_gpencil_add_stroke(frameLines, color_Black, 33, 40);
628         BKE_gpencil_stroke_add_points(gps, data18, 33, mat);
629
630         gps = BKE_gpencil_add_stroke(frameLines, color_Black, 34, 40);
631         BKE_gpencil_stroke_add_points(gps, data19, 34, mat);
632
633         gps = BKE_gpencil_add_stroke(frameLines, color_Black, 33, 60);
634         BKE_gpencil_stroke_add_points(gps, data20, 33, mat);
635
636         gps = BKE_gpencil_add_stroke(frameLines, color_Black, 64, 60);
637         BKE_gpencil_stroke_add_points(gps, data21, 64, mat);
638
639         gps = BKE_gpencil_add_stroke(frameLines, color_Pupils, 26, 60);
640         BKE_gpencil_stroke_add_points(gps, data22, 26, mat);
641
642         gps = BKE_gpencil_add_stroke(frameLines, color_Pupils, 26, 60);
643         BKE_gpencil_stroke_add_points(gps, data23, 26, mat);
644
645         gps = BKE_gpencil_add_stroke(frameLines, color_Black, 33, 60);
646         BKE_gpencil_stroke_add_points(gps, data24, 33, mat);
647
648         gps = BKE_gpencil_add_stroke(frameLines, color_Black, 18, 40);
649         BKE_gpencil_stroke_add_points(gps, data25, 18, mat);
650
651         gps = BKE_gpencil_add_stroke(frameLines, color_Black, 18, 40);
652         BKE_gpencil_stroke_add_points(gps, data26, 18, mat);
653
654         gps = BKE_gpencil_add_stroke(frameLines, color_Black, 33, 60);
655         BKE_gpencil_stroke_add_points(gps, data27, 33, mat);
656
657         /* update depsgraph */
658         DEG_id_tag_update(&gpd->id, ID_RECALC_TRANSFORM | ID_RECALC_GEOMETRY);
659         gpd->flag |= GP_DATA_CACHE_IS_DIRTY;
660 }
661
662
663 /* ***************************************************************** */