X-Git-Url: http://git.localhorst.tv/?p=blobs.git;a=blobdiff_plain;f=src%2Fgraphics%2Fshader.cpp;h=6a08bb5f99be5402edda61b239be9e145b58cb40;hp=dbdeeb15552efa28699b4b7b50893e73ae9e10d3;hb=e0180e01f4c659c97973f585fea5eb3344254ce0;hpb=b0e73e632f0b681a0af78f889dd82d370563944a diff --git a/src/graphics/shader.cpp b/src/graphics/shader.cpp index dbdeeb1..6a08bb5 100644 --- a/src/graphics/shader.cpp +++ b/src/graphics/shader.cpp @@ -282,6 +282,14 @@ void PlanetSurface::SetM(const glm::mat4 &mm) noexcept { prog.Uniform(mvp_handle, mvp); } +void PlanetSurface::SetV(const glm::mat4 &vv) noexcept { + v = vv; + mv = v * m; + mvp = p * mv; + prog.Uniform(mv_handle, mv); + prog.Uniform(mvp_handle, mvp); +} + void PlanetSurface::SetVP(const glm::mat4 &vv, const glm::mat4 &pp) noexcept { v = vv; p = pp; @@ -458,6 +466,14 @@ void SunSurface::SetM(const glm::mat4 &mm) noexcept { prog.Uniform(mvp_handle, mvp); } +void SunSurface::SetV(const glm::mat4 &vv) noexcept { + v = vv; + mv = v * m; + mvp = p * mv; + prog.Uniform(mv_handle, mv); + prog.Uniform(mvp_handle, mvp); +} + void SunSurface::SetVP(const glm::mat4 &vv, const glm::mat4 &pp) noexcept { v = vv; p = pp; @@ -592,6 +608,14 @@ void CreatureSkin::SetM(const glm::mat4 &mm) noexcept { prog.Uniform(mvp_handle, mvp); } +void CreatureSkin::SetV(const glm::mat4 &vv) noexcept { + v = vv; + mv = v * m; + mvp = p * mv; + prog.Uniform(mv_handle, mv); + prog.Uniform(mvp_handle, mvp); +} + void CreatureSkin::SetVP(const glm::mat4 &vv, const glm::mat4 &pp) noexcept { v = vv; p = pp;