draw ball; aspect correction
This commit is contained in:
parent
38f3219936
commit
4ad6e4c344
BIN
blend/ball.blend
Normal file
BIN
blend/ball.blend
Normal file
Binary file not shown.
332
include/model/ball.h
Normal file
332
include/model/ball.h
Normal file
@ -0,0 +1,332 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
const int ball_Icosphere_triangles[] = {
|
||||||
|
0, 1, 2,
|
||||||
|
3, 4, 5,
|
||||||
|
6, 7, 8,
|
||||||
|
9, 10, 11,
|
||||||
|
12, 13, 14,
|
||||||
|
15, 16, 17,
|
||||||
|
18, 19, 20,
|
||||||
|
21, 22, 23,
|
||||||
|
24, 25, 26,
|
||||||
|
27, 28, 29,
|
||||||
|
30, 31, 32,
|
||||||
|
33, 34, 35,
|
||||||
|
36, 37, 38,
|
||||||
|
39, 40, 41,
|
||||||
|
42, 43, 44,
|
||||||
|
45, 46, 47,
|
||||||
|
48, 49, 50,
|
||||||
|
51, 52, 53,
|
||||||
|
54, 55, 56,
|
||||||
|
57, 58, 59,
|
||||||
|
60, 61, 62,
|
||||||
|
63, 64, 65,
|
||||||
|
66, 67, 68,
|
||||||
|
69, 70, 71,
|
||||||
|
72, 73, 74,
|
||||||
|
75, 76, 77,
|
||||||
|
78, 79, 80,
|
||||||
|
81, 82, 83,
|
||||||
|
84, 85, 86,
|
||||||
|
87, 88, 89,
|
||||||
|
90, 91, 92,
|
||||||
|
93, 94, 95,
|
||||||
|
96, 97, 98,
|
||||||
|
99, 100, 101,
|
||||||
|
102, 103, 104,
|
||||||
|
105, 106, 107,
|
||||||
|
108, 109, 110,
|
||||||
|
111, 112, 113,
|
||||||
|
114, 115, 116,
|
||||||
|
117, 118, 119,
|
||||||
|
120, 121, 122,
|
||||||
|
123, 124, 125,
|
||||||
|
126, 127, 128,
|
||||||
|
129, 130, 131,
|
||||||
|
132, 133, 134,
|
||||||
|
135, 136, 137,
|
||||||
|
138, 139, 140,
|
||||||
|
141, 142, 143,
|
||||||
|
144, 145, 146,
|
||||||
|
147, 148, 149,
|
||||||
|
150, 151, 152,
|
||||||
|
153, 154, 155,
|
||||||
|
156, 157, 158,
|
||||||
|
159, 160, 161,
|
||||||
|
162, 163, 164,
|
||||||
|
165, 166, 167,
|
||||||
|
168, 169, 170,
|
||||||
|
171, 172, 173,
|
||||||
|
174, 175, 176,
|
||||||
|
177, 178, 179,
|
||||||
|
180, 181, 182,
|
||||||
|
183, 184, 185,
|
||||||
|
186, 187, 188,
|
||||||
|
189, 190, 191,
|
||||||
|
192, 193, 194,
|
||||||
|
195, 196, 197,
|
||||||
|
198, 199, 200,
|
||||||
|
201, 202, 203,
|
||||||
|
204, 205, 206,
|
||||||
|
207, 208, 209,
|
||||||
|
210, 211, 212,
|
||||||
|
213, 214, 215,
|
||||||
|
216, 217, 218,
|
||||||
|
219, 220, 221,
|
||||||
|
222, 223, 224,
|
||||||
|
225, 226, 227,
|
||||||
|
228, 229, 230,
|
||||||
|
231, 232, 233,
|
||||||
|
234, 235, 236,
|
||||||
|
237, 238, 239,
|
||||||
|
};
|
||||||
|
|
||||||
|
const int ball_Icosphere_triangles_length = (sizeof (ball_Icosphere_triangles)) / (sizeof (ball_Icosphere_triangles[0]));
|
||||||
|
|
||||||
|
const float ball_vertices[] = {
|
||||||
|
0.000000f, -1.000000f, 0.000000f, 0.181819f, 0.000000f, 0.1024f, -0.9435f, 0.3151f,
|
||||||
|
0.425323f, -0.850654f, 0.309011f, 0.227273f, 0.078731f, 0.1024f, -0.9435f, 0.3151f,
|
||||||
|
-0.162456f, -0.850654f, 0.499995f, 0.136365f, 0.078731f, 0.1024f, -0.9435f, 0.3151f,
|
||||||
|
0.723607f, -0.447220f, 0.525725f, 0.272728f, 0.157461f, 0.7002f, -0.6617f, 0.2680f,
|
||||||
|
0.425323f, -0.850654f, 0.309011f, 0.318182f, 0.078731f, 0.7002f, -0.6617f, 0.2680f,
|
||||||
|
0.850648f, -0.525736f, 0.000000f, 0.363637f, 0.157461f, 0.7002f, -0.6617f, 0.2680f,
|
||||||
|
0.000000f, -1.000000f, 0.000000f, 0.909091f, 0.000000f, -0.2680f, -0.9435f, 0.1947f,
|
||||||
|
-0.162456f, -0.850654f, 0.499995f, 0.954545f, 0.078731f, -0.2680f, -0.9435f, 0.1947f,
|
||||||
|
-0.525730f, -0.850652f, 0.000000f, 0.863636f, 0.078731f, -0.2680f, -0.9435f, 0.1947f,
|
||||||
|
0.000000f, -1.000000f, 0.000000f, 0.727273f, 0.000000f, -0.2680f, -0.9435f, -0.1947f,
|
||||||
|
-0.525730f, -0.850652f, 0.000000f, 0.772727f, 0.078731f, -0.2680f, -0.9435f, -0.1947f,
|
||||||
|
-0.162456f, -0.850654f, -0.499995f, 0.681818f, 0.078731f, -0.2680f, -0.9435f, -0.1947f,
|
||||||
|
0.000000f, -1.000000f, 0.000000f, 0.545455f, 0.000000f, 0.1024f, -0.9435f, -0.3151f,
|
||||||
|
-0.162456f, -0.850654f, -0.499995f, 0.590909f, 0.078731f, 0.1024f, -0.9435f, -0.3151f,
|
||||||
|
0.425323f, -0.850654f, -0.309011f, 0.500000f, 0.078731f, 0.1024f, -0.9435f, -0.3151f,
|
||||||
|
0.723607f, -0.447220f, 0.525725f, 0.272728f, 0.157461f, 0.9050f, -0.3304f, 0.2680f,
|
||||||
|
0.850648f, -0.525736f, 0.000000f, 0.363637f, 0.157461f, 0.9050f, -0.3304f, 0.2680f,
|
||||||
|
0.951058f, 0.000000f, 0.309013f, 0.318182f, 0.236191f, 0.9050f, -0.3304f, 0.2680f,
|
||||||
|
-0.276388f, -0.447220f, 0.850649f, 0.090910f, 0.157461f, 0.0247f, -0.3304f, 0.9435f,
|
||||||
|
0.262869f, -0.525738f, 0.809012f, 0.181819f, 0.157461f, 0.0247f, -0.3304f, 0.9435f,
|
||||||
|
0.000000f, 0.000000f, 1.000000f, 0.136365f, 0.236191f, 0.0247f, -0.3304f, 0.9435f,
|
||||||
|
-0.894426f, -0.447216f, 0.000000f, 0.818182f, 0.157461f, -0.8897f, -0.3304f, 0.3151f,
|
||||||
|
-0.688189f, -0.525736f, 0.499997f, 0.909091f, 0.157461f, -0.8897f, -0.3304f, 0.3151f,
|
||||||
|
-0.951058f, 0.000000f, 0.309013f, 0.863636f, 0.236191f, -0.8897f, -0.3304f, 0.3151f,
|
||||||
|
-0.276388f, -0.447220f, -0.850649f, 0.636364f, 0.157461f, -0.5746f, -0.3304f, -0.7488f,
|
||||||
|
-0.688189f, -0.525736f, -0.499997f, 0.727273f, 0.157461f, -0.5746f, -0.3304f, -0.7488f,
|
||||||
|
-0.587786f, 0.000000f, -0.809017f, 0.681818f, 0.236191f, -0.5746f, -0.3304f, -0.7488f,
|
||||||
|
0.723607f, -0.447220f, -0.525725f, 0.454546f, 0.157461f, 0.5346f, -0.3304f, -0.7779f,
|
||||||
|
0.262869f, -0.525738f, -0.809012f, 0.545455f, 0.157461f, 0.5346f, -0.3304f, -0.7779f,
|
||||||
|
0.587786f, 0.000000f, -0.809017f, 0.500000f, 0.236191f, 0.5346f, -0.3304f, -0.7779f,
|
||||||
|
0.723607f, -0.447220f, 0.525725f, 0.272728f, 0.157461f, 0.8026f, -0.1256f, 0.5831f,
|
||||||
|
0.951058f, 0.000000f, 0.309013f, 0.318182f, 0.236191f, 0.8026f, -0.1256f, 0.5831f,
|
||||||
|
0.587786f, 0.000000f, 0.809017f, 0.227273f, 0.236191f, 0.8026f, -0.1256f, 0.5831f,
|
||||||
|
-0.276388f, -0.447220f, 0.850649f, 0.090910f, 0.157461f, -0.3066f, -0.1256f, 0.9435f,
|
||||||
|
0.000000f, 0.000000f, 1.000000f, 0.136365f, 0.236191f, -0.3066f, -0.1256f, 0.9435f,
|
||||||
|
-0.587786f, 0.000000f, 0.809017f, 0.045455f, 0.236191f, -0.3066f, -0.1256f, 0.9435f,
|
||||||
|
-0.894426f, -0.447216f, 0.000000f, 0.818182f, 0.157461f, -0.9921f, -0.1256f, -0.0000f,
|
||||||
|
-0.951058f, 0.000000f, 0.309013f, 0.863636f, 0.236191f, -0.9921f, -0.1256f, -0.0000f,
|
||||||
|
-0.951058f, 0.000000f, -0.309013f, 0.772727f, 0.236191f, -0.9921f, -0.1256f, -0.0000f,
|
||||||
|
-0.276388f, -0.447220f, -0.850649f, 0.636364f, 0.157461f, -0.3066f, -0.1256f, -0.9435f,
|
||||||
|
-0.587786f, 0.000000f, -0.809017f, 0.681818f, 0.236191f, -0.3066f, -0.1256f, -0.9435f,
|
||||||
|
0.000000f, 0.000000f, -1.000000f, 0.590909f, 0.236191f, -0.3066f, -0.1256f, -0.9435f,
|
||||||
|
0.723607f, -0.447220f, -0.525725f, 0.454546f, 0.157461f, 0.8026f, -0.1256f, -0.5831f,
|
||||||
|
0.587786f, 0.000000f, -0.809017f, 0.500000f, 0.236191f, 0.8026f, -0.1256f, -0.5831f,
|
||||||
|
0.951058f, 0.000000f, -0.309013f, 0.409092f, 0.236191f, 0.8026f, -0.1256f, -0.5831f,
|
||||||
|
0.276388f, 0.447220f, 0.850649f, 0.181819f, 0.314921f, 0.4089f, 0.6617f, 0.6284f,
|
||||||
|
0.688189f, 0.525736f, 0.499997f, 0.272728f, 0.314921f, 0.4089f, 0.6617f, 0.6284f,
|
||||||
|
0.162456f, 0.850654f, 0.499995f, 0.227273f, 0.393651f, 0.4089f, 0.6617f, 0.6284f,
|
||||||
|
-0.723607f, 0.447220f, 0.525725f, 0.000000f, 0.314921f, -0.4713f, 0.6617f, 0.5831f,
|
||||||
|
-0.262869f, 0.525738f, 0.809012f, 0.090910f, 0.314921f, -0.4713f, 0.6617f, 0.5831f,
|
||||||
|
-0.425323f, 0.850654f, 0.309011f, 0.045455f, 0.393651f, -0.4713f, 0.6617f, 0.5831f,
|
||||||
|
-0.723607f, 0.447220f, -0.525725f, 0.727273f, 0.314921f, -0.7002f, 0.6617f, -0.2680f,
|
||||||
|
-0.850648f, 0.525736f, 0.000000f, 0.818182f, 0.314921f, -0.7002f, 0.6617f, -0.2680f,
|
||||||
|
-0.425323f, 0.850654f, -0.309011f, 0.772727f, 0.393651f, -0.7002f, 0.6617f, -0.2680f,
|
||||||
|
0.276388f, 0.447220f, -0.850649f, 0.545455f, 0.314921f, 0.0385f, 0.6617f, -0.7488f,
|
||||||
|
-0.262869f, 0.525738f, -0.809012f, 0.636364f, 0.314921f, 0.0385f, 0.6617f, -0.7488f,
|
||||||
|
0.162456f, 0.850654f, -0.499995f, 0.590909f, 0.393651f, 0.0385f, 0.6617f, -0.7488f,
|
||||||
|
0.894426f, 0.447216f, 0.000000f, 0.363637f, 0.314921f, 0.7240f, 0.6617f, -0.1947f,
|
||||||
|
0.688189f, 0.525736f, -0.499997f, 0.454546f, 0.314921f, 0.7240f, 0.6617f, -0.1947f,
|
||||||
|
0.525730f, 0.850652f, 0.000000f, 0.409092f, 0.393651f, 0.7240f, 0.6617f, -0.1947f,
|
||||||
|
0.525730f, 0.850652f, 0.000000f, 0.409092f, 0.393651f, 0.2680f, 0.9435f, -0.1947f,
|
||||||
|
0.162456f, 0.850654f, -0.499995f, 0.500000f, 0.393651f, 0.2680f, 0.9435f, -0.1947f,
|
||||||
|
0.000000f, 1.000000f, 0.000000f, 0.454546f, 0.472382f, 0.2680f, 0.9435f, -0.1947f,
|
||||||
|
0.525730f, 0.850652f, 0.000000f, 0.409092f, 0.393651f, 0.4911f, 0.7947f, -0.3568f,
|
||||||
|
0.688189f, 0.525736f, -0.499997f, 0.454546f, 0.314921f, 0.4911f, 0.7947f, -0.3568f,
|
||||||
|
0.162456f, 0.850654f, -0.499995f, 0.500000f, 0.393651f, 0.4911f, 0.7947f, -0.3568f,
|
||||||
|
0.688189f, 0.525736f, -0.499997f, 0.454546f, 0.314921f, 0.4089f, 0.6617f, -0.6284f,
|
||||||
|
0.276388f, 0.447220f, -0.850649f, 0.545455f, 0.314921f, 0.4089f, 0.6617f, -0.6284f,
|
||||||
|
0.162456f, 0.850654f, -0.499995f, 0.500000f, 0.393651f, 0.4089f, 0.6617f, -0.6284f,
|
||||||
|
0.162456f, 0.850654f, -0.499995f, 0.590909f, 0.393651f, -0.1024f, 0.9435f, -0.3151f,
|
||||||
|
-0.425323f, 0.850654f, -0.309011f, 0.681818f, 0.393651f, -0.1024f, 0.9435f, -0.3151f,
|
||||||
|
0.000000f, 1.000000f, 0.000000f, 0.636364f, 0.472382f, -0.1024f, 0.9435f, -0.3151f,
|
||||||
|
0.162456f, 0.850654f, -0.499995f, 0.590909f, 0.393651f, -0.1876f, 0.7947f, -0.5773f,
|
||||||
|
-0.262869f, 0.525738f, -0.809012f, 0.636364f, 0.314921f, -0.1876f, 0.7947f, -0.5773f,
|
||||||
|
-0.425323f, 0.850654f, -0.309011f, 0.681818f, 0.393651f, -0.1876f, 0.7947f, -0.5773f,
|
||||||
|
-0.262869f, 0.525738f, -0.809012f, 0.636364f, 0.314921f, -0.4713f, 0.6617f, -0.5831f,
|
||||||
|
-0.723607f, 0.447220f, -0.525725f, 0.727273f, 0.314921f, -0.4713f, 0.6617f, -0.5831f,
|
||||||
|
-0.425323f, 0.850654f, -0.309011f, 0.681818f, 0.393651f, -0.4713f, 0.6617f, -0.5831f,
|
||||||
|
-0.425323f, 0.850654f, -0.309011f, 0.772727f, 0.393651f, -0.3313f, 0.9435f, -0.0000f,
|
||||||
|
-0.425323f, 0.850654f, 0.309011f, 0.863636f, 0.393651f, -0.3313f, 0.9435f, -0.0000f,
|
||||||
|
0.000000f, 1.000000f, 0.000000f, 0.818182f, 0.472382f, -0.3313f, 0.9435f, -0.0000f,
|
||||||
|
-0.425323f, 0.850654f, -0.309011f, 0.772727f, 0.393651f, -0.6071f, 0.7947f, -0.0000f,
|
||||||
|
-0.850648f, 0.525736f, 0.000000f, 0.818182f, 0.314921f, -0.6071f, 0.7947f, -0.0000f,
|
||||||
|
-0.425323f, 0.850654f, 0.309011f, 0.863636f, 0.393651f, -0.6071f, 0.7947f, -0.0000f,
|
||||||
|
-0.850648f, 0.525736f, 0.000000f, 0.818182f, 0.314921f, -0.7002f, 0.6617f, 0.2680f,
|
||||||
|
-0.723607f, 0.447220f, 0.525725f, 0.909091f, 0.314921f, -0.7002f, 0.6617f, 0.2680f,
|
||||||
|
-0.425323f, 0.850654f, 0.309011f, 0.863636f, 0.393651f, -0.7002f, 0.6617f, 0.2680f,
|
||||||
|
-0.425323f, 0.850654f, 0.309011f, 0.045455f, 0.393651f, -0.1024f, 0.9435f, 0.3151f,
|
||||||
|
0.162456f, 0.850654f, 0.499995f, 0.136365f, 0.393651f, -0.1024f, 0.9435f, 0.3151f,
|
||||||
|
0.000000f, 1.000000f, 0.000000f, 0.090910f, 0.472382f, -0.1024f, 0.9435f, 0.3151f,
|
||||||
|
-0.425323f, 0.850654f, 0.309011f, 0.045455f, 0.393651f, -0.1876f, 0.7947f, 0.5773f,
|
||||||
|
-0.262869f, 0.525738f, 0.809012f, 0.090910f, 0.314921f, -0.1876f, 0.7947f, 0.5773f,
|
||||||
|
0.162456f, 0.850654f, 0.499995f, 0.136365f, 0.393651f, -0.1876f, 0.7947f, 0.5773f,
|
||||||
|
-0.262869f, 0.525738f, 0.809012f, 0.090910f, 0.314921f, 0.0385f, 0.6617f, 0.7488f,
|
||||||
|
0.276388f, 0.447220f, 0.850649f, 0.181819f, 0.314921f, 0.0385f, 0.6617f, 0.7488f,
|
||||||
|
0.162456f, 0.850654f, 0.499995f, 0.136365f, 0.393651f, 0.0385f, 0.6617f, 0.7488f,
|
||||||
|
0.162456f, 0.850654f, 0.499995f, 0.227273f, 0.393651f, 0.2680f, 0.9435f, 0.1947f,
|
||||||
|
0.525730f, 0.850652f, 0.000000f, 0.318182f, 0.393651f, 0.2680f, 0.9435f, 0.1947f,
|
||||||
|
0.000000f, 1.000000f, 0.000000f, 0.272728f, 0.472382f, 0.2680f, 0.9435f, 0.1947f,
|
||||||
|
0.162456f, 0.850654f, 0.499995f, 0.227273f, 0.393651f, 0.4911f, 0.7947f, 0.3568f,
|
||||||
|
0.688189f, 0.525736f, 0.499997f, 0.272728f, 0.314921f, 0.4911f, 0.7947f, 0.3568f,
|
||||||
|
0.525730f, 0.850652f, 0.000000f, 0.318182f, 0.393651f, 0.4911f, 0.7947f, 0.3568f,
|
||||||
|
0.688189f, 0.525736f, 0.499997f, 0.272728f, 0.314921f, 0.7240f, 0.6617f, 0.1947f,
|
||||||
|
0.894426f, 0.447216f, 0.000000f, 0.363637f, 0.314921f, 0.7240f, 0.6617f, 0.1947f,
|
||||||
|
0.525730f, 0.850652f, 0.000000f, 0.318182f, 0.393651f, 0.7240f, 0.6617f, 0.1947f,
|
||||||
|
0.951058f, 0.000000f, -0.309013f, 0.409092f, 0.236191f, 0.8897f, 0.3304f, -0.3151f,
|
||||||
|
0.688189f, 0.525736f, -0.499997f, 0.454546f, 0.314921f, 0.8897f, 0.3304f, -0.3151f,
|
||||||
|
0.894426f, 0.447216f, 0.000000f, 0.363637f, 0.314921f, 0.8897f, 0.3304f, -0.3151f,
|
||||||
|
0.951058f, 0.000000f, -0.309013f, 0.409092f, 0.236191f, 0.7947f, 0.1876f, -0.5773f,
|
||||||
|
0.587786f, 0.000000f, -0.809017f, 0.500000f, 0.236191f, 0.7947f, 0.1876f, -0.5773f,
|
||||||
|
0.688189f, 0.525736f, -0.499997f, 0.454546f, 0.314921f, 0.7947f, 0.1876f, -0.5773f,
|
||||||
|
0.587786f, 0.000000f, -0.809017f, 0.500000f, 0.236191f, 0.5746f, 0.3304f, -0.7488f,
|
||||||
|
0.276388f, 0.447220f, -0.850649f, 0.545455f, 0.314921f, 0.5746f, 0.3304f, -0.7488f,
|
||||||
|
0.688189f, 0.525736f, -0.499997f, 0.454546f, 0.314921f, 0.5746f, 0.3304f, -0.7488f,
|
||||||
|
0.000000f, 0.000000f, -1.000000f, 0.590909f, 0.236191f, -0.0247f, 0.3304f, -0.9435f,
|
||||||
|
-0.262869f, 0.525738f, -0.809012f, 0.636364f, 0.314921f, -0.0247f, 0.3304f, -0.9435f,
|
||||||
|
0.276388f, 0.447220f, -0.850649f, 0.545455f, 0.314921f, -0.0247f, 0.3304f, -0.9435f,
|
||||||
|
0.000000f, 0.000000f, -1.000000f, 0.590909f, 0.236191f, -0.3035f, 0.1876f, -0.9342f,
|
||||||
|
-0.587786f, 0.000000f, -0.809017f, 0.681818f, 0.236191f, -0.3035f, 0.1876f, -0.9342f,
|
||||||
|
-0.262869f, 0.525738f, -0.809012f, 0.636364f, 0.314921f, -0.3035f, 0.1876f, -0.9342f,
|
||||||
|
-0.587786f, 0.000000f, -0.809017f, 0.681818f, 0.236191f, -0.5346f, 0.3304f, -0.7779f,
|
||||||
|
-0.723607f, 0.447220f, -0.525725f, 0.727273f, 0.314921f, -0.5346f, 0.3304f, -0.7779f,
|
||||||
|
-0.262869f, 0.525738f, -0.809012f, 0.636364f, 0.314921f, -0.5346f, 0.3304f, -0.7779f,
|
||||||
|
-0.951058f, 0.000000f, -0.309013f, 0.772727f, 0.236191f, -0.9050f, 0.3304f, -0.2680f,
|
||||||
|
-0.850648f, 0.525736f, 0.000000f, 0.818182f, 0.314921f, -0.9050f, 0.3304f, -0.2680f,
|
||||||
|
-0.723607f, 0.447220f, -0.525725f, 0.727273f, 0.314921f, -0.9050f, 0.3304f, -0.2680f,
|
||||||
|
-0.951058f, 0.000000f, -0.309013f, 0.772727f, 0.236191f, -0.9822f, 0.1876f, -0.0000f,
|
||||||
|
-0.951058f, 0.000000f, 0.309013f, 0.863636f, 0.236191f, -0.9822f, 0.1876f, -0.0000f,
|
||||||
|
-0.850648f, 0.525736f, 0.000000f, 0.818182f, 0.314921f, -0.9822f, 0.1876f, -0.0000f,
|
||||||
|
-0.951058f, 0.000000f, 0.309013f, 0.863636f, 0.236191f, -0.9050f, 0.3304f, 0.2680f,
|
||||||
|
-0.723607f, 0.447220f, 0.525725f, 0.909091f, 0.314921f, -0.9050f, 0.3304f, 0.2680f,
|
||||||
|
-0.850648f, 0.525736f, 0.000000f, 0.818182f, 0.314921f, -0.9050f, 0.3304f, 0.2680f,
|
||||||
|
-0.587786f, 0.000000f, 0.809017f, 0.045455f, 0.236191f, -0.5346f, 0.3304f, 0.7779f,
|
||||||
|
-0.262869f, 0.525738f, 0.809012f, 0.090910f, 0.314921f, -0.5346f, 0.3304f, 0.7779f,
|
||||||
|
-0.723607f, 0.447220f, 0.525725f, 0.000000f, 0.314921f, -0.5346f, 0.3304f, 0.7779f,
|
||||||
|
-0.587786f, 0.000000f, 0.809017f, 0.045455f, 0.236191f, -0.3035f, 0.1876f, 0.9342f,
|
||||||
|
0.000000f, 0.000000f, 1.000000f, 0.136365f, 0.236191f, -0.3035f, 0.1876f, 0.9342f,
|
||||||
|
-0.262869f, 0.525738f, 0.809012f, 0.090910f, 0.314921f, -0.3035f, 0.1876f, 0.9342f,
|
||||||
|
0.000000f, 0.000000f, 1.000000f, 0.136365f, 0.236191f, -0.0247f, 0.3304f, 0.9435f,
|
||||||
|
0.276388f, 0.447220f, 0.850649f, 0.181819f, 0.314921f, -0.0247f, 0.3304f, 0.9435f,
|
||||||
|
-0.262869f, 0.525738f, 0.809012f, 0.090910f, 0.314921f, -0.0247f, 0.3304f, 0.9435f,
|
||||||
|
0.587786f, 0.000000f, 0.809017f, 0.227273f, 0.236191f, 0.5746f, 0.3304f, 0.7488f,
|
||||||
|
0.688189f, 0.525736f, 0.499997f, 0.272728f, 0.314921f, 0.5746f, 0.3304f, 0.7488f,
|
||||||
|
0.276388f, 0.447220f, 0.850649f, 0.181819f, 0.314921f, 0.5746f, 0.3304f, 0.7488f,
|
||||||
|
0.587786f, 0.000000f, 0.809017f, 0.227273f, 0.236191f, 0.7947f, 0.1876f, 0.5773f,
|
||||||
|
0.951058f, 0.000000f, 0.309013f, 0.318182f, 0.236191f, 0.7947f, 0.1876f, 0.5773f,
|
||||||
|
0.688189f, 0.525736f, 0.499997f, 0.272728f, 0.314921f, 0.7947f, 0.1876f, 0.5773f,
|
||||||
|
0.951058f, 0.000000f, 0.309013f, 0.318182f, 0.236191f, 0.8897f, 0.3304f, 0.3151f,
|
||||||
|
0.894426f, 0.447216f, 0.000000f, 0.363637f, 0.314921f, 0.8897f, 0.3304f, 0.3151f,
|
||||||
|
0.688189f, 0.525736f, 0.499997f, 0.272728f, 0.314921f, 0.8897f, 0.3304f, 0.3151f,
|
||||||
|
0.587786f, 0.000000f, -0.809017f, 0.500000f, 0.236191f, 0.3066f, 0.1256f, -0.9435f,
|
||||||
|
0.000000f, 0.000000f, -1.000000f, 0.590909f, 0.236191f, 0.3066f, 0.1256f, -0.9435f,
|
||||||
|
0.276388f, 0.447220f, -0.850649f, 0.545455f, 0.314921f, 0.3066f, 0.1256f, -0.9435f,
|
||||||
|
0.587786f, 0.000000f, -0.809017f, 0.500000f, 0.236191f, 0.3035f, -0.1876f, -0.9342f,
|
||||||
|
0.262869f, -0.525738f, -0.809012f, 0.545455f, 0.157461f, 0.3035f, -0.1876f, -0.9342f,
|
||||||
|
0.000000f, 0.000000f, -1.000000f, 0.590909f, 0.236191f, 0.3035f, -0.1876f, -0.9342f,
|
||||||
|
0.262869f, -0.525738f, -0.809012f, 0.545455f, 0.157461f, 0.0247f, -0.3304f, -0.9435f,
|
||||||
|
-0.276388f, -0.447220f, -0.850649f, 0.636364f, 0.157461f, 0.0247f, -0.3304f, -0.9435f,
|
||||||
|
0.000000f, 0.000000f, -1.000000f, 0.590909f, 0.236191f, 0.0247f, -0.3304f, -0.9435f,
|
||||||
|
-0.587786f, 0.000000f, -0.809017f, 0.681818f, 0.236191f, -0.8026f, 0.1256f, -0.5831f,
|
||||||
|
-0.951058f, 0.000000f, -0.309013f, 0.772727f, 0.236191f, -0.8026f, 0.1256f, -0.5831f,
|
||||||
|
-0.723607f, 0.447220f, -0.525725f, 0.727273f, 0.314921f, -0.8026f, 0.1256f, -0.5831f,
|
||||||
|
-0.587786f, 0.000000f, -0.809017f, 0.681818f, 0.236191f, -0.7947f, -0.1876f, -0.5773f,
|
||||||
|
-0.688189f, -0.525736f, -0.499997f, 0.727273f, 0.157461f, -0.7947f, -0.1876f, -0.5773f,
|
||||||
|
-0.951058f, 0.000000f, -0.309013f, 0.772727f, 0.236191f, -0.7947f, -0.1876f, -0.5773f,
|
||||||
|
-0.688189f, -0.525736f, -0.499997f, 0.727273f, 0.157461f, -0.8897f, -0.3304f, -0.3151f,
|
||||||
|
-0.894426f, -0.447216f, 0.000000f, 0.818182f, 0.157461f, -0.8897f, -0.3304f, -0.3151f,
|
||||||
|
-0.951058f, 0.000000f, -0.309013f, 0.772727f, 0.236191f, -0.8897f, -0.3304f, -0.3151f,
|
||||||
|
-0.951058f, 0.000000f, 0.309013f, 0.863636f, 0.236191f, -0.8026f, 0.1256f, 0.5831f,
|
||||||
|
-0.587786f, 0.000000f, 0.809017f, 0.954545f, 0.236191f, -0.8026f, 0.1256f, 0.5831f,
|
||||||
|
-0.723607f, 0.447220f, 0.525725f, 0.909091f, 0.314921f, -0.8026f, 0.1256f, 0.5831f,
|
||||||
|
-0.951058f, 0.000000f, 0.309013f, 0.863636f, 0.236191f, -0.7947f, -0.1876f, 0.5773f,
|
||||||
|
-0.688189f, -0.525736f, 0.499997f, 0.909091f, 0.157461f, -0.7947f, -0.1876f, 0.5773f,
|
||||||
|
-0.587786f, 0.000000f, 0.809017f, 0.954545f, 0.236191f, -0.7947f, -0.1876f, 0.5773f,
|
||||||
|
-0.688189f, -0.525736f, 0.499997f, 0.909091f, 0.157461f, -0.5746f, -0.3304f, 0.7488f,
|
||||||
|
-0.276388f, -0.447220f, 0.850649f, 1.000000f, 0.157461f, -0.5746f, -0.3304f, 0.7488f,
|
||||||
|
-0.587786f, 0.000000f, 0.809017f, 0.954545f, 0.236191f, -0.5746f, -0.3304f, 0.7488f,
|
||||||
|
0.000000f, 0.000000f, 1.000000f, 0.136365f, 0.236191f, 0.3066f, 0.1256f, 0.9435f,
|
||||||
|
0.587786f, 0.000000f, 0.809017f, 0.227273f, 0.236191f, 0.3066f, 0.1256f, 0.9435f,
|
||||||
|
0.276388f, 0.447220f, 0.850649f, 0.181819f, 0.314921f, 0.3066f, 0.1256f, 0.9435f,
|
||||||
|
0.000000f, 0.000000f, 1.000000f, 0.136365f, 0.236191f, 0.3035f, -0.1876f, 0.9342f,
|
||||||
|
0.262869f, -0.525738f, 0.809012f, 0.181819f, 0.157461f, 0.3035f, -0.1876f, 0.9342f,
|
||||||
|
0.587786f, 0.000000f, 0.809017f, 0.227273f, 0.236191f, 0.3035f, -0.1876f, 0.9342f,
|
||||||
|
0.262869f, -0.525738f, 0.809012f, 0.181819f, 0.157461f, 0.5346f, -0.3304f, 0.7779f,
|
||||||
|
0.723607f, -0.447220f, 0.525725f, 0.272728f, 0.157461f, 0.5346f, -0.3304f, 0.7779f,
|
||||||
|
0.587786f, 0.000000f, 0.809017f, 0.227273f, 0.236191f, 0.5346f, -0.3304f, 0.7779f,
|
||||||
|
0.951058f, 0.000000f, 0.309013f, 0.318182f, 0.236191f, 0.9921f, 0.1256f, -0.0000f,
|
||||||
|
0.951058f, 0.000000f, -0.309013f, 0.409092f, 0.236191f, 0.9921f, 0.1256f, -0.0000f,
|
||||||
|
0.894426f, 0.447216f, 0.000000f, 0.363637f, 0.314921f, 0.9921f, 0.1256f, -0.0000f,
|
||||||
|
0.951058f, 0.000000f, 0.309013f, 0.318182f, 0.236191f, 0.9822f, -0.1876f, -0.0000f,
|
||||||
|
0.850648f, -0.525736f, 0.000000f, 0.363637f, 0.157461f, 0.9822f, -0.1876f, -0.0000f,
|
||||||
|
0.951058f, 0.000000f, -0.309013f, 0.409092f, 0.236191f, 0.9822f, -0.1876f, -0.0000f,
|
||||||
|
0.850648f, -0.525736f, 0.000000f, 0.363637f, 0.157461f, 0.9050f, -0.3304f, -0.2680f,
|
||||||
|
0.723607f, -0.447220f, -0.525725f, 0.454546f, 0.157461f, 0.9050f, -0.3304f, -0.2680f,
|
||||||
|
0.951058f, 0.000000f, -0.309013f, 0.409092f, 0.236191f, 0.9050f, -0.3304f, -0.2680f,
|
||||||
|
0.425323f, -0.850654f, -0.309011f, 0.500000f, 0.078731f, 0.4713f, -0.6617f, -0.5831f,
|
||||||
|
0.262869f, -0.525738f, -0.809012f, 0.545455f, 0.157461f, 0.4713f, -0.6617f, -0.5831f,
|
||||||
|
0.723607f, -0.447220f, -0.525725f, 0.454546f, 0.157461f, 0.4713f, -0.6617f, -0.5831f,
|
||||||
|
0.425323f, -0.850654f, -0.309011f, 0.500000f, 0.078731f, 0.1876f, -0.7947f, -0.5773f,
|
||||||
|
-0.162456f, -0.850654f, -0.499995f, 0.590909f, 0.078731f, 0.1876f, -0.7947f, -0.5773f,
|
||||||
|
0.262869f, -0.525738f, -0.809012f, 0.545455f, 0.157461f, 0.1876f, -0.7947f, -0.5773f,
|
||||||
|
-0.162456f, -0.850654f, -0.499995f, 0.590909f, 0.078731f, -0.0385f, -0.6617f, -0.7488f,
|
||||||
|
-0.276388f, -0.447220f, -0.850649f, 0.636364f, 0.157461f, -0.0385f, -0.6617f, -0.7488f,
|
||||||
|
0.262869f, -0.525738f, -0.809012f, 0.545455f, 0.157461f, -0.0385f, -0.6617f, -0.7488f,
|
||||||
|
-0.162456f, -0.850654f, -0.499995f, 0.681818f, 0.078731f, -0.4089f, -0.6617f, -0.6284f,
|
||||||
|
-0.688189f, -0.525736f, -0.499997f, 0.727273f, 0.157461f, -0.4089f, -0.6617f, -0.6284f,
|
||||||
|
-0.276388f, -0.447220f, -0.850649f, 0.636364f, 0.157461f, -0.4089f, -0.6617f, -0.6284f,
|
||||||
|
-0.162456f, -0.850654f, -0.499995f, 0.681818f, 0.078731f, -0.4911f, -0.7947f, -0.3568f,
|
||||||
|
-0.525730f, -0.850652f, 0.000000f, 0.772727f, 0.078731f, -0.4911f, -0.7947f, -0.3568f,
|
||||||
|
-0.688189f, -0.525736f, -0.499997f, 0.727273f, 0.157461f, -0.4911f, -0.7947f, -0.3568f,
|
||||||
|
-0.525730f, -0.850652f, 0.000000f, 0.772727f, 0.078731f, -0.7240f, -0.6617f, -0.1947f,
|
||||||
|
-0.894426f, -0.447216f, 0.000000f, 0.818182f, 0.157461f, -0.7240f, -0.6617f, -0.1947f,
|
||||||
|
-0.688189f, -0.525736f, -0.499997f, 0.727273f, 0.157461f, -0.7240f, -0.6617f, -0.1947f,
|
||||||
|
-0.525730f, -0.850652f, 0.000000f, 0.863636f, 0.078731f, -0.7240f, -0.6617f, 0.1947f,
|
||||||
|
-0.688189f, -0.525736f, 0.499997f, 0.909091f, 0.157461f, -0.7240f, -0.6617f, 0.1947f,
|
||||||
|
-0.894426f, -0.447216f, 0.000000f, 0.818182f, 0.157461f, -0.7240f, -0.6617f, 0.1947f,
|
||||||
|
-0.525730f, -0.850652f, 0.000000f, 0.863636f, 0.078731f, -0.4911f, -0.7947f, 0.3568f,
|
||||||
|
-0.162456f, -0.850654f, 0.499995f, 0.954545f, 0.078731f, -0.4911f, -0.7947f, 0.3568f,
|
||||||
|
-0.688189f, -0.525736f, 0.499997f, 0.909091f, 0.157461f, -0.4911f, -0.7947f, 0.3568f,
|
||||||
|
-0.162456f, -0.850654f, 0.499995f, 0.954545f, 0.078731f, -0.4089f, -0.6617f, 0.6284f,
|
||||||
|
-0.276388f, -0.447220f, 0.850649f, 1.000000f, 0.157461f, -0.4089f, -0.6617f, 0.6284f,
|
||||||
|
-0.688189f, -0.525736f, 0.499997f, 0.909091f, 0.157461f, -0.4089f, -0.6617f, 0.6284f,
|
||||||
|
0.850648f, -0.525736f, 0.000000f, 0.363637f, 0.157461f, 0.7002f, -0.6617f, -0.2680f,
|
||||||
|
0.425323f, -0.850654f, -0.309011f, 0.409092f, 0.078731f, 0.7002f, -0.6617f, -0.2680f,
|
||||||
|
0.723607f, -0.447220f, -0.525725f, 0.454546f, 0.157461f, 0.7002f, -0.6617f, -0.2680f,
|
||||||
|
0.850648f, -0.525736f, 0.000000f, 0.363637f, 0.157461f, 0.6071f, -0.7947f, -0.0000f,
|
||||||
|
0.425323f, -0.850654f, 0.309011f, 0.318182f, 0.078731f, 0.6071f, -0.7947f, -0.0000f,
|
||||||
|
0.425323f, -0.850654f, -0.309011f, 0.409092f, 0.078731f, 0.6071f, -0.7947f, -0.0000f,
|
||||||
|
0.425323f, -0.850654f, 0.309011f, 0.318182f, 0.078731f, 0.3313f, -0.9435f, -0.0000f,
|
||||||
|
0.000000f, -1.000000f, 0.000000f, 0.363637f, 0.000000f, 0.3313f, -0.9435f, -0.0000f,
|
||||||
|
0.425323f, -0.850654f, -0.309011f, 0.409092f, 0.078731f, 0.3313f, -0.9435f, -0.0000f,
|
||||||
|
-0.162456f, -0.850654f, 0.499995f, 0.136365f, 0.078731f, -0.0385f, -0.6617f, 0.7488f,
|
||||||
|
0.262869f, -0.525738f, 0.809012f, 0.181819f, 0.157461f, -0.0385f, -0.6617f, 0.7488f,
|
||||||
|
-0.276388f, -0.447220f, 0.850649f, 0.090910f, 0.157461f, -0.0385f, -0.6617f, 0.7488f,
|
||||||
|
-0.162456f, -0.850654f, 0.499995f, 0.136365f, 0.078731f, 0.1876f, -0.7947f, 0.5773f,
|
||||||
|
0.425323f, -0.850654f, 0.309011f, 0.227273f, 0.078731f, 0.1876f, -0.7947f, 0.5773f,
|
||||||
|
0.262869f, -0.525738f, 0.809012f, 0.181819f, 0.157461f, 0.1876f, -0.7947f, 0.5773f,
|
||||||
|
0.425323f, -0.850654f, 0.309011f, 0.227273f, 0.078731f, 0.4713f, -0.6617f, 0.5831f,
|
||||||
|
0.723607f, -0.447220f, 0.525725f, 0.272728f, 0.157461f, 0.4713f, -0.6617f, 0.5831f,
|
||||||
|
0.262869f, -0.525738f, 0.809012f, 0.181819f, 0.157461f, 0.4713f, -0.6617f, 0.5831f,
|
||||||
|
};
|
||||||
|
|
||||||
|
const int ball_vertices_length = (sizeof (ball_vertices)) / (sizeof (ball_vertices[0]));
|
||||||
|
|
||||||
2
include/model/ball.mtl
Normal file
2
include/model/ball.mtl
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
# Blender 4.4.3 MTL File: 'ball.blend'
|
||||||
|
# www.blender.org
|
||||||
270
include/model/ball.obj
Normal file
270
include/model/ball.obj
Normal file
@ -0,0 +1,270 @@
|
|||||||
|
# Blender 4.4.3
|
||||||
|
# www.blender.org
|
||||||
|
mtllib ball.mtl
|
||||||
|
o Icosphere
|
||||||
|
v 0.000000 -1.000000 0.000000
|
||||||
|
v 0.723607 -0.447220 0.525725
|
||||||
|
v -0.276388 -0.447220 0.850649
|
||||||
|
v -0.894426 -0.447216 0.000000
|
||||||
|
v -0.276388 -0.447220 -0.850649
|
||||||
|
v 0.723607 -0.447220 -0.525725
|
||||||
|
v 0.276388 0.447220 0.850649
|
||||||
|
v -0.723607 0.447220 0.525725
|
||||||
|
v -0.723607 0.447220 -0.525725
|
||||||
|
v 0.276388 0.447220 -0.850649
|
||||||
|
v 0.894426 0.447216 0.000000
|
||||||
|
v 0.000000 1.000000 0.000000
|
||||||
|
v -0.162456 -0.850654 0.499995
|
||||||
|
v 0.425323 -0.850654 0.309011
|
||||||
|
v 0.262869 -0.525738 0.809012
|
||||||
|
v 0.850648 -0.525736 0.000000
|
||||||
|
v 0.425323 -0.850654 -0.309011
|
||||||
|
v -0.525730 -0.850652 0.000000
|
||||||
|
v -0.688189 -0.525736 0.499997
|
||||||
|
v -0.162456 -0.850654 -0.499995
|
||||||
|
v -0.688189 -0.525736 -0.499997
|
||||||
|
v 0.262869 -0.525738 -0.809012
|
||||||
|
v 0.951058 0.000000 0.309013
|
||||||
|
v 0.951058 0.000000 -0.309013
|
||||||
|
v 0.000000 0.000000 1.000000
|
||||||
|
v 0.587786 0.000000 0.809017
|
||||||
|
v -0.951058 0.000000 0.309013
|
||||||
|
v -0.587786 0.000000 0.809017
|
||||||
|
v -0.587786 0.000000 -0.809017
|
||||||
|
v -0.951058 0.000000 -0.309013
|
||||||
|
v 0.587786 0.000000 -0.809017
|
||||||
|
v 0.000000 0.000000 -1.000000
|
||||||
|
v 0.688189 0.525736 0.499997
|
||||||
|
v -0.262869 0.525738 0.809012
|
||||||
|
v -0.850648 0.525736 0.000000
|
||||||
|
v -0.262869 0.525738 -0.809012
|
||||||
|
v 0.688189 0.525736 -0.499997
|
||||||
|
v 0.162456 0.850654 0.499995
|
||||||
|
v 0.525730 0.850652 0.000000
|
||||||
|
v -0.425323 0.850654 0.309011
|
||||||
|
v -0.425323 0.850654 -0.309011
|
||||||
|
v 0.162456 0.850654 -0.499995
|
||||||
|
vn 0.1024 -0.9435 0.3151
|
||||||
|
vn 0.7002 -0.6617 0.2680
|
||||||
|
vn -0.2680 -0.9435 0.1947
|
||||||
|
vn -0.2680 -0.9435 -0.1947
|
||||||
|
vn 0.1024 -0.9435 -0.3151
|
||||||
|
vn 0.9050 -0.3304 0.2680
|
||||||
|
vn 0.0247 -0.3304 0.9435
|
||||||
|
vn -0.8897 -0.3304 0.3151
|
||||||
|
vn -0.5746 -0.3304 -0.7488
|
||||||
|
vn 0.5346 -0.3304 -0.7779
|
||||||
|
vn 0.8026 -0.1256 0.5831
|
||||||
|
vn -0.3066 -0.1256 0.9435
|
||||||
|
vn -0.9921 -0.1256 -0.0000
|
||||||
|
vn -0.3066 -0.1256 -0.9435
|
||||||
|
vn 0.8026 -0.1256 -0.5831
|
||||||
|
vn 0.4089 0.6617 0.6284
|
||||||
|
vn -0.4713 0.6617 0.5831
|
||||||
|
vn -0.7002 0.6617 -0.2680
|
||||||
|
vn 0.0385 0.6617 -0.7488
|
||||||
|
vn 0.7240 0.6617 -0.1947
|
||||||
|
vn 0.2680 0.9435 -0.1947
|
||||||
|
vn 0.4911 0.7947 -0.3568
|
||||||
|
vn 0.4089 0.6617 -0.6284
|
||||||
|
vn -0.1024 0.9435 -0.3151
|
||||||
|
vn -0.1876 0.7947 -0.5773
|
||||||
|
vn -0.4713 0.6617 -0.5831
|
||||||
|
vn -0.3313 0.9435 -0.0000
|
||||||
|
vn -0.6071 0.7947 -0.0000
|
||||||
|
vn -0.7002 0.6617 0.2680
|
||||||
|
vn -0.1024 0.9435 0.3151
|
||||||
|
vn -0.1876 0.7947 0.5773
|
||||||
|
vn 0.0385 0.6617 0.7488
|
||||||
|
vn 0.2680 0.9435 0.1947
|
||||||
|
vn 0.4911 0.7947 0.3568
|
||||||
|
vn 0.7240 0.6617 0.1947
|
||||||
|
vn 0.8897 0.3304 -0.3151
|
||||||
|
vn 0.7947 0.1876 -0.5773
|
||||||
|
vn 0.5746 0.3304 -0.7488
|
||||||
|
vn -0.0247 0.3304 -0.9435
|
||||||
|
vn -0.3035 0.1876 -0.9342
|
||||||
|
vn -0.5346 0.3304 -0.7779
|
||||||
|
vn -0.9050 0.3304 -0.2680
|
||||||
|
vn -0.9822 0.1876 -0.0000
|
||||||
|
vn -0.9050 0.3304 0.2680
|
||||||
|
vn -0.5346 0.3304 0.7779
|
||||||
|
vn -0.3035 0.1876 0.9342
|
||||||
|
vn -0.0247 0.3304 0.9435
|
||||||
|
vn 0.5746 0.3304 0.7488
|
||||||
|
vn 0.7947 0.1876 0.5773
|
||||||
|
vn 0.8897 0.3304 0.3151
|
||||||
|
vn 0.3066 0.1256 -0.9435
|
||||||
|
vn 0.3035 -0.1876 -0.9342
|
||||||
|
vn 0.0247 -0.3304 -0.9435
|
||||||
|
vn -0.8026 0.1256 -0.5831
|
||||||
|
vn -0.7947 -0.1876 -0.5773
|
||||||
|
vn -0.8897 -0.3304 -0.3151
|
||||||
|
vn -0.8026 0.1256 0.5831
|
||||||
|
vn -0.7947 -0.1876 0.5773
|
||||||
|
vn -0.5746 -0.3304 0.7488
|
||||||
|
vn 0.3066 0.1256 0.9435
|
||||||
|
vn 0.3035 -0.1876 0.9342
|
||||||
|
vn 0.5346 -0.3304 0.7779
|
||||||
|
vn 0.9921 0.1256 -0.0000
|
||||||
|
vn 0.9822 -0.1876 -0.0000
|
||||||
|
vn 0.9050 -0.3304 -0.2680
|
||||||
|
vn 0.4713 -0.6617 -0.5831
|
||||||
|
vn 0.1876 -0.7947 -0.5773
|
||||||
|
vn -0.0385 -0.6617 -0.7488
|
||||||
|
vn -0.4089 -0.6617 -0.6284
|
||||||
|
vn -0.4911 -0.7947 -0.3568
|
||||||
|
vn -0.7240 -0.6617 -0.1947
|
||||||
|
vn -0.7240 -0.6617 0.1947
|
||||||
|
vn -0.4911 -0.7947 0.3568
|
||||||
|
vn -0.4089 -0.6617 0.6284
|
||||||
|
vn 0.7002 -0.6617 -0.2680
|
||||||
|
vn 0.6071 -0.7947 -0.0000
|
||||||
|
vn 0.3313 -0.9435 -0.0000
|
||||||
|
vn -0.0385 -0.6617 0.7488
|
||||||
|
vn 0.1876 -0.7947 0.5773
|
||||||
|
vn 0.4713 -0.6617 0.5831
|
||||||
|
vt 0.181819 0.000000
|
||||||
|
vt 0.227273 0.078731
|
||||||
|
vt 0.136365 0.078731
|
||||||
|
vt 0.272728 0.157461
|
||||||
|
vt 0.318182 0.078731
|
||||||
|
vt 0.363637 0.157461
|
||||||
|
vt 0.909091 0.000000
|
||||||
|
vt 0.954545 0.078731
|
||||||
|
vt 0.863636 0.078731
|
||||||
|
vt 0.727273 0.000000
|
||||||
|
vt 0.772727 0.078731
|
||||||
|
vt 0.681818 0.078731
|
||||||
|
vt 0.545455 0.000000
|
||||||
|
vt 0.590909 0.078731
|
||||||
|
vt 0.500000 0.078731
|
||||||
|
vt 0.318182 0.236191
|
||||||
|
vt 0.090910 0.157461
|
||||||
|
vt 0.181819 0.157461
|
||||||
|
vt 0.136365 0.236191
|
||||||
|
vt 0.818182 0.157461
|
||||||
|
vt 0.909091 0.157461
|
||||||
|
vt 0.863636 0.236191
|
||||||
|
vt 0.636364 0.157461
|
||||||
|
vt 0.727273 0.157461
|
||||||
|
vt 0.681818 0.236191
|
||||||
|
vt 0.454546 0.157461
|
||||||
|
vt 0.545455 0.157461
|
||||||
|
vt 0.500000 0.236191
|
||||||
|
vt 0.227273 0.236191
|
||||||
|
vt 0.045455 0.236191
|
||||||
|
vt 0.772727 0.236191
|
||||||
|
vt 0.590909 0.236191
|
||||||
|
vt 0.409092 0.236191
|
||||||
|
vt 0.181819 0.314921
|
||||||
|
vt 0.272728 0.314921
|
||||||
|
vt 0.227273 0.393651
|
||||||
|
vt 0.000000 0.314921
|
||||||
|
vt 0.090910 0.314921
|
||||||
|
vt 0.045455 0.393651
|
||||||
|
vt 0.727273 0.314921
|
||||||
|
vt 0.818182 0.314921
|
||||||
|
vt 0.772727 0.393651
|
||||||
|
vt 0.545455 0.314921
|
||||||
|
vt 0.636364 0.314921
|
||||||
|
vt 0.590909 0.393651
|
||||||
|
vt 0.363637 0.314921
|
||||||
|
vt 0.454546 0.314921
|
||||||
|
vt 0.409092 0.393651
|
||||||
|
vt 0.500000 0.393651
|
||||||
|
vt 0.454546 0.472382
|
||||||
|
vt 0.681818 0.393651
|
||||||
|
vt 0.636364 0.472382
|
||||||
|
vt 0.863636 0.393651
|
||||||
|
vt 0.818182 0.472382
|
||||||
|
vt 0.909091 0.314921
|
||||||
|
vt 0.136365 0.393651
|
||||||
|
vt 0.090910 0.472382
|
||||||
|
vt 0.318182 0.393651
|
||||||
|
vt 0.272728 0.472382
|
||||||
|
vt 0.954545 0.236191
|
||||||
|
vt 1.000000 0.157461
|
||||||
|
vt 0.409092 0.078731
|
||||||
|
vt 0.363637 0.000000
|
||||||
|
s 0
|
||||||
|
f 1/1/1 14/2/1 13/3/1
|
||||||
|
f 2/4/2 14/5/2 16/6/2
|
||||||
|
f 1/7/3 13/8/3 18/9/3
|
||||||
|
f 1/10/4 18/11/4 20/12/4
|
||||||
|
f 1/13/5 20/14/5 17/15/5
|
||||||
|
f 2/4/6 16/6/6 23/16/6
|
||||||
|
f 3/17/7 15/18/7 25/19/7
|
||||||
|
f 4/20/8 19/21/8 27/22/8
|
||||||
|
f 5/23/9 21/24/9 29/25/9
|
||||||
|
f 6/26/10 22/27/10 31/28/10
|
||||||
|
f 2/4/11 23/16/11 26/29/11
|
||||||
|
f 3/17/12 25/19/12 28/30/12
|
||||||
|
f 4/20/13 27/22/13 30/31/13
|
||||||
|
f 5/23/14 29/25/14 32/32/14
|
||||||
|
f 6/26/15 31/28/15 24/33/15
|
||||||
|
f 7/34/16 33/35/16 38/36/16
|
||||||
|
f 8/37/17 34/38/17 40/39/17
|
||||||
|
f 9/40/18 35/41/18 41/42/18
|
||||||
|
f 10/43/19 36/44/19 42/45/19
|
||||||
|
f 11/46/20 37/47/20 39/48/20
|
||||||
|
f 39/48/21 42/49/21 12/50/21
|
||||||
|
f 39/48/22 37/47/22 42/49/22
|
||||||
|
f 37/47/23 10/43/23 42/49/23
|
||||||
|
f 42/45/24 41/51/24 12/52/24
|
||||||
|
f 42/45/25 36/44/25 41/51/25
|
||||||
|
f 36/44/26 9/40/26 41/51/26
|
||||||
|
f 41/42/27 40/53/27 12/54/27
|
||||||
|
f 41/42/28 35/41/28 40/53/28
|
||||||
|
f 35/41/29 8/55/29 40/53/29
|
||||||
|
f 40/39/30 38/56/30 12/57/30
|
||||||
|
f 40/39/31 34/38/31 38/56/31
|
||||||
|
f 34/38/32 7/34/32 38/56/32
|
||||||
|
f 38/36/33 39/58/33 12/59/33
|
||||||
|
f 38/36/34 33/35/34 39/58/34
|
||||||
|
f 33/35/35 11/46/35 39/58/35
|
||||||
|
f 24/33/36 37/47/36 11/46/36
|
||||||
|
f 24/33/37 31/28/37 37/47/37
|
||||||
|
f 31/28/38 10/43/38 37/47/38
|
||||||
|
f 32/32/39 36/44/39 10/43/39
|
||||||
|
f 32/32/40 29/25/40 36/44/40
|
||||||
|
f 29/25/41 9/40/41 36/44/41
|
||||||
|
f 30/31/42 35/41/42 9/40/42
|
||||||
|
f 30/31/43 27/22/43 35/41/43
|
||||||
|
f 27/22/44 8/55/44 35/41/44
|
||||||
|
f 28/30/45 34/38/45 8/37/45
|
||||||
|
f 28/30/46 25/19/46 34/38/46
|
||||||
|
f 25/19/47 7/34/47 34/38/47
|
||||||
|
f 26/29/48 33/35/48 7/34/48
|
||||||
|
f 26/29/49 23/16/49 33/35/49
|
||||||
|
f 23/16/50 11/46/50 33/35/50
|
||||||
|
f 31/28/51 32/32/51 10/43/51
|
||||||
|
f 31/28/52 22/27/52 32/32/52
|
||||||
|
f 22/27/53 5/23/53 32/32/53
|
||||||
|
f 29/25/54 30/31/54 9/40/54
|
||||||
|
f 29/25/55 21/24/55 30/31/55
|
||||||
|
f 21/24/56 4/20/56 30/31/56
|
||||||
|
f 27/22/57 28/60/57 8/55/57
|
||||||
|
f 27/22/58 19/21/58 28/60/58
|
||||||
|
f 19/21/59 3/61/59 28/60/59
|
||||||
|
f 25/19/60 26/29/60 7/34/60
|
||||||
|
f 25/19/61 15/18/61 26/29/61
|
||||||
|
f 15/18/62 2/4/62 26/29/62
|
||||||
|
f 23/16/63 24/33/63 11/46/63
|
||||||
|
f 23/16/64 16/6/64 24/33/64
|
||||||
|
f 16/6/65 6/26/65 24/33/65
|
||||||
|
f 17/15/66 22/27/66 6/26/66
|
||||||
|
f 17/15/67 20/14/67 22/27/67
|
||||||
|
f 20/14/68 5/23/68 22/27/68
|
||||||
|
f 20/12/69 21/24/69 5/23/69
|
||||||
|
f 20/12/70 18/11/70 21/24/70
|
||||||
|
f 18/11/71 4/20/71 21/24/71
|
||||||
|
f 18/9/72 19/21/72 4/20/72
|
||||||
|
f 18/9/73 13/8/73 19/21/73
|
||||||
|
f 13/8/74 3/61/74 19/21/74
|
||||||
|
f 16/6/75 17/62/75 6/26/75
|
||||||
|
f 16/6/76 14/5/76 17/62/76
|
||||||
|
f 14/5/77 1/63/77 17/62/77
|
||||||
|
f 13/3/78 15/18/78 3/17/78
|
||||||
|
f 13/3/79 14/2/79 15/18/79
|
||||||
|
f 14/2/80 2/4/80 15/18/80
|
||||||
@ -14,6 +14,7 @@ extern "C" {
|
|||||||
|
|
||||||
void render(struct mesh paddle_mesh,
|
void render(struct mesh paddle_mesh,
|
||||||
struct mesh brick_mesh,
|
struct mesh brick_mesh,
|
||||||
|
struct mesh ball_mesh,
|
||||||
uint attrib_position,
|
uint attrib_position,
|
||||||
uint attrib_normal,
|
uint attrib_normal,
|
||||||
uint uniform_trans,
|
uint uniform_trans,
|
||||||
|
|||||||
11
src/main.c
11
src/main.c
@ -13,9 +13,10 @@
|
|||||||
|
|
||||||
#include "model/brick.h"
|
#include "model/brick.h"
|
||||||
#include "model/paddle.h"
|
#include "model/paddle.h"
|
||||||
|
#include "model/ball.h"
|
||||||
|
|
||||||
static int vp_width = 1200;
|
int vp_width = 2400;
|
||||||
static int vp_height = 1200;
|
int vp_height = 1200;
|
||||||
|
|
||||||
void framebuffer_size_callback(GLFWwindow* window, int width, int height)
|
void framebuffer_size_callback(GLFWwindow* window, int width, int height)
|
||||||
{
|
{
|
||||||
@ -76,6 +77,7 @@ int main()
|
|||||||
|
|
||||||
struct mesh paddle_mesh;
|
struct mesh paddle_mesh;
|
||||||
struct mesh brick_mesh;
|
struct mesh brick_mesh;
|
||||||
|
struct mesh ball_mesh;
|
||||||
brick_mesh.vtx = make_buffer(GL_ARRAY_BUFFER, brick_vertices, (sizeof (brick_vertices)));
|
brick_mesh.vtx = make_buffer(GL_ARRAY_BUFFER, brick_vertices, (sizeof (brick_vertices)));
|
||||||
brick_mesh.idx = make_buffer(GL_ELEMENT_ARRAY_BUFFER, brick_Cube_triangles, (sizeof (brick_Cube_triangles)));
|
brick_mesh.idx = make_buffer(GL_ELEMENT_ARRAY_BUFFER, brick_Cube_triangles, (sizeof (brick_Cube_triangles)));
|
||||||
brick_mesh.length = brick_Cube_triangles_length;
|
brick_mesh.length = brick_Cube_triangles_length;
|
||||||
@ -84,6 +86,10 @@ int main()
|
|||||||
paddle_mesh.idx = make_buffer(GL_ELEMENT_ARRAY_BUFFER, paddle_Cylinder_triangles, (sizeof (paddle_Cylinder_triangles)));
|
paddle_mesh.idx = make_buffer(GL_ELEMENT_ARRAY_BUFFER, paddle_Cylinder_triangles, (sizeof (paddle_Cylinder_triangles)));
|
||||||
paddle_mesh.length = paddle_Cylinder_triangles_length;
|
paddle_mesh.length = paddle_Cylinder_triangles_length;
|
||||||
|
|
||||||
|
ball_mesh.vtx = make_buffer(GL_ARRAY_BUFFER, ball_vertices, (sizeof (ball_vertices)));
|
||||||
|
ball_mesh.idx = make_buffer(GL_ELEMENT_ARRAY_BUFFER, ball_Icosphere_triangles, (sizeof (ball_Icosphere_triangles)));
|
||||||
|
ball_mesh.length = ball_Icosphere_triangles_length;
|
||||||
|
|
||||||
uint program = compile_shader(src_shader_vertex_color_vp_glsl_start,
|
uint program = compile_shader(src_shader_vertex_color_vp_glsl_start,
|
||||||
src_shader_vertex_color_vp_glsl_size,
|
src_shader_vertex_color_vp_glsl_size,
|
||||||
src_shader_vertex_color_fp_glsl_start,
|
src_shader_vertex_color_fp_glsl_start,
|
||||||
@ -146,6 +152,7 @@ int main()
|
|||||||
|
|
||||||
render(paddle_mesh,
|
render(paddle_mesh,
|
||||||
brick_mesh,
|
brick_mesh,
|
||||||
|
ball_mesh,
|
||||||
attrib_position,
|
attrib_position,
|
||||||
attrib_normal,
|
attrib_normal,
|
||||||
uniform_trans,
|
uniform_trans,
|
||||||
|
|||||||
@ -13,6 +13,9 @@
|
|||||||
|
|
||||||
#define PI 3.14159274101257324219f
|
#define PI 3.14159274101257324219f
|
||||||
|
|
||||||
|
extern int vp_width;
|
||||||
|
extern int vp_height;
|
||||||
|
|
||||||
mat4x4 perspective(float low1, float high1,
|
mat4x4 perspective(float low1, float high1,
|
||||||
float low2, float high2)
|
float low2, float high2)
|
||||||
{
|
{
|
||||||
@ -60,6 +63,7 @@ mat4x4 perspective(float low1, float high1,
|
|||||||
|
|
||||||
void render(mesh paddle_mesh,
|
void render(mesh paddle_mesh,
|
||||||
mesh brick_mesh,
|
mesh brick_mesh,
|
||||||
|
mesh ball_mesh,
|
||||||
uint attrib_position,
|
uint attrib_position,
|
||||||
uint attrib_normal,
|
uint attrib_normal,
|
||||||
uint uniform_trans,
|
uint uniform_trans,
|
||||||
@ -70,6 +74,10 @@ void render(mesh paddle_mesh,
|
|||||||
{
|
{
|
||||||
static float theta = 0;
|
static float theta = 0;
|
||||||
|
|
||||||
|
float aspect = (float)vp_height / (float)vp_width;
|
||||||
|
|
||||||
|
mat4x4 a = scale(vec3(aspect, 1.0f, 1.0f));
|
||||||
|
|
||||||
theta += 0.01;
|
theta += 0.01;
|
||||||
|
|
||||||
//////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////
|
||||||
@ -133,7 +141,7 @@ void render(mesh paddle_mesh,
|
|||||||
|
|
||||||
mat4x4 t = translate(vec3(px, py, 0.0));
|
mat4x4 t = translate(vec3(px, py, 0.0));
|
||||||
|
|
||||||
mat4x4 trans = t * rx * s;
|
mat4x4 trans = a * t * rx * s;
|
||||||
|
|
||||||
//mat3x3 normal_trans = transpose(inverse(submatrix(trans, 0, 0)));
|
//mat3x3 normal_trans = transpose(inverse(submatrix(trans, 0, 0)));
|
||||||
mat3x3 normal_trans = submatrix(rx, 3, 3);
|
mat3x3 normal_trans = submatrix(rx, 3, 3);
|
||||||
@ -161,7 +169,7 @@ void render(mesh paddle_mesh,
|
|||||||
float py = ((float)26 / 28.0) * -2.0 + 1.0 - 1.0f / 28.0f;
|
float py = ((float)26 / 28.0) * -2.0 + 1.0 - 1.0f / 28.0f;
|
||||||
mat4x4 t = translate(vec3(px, py, 0.0));
|
mat4x4 t = translate(vec3(px, py, 0.0));
|
||||||
|
|
||||||
mat4x4 trans = t * rx * s;
|
mat4x4 trans = a * t * rx * s;
|
||||||
mat3x3 normal_trans = submatrix(rx, 3, 3);
|
mat3x3 normal_trans = submatrix(rx, 3, 3);
|
||||||
//vec3 base_color = vec3(1, 1, 1);
|
//vec3 base_color = vec3(1, 1, 1);
|
||||||
vec3 base_color = vec3(1, 1, 1) * 0.5f;
|
vec3 base_color = vec3(1, 1, 1) * 0.5f;
|
||||||
@ -203,4 +211,58 @@ void render(mesh paddle_mesh,
|
|||||||
|
|
||||||
glDrawElements(GL_TRIANGLES, paddle_mesh.length, GL_UNSIGNED_INT, 0);
|
glDrawElements(GL_TRIANGLES, paddle_mesh.length, GL_UNSIGNED_INT, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//////////////////////////////////////////////////////////////////////
|
||||||
|
// render ball
|
||||||
|
//////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
{
|
||||||
|
mat4x4 rx = rotate_y(PI / 2.0f);
|
||||||
|
mat4x4 s = scale(0.03f);
|
||||||
|
float px = ((float)paddle_x / 13.0) * 2.0 - 1.0 + 1.0f / 13.0f;
|
||||||
|
float py = ((float)25 / 28.0) * -2.0 + 1.0 - 1.0f / 28.0f;
|
||||||
|
mat4x4 t = translate(vec3(px, py, 0.0));
|
||||||
|
|
||||||
|
mat4x4 trans = a * t * rx * s;
|
||||||
|
mat3x3 normal_trans = submatrix(rx, 3, 3);
|
||||||
|
//vec3 base_color = vec3(1, 1, 1);
|
||||||
|
vec3 base_color = vec3(1, 1, 1) * 0.5f;
|
||||||
|
//vec3 light_pos = vec3(-1, -1, 1);
|
||||||
|
|
||||||
|
glBindBuffer(GL_ARRAY_BUFFER, ball_mesh.vtx);
|
||||||
|
glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, ball_mesh.idx);
|
||||||
|
|
||||||
|
glVertexAttribPointer(attrib_position,
|
||||||
|
3,
|
||||||
|
GL_FLOAT,
|
||||||
|
GL_FALSE,
|
||||||
|
(sizeof (float)) * 8,
|
||||||
|
(void*)(0 * 4)
|
||||||
|
);
|
||||||
|
/*
|
||||||
|
glVertexAttribPointer(vertex_color_attrib_texture,
|
||||||
|
2,
|
||||||
|
GL_FLOAT,
|
||||||
|
GL_FALSE,
|
||||||
|
(sizeof (float)) * 8,
|
||||||
|
(void*)(3 * 4)
|
||||||
|
);
|
||||||
|
*/
|
||||||
|
glVertexAttribPointer(attrib_normal,
|
||||||
|
3,
|
||||||
|
GL_FLOAT,
|
||||||
|
GL_FALSE,
|
||||||
|
(sizeof (float)) * 8,
|
||||||
|
(void*)(5 * 4)
|
||||||
|
);
|
||||||
|
glEnableVertexAttribArray(attrib_position);
|
||||||
|
glEnableVertexAttribArray(attrib_normal);
|
||||||
|
|
||||||
|
glUniform4fv(uniform_trans, 4, &trans[0][0]);
|
||||||
|
glUniform3fv(uniform_normal_trans, 3, &normal_trans[0][0]);
|
||||||
|
glUniform3fv(uniform_base_color, 1, &base_color[0]);
|
||||||
|
glUniform3fv(uniform_light_pos, 1, &light_pos[0]);
|
||||||
|
|
||||||
|
glDrawElements(GL_TRIANGLES, paddle_mesh.length, GL_UNSIGNED_INT, 0);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user