UpdateProjection();
}
+void Camera::View(const glm::mat4 &v) noexcept {
+ view = v;
+}
void Camera::UpdateProjection() noexcept {
projection = glm::perspective(fov, aspect, near, far);
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();
}
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());