X-Git-Url: http://git.tdb.fi/?p=libs%2Fgl.git;a=blobdiff_plain;f=source%2Frender%2Fcamera.cpp;h=9b8b0c778d0c5fc68f784efaee4c74b886801ddb;hp=3bba0eaf38e00385e68a077474095a980a10f340;hb=a275d25eccad43716c5dcf91f8bc4af2a53c0445;hpb=a77629d781eeb789870470c5ebdbd4b691e1b138 diff --git a/source/render/camera.cpp b/source/render/camera.cpp index 3bba0eaf..9b8b0c77 100644 --- a/source/render/camera.cpp +++ b/source/render/camera.cpp @@ -2,6 +2,8 @@ #include "camera.h" #include "matrix.h" +using namespace std; + namespace Msp { namespace GL { @@ -129,6 +131,8 @@ void Camera::update_projection_matrix() else proj_matrix = Matrix::ortho(left, right, bottom, top, clip_near, clip_far); proj_matrix = Matrix::rotation(rotate, Vector3(0, 0, 1))*proj_matrix; + + shdata.uniform("clip_eye_matrix", proj_matrix); } void Camera::update_object_matrix() @@ -141,6 +145,17 @@ void Camera::update_object_matrix() columns[3] = compose(position, 1.0f); matrix = Matrix::from_columns(columns); view_matrix = invert(matrix); + + shdata.uniform("eye_world_matrix", view_matrix); +} + +void Camera::set_debug_name(const string &name) +{ +#ifdef DEBUG + shdata.set_debug_name(name+" [UBO]"); +#else + (void)name; +#endif }