32 vsprintf_s(text, STRING_BUFFER, msg, list);
181 return detail::format(
"bvec4(%s, %s, %s, %s)",
182 x[0] ? detail::LabelTrue : detail::LabelFalse,
183 x[1] ? detail::LabelTrue : detail::LabelFalse,
184 x[2] ? detail::LabelTrue : detail::LabelFalse,
185 x[3] ? detail::LabelTrue : detail::LabelFalse);
225 GLM_FUNC_QUALIFIER
static std::string call(
vec<3, T, Q> const& x)
229 std::string FormatStr(detail::format(
"%svec3(%s, %s, %s)",
231 LiteralStr, LiteralStr, LiteralStr));
233 return detail::format(FormatStr.c_str(),
234 static_cast<typename cast<T>::value_type
>(x[0]),
235 static_cast<typename cast<T>::value_type
>(x[1]),
236 static_cast<typename cast<T>::value_type
>(x[2]));
243 GLM_FUNC_QUALIFIER
static std::string call(
vec<4, T, Q> const& x)
247 std::string FormatStr(detail::format(
"%svec4(%s, %s, %s, %s)",
249 LiteralStr, LiteralStr, LiteralStr, LiteralStr));
251 return detail::format(FormatStr.c_str(),
252 static_cast<typename cast<T>::value_type
>(x[0]),
253 static_cast<typename cast<T>::value_type
>(x[1]),
254 static_cast<typename cast<T>::value_type
>(x[2]),
255 static_cast<typename cast<T>::value_type
>(x[3]));
267 std::string FormatStr(detail::format(
"%smat2x2((%s, %s), (%s, %s))",
269 LiteralStr, LiteralStr,
270 LiteralStr, LiteralStr));
272 return detail::format(FormatStr.c_str(),
273 static_cast<typename cast<T>::value_type
>(x[0][0]),
static_cast<typename cast<T>::value_type
>(x[0][1]),
274 static_cast<typename cast<T>::value_type
>(x[1][0]),
static_cast<typename cast<T>::value_type
>(x[1][1]));
285 std::string FormatStr(detail::format(
"%smat2x3((%s, %s, %s), (%s, %s, %s))",
287 LiteralStr, LiteralStr, LiteralStr,
288 LiteralStr, LiteralStr, LiteralStr));
290 return detail::format(FormatStr.c_str(),
291 static_cast<typename cast<T>::value_type
>(x[0][0]),
static_cast<typename cast<T>::value_type
>(x[0][1]),
static_cast<typename cast<T>::value_type
>(x[0][2]),
292 static_cast<typename cast<T>::value_type
>(x[1][0]),
static_cast<typename cast<T>::value_type
>(x[1][1]),
static_cast<typename cast<T>::value_type
>(x[1][2]));
303 std::string FormatStr(detail::format(
"%smat2x4((%s, %s, %s, %s), (%s, %s, %s, %s))",
305 LiteralStr, LiteralStr, LiteralStr, LiteralStr,
306 LiteralStr, LiteralStr, LiteralStr, LiteralStr));
308 return detail::format(FormatStr.c_str(),
309 static_cast<typename cast<T>::value_type
>(x[0][0]),
static_cast<typename cast<T>::value_type
>(x[0][1]),
static_cast<typename cast<T>::value_type
>(x[0][2]),
static_cast<typename cast<T>::value_type
>(x[0][3]),
310 static_cast<typename cast<T>::value_type
>(x[1][0]),
static_cast<typename cast<T>::value_type
>(x[1][1]),
static_cast<typename cast<T>::value_type
>(x[1][2]),
static_cast<typename cast<T>::value_type
>(x[1][3]));
321 std::string FormatStr(detail::format(
"%smat3x2((%s, %s), (%s, %s), (%s, %s))",
323 LiteralStr, LiteralStr,
324 LiteralStr, LiteralStr,
325 LiteralStr, LiteralStr));
327 return detail::format(FormatStr.c_str(),
328 static_cast<typename cast<T>::value_type
>(x[0][0]),
static_cast<typename cast<T>::value_type
>(x[0][1]),
329 static_cast<typename cast<T>::value_type
>(x[1][0]),
static_cast<typename cast<T>::value_type
>(x[1][1]),
330 static_cast<typename cast<T>::value_type
>(x[2][0]),
static_cast<typename cast<T>::value_type
>(x[2][1]));
341 std::string FormatStr(detail::format(
"%smat3x3((%s, %s, %s), (%s, %s, %s), (%s, %s, %s))",
343 LiteralStr, LiteralStr, LiteralStr,
344 LiteralStr, LiteralStr, LiteralStr,
345 LiteralStr, LiteralStr, LiteralStr));
347 return detail::format(FormatStr.c_str(),
348 static_cast<typename cast<T>::value_type
>(x[0][0]),
static_cast<typename cast<T>::value_type
>(x[0][1]),
static_cast<typename cast<T>::value_type
>(x[0][2]),
349 static_cast<typename cast<T>::value_type
>(x[1][0]),
static_cast<typename cast<T>::value_type
>(x[1][1]),
static_cast<typename cast<T>::value_type
>(x[1][2]),
350 static_cast<typename cast<T>::value_type
>(x[2][0]),
static_cast<typename cast<T>::value_type
>(x[2][1]),
static_cast<typename cast<T>::value_type
>(x[2][2]));
361 std::string FormatStr(detail::format(
"%smat3x4((%s, %s, %s, %s), (%s, %s, %s, %s), (%s, %s, %s, %s))",
363 LiteralStr, LiteralStr, LiteralStr, LiteralStr,
364 LiteralStr, LiteralStr, LiteralStr, LiteralStr,
365 LiteralStr, LiteralStr, LiteralStr, LiteralStr));
367 return detail::format(FormatStr.c_str(),
368 static_cast<typename cast<T>::value_type
>(x[0][0]),
static_cast<typename cast<T>::value_type
>(x[0][1]),
static_cast<typename cast<T>::value_type
>(x[0][2]),
static_cast<typename cast<T>::value_type
>(x[0][3]),
369 static_cast<typename cast<T>::value_type
>(x[1][0]),
static_cast<typename cast<T>::value_type
>(x[1][1]),
static_cast<typename cast<T>::value_type
>(x[1][2]),
static_cast<typename cast<T>::value_type
>(x[1][3]),
370 static_cast<typename cast<T>::value_type
>(x[2][0]),
static_cast<typename cast<T>::value_type
>(x[2][1]),
static_cast<typename cast<T>::value_type
>(x[2][2]),
static_cast<typename cast<T>::value_type
>(x[2][3]));
381 std::string FormatStr(detail::format(
"%smat4x2((%s, %s), (%s, %s), (%s, %s), (%s, %s))",
383 LiteralStr, LiteralStr,
384 LiteralStr, LiteralStr,
385 LiteralStr, LiteralStr,
386 LiteralStr, LiteralStr));
388 return detail::format(FormatStr.c_str(),
389 static_cast<typename cast<T>::value_type
>(x[0][0]),
static_cast<typename cast<T>::value_type
>(x[0][1]),
390 static_cast<typename cast<T>::value_type
>(x[1][0]),
static_cast<typename cast<T>::value_type
>(x[1][1]),
391 static_cast<typename cast<T>::value_type
>(x[2][0]),
static_cast<typename cast<T>::value_type
>(x[2][1]),
392 static_cast<typename cast<T>::value_type
>(x[3][0]),
static_cast<typename cast<T>::value_type
>(x[3][1]));
403 std::string FormatStr(detail::format(
"%smat4x3((%s, %s, %s), (%s, %s, %s), (%s, %s, %s), (%s, %s, %s))",
405 LiteralStr, LiteralStr, LiteralStr,
406 LiteralStr, LiteralStr, LiteralStr,
407 LiteralStr, LiteralStr, LiteralStr,
408 LiteralStr, LiteralStr, LiteralStr));
410 return detail::format(FormatStr.c_str(),
411 static_cast<typename cast<T>::value_type
>(x[0][0]),
static_cast<typename cast<T>::value_type
>(x[0][1]),
static_cast<typename cast<T>::value_type
>(x[0][2]),
412 static_cast<typename cast<T>::value_type
>(x[1][0]),
static_cast<typename cast<T>::value_type
>(x[1][1]),
static_cast<typename cast<T>::value_type
>(x[1][2]),
413 static_cast<typename cast<T>::value_type
>(x[2][0]),
static_cast<typename cast<T>::value_type
>(x[2][1]),
static_cast<typename cast<T>::value_type
>(x[2][2]),
414 static_cast<typename cast<T>::value_type
>(x[3][0]),
static_cast<typename cast<T>::value_type
>(x[3][1]),
static_cast<typename cast<T>::value_type
>(x[3][2]));
425 std::string FormatStr(detail::format(
"%smat4x4((%s, %s, %s, %s), (%s, %s, %s, %s), (%s, %s, %s, %s), (%s, %s, %s, %s))",
427 LiteralStr, LiteralStr, LiteralStr, LiteralStr,
428 LiteralStr, LiteralStr, LiteralStr, LiteralStr,
429 LiteralStr, LiteralStr, LiteralStr, LiteralStr,
430 LiteralStr, LiteralStr, LiteralStr, LiteralStr));
432 return detail::format(FormatStr.c_str(),
433 static_cast<typename cast<T>::value_type
>(x[0][0]),
static_cast<typename cast<T>::value_type
>(x[0][1]),
static_cast<typename cast<T>::value_type
>(x[0][2]),
static_cast<typename cast<T>::value_type
>(x[0][3]),
434 static_cast<typename cast<T>::value_type
>(x[1][0]),
static_cast<typename cast<T>::value_type
>(x[1][1]),
static_cast<typename cast<T>::value_type
>(x[1][2]),
static_cast<typename cast<T>::value_type
>(x[1][3]),
435 static_cast<typename cast<T>::value_type
>(x[2][0]),
static_cast<typename cast<T>::value_type
>(x[2][1]),
static_cast<typename cast<T>::value_type
>(x[2][2]),
static_cast<typename cast<T>::value_type
>(x[2][3]),
436 static_cast<typename cast<T>::value_type
>(x[3][0]),
static_cast<typename cast<T>::value_type
>(x[3][1]),
static_cast<typename cast<T>::value_type
>(x[3][2]),
static_cast<typename cast<T>::value_type
>(x[3][3]));
444 GLM_FUNC_QUALIFIER
static std::string call(
qua<T, Q> const& q)
448 std::string FormatStr(detail::format(
"%squat(%s, {%s, %s, %s})",
450 LiteralStr, LiteralStr, LiteralStr, LiteralStr));
452 return detail::format(FormatStr.c_str(),
453 static_cast<typename cast<T>::value_type
>(q.w),
454 static_cast<typename cast<T>::value_type
>(q.x),
455 static_cast<typename cast<T>::value_type
>(q.y),
456 static_cast<typename cast<T>::value_type
>(q.z));
467 std::string FormatStr(detail::format(
"%sdualquat((%s, {%s, %s, %s}), (%s, {%s, %s, %s}))",
469 LiteralStr, LiteralStr, LiteralStr, LiteralStr,
470 LiteralStr, LiteralStr, LiteralStr, LiteralStr));
472 return detail::format(FormatStr.c_str(),
473 static_cast<typename cast<T>::value_type
>(x.real.w),
474 static_cast<typename cast<T>::value_type
>(x.real.x),
475 static_cast<typename cast<T>::value_type
>(x.real.y),
476 static_cast<typename cast<T>::value_type
>(x.real.z),
477 static_cast<typename cast<T>::value_type
>(x.dual.w),
478 static_cast<typename cast<T>::value_type
>(x.dual.x),
479 static_cast<typename cast<T>::value_type
>(x.dual.y),
480 static_cast<typename cast<T>::value_type
>(x.dual.z));