From 4ad6e4c344e9557b4ce5987b079111b25b75f76b Mon Sep 17 00:00:00 2001 From: Zack Buhman Date: Thu, 4 Dec 2025 14:10:48 -0600 Subject: [PATCH] draw ball; aspect correction --- ball.h | 0 blend/ball.blend | Bin 0 -> 471322 bytes include/model/ball.h | 332 +++++++++++++++++++++++++++++++++++++++++ include/model/ball.mtl | 2 + include/model/ball.obj | 270 +++++++++++++++++++++++++++++++++ include/render.hpp | 1 + src/main.c | 11 +- src/render.cpp | 66 +++++++- 8 files changed, 678 insertions(+), 4 deletions(-) create mode 100644 ball.h create mode 100644 blend/ball.blend create mode 100644 include/model/ball.h create mode 100644 include/model/ball.mtl create mode 100644 include/model/ball.obj diff --git a/ball.h b/ball.h new file mode 100644 index 0000000..e69de29 diff --git a/blend/ball.blend b/blend/ball.blend new file mode 100644 index 0000000000000000000000000000000000000000..c35bd50f5c0f9d2e053c9aa80a29ee480dff3017 GIT binary patch literal 471322 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 Kdh#3PKT-Wd$|b+k-pNmT@|WL{r~Dx0(r%sh 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 ZBPf)1@(a5YtlPTTJO}y-2jB+$KlwI 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 I{NLYy0Cus28~^|S literal 0 HcmV?d00001 diff --git a/include/model/ball.h b/include/model/ball.h new file mode 100644 index 0000000..44ec1e3 --- /dev/null +++ b/include/model/ball.h @@ -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])); + diff --git a/include/model/ball.mtl b/include/model/ball.mtl new file mode 100644 index 0000000..4a7e04d --- /dev/null +++ b/include/model/ball.mtl @@ -0,0 +1,2 @@ +# Blender 4.4.3 MTL File: 'ball.blend' +# www.blender.org diff --git a/include/model/ball.obj b/include/model/ball.obj new file mode 100644 index 0000000..36f6535 --- /dev/null +++ b/include/model/ball.obj @@ -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 diff --git a/include/render.hpp b/include/render.hpp index 4e8f8f8..bda65f7 100644 --- a/include/render.hpp +++ b/include/render.hpp @@ -14,6 +14,7 @@ extern "C" { void render(struct mesh paddle_mesh, struct mesh brick_mesh, + struct mesh ball_mesh, uint attrib_position, uint attrib_normal, uint uniform_trans, diff --git a/src/main.c b/src/main.c index 1024ebb..abe5b5d 100644 --- a/src/main.c +++ b/src/main.c @@ -13,9 +13,10 @@ #include "model/brick.h" #include "model/paddle.h" +#include "model/ball.h" -static int vp_width = 1200; -static int vp_height = 1200; +int vp_width = 2400; +int vp_height = 1200; void framebuffer_size_callback(GLFWwindow* window, int width, int height) { @@ -76,6 +77,7 @@ int main() struct mesh paddle_mesh; struct mesh brick_mesh; + struct mesh ball_mesh; 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.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.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, src_shader_vertex_color_vp_glsl_size, src_shader_vertex_color_fp_glsl_start, @@ -146,6 +152,7 @@ int main() render(paddle_mesh, brick_mesh, + ball_mesh, attrib_position, attrib_normal, uniform_trans, diff --git a/src/render.cpp b/src/render.cpp index bc41c70..d26dc6e 100644 --- a/src/render.cpp +++ b/src/render.cpp @@ -13,6 +13,9 @@ #define PI 3.14159274101257324219f +extern int vp_width; +extern int vp_height; + mat4x4 perspective(float low1, float high1, float low2, float high2) { @@ -60,6 +63,7 @@ mat4x4 perspective(float low1, float high1, void render(mesh paddle_mesh, mesh brick_mesh, + mesh ball_mesh, uint attrib_position, uint attrib_normal, uint uniform_trans, @@ -70,6 +74,10 @@ void render(mesh paddle_mesh, { static float theta = 0; + float aspect = (float)vp_height / (float)vp_width; + + mat4x4 a = scale(vec3(aspect, 1.0f, 1.0f)); + theta += 0.01; ////////////////////////////////////////////////////////////////////// @@ -133,7 +141,7 @@ void render(mesh paddle_mesh, 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 = 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; 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); //vec3 base_color = vec3(1, 1, 1); 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); } + + ////////////////////////////////////////////////////////////////////// + // 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); + } }