X-Git-Url: http://git.tdb.fi/?p=libs%2Fgl.git;a=blobdiff_plain;f=source%2Fenvironmentmap.cpp;h=1e6f639a3eb8f89bb1037b94f386fe8c59cfaf1d;hp=ec406d157681baec5689ef07538f44f6e6f2dd82;hb=50a0c7fd661fe6bfa3f929ad66e47cfab4a0fb87;hpb=d147aa8f56e6a60d80f628ffeedf16bc99b588d3 diff --git a/source/environmentmap.cpp b/source/environmentmap.cpp index ec406d15..1e6f639a 100644 --- a/source/environmentmap.cpp +++ b/source/environmentmap.cpp @@ -79,19 +79,8 @@ void EnvironmentMap::render(Renderer &renderer, const Tag &tag) const shdata.uniform("environment", static_cast(unit)); Bind _bind_env(env_tex, unit); - const Matrix &view_matrix = renderer.get_camera()->get_matrix(); - // XXX The camera should maybe have store its own object matrix - float env_mdata[9]; - env_mdata[0] = view_matrix[0]; - env_mdata[1] = view_matrix[4]; - env_mdata[2] = view_matrix[8]; - env_mdata[3] = view_matrix[1]; - env_mdata[4] = view_matrix[5]; - env_mdata[5] = view_matrix[9]; - env_mdata[6] = view_matrix[2]; - env_mdata[7] = view_matrix[6]; - env_mdata[8] = view_matrix[10]; - shdata.uniform_matrix3("env_eye_matrix", env_mdata); + const Matrix &camera_matrix = renderer.get_camera()->get_object_matrix(); + shdata.uniform("env_eye_matrix", camera_matrix.block<3, 3>(0, 0)); renderer.add_shader_data(shdata); renderer.render(renderable, tag);