История изменений
Исправление KivApple, (текущая версия) :
У glm::vec3 есть constexpr vec3(T x, T y, T z), соответствтенно, будет вызван он напрямую без создания промежуточного initializer_list, в данном случае вложенные фигурные скобки лишь синтаксический сахар для вызова конструктора. Так что данный код создаёт лишь один initializer_list для самого vector.
20 * 3 * sizeof(unsigned int) = 20 * 3 * 4 = 240 байт. Копирование 240 байт едва ли занимает сколько-нибудь значимую роль в данном алгоритме (второй vector с самими координатами весит ещё меньше, так как там меньше элементов, а sizeof(unsigned int) == sizeof(float) на моей архитектуре), даже если его повторить несколько раз.
Исправление KivApple, :
У glm::vec3 есть constexpr vec3(T x, T y, T z), соответствтенно, будет вызван он напрямую без создания промежуточного initializer_list, в данном случае фигурные скобки лишь синтаксический сахар для вызова конструктора. Так что данный код создаёт лишь один initializer_list для самого vector.
20 * 3 * sizeof(unsigned int) = 20 * 3 * 4 = 240 байт. Копирование 240 байт едва ли занимает сколько-нибудь значимую роль в данном алгоритме (второй vector с самими координатами весит ещё меньше, так как там меньше элементов, а sizeof(unsigned int) == sizeof(float) на моей архитектуре), даже если его повторить несколько раз.
Исправление KivApple, :
У glm::vec3 есть constexpr vec3(T x, T y, T z), соответствтенно, будет вызван он напрямую без создания промежуточного initializer_list, в данном случае фигурные скобки лишь синтаксический сахар для вызова конструктора. Так что данный код создаёт лишь один initializer_list для самого vector.
20 * 3 * sizeof(unsigned int) = 20 * 3 * 4 = 240 байт. Копирование 240 байт едва ли занимает сколько-нибудь значимую роль в данном алгоритме (второй vector с самими координатами весит ещё меньше, так как там меньше элементов), даже если его повторить несколько раз.
Исходная версия KivApple, :
У glm::vec3 есть constexpr vec3(T x, T y, T z), соответствтенно, будет вызван он напрямую без создания промежуточного initializer_list, в данном случае фигурные скобки лишь синтаксический сахар для вызова конструктора. Так что данный код создаёт лишь один initializer_list для самого vector.
20 * 3 * sizeof(unsigned int) = 20 * 3 * 4 = 240 байт. Копирование 240 байт едва ли занимает сколько-нибудь значимую роль в данном алгоритме (второй vector с самими координатами весит ещё меньше, так как там меньше элементов).