source: opengl-game/utils.h@ 6abfd07

feature/imgui-sdl points-test
Last change on this file since 6abfd07 was a23fc08, checked in by Dmitry Portnoy <dmitry.portnoy@…>, 6 years ago

Move several functions from new-game.cpp to utils.cpp

  • Property mode set to 100644
File size: 882 bytes
RevLine 
[a23fc08]1#ifndef __UTILS_H__
2#define __UTILS_H__
3
4#include <string>
5
6#include <glm/mat4x4.hpp>
7
8using namespace std;
9using namespace glm;
10
11float getRandomNum(float low, float high);
12
13void printVec3(string label, const vec3& v);
14void printVec4(string label, const vec4& v);
15void printMat4(string label, const mat4& m);
16
[caa2359]17// Code for offset_of function from https://gist.github.com/graphitemaster/494f21190bb2c63c5516
[7e10667]18
19template <typename T1, typename T2>
20struct offset_of_impl {
21 static T2 object;
22 static constexpr size_t offset(T1 T2::*member) {
23 return size_t(&(offset_of_impl<T1, T2>::object.*member)) -
24 size_t(&offset_of_impl<T1, T2>::object);
25 }
26};
27template <typename T1, typename T2>
28T2 offset_of_impl<T1, T2>::object;
29
30template <typename T1, typename T2>
31inline constexpr size_t offset_of(T1 T2::*member) {
32 return offset_of_impl<T1, T2>::offset(member);
[a23fc08]33}
34
35#endif
Note: See TracBrowser for help on using the repository browser.