#string #glm
#строка #glm
Вопрос:
Есть ли какой-нибудь способ просто преобразовать glm:: mat4 в строку, а затем преобразовать ее обратно в исходную glm:: mat4?
Или мне нужно создать свой собственный конвертер?
Комментарии:
1. Зачем именно вам это нужно? матрицы 4×4 — это не совсем то, что удобно для чтения или отображения в виде текста
2. У меня есть много клиентов, которым необходимо отправить свою идентификационную матрицу на сервер (она содержит положение, поворот и масштабирование). И сервер отправляет всю матрицу всем клиентам. Я использую boost::asio
3. Для этой цели преобразование в строку было бы в корне неправильным, вы должны сериализовать данные, чтобы отправить их, а не превращать их в строку. На уровне разработки отправка всей матрицы на сервер кажется очень расточительной и потенциально подверженной мошенничеству
4. Отправка строки кажется самым простым способом с помощью boost::asio::buffer(). Любой другой массив или векторный тип выдавал мне ошибку static_cast в Podelements при получении данных с сервера. Как я должен сериализовать mat4 на сервере?
Ответ №1:
Попробуйте использовать это, предоставленное donaldmunro:
#include <glm/gtx/string_cast.hpp>
..
..
glm::mat4 mat;
..
..
std::cout << glm::to_string(mat) << std::endl;
Посмотрите на эту суть.
У меня хорошо работает!