X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fgraphics%2Fviewport.cpp;h=e1719668eab185b4bf27b200de5d8d45d5a99f08;hb=9f220f26cd81235a43993deed53b5780d17fb5fa;hp=ddc609baad6599a88012ba8b8dd4128c31e600a2;hpb=2e3774eb3f2d5d23a08731175b168566457e2192;p=blank.git diff --git a/src/graphics/viewport.cpp b/src/graphics/viewport.cpp index ddc609b..e171966 100644 --- a/src/graphics/viewport.cpp +++ b/src/graphics/viewport.cpp @@ -45,6 +45,9 @@ void Camera::Clip(float n, float f) noexcept { UpdateProjection(); } +void Camera::View(const glm::mat4 &v) noexcept { + view = v; +} void Camera::UpdateProjection() noexcept { projection = glm::perspective(fov, aspect, near, far); @@ -76,14 +79,14 @@ void Canvas::UpdateProjection() noexcept { SkyBox::SkyBox(CubeMap &&tex) : texture(std::move(tex)) -, model() { - model.LoadUnitBox(); +, mesh() { + mesh.LoadUnitBox(); } void SkyBox::Render(Viewport &viewport) noexcept { SkyBoxShader &prog = viewport.SkyBoxProgram(); prog.SetTexture(texture); - model.Draw(); + mesh.Draw(); } @@ -256,7 +259,9 @@ BlendedSprite &Viewport::SpriteProgram() noexcept { void Viewport::WorldPosition(const glm::mat4 &t) noexcept { - cam.View(glm::inverse(t)); + const glm::vec3 offset(0.0f, 0.0f, 0.0f); + //const glm::vec3 offset(0.0f, 0.0f, -5.0f); + cam.View(glm::translate(glm::inverse(t), glm::vec3(t * glm::vec4(offset, 0.0f)))); ChunkProgram().SetView(cam.View()); sky_prog.Activate(); SkyBoxProgram().SetView(cam.View());