18 #ifndef DS3D_GLPROCESS_GL_HELPER_H
19 #define DS3D_GLPROCESS_GL_HELPER_H
21 #include "ds3d/common/common.h"
22 #include "ds3d/common/hpp/obj.hpp"
24 #include "ds3d/glprocess/gl_common.h"
25 #include <glm/glm.hpp>
26 #include <glm/gtc/matrix_transform.hpp>
27 #include <glm/gtc/type_ptr.hpp>
29 namespace ds3d {
namespace gl {
35 ret.resize(4, {{0.0f, 0.0f, 0.0f, 0.0f}});
36 ret[0].data[0] = 1.0f;
37 ret[1].data[1] = 1.0f;
38 ret[2].data[2] = 1.0f;
39 ret[3].data[3] = 1.0f;
48 memcpy(&ret[0], glm::value_ptr(m),
sizeof(
float) * 16);
58 memcpy(glm::value_ptr(ret), &m[0],
sizeof(
float) * 16);
66 memcpy(glm::value_ptr(ret), &m,
sizeof(
vec3f));
73 glm::mat4 m = glm::make_mat4<float>((
const float*)&model[0]);
74 glm::mat4 v = glm::make_mat4<float>((
const float*)&view[0]);
75 glm::mat4 p = glm::make_mat4<float>((
const float*)&project[0]);
82 DS_ASSERT(a.size() >= 4 && b.size() >= 4);
83 glm::mat4 gA = glm::make_mat4<float>((
const float*)&a[0]);
84 glm::mat4 gB = glm::make_mat4<float>((
const float*)&b[0]);
90 #endif // DS3D_GLPROCESS_GL_HELPER_H