/
redgpu
/
ezEngine
Обзор
Документация
Войти
/
redgpu
/
ezEngine
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
dev
Code/EnginePlugins/ProcGenPlugin/Resources/Implementation/Patterns.cpp
824 строки
23 KB
C-Core
Fixed wrong thresholds in placement patterns (#1331)
10 июн 2024, 11:30
Не верифицирован
10 июн 2024, 11:30
4d1db19
Код
Авторство
О чём код?
#include <ProcGenPlugin/ProcGenPluginPCH.h> #include <Foundation/Containers/HashTable.h> #include <ProcGenPlugin/Declarations.h> namespace ezProcGenInternal { // Source: https://c-core-games.com/Generator/PlacementPatterns.html?t=R&s=16&ps=abcde&pr=0.73&pt=100&ri=500&ts=abababxx&ti=5000&st=true static Pattern::Point s_RegularGridPoints[] = { {0.50f, 0.50f, 0.984f}, {0.50f, 1.50f, 0.699f}, {0.50f, 2.50f, 0.094f}, {0.50f, 3.50f, 0.258f}, {0.50f, 4.50f, 0.957f}, {0.50f, 5.50f, 0.582f}, {0.50f, 6.50f, 0.902f}, {0.50f, 7.50f, 0.340f}, {0.50f, 8.50f, 0.801f}, {0.50f, 9.50f, 0.004f}, {0.50f, 10.50f, 0.391f}, {0.50f, 11.50f, 0.707f}, {0.50f, 12.50f, 0.301f}, {0.50f, 13.50f, 0.559f}, {0.50f, 14.50f, 0.762f}, {0.50f, 15.50f, 0.605f}, {1.50f, 0.50f, 0.043f}, {1.50f, 1.50f, 0.422f}, {1.50f, 2.50f, 0.805f}, {1.50f, 3.50f, 0.508f}, {1.50f, 4.50f, 0.020f}, {1.50f, 5.50f, 0.387f}, {1.50f, 6.50f, 0.711f}, {1.50f, 7.50f, 0.176f}, {1.50f, 8.50f, 0.473f}, {1.50f, 9.50f, 0.949f}, {1.50f, 10.50f, 0.516f}, {1.50f, 11.50f, 0.145f}, {1.50f, 12.50f, 0.969f}, {1.50f, 13.50f, 0.098f}, {1.50f, 14.50f, 0.336f}, {1.50f, 15.50f, 0.234f}, {2.50f, 0.50f, 0.730f}, {2.50f, 1.50f, 0.563f}, {2.50f, 2.50f, 0.355f}, {2.50f, 3.50f, 0.863f}, {2.50f, 4.50f, 0.750f}, {2.50f, 5.50f, 0.141f}, {2.50f, 6.50f, 0.531f}, {2.50f, 7.50f, 0.824f}, {2.50f, 8.50f, 0.082f}, {2.50f, 9.50f, 0.590f}, {2.50f, 10.50f, 0.738f}, {2.50f, 11.50f, 0.277f}, {2.50f, 12.50f, 0.836f}, {2.50f, 13.50f, 0.652f}, {2.50f, 14.50f, 0.438f}, {2.50f, 15.50f, 0.895f}, {3.50f, 0.50f, 0.148f}, {3.50f, 1.50f, 0.953f}, {3.50f, 2.50f, 0.113f}, {3.50f, 3.50f, 0.227f}, {3.50f, 4.50f, 0.625f}, {3.50f, 5.50f, 0.285f}, {3.50f, 6.50f, 0.988f}, {3.50f, 7.50f, 0.434f}, {3.50f, 8.50f, 0.242f}, {3.50f, 9.50f, 0.883f}, {3.50f, 10.50f, 0.363f}, {3.50f, 11.50f, 0.051f}, {3.50f, 12.50f, 0.484f}, {3.50f, 13.50f, 0.180f}, {3.50f, 14.50f, 0.809f}, {3.50f, 15.50f, 0.520f}, {4.50f, 0.50f, 0.637f}, {4.50f, 1.50f, 0.316f}, {4.50f, 2.50f, 0.691f}, {4.50f, 3.50f, 0.480f}, {4.50f, 4.50f, 0.930f}, {4.50f, 5.50f, 0.090f}, {4.50f, 6.50f, 0.598f}, {4.50f, 7.50f, 0.352f}, {4.50f, 8.50f, 0.672f}, {4.50f, 9.50f, 0.121f}, {4.50f, 10.50f, 0.613f}, {4.50f, 11.50f, 0.766f}, {4.50f, 12.50f, 0.926f}, {4.50f, 13.50f, 0.367f}, {4.50f, 14.50f, 0.066f}, {4.50f, 15.50f, 0.254f}, {5.50f, 0.50f, 0.402f}, {5.50f, 1.50f, 0.875f}, {5.50f, 2.50f, 0.008f}, {5.50f, 3.50f, 0.813f}, {5.50f, 4.50f, 0.383f}, {5.50f, 5.50f, 0.734f}, {5.50f, 6.50f, 0.859f}, {5.50f, 7.50f, 0.027f}, {5.50f, 8.50f, 0.797f}, {5.50f, 9.50f, 0.961f}, {5.50f, 10.50f, 0.441f}, {5.50f, 11.50f, 0.230f}, {5.50f, 12.50f, 0.555f}, {5.50f, 13.50f, 0.680f}, {5.50f, 14.50f, 0.977f}, {5.50f, 15.50f, 0.773f}, {6.50f, 0.50f, 0.602f}, {6.50f, 1.50f, 0.168f}, {6.50f, 2.50f, 0.461f}, {6.50f, 3.50f, 0.570f}, {6.50f, 4.50f, 0.188f}, {6.50f, 5.50f, 0.305f}, {6.50f, 6.50f, 0.465f}, {6.50f, 7.50f, 0.172f}, {6.50f, 8.50f, 0.551f}, {6.50f, 9.50f, 0.293f}, {6.50f, 10.50f, 0.160f}, {6.50f, 11.50f, 0.871f}, {6.50f, 12.50f, 0.012f}, {6.50f, 13.50f, 0.270f}, {6.50f, 14.50f, 0.500f}, {6.50f, 15.50f, 0.105f}, {7.50f, 0.50f, 0.914f}, {7.50f, 1.50f, 0.719f}, {7.50f, 2.50f, 0.273f}, {7.50f, 3.50f, 0.980f}, {7.50f, 4.50f, 0.059f}, {7.50f, 5.50f, 0.641f}, {7.50f, 6.50f, 0.918f}, {7.50f, 7.50f, 0.703f}, {7.50f, 8.50f, 0.371f}, {7.50f, 9.50f, 0.746f}, {7.50f, 10.50f, 0.523f}, {7.50f, 11.50f, 0.660f}, {7.50f, 12.50f, 0.410f}, {7.50f, 13.50f, 0.742f}, {7.50f, 14.50f, 0.852f}, {7.50f, 15.50f, 0.297f}, {8.50f, 0.50f, 0.039f}, {8.50f, 1.50f, 0.418f}, {8.50f, 2.50f, 0.848f}, {8.50f, 3.50f, 0.668f}, {8.50f, 4.50f, 0.777f}, {8.50f, 5.50f, 0.535f}, {8.50f, 6.50f, 0.109f}, {8.50f, 7.50f, 0.246f}, {8.50f, 8.50f, 0.996f}, {8.50f, 9.50f, 0.055f}, {8.50f, 10.50f, 0.840f}, {8.50f, 11.50f, 0.137f}, {8.50f, 12.50f, 0.945f}, {8.50f, 13.50f, 0.184f}, {8.50f, 14.50f, 0.359f}, {8.50f, 15.50f, 0.566f}, {9.50f, 0.50f, 0.207f}, {9.50f, 1.50f, 0.527f}, {9.50f, 2.50f, 0.156f}, {9.50f, 3.50f, 0.379f}, {9.50f, 4.50f, 0.215f}, {9.50f, 5.50f, 0.324f}, {9.50f, 6.50f, 0.820f}, {9.50f, 7.50f, 0.488f}, {9.50f, 8.50f, 0.621f}, {9.50f, 9.50f, 0.406f}, {9.50f, 10.50f, 0.262f}, {9.50f, 11.50f, 0.477f}, {9.50f, 12.50f, 0.609f}, {9.50f, 13.50f, 0.070f}, {9.50f, 14.50f, 0.676f}, {9.50f, 15.50f, 1.000f}, {10.50f, 0.50f, 0.754f}, {10.50f, 1.50f, 0.898f}, {10.50f, 2.50f, 0.074f}, {10.50f, 3.50f, 0.594f}, {10.50f, 4.50f, 0.934f}, {10.50f, 5.50f, 0.457f}, {10.50f, 6.50f, 0.023f}, {10.50f, 7.50f, 0.891f}, {10.50f, 8.50f, 0.199f}, {10.50f, 9.50f, 0.758f}, {10.50f, 10.50f, 0.910f}, {10.50f, 11.50f, 0.328f}, {10.50f, 12.50f, 0.793f}, {10.50f, 13.50f, 0.398f}, {10.50f, 14.50f, 0.828f}, {10.50f, 15.50f, 0.453f}, {11.50f, 0.50f, 0.617f}, {11.50f, 1.50f, 0.332f}, {11.50f, 2.50f, 0.727f}, {11.50f, 3.50f, 0.832f}, {11.50f, 4.50f, 0.133f}, {11.50f, 5.50f, 0.629f}, {11.50f, 6.50f, 0.715f}, {11.50f, 7.50f, 0.348f}, {11.50f, 8.50f, 0.586f}, {11.50f, 9.50f, 0.129f}, {11.50f, 10.50f, 0.664f}, {11.50f, 11.50f, 0.016f}, {11.50f, 12.50f, 0.539f}, {11.50f, 13.50f, 0.211f}, {11.50f, 14.50f, 0.125f}, {11.50f, 15.50f, 0.281f}, {12.50f, 0.50f, 0.047f}, {12.50f, 1.50f, 0.219f}, {12.50f, 2.50f, 0.426f}, {12.50f, 3.50f, 0.512f}, {12.50f, 4.50f, 0.250f}, {12.50f, 5.50f, 0.375f}, {12.50f, 6.50f, 0.992f}, {12.50f, 7.50f, 0.078f}, {12.50f, 8.50f, 0.785f}, {12.50f, 9.50f, 0.504f}, {12.50f, 10.50f, 0.223f}, {12.50f, 11.50f, 0.973f}, {12.50f, 12.50f, 0.723f}, {12.50f, 13.50f, 0.887f}, {12.50f, 14.50f, 0.574f}, {12.50f, 15.50f, 0.941f}, {13.50f, 0.50f, 0.844f}, {13.50f, 1.50f, 0.543f}, {13.50f, 2.50f, 0.965f}, {13.50f, 3.50f, 0.035f}, {13.50f, 4.50f, 0.695f}, {13.50f, 5.50f, 0.867f}, {13.50f, 6.50f, 0.164f}, {13.50f, 7.50f, 0.547f}, {13.50f, 8.50f, 0.289f}, {13.50f, 9.50f, 0.855f}, {13.50f, 10.50f, 0.414f}, {13.50f, 11.50f, 0.313f}, {13.50f, 12.50f, 0.086f}, {13.50f, 13.50f, 0.469f}, {13.50f, 14.50f, 0.344f}, {13.50f, 15.50f, 0.688f}, {14.50f, 0.50f, 0.395f}, {14.50f, 1.50f, 0.645f}, {14.50f, 2.50f, 0.152f}, {14.50f, 3.50f, 0.781f}, {14.50f, 4.50f, 0.309f}, {14.50f, 5.50f, 0.492f}, {14.50f, 6.50f, 0.770f}, {14.50f, 7.50f, 0.430f}, {14.50f, 8.50f, 0.938f}, {14.50f, 9.50f, 0.102f}, {14.50f, 10.50f, 0.578f}, {14.50f, 11.50f, 0.816f}, {14.50f, 12.50f, 0.648f}, {14.50f, 13.50f, 0.238f}, {14.50f, 14.50f, 0.789f}, {14.50f, 15.50f, 0.117f}, {15.50f, 0.50f, 0.191f}, {15.50f, 1.50f, 0.320f}, {15.50f, 2.50f, 0.879f}, {15.50f, 3.50f, 0.449f}, {15.50f, 4.50f, 0.656f}, {15.50f, 5.50f, 0.203f}, {15.50f, 6.50f, 0.063f}, {15.50f, 7.50f, 0.633f}, {15.50f, 8.50f, 0.266f}, {15.50f, 9.50f, 0.684f}, {15.50f, 10.50f, 0.195f}, {15.50f, 11.50f, 0.906f}, {15.50f, 12.50f, 0.445f}, {15.50f, 13.50f, 0.031f}, {15.50f, 14.50f, 0.922f}, {15.50f, 15.50f, 0.496f}, }; // Source: https://c-core-games.com/Generator/PlacementPatterns.html?t=H&s=16&ps=abcde&pr=0.73&pt=100&ri=500&ts=abababxx&ti=5000&st=true static Pattern::Point s_HexGridPoints[] = { {0.00f, 1.39f, 0.852f}, {0.00f, 3.17f, 0.937f}, {0.00f, 4.94f, 0.337f}, {0.00f, 6.72f, 0.430f}, {0.00f, 8.50f, 0.719f}, {0.00f, 10.28f, 0.807f}, {0.00f, 12.06f, 0.700f}, {0.00f, 13.83f, 0.811f}, {0.00f, 15.61f, 0.230f}, {0.50f, 0.50f, 0.652f}, {0.50f, 2.28f, 0.137f}, {0.50f, 4.06f, 0.741f}, {0.50f, 5.83f, 0.563f}, {0.50f, 7.61f, 0.119f}, {0.50f, 9.39f, 0.944f}, {0.50f, 11.17f, 0.548f}, {0.50f, 12.94f, 0.970f}, {0.50f, 14.72f, 0.467f}, {1.07f, 1.39f, 0.411f}, {1.07f, 3.17f, 0.226f}, {1.07f, 4.94f, 0.056f}, {1.07f, 6.72f, 0.244f}, {1.07f, 8.50f, 0.596f}, {1.07f, 10.28f, 0.211f}, {1.07f, 12.06f, 0.078f}, {1.07f, 13.83f, 0.267f}, {1.07f, 15.61f, 0.915f}, {1.57f, 0.50f, 0.019f}, {1.57f, 2.28f, 0.559f}, {1.57f, 4.06f, 0.444f}, {1.57f, 5.83f, 0.648f}, {1.57f, 7.61f, 0.815f}, {1.57f, 9.39f, 0.367f}, {1.57f, 11.17f, 0.456f}, {1.57f, 12.94f, 0.352f}, {1.57f, 14.72f, 0.589f}, {2.13f, 1.39f, 0.307f}, {2.13f, 3.17f, 0.844f}, {2.13f, 4.94f, 0.989f}, {2.13f, 6.72f, 0.896f}, {2.13f, 8.50f, 0.015f}, {2.13f, 10.28f, 0.907f}, {2.13f, 12.06f, 0.756f}, {2.13f, 13.83f, 0.126f}, {2.13f, 15.61f, 0.785f}, {2.63f, 0.50f, 0.204f}, {2.63f, 2.28f, 0.726f}, {2.63f, 4.06f, 0.348f}, {2.63f, 5.83f, 0.159f}, {2.63f, 7.61f, 0.485f}, {2.63f, 9.39f, 0.681f}, {2.63f, 11.17f, 0.289f}, {2.63f, 12.94f, 0.870f}, {2.63f, 14.72f, 0.419f}, {3.20f, 1.39f, 0.481f}, {3.20f, 3.17f, 0.104f}, {3.20f, 4.94f, 0.530f}, {3.20f, 6.72f, 0.319f}, {3.20f, 8.50f, 0.196f}, {3.20f, 10.28f, 0.522f}, {3.20f, 12.06f, 0.604f}, {3.20f, 13.83f, 0.696f}, {3.20f, 15.61f, 0.974f}, {3.70f, 0.50f, 0.667f}, {3.70f, 2.28f, 0.904f}, {3.70f, 4.06f, 0.793f}, {3.70f, 5.83f, 0.685f}, {3.70f, 7.61f, 0.759f}, {3.70f, 9.39f, 0.415f}, {3.70f, 11.17f, 0.044f}, {3.70f, 12.94f, 0.170f}, {3.70f, 14.72f, 0.067f}, {4.27f, 1.39f, 0.141f}, {4.27f, 3.17f, 0.607f}, {4.27f, 4.94f, 0.274f}, {4.27f, 6.72f, 0.081f}, {4.27f, 8.50f, 0.978f}, {4.27f, 10.28f, 0.781f}, {4.27f, 12.06f, 0.959f}, {4.27f, 13.83f, 0.541f}, {4.27f, 15.61f, 0.330f}, {4.77f, 0.50f, 0.578f}, {4.77f, 2.28f, 0.385f}, {4.77f, 4.06f, 0.004f}, {4.77f, 5.83f, 0.422f}, {4.77f, 7.61f, 0.585f}, {4.77f, 9.39f, 0.115f}, {4.77f, 11.17f, 0.219f}, {4.77f, 12.94f, 0.396f}, {4.77f, 14.72f, 0.848f}, {5.33f, 1.39f, 0.941f}, {5.33f, 3.17f, 0.233f}, {5.33f, 4.94f, 0.933f}, {5.33f, 6.72f, 0.881f}, {5.33f, 8.50f, 0.363f}, {5.33f, 10.28f, 0.863f}, {5.33f, 12.06f, 0.670f}, {5.33f, 13.83f, 0.252f}, {5.33f, 15.61f, 0.744f}, {5.83f, 0.50f, 0.033f}, {5.83f, 2.28f, 0.711f}, {5.83f, 4.06f, 0.519f}, {5.83f, 5.83f, 0.737f}, {5.83f, 7.61f, 0.241f}, {5.83f, 9.39f, 0.622f}, {5.83f, 11.17f, 0.489f}, {5.83f, 12.94f, 0.774f}, {5.83f, 14.72f, 0.448f}, {6.40f, 1.39f, 0.285f}, {6.40f, 3.17f, 0.833f}, {6.40f, 4.94f, 0.122f}, {6.40f, 6.72f, 0.496f}, {6.40f, 8.50f, 0.804f}, {6.40f, 10.28f, 0.281f}, {6.40f, 12.06f, 0.356f}, {6.40f, 13.83f, 0.089f}, {6.40f, 15.61f, 0.193f}, {6.90f, 0.50f, 0.511f}, {6.90f, 2.28f, 0.463f}, {6.90f, 4.06f, 0.633f}, {6.90f, 5.83f, 0.296f}, {6.90f, 7.61f, 0.030f}, {6.90f, 9.39f, 0.533f}, {6.90f, 11.17f, 0.011f}, {6.90f, 12.94f, 0.911f}, {6.90f, 14.72f, 0.996f}, {7.47f, 1.39f, 0.867f}, {7.47f, 3.17f, 0.178f}, {7.47f, 4.94f, 0.370f}, {7.47f, 6.72f, 0.656f}, {7.47f, 8.50f, 0.152f}, {7.47f, 10.28f, 0.926f}, {7.47f, 12.06f, 0.156f}, {7.47f, 13.83f, 0.526f}, {7.47f, 15.61f, 0.644f}, {7.97f, 0.50f, 0.763f}, {7.97f, 2.28f, 0.052f}, {7.97f, 4.06f, 0.993f}, {7.97f, 5.83f, 0.830f}, {7.97f, 7.61f, 0.948f}, {7.97f, 9.39f, 0.693f}, {7.97f, 11.17f, 0.730f}, {7.97f, 12.94f, 0.619f}, {7.97f, 14.72f, 0.311f}, {8.53f, 1.39f, 0.344f}, {8.53f, 3.17f, 0.400f}, {8.53f, 4.94f, 0.093f}, {8.53f, 6.72f, 0.185f}, {8.53f, 8.50f, 0.470f}, {8.53f, 10.28f, 0.326f}, {8.53f, 12.06f, 0.426f}, {8.53f, 13.83f, 0.796f}, {8.53f, 15.61f, 0.107f}, {9.03f, 0.50f, 0.930f}, {9.03f, 2.28f, 0.611f}, {9.03f, 4.06f, 0.678f}, {9.03f, 5.83f, 0.552f}, {9.03f, 7.61f, 0.393f}, {9.03f, 9.39f, 0.222f}, {9.03f, 11.17f, 0.822f}, {9.03f, 12.94f, 0.200f}, {9.03f, 14.72f, 0.404f}, {9.60f, 1.39f, 0.167f}, {9.60f, 3.17f, 0.800f}, {9.60f, 4.94f, 0.889f}, {9.60f, 6.72f, 0.752f}, {9.60f, 8.50f, 0.859f}, {9.60f, 10.28f, 0.096f}, {9.60f, 12.06f, 0.504f}, {9.60f, 13.83f, 0.893f}, {9.60f, 15.61f, 0.259f}, {10.10f, 0.50f, 0.689f}, {10.10f, 2.28f, 0.544f}, {10.10f, 4.06f, 0.207f}, {10.10f, 5.83f, 0.459f}, {10.10f, 7.61f, 0.048f}, {10.10f, 9.39f, 0.574f}, {10.10f, 11.17f, 0.956f}, {10.10f, 12.94f, 0.037f}, {10.10f, 14.72f, 0.600f}, {10.67f, 1.39f, 0.874f}, {10.67f, 3.17f, 0.441f}, {10.67f, 4.94f, 0.333f}, {10.67f, 6.72f, 0.263f}, {10.67f, 8.50f, 0.641f}, {10.67f, 10.28f, 0.381f}, {10.67f, 12.06f, 0.278f}, {10.67f, 13.83f, 0.715f}, {10.67f, 15.61f, 0.085f}, {11.17f, 0.50f, 0.500f}, {11.17f, 2.28f, 0.300f}, {11.17f, 4.06f, 0.059f}, {11.17f, 5.83f, 0.704f}, {11.17f, 7.61f, 0.985f}, {11.17f, 9.39f, 0.789f}, {11.17f, 11.17f, 0.659f}, {11.17f, 12.94f, 0.556f}, {11.17f, 14.72f, 0.967f}, {11.73f, 1.39f, 0.007f}, {11.73f, 3.17f, 0.952f}, {11.73f, 4.94f, 0.919f}, {11.73f, 6.72f, 0.133f}, {11.73f, 8.50f, 0.315f}, {11.73f, 10.28f, 0.181f}, {11.73f, 12.06f, 0.837f}, {11.73f, 13.83f, 0.130f}, {11.73f, 15.61f, 0.433f}, {12.23f, 0.50f, 0.826f}, {12.23f, 2.28f, 0.733f}, {12.23f, 4.06f, 0.626f}, {12.23f, 5.83f, 0.570f}, {12.23f, 7.61f, 0.507f}, {12.23f, 9.39f, 0.437f}, {12.23f, 11.17f, 0.070f}, {12.23f, 12.94f, 0.374f}, {12.23f, 14.72f, 0.322f}, {12.80f, 1.39f, 0.248f}, {12.80f, 3.17f, 0.148f}, {12.80f, 4.94f, 0.237f}, {12.80f, 6.72f, 0.819f}, {12.80f, 8.50f, 0.900f}, {12.80f, 10.28f, 0.722f}, {12.80f, 12.06f, 0.474f}, {12.80f, 13.83f, 0.856f}, {12.80f, 15.61f, 0.174f}, {13.30f, 0.50f, 0.637f}, {13.30f, 2.28f, 0.537f}, {13.30f, 4.06f, 0.778f}, {13.30f, 5.83f, 0.378f}, {13.30f, 7.61f, 0.022f}, {13.30f, 9.39f, 0.144f}, {13.30f, 11.17f, 1.000f}, {13.30f, 12.94f, 0.748f}, {13.30f, 14.72f, 0.581f}, {13.87f, 1.39f, 0.981f}, {13.87f, 3.17f, 0.359f}, {13.87f, 4.94f, 0.493f}, {13.87f, 6.72f, 0.615f}, {13.87f, 8.50f, 0.256f}, {13.87f, 10.28f, 0.567f}, {13.87f, 12.06f, 0.270f}, {13.87f, 13.83f, 0.215f}, {13.87f, 15.61f, 0.707f}, {14.37f, 0.50f, 0.074f}, {14.37f, 2.28f, 0.452f}, {14.37f, 4.06f, 0.885f}, {14.37f, 5.83f, 0.100f}, {14.37f, 7.61f, 0.770f}, {14.37f, 9.39f, 0.663f}, {14.37f, 11.17f, 0.878f}, {14.37f, 12.94f, 0.026f}, {14.37f, 14.72f, 0.922f}, {14.93f, 1.39f, 0.293f}, {14.93f, 3.17f, 0.041f}, {14.93f, 4.94f, 0.189f}, {14.93f, 6.72f, 0.963f}, {14.93f, 8.50f, 0.478f}, {14.93f, 10.28f, 0.341f}, {14.93f, 12.06f, 0.407f}, {14.93f, 13.83f, 0.515f}, {14.93f, 15.61f, 0.389f}, {15.43f, 0.50f, 0.767f}, {15.43f, 2.28f, 0.593f}, {15.43f, 4.06f, 0.674f}, {15.43f, 5.83f, 0.841f}, {15.43f, 7.61f, 0.304f}, {15.43f, 9.39f, 0.063f}, {15.43f, 11.17f, 0.163f}, {15.43f, 12.94f, 0.630f}, {15.43f, 14.72f, 0.111f}, }; // Source: https://c-core-games.com/Generator/PlacementPatterns.html?t=N&s=16&ps=abcde&pr=0.73&pt=100&ri=500&ts=abababxx&ti=5000&st=true static Pattern::Point s_NaturalPoints[] = { {0.08f, 8.51f, 0.398f}, {0.12f, 3.82f, 0.930f}, {0.16f, 15.82f, 0.953f}, {0.20f, 11.78f, 0.430f}, {0.35f, 10.82f, 0.309f}, {0.39f, 5.67f, 0.879f}, {0.48f, 14.91f, 0.363f}, {0.52f, 2.61f, 0.223f}, {0.55f, 13.82f, 0.207f}, {0.59f, 9.43f, 0.844f}, {0.63f, 7.51f, 0.992f}, {0.70f, 4.67f, 0.371f}, {0.75f, 12.77f, 0.902f}, {0.79f, 0.60f, 0.555f}, {0.99f, 1.60f, 0.332f}, {1.03f, 6.51f, 0.160f}, {1.05f, 3.50f, 0.484f}, {1.13f, 8.49f, 0.477f}, {1.16f, 10.30f, 0.730f}, {1.18f, 11.76f, 0.152f}, {1.37f, 15.76f, 0.094f}, {1.42f, 14.74f, 0.734f}, {1.44f, 5.51f, 0.242f}, {1.54f, 13.68f, 0.563f}, {1.56f, 2.51f, 0.617f}, {1.62f, 7.51f, 0.746f}, {1.66f, 4.46f, 0.805f}, {1.70f, 9.40f, 0.219f}, {1.77f, 12.72f, 0.016f}, {1.78f, 0.87f, 0.875f}, {1.80f, 11.02f, 0.516f}, {2.05f, 6.53f, 0.594f}, {2.07f, 3.51f, 0.074f}, {2.19f, 8.45f, 0.035f}, {2.22f, 1.77f, 0.738f}, {2.34f, 11.92f, 0.645f}, {2.39f, 15.21f, 0.258f}, {2.39f, 10.20f, 0.949f}, {2.40f, 14.22f, 0.988f}, {2.42f, 5.53f, 0.445f}, {2.46f, 0.13f, 0.457f}, {2.63f, 7.50f, 0.340f}, {2.67f, 4.54f, 0.668f}, {2.68f, 2.73f, 0.980f}, {2.69f, 13.17f, 0.344f}, {2.83f, 9.26f, 0.570f}, {2.95f, 11.11f, 0.289f}, {2.97f, 0.99f, 0.191f}, {3.06f, 6.43f, 0.090f}, {3.18f, 3.71f, 0.176f}, {3.24f, 12.32f, 0.871f}, {3.34f, 8.41f, 0.895f}, {3.34f, 1.95f, 0.414f}, {3.36f, 13.98f, 0.133f}, {3.40f, 15.04f, 0.609f}, {3.43f, 5.36f, 0.938f}, {3.48f, 10.05f, 0.109f}, {3.54f, 0.04f, 0.828f}, {3.59f, 7.37f, 0.832f}, {3.81f, 2.93f, 0.539f}, {3.88f, 4.43f, 0.320f}, {3.93f, 13.14f, 0.703f}, {3.93f, 10.97f, 0.777f}, {4.00f, 1.05f, 0.004f}, {4.05f, 6.28f, 0.523f}, {4.05f, 9.25f, 0.402f}, {4.08f, 11.90f, 0.441f}, {4.29f, 14.25f, 0.492f}, {4.38f, 8.26f, 0.625f}, {4.40f, 2.11f, 0.277f}, {4.41f, 15.31f, 0.316f}, {4.49f, 5.34f, 0.707f}, {4.52f, 3.58f, 0.859f}, {4.55f, 7.22f, 0.215f}, {4.63f, 10.32f, 0.195f}, {4.65f, 0.26f, 0.688f}, {4.81f, 12.64f, 0.039f}, {5.01f, 4.46f, 0.043f}, {5.02f, 1.31f, 0.914f}, {5.04f, 11.60f, 0.551f}, {5.05f, 9.42f, 0.680f}, {5.08f, 13.59f, 0.801f}, {5.14f, 6.30f, 0.137f}, {5.18f, 2.69f, 0.629f}, {5.26f, 14.65f, 0.941f}, {5.32f, 8.46f, 0.293f}, {5.50f, 7.35f, 0.766f}, {5.52f, 10.77f, 0.910f}, {5.56f, 15.62f, 0.086f}, {5.57f, 5.42f, 0.383f}, {5.65f, 3.54f, 0.438f}, {5.73f, 0.56f, 0.391f}, {5.81f, 12.67f, 0.375f}, {5.83f, 1.87f, 0.754f}, {5.97f, 9.87f, 0.066f}, {6.05f, 13.86f, 0.172f}, {6.07f, 4.47f, 0.789f}, {6.09f, 11.73f, 0.254f}, {6.16f, 6.58f, 0.906f}, {6.26f, 7.93f, 0.465f}, {6.28f, 8.98f, 0.977f}, {6.30f, 14.92f, 0.648f}, {6.39f, 2.66f, 0.113f}, {6.52f, 5.51f, 0.586f}, {6.53f, 1.09f, 0.180f}, {6.59f, 10.69f, 0.742f}, {6.69f, 13.02f, 0.855f}, {6.70f, 15.96f, 0.574f}, {6.75f, 3.54f, 0.227f}, {7.02f, 11.79f, 0.613f}, {7.04f, 7.41f, 0.008f}, {7.06f, 14.03f, 0.426f}, {7.10f, 4.52f, 1.000f}, {7.10f, 9.69f, 0.359f}, {7.12f, 1.87f, 0.504f}, {7.13f, 6.39f, 0.246f}, {7.19f, 8.53f, 0.566f}, {7.27f, 15.04f, 0.266f}, {7.47f, 0.74f, 0.969f}, {7.53f, 12.64f, 0.078f}, {7.55f, 10.87f, 0.469f}, {7.59f, 5.38f, 0.496f}, {7.59f, 2.68f, 0.848f}, {7.79f, 3.65f, 0.672f}, {7.90f, 15.78f, 0.785f}, {7.96f, 13.69f, 0.715f}, {8.02f, 7.14f, 0.836f}, {8.07f, 9.09f, 0.676f}, {8.10f, 10.08f, 0.203f}, {8.13f, 8.10f, 0.168f}, {8.14f, 1.59f, 0.305f}, {8.15f, 11.73f, 0.957f}, {8.20f, 6.16f, 0.324f}, {8.25f, 14.66f, 0.508f}, {8.26f, 4.57f, 0.098f}, {8.50f, 0.55f, 0.059f}, {8.50f, 12.86f, 0.297f}, {8.58f, 2.68f, 0.602f}, {8.74f, 10.87f, 0.121f}, {8.84f, 3.71f, 0.367f}, {8.85f, 5.35f, 0.723f}, {8.90f, 15.39f, 0.211f}, {9.02f, 9.59f, 0.816f}, {9.04f, 14.03f, 0.926f}, {9.05f, 7.54f, 0.422f}, {9.11f, 1.84f, 0.406f}, {9.12f, 6.51f, 0.621f}, {9.13f, 12.04f, 0.762f}, {9.14f, 8.57f, 0.922f}, {9.37f, 0.87f, 0.898f}, {9.46f, 13.09f, 0.559f}, {9.51f, 4.44f, 0.934f}, {9.61f, 3.12f, 0.023f}, {9.68f, 10.37f, 0.285f}, {9.68f, 15.92f, 0.664f}, {9.72f, 14.71f, 0.129f}, {9.76f, 11.32f, 0.633f}, {9.80f, 5.51f, 0.148f}, {10.01f, 2.28f, 0.824f}, {10.04f, 7.49f, 0.051f}, {10.09f, 9.39f, 0.520f}, {10.10f, 6.50f, 0.887f}, {10.17f, 8.46f, 0.348f}, {10.24f, 13.63f, 0.352f}, {10.25f, 12.39f, 0.047f}, {10.28f, 1.22f, 0.535f}, {10.38f, 3.71f, 0.281f}, {10.53f, 4.68f, 0.480f}, {10.55f, 15.40f, 0.453f}, {10.69f, 10.20f, 0.996f}, {10.69f, 11.45f, 0.395f}, {10.72f, 0.36f, 0.273f}, {10.78f, 14.37f, 0.809f}, {10.86f, 5.68f, 0.773f}, {10.97f, 1.95f, 0.156f}, {11.02f, 2.96f, 0.691f}, {11.04f, 6.78f, 0.547f}, {11.05f, 7.90f, 0.758f}, {11.05f, 12.96f, 0.883f}, {11.14f, 9.03f, 0.105f}, {11.46f, 10.84f, 0.797f}, {11.49f, 3.89f, 0.867f}, {11.53f, 15.08f, 0.020f}, {11.53f, 12.00f, 0.234f}, {11.56f, 1.14f, 0.770f}, {11.57f, 4.83f, 0.230f}, {11.65f, 13.88f, 0.527f}, {11.71f, 9.85f, 0.590f}, {11.72f, 0.18f, 0.984f}, {11.82f, 5.96f, 0.379f}, {11.89f, 7.21f, 0.184f}, {11.93f, 2.28f, 0.461f}, {11.98f, 8.30f, 0.270f}, {12.10f, 12.96f, 0.660f}, {12.23f, 3.24f, 0.578f}, {12.37f, 11.07f, 0.164f}, {12.40f, 9.18f, 0.449f}, {12.43f, 15.46f, 0.695f}, {12.48f, 14.41f, 0.199f}, {12.49f, 5.13f, 0.656f}, {12.53f, 1.36f, 0.102f}, {12.58f, 12.08f, 0.488f}, {12.65f, 6.49f, 0.973f}, {12.68f, 4.12f, 0.055f}, {12.80f, 10.21f, 0.684f}, {12.83f, 0.43f, 0.387f}, {12.85f, 7.53f, 0.711f}, {12.92f, 13.42f, 0.945f}, {12.95f, 2.32f, 0.328f}, {13.15f, 8.49f, 0.918f}, {13.31f, 5.76f, 0.117f}, {13.33f, 3.26f, 0.961f}, {13.37f, 11.30f, 0.863f}, {13.39f, 15.43f, 0.582f}, {13.48f, 14.42f, 0.313f}, {13.48f, 12.40f, 0.063f}, {13.50f, 9.50f, 0.027f}, {13.53f, 4.78f, 0.434f}, {13.59f, 1.29f, 0.891f}, {13.73f, 6.78f, 0.500f}, {13.90f, 7.74f, 0.336f}, {13.90f, 13.42f, 0.410f}, {13.92f, 10.45f, 0.355f}, {13.95f, 0.35f, 0.750f}, {13.95f, 2.22f, 0.188f}, {14.01f, 3.96f, 0.781f}, {14.24f, 8.88f, 0.813f}, {14.31f, 5.88f, 0.840f}, {14.36f, 11.41f, 0.250f}, {14.37f, 15.35f, 0.070f}, {14.46f, 12.47f, 0.719f}, {14.49f, 3.06f, 0.637f}, {14.52f, 14.34f, 0.852f}, {14.61f, 4.91f, 0.301f}, {14.68f, 1.15f, 0.512f}, {14.70f, 9.92f, 0.531f}, {14.79f, 6.88f, 0.605f}, {14.81f, 8.04f, 0.141f}, {14.96f, 13.38f, 0.125f}, {14.98f, 2.07f, 0.418f}, {15.04f, 0.16f, 0.238f}, {15.10f, 3.95f, 0.145f}, {15.23f, 10.86f, 0.965f}, {15.28f, 9.05f, 0.652f}, {15.29f, 5.85f, 0.012f}, {15.29f, 11.94f, 0.598f}, {15.38f, 15.12f, 0.641f}, {15.57f, 2.93f, 0.727f}, {15.61f, 7.57f, 0.262f}, {15.64f, 14.14f, 0.473f}, {15.66f, 4.86f, 0.543f}, {15.76f, 0.84f, 0.820f}, {15.78f, 9.97f, 0.082f}, {15.80f, 12.91f, 0.793f}, {15.93f, 6.62f, 0.699f}, {15.94f, 1.76f, 0.031f}, }; static Pattern s_Patterns[ezProcPlacementPattern::COUNT]; bool FillPatterns() { s_Patterns[ezProcPlacementPattern::RegularGrid].m_Points = ezMakeArrayPtr(s_RegularGridPoints); s_Patterns[ezProcPlacementPattern::RegularGrid].m_fSize = 16.0f; s_Patterns[ezProcPlacementPattern::HexGrid].m_Points = ezMakeArrayPtr(s_HexGridPoints); s_Patterns[ezProcPlacementPattern::HexGrid].m_fSize = 16.0f; s_Patterns[ezProcPlacementPattern::Natural].m_Points = ezMakeArrayPtr(s_NaturalPoints); s_Patterns[ezProcPlacementPattern::Natural].m_fSize = 16.0f; return true; } static bool s_bFillPatternsDummy = FillPatterns(); Pattern* GetPattern(ezProcPlacementPattern::Enum pattern) { return &s_Patterns[pattern]; } } // namespace ezProcGenInternal