342 lines
11 KiB
C
342 lines
11 KiB
C
/**
|
|
* Copyright (c) 2021 Dominic Masters
|
|
*
|
|
* This software is released under the MIT License.
|
|
* https://opensource.org/licenses/MIT
|
|
*/
|
|
|
|
#include "pokerchip.h"
|
|
|
|
primitive_t * pokerChipCreate() {
|
|
vertice_t vertices[POKER_CHIP_VERTICE_COUNT] = {
|
|
{ .x = 0, .y = 0.015, .z = -0.1, .u = 0.351562, .v = 0.28125 },
|
|
{ .x = 0.0309017, .y = -0.015, .z = -0.09510570000000002, .u = 0.273438, .v = 0.21093799999999996 },
|
|
{ .x = 0, .y = -0.015, .z = -0.1, .u = 0.273438, .v = 0.28125 },
|
|
{ .x = 0.0309017, .y = 0.015, .z = -0.09510570000000002, .u = 0.351562, .v = 0.21093799999999996 },
|
|
{ .x = 0.058778500000000004, .y = -0.015, .z = -0.08090170000000001, .u = 0.273438, .v = 0.140625 },
|
|
{ .x = 0.058778500000000004, .y = 0.015, .z = -0.08090170000000001, .u = 0.265625, .v = 0.49218799999999996 },
|
|
{ .x = 0.08090170000000001, .y = -0.015, .z = -0.058778500000000004, .u = 0.1875, .v = 0.421875 },
|
|
{ .x = 0.058778500000000004, .y = -0.015, .z = -0.08090170000000001, .u = 0.1875, .v = 0.49218799999999996 },
|
|
{ .x = 0.08090170000000001, .y = 0.015, .z = -0.058778500000000004, .u = 0.265625, .v = 0.421875 },
|
|
{ .x = 0.09510570000000002, .y = -0.015, .z = -0.0309017, .u = 0.1875, .v = 0.35156200000000004 },
|
|
{ .x = 0.09510570000000002, .y = 0.015, .z = -0.0309017, .u = 0.265625, .v = 0.35156200000000004 },
|
|
{ .x = 0.1, .y = -0.015, .z = 0, .u = 0.1875, .v = 0.28125 },
|
|
{ .x = 0.1, .y = 0.015, .z = 0, .u = 0.265625, .v = 0.28125 },
|
|
{ .x = 0.09510560000000001, .y = -0.015, .z = 0.0309017, .u = 0.1875, .v = 0.21093799999999996 },
|
|
{ .x = 0.09510560000000001, .y = 0.015, .z = 0.0309017, .u = 0.265625, .v = 0.21093799999999996 },
|
|
{ .x = 0.08090170000000001, .y = -0.015, .z = 0.058778500000000004, .u = 0.1875, .v = 0.140625 },
|
|
{ .x = 0.08090170000000001, .y = 0.015, .z = 0.058778500000000004, .u = 0.085938, .v = 0.49218799999999996 },
|
|
{ .x = 0.058778500000000004, .y = -0.015, .z = 0.08090170000000001, .u = 0.007812, .v = 0.421875 },
|
|
{ .x = 0.08090170000000001, .y = -0.015, .z = 0.058778500000000004, .u = 0.007812, .v = 0.49218799999999996 },
|
|
{ .x = 0.058778500000000004, .y = 0.015, .z = 0.08090170000000001, .u = 0.085938, .v = 0.421875 },
|
|
{ .x = 0.0309017, .y = -0.015, .z = 0.09510570000000002, .u = 0.007812, .v = 0.35156200000000004 },
|
|
{ .x = 0.0309017, .y = 0.015, .z = 0.09510570000000002, .u = 0.085938, .v = 0.35156200000000004 },
|
|
{ .x = 0, .y = -0.015, .z = 0.1, .u = 0.007812, .v = 0.28125 },
|
|
{ .x = 0, .y = 0.015, .z = 0.1, .u = 0.085938, .v = 0.28125 },
|
|
{ .x = -0.0309017, .y = -0.015, .z = 0.09510560000000001, .u = 0.007812, .v = 0.21093799999999996 },
|
|
{ .x = -0.0309017, .y = 0.015, .z = 0.09510560000000001, .u = 0.085938, .v = 0.21093799999999996 },
|
|
{ .x = -0.05877860000000001, .y = -0.015, .z = 0.08090170000000001, .u = 0.007812, .v = 0.140625 },
|
|
{ .x = -0.05877860000000001, .y = 0.015, .z = 0.08090170000000001, .u = 0.171875, .v = 0.49218799999999996 },
|
|
{ .x = -0.08090170000000001, .y = -0.015, .z = 0.058778500000000004, .u = 0.09375, .v = 0.421875 },
|
|
{ .x = -0.05877860000000001, .y = -0.015, .z = 0.08090170000000001, .u = 0.09375, .v = 0.49218799999999996 },
|
|
{ .x = -0.08090170000000001, .y = 0.015, .z = 0.058778500000000004, .u = 0.171875, .v = 0.421875 },
|
|
{ .x = -0.09510570000000002, .y = -0.015, .z = 0.0309016, .u = 0.09375, .v = 0.35156200000000004 },
|
|
{ .x = -0.09510570000000002, .y = 0.015, .z = 0.0309016, .u = 0.171875, .v = 0.35156200000000004 },
|
|
{ .x = -0.1, .y = -0.015, .z = -1e-7, .u = 0.09375, .v = 0.28125 },
|
|
{ .x = -0.1, .y = 0.015, .z = -1e-7, .u = 0.171875, .v = 0.28125 },
|
|
{ .x = -0.09510560000000001, .y = -0.015, .z = -0.030901800000000004, .u = 0.09375, .v = 0.21093799999999996 },
|
|
{ .x = -0.09510560000000001, .y = 0.015, .z = -0.030901800000000004, .u = 0.171875, .v = 0.21093799999999996 },
|
|
{ .x = -0.0809016, .y = -0.015, .z = -0.05877860000000001, .u = 0.09375, .v = 0.140625 },
|
|
{ .x = -0.0809016, .y = 0.015, .z = -0.05877860000000001, .u = 0.351562, .v = 0.49218799999999996 },
|
|
{ .x = -0.0587784, .y = -0.015, .z = -0.08090180000000001, .u = 0.273438, .v = 0.421875 },
|
|
{ .x = -0.0809016, .y = -0.015, .z = -0.05877860000000001, .u = 0.273438, .v = 0.49218799999999996 },
|
|
{ .x = -0.09510570000000002, .y = 0.015, .z = 0.0309016, .u = 0.421875, .v = 0.929688 },
|
|
{ .x = 0, .y = 0.015, .z = 0.1, .u = 0.46875, .v = 0.640625 },
|
|
{ .x = 0.09510560000000001, .y = 0.015, .z = 0.0309017, .u = 0.210938, .v = 0.5078119999999999 },
|
|
{ .x = -0.0587784, .y = 0.015, .z = -0.08090180000000001, .u = 0.351562, .v = 0.421875 },
|
|
{ .x = -0.0309016, .y = -0.015, .z = -0.09510570000000002, .u = 0.273438, .v = 0.35156200000000004 },
|
|
{ .x = -0.0309016, .y = 0.015, .z = -0.09510570000000002, .u = 0.351562, .v = 0.35156200000000004 },
|
|
{ .x = 0.08090170000000001, .y = -0.015, .z = 0.058778500000000004, .u = 0.789062, .v = 0.992188 },
|
|
{ .x = -0.1, .y = -0.015, .z = -1e-7, .u = 0.859375, .v = 0.53125 },
|
|
{ .x = -0.0309016, .y = -0.015, .z = -0.09510570000000002, .u = 0.578125, .v = 0.578125 },
|
|
{ .x = 0.058778500000000004, .y = 0.015, .z = -0.08090170000000001, .u = 0.351562, .v = 0.140625 },
|
|
{ .x = 0.08090170000000001, .y = 0.015, .z = 0.058778500000000004, .u = 0.265625, .v = 0.140625 },
|
|
{ .x = -0.05877860000000001, .y = 0.015, .z = 0.08090170000000001, .u = 0.085938, .v = 0.140625 },
|
|
{ .x = -0.0809016, .y = 0.015, .z = -0.05877860000000001, .u = 0.171875, .v = 0.140625 },
|
|
{ .x = 0.058778500000000004, .y = 0.015, .z = -0.08090170000000001, .u = 0.007812, .v = 0.7109380000000001 },
|
|
{ .x = 0.0309017, .y = 0.015, .z = -0.09510570000000002, .u = 0.007812, .v = 0.789062 },
|
|
{ .x = 0, .y = 0.015, .z = -0.1, .u = 0.03125, .v = 0.867188 },
|
|
{ .x = -0.0309016, .y = 0.015, .z = -0.09510570000000002, .u = 0.078125, .v = 0.921875 },
|
|
{ .x = -0.0587784, .y = 0.015, .z = -0.08090180000000001, .u = 0.140625, .v = 0.96875 },
|
|
{ .x = -0.0809016, .y = 0.015, .z = -0.05877860000000001, .u = 0.210938, .v = 0.992188 },
|
|
{ .x = -0.09510560000000001, .y = 0.015, .z = -0.030901800000000004, .u = 0.289062, .v = 0.992188 },
|
|
{ .x = -0.1, .y = 0.015, .z = -1e-7, .u = 0.359375, .v = 0.96875 },
|
|
{ .x = -0.08090170000000001, .y = 0.015, .z = 0.058778500000000004, .u = 0.46875, .v = 0.867188 },
|
|
{ .x = -0.05877860000000001, .y = 0.015, .z = 0.08090170000000001, .u = 0.492188, .v = 0.789062 },
|
|
{ .x = -0.0309017, .y = 0.015, .z = 0.09510560000000001, .u = 0.492188, .v = 0.7109380000000001 },
|
|
{ .x = 0.0309017, .y = 0.015, .z = 0.09510570000000002, .u = 0.429688, .v = 0.578125 },
|
|
{ .x = 0.058778500000000004, .y = 0.015, .z = 0.08090170000000001, .u = 0.359375, .v = 0.53125 },
|
|
{ .x = 0.08090170000000001, .y = 0.015, .z = 0.058778500000000004, .u = 0.289062, .v = 0.5078119999999999 },
|
|
{ .x = 0.1, .y = 0.015, .z = 0, .u = 0.140625, .v = 0.53125 },
|
|
{ .x = 0.09510570000000002, .y = 0.015, .z = -0.0309017, .u = 0.078125, .v = 0.578125 },
|
|
{ .x = 0.08090170000000001, .y = 0.015, .z = -0.058778500000000004, .u = 0.03125, .v = 0.640625 },
|
|
{ .x = 0, .y = -0.015, .z = -0.1, .u = 0.53125, .v = 0.640625 },
|
|
{ .x = 0.0309017, .y = -0.015, .z = -0.09510570000000002, .u = 0.507812, .v = 0.7109380000000001 },
|
|
{ .x = 0.058778500000000004, .y = -0.015, .z = -0.08090170000000001, .u = 0.507812, .v = 0.789062 },
|
|
{ .x = 0.08090170000000001, .y = -0.015, .z = -0.058778500000000004, .u = 0.531716, .v = 0.861221 },
|
|
{ .x = 0.09510570000000002, .y = -0.015, .z = -0.0309017, .u = 0.570312, .v = 0.921875 },
|
|
{ .x = 0.1, .y = -0.015, .z = 0, .u = 0.632812, .v = 0.96875 },
|
|
{ .x = 0.09510560000000001, .y = -0.015, .z = 0.0309017, .u = 0.710938, .v = 0.992188 },
|
|
{ .x = 0.058778500000000004, .y = -0.015, .z = 0.08090170000000001, .u = 0.867188, .v = 0.96875 },
|
|
{ .x = 0.0309017, .y = -0.015, .z = 0.09510570000000002, .u = 0.929688, .v = 0.921875 },
|
|
{ .x = 0, .y = -0.015, .z = 0.1, .u = 0.968284, .v = 0.861221 },
|
|
{ .x = -0.0309017, .y = -0.015, .z = 0.09510560000000001, .u = 0.992188, .v = 0.789062 },
|
|
{ .x = -0.05877860000000001, .y = -0.015, .z = 0.08090170000000001, .u = 0.992188, .v = 0.7109380000000001 },
|
|
{ .x = -0.08090170000000001, .y = -0.015, .z = 0.058778500000000004, .u = 0.968284, .v = 0.638779 },
|
|
{ .x = -0.09510570000000002, .y = -0.015, .z = 0.0309016, .u = 0.929688, .v = 0.578125 },
|
|
{ .x = -0.09510560000000001, .y = -0.015, .z = -0.030901800000000004, .u = 0.789062, .v = 0.5078119999999999 },
|
|
{ .x = -0.0809016, .y = -0.015, .z = -0.05877860000000001, .u = 0.710938, .v = 0.5078119999999999 },
|
|
{ .x = -0.0587784, .y = -0.015, .z = -0.08090180000000001, .u = 0.640625, .v = 0.53125 }
|
|
};
|
|
|
|
indice_t indices[POKER_CHIP_INDICE_COUNT] = {
|
|
0,
|
|
1,
|
|
2,
|
|
3,
|
|
4,
|
|
1,
|
|
5,
|
|
6,
|
|
7,
|
|
8,
|
|
9,
|
|
6,
|
|
10,
|
|
11,
|
|
9,
|
|
12,
|
|
13,
|
|
11,
|
|
14,
|
|
15,
|
|
13,
|
|
16,
|
|
17,
|
|
18,
|
|
19,
|
|
20,
|
|
17,
|
|
21,
|
|
22,
|
|
20,
|
|
23,
|
|
24,
|
|
22,
|
|
25,
|
|
26,
|
|
24,
|
|
27,
|
|
28,
|
|
29,
|
|
30,
|
|
31,
|
|
28,
|
|
32,
|
|
33,
|
|
31,
|
|
34,
|
|
35,
|
|
33,
|
|
36,
|
|
37,
|
|
35,
|
|
38,
|
|
39,
|
|
40,
|
|
41,
|
|
42,
|
|
43,
|
|
44,
|
|
45,
|
|
39,
|
|
46,
|
|
2,
|
|
45,
|
|
47,
|
|
48,
|
|
49,
|
|
0,
|
|
3,
|
|
1,
|
|
3,
|
|
50,
|
|
4,
|
|
5,
|
|
8,
|
|
6,
|
|
8,
|
|
10,
|
|
9,
|
|
10,
|
|
12,
|
|
11,
|
|
12,
|
|
14,
|
|
13,
|
|
14,
|
|
51,
|
|
15,
|
|
16,
|
|
19,
|
|
17,
|
|
19,
|
|
21,
|
|
20,
|
|
21,
|
|
23,
|
|
22,
|
|
23,
|
|
25,
|
|
24,
|
|
25,
|
|
52,
|
|
26,
|
|
27,
|
|
30,
|
|
28,
|
|
30,
|
|
32,
|
|
31,
|
|
32,
|
|
34,
|
|
33,
|
|
34,
|
|
36,
|
|
35,
|
|
36,
|
|
53,
|
|
37,
|
|
38,
|
|
44,
|
|
39,
|
|
54,
|
|
55,
|
|
56,
|
|
56,
|
|
57,
|
|
58,
|
|
58,
|
|
59,
|
|
60,
|
|
60,
|
|
61,
|
|
41,
|
|
41,
|
|
62,
|
|
63,
|
|
63,
|
|
64,
|
|
41,
|
|
64,
|
|
42,
|
|
41,
|
|
42,
|
|
65,
|
|
43,
|
|
65,
|
|
66,
|
|
43,
|
|
66,
|
|
67,
|
|
43,
|
|
43,
|
|
68,
|
|
69,
|
|
69,
|
|
70,
|
|
43,
|
|
70,
|
|
54,
|
|
43,
|
|
54,
|
|
56,
|
|
58,
|
|
58,
|
|
60,
|
|
41,
|
|
54,
|
|
58,
|
|
43,
|
|
58,
|
|
41,
|
|
43,
|
|
44,
|
|
46,
|
|
45,
|
|
46,
|
|
0,
|
|
2,
|
|
49,
|
|
71,
|
|
72,
|
|
72,
|
|
73,
|
|
49,
|
|
73,
|
|
74,
|
|
49,
|
|
74,
|
|
75,
|
|
47,
|
|
75,
|
|
76,
|
|
47,
|
|
76,
|
|
77,
|
|
47,
|
|
47,
|
|
78,
|
|
79,
|
|
79,
|
|
80,
|
|
81,
|
|
81,
|
|
82,
|
|
83,
|
|
83,
|
|
84,
|
|
48,
|
|
48,
|
|
85,
|
|
86,
|
|
86,
|
|
87,
|
|
49,
|
|
47,
|
|
79,
|
|
81,
|
|
81,
|
|
83,
|
|
48,
|
|
48,
|
|
86,
|
|
49,
|
|
49,
|
|
74,
|
|
47,
|
|
47,
|
|
81,
|
|
48
|
|
};
|
|
|
|
primitive_t *primitive = primitiveCreate(
|
|
POKER_CHIP_VERTICE_COUNT,
|
|
POKER_CHIP_INDICE_COUNT
|
|
);
|
|
|
|
primitiveBufferVertices(primitive, 0, POKER_CHIP_VERTICE_COUNT, vertices);
|
|
primitiveBufferIndices(primitive, 0, POKER_CHIP_INDICE_COUNT, indices);
|
|
return primitive;
|
|
}
|