Веб-сайт самохостера Lotigara

summaryrefslogtreecommitdiff
path: root/source/application
diff options
context:
space:
mode:
Diffstat (limited to 'source/application')
-rw-r--r--source/application/StarRenderer.hpp2
-rw-r--r--source/application/StarRenderer_opengl.cpp8
-rw-r--r--source/application/StarRenderer_opengl.hpp4
3 files changed, 7 insertions, 7 deletions
diff --git a/source/application/StarRenderer.hpp b/source/application/StarRenderer.hpp
index a926df0..2a156f7 100644
--- a/source/application/StarRenderer.hpp
+++ b/source/application/StarRenderer.hpp
@@ -161,7 +161,7 @@ public:
virtual void render(RenderPrimitive primitive) = 0;
virtual void renderBuffer(RenderBufferPtr const& renderBuffer, Mat3F const& transformation = Mat3F::identity()) = 0;
- virtual void flush() = 0;
+ virtual void flush(Mat3F const& transformation = Mat3F::identity()) = 0;
};
}
diff --git a/source/application/StarRenderer_opengl.cpp b/source/application/StarRenderer_opengl.cpp
index c816049..d8b26e8 100644
--- a/source/application/StarRenderer_opengl.cpp
+++ b/source/application/StarRenderer_opengl.cpp
@@ -482,8 +482,8 @@ void OpenGlRenderer::renderBuffer(RenderBufferPtr const& renderBuffer, Mat3F con
renderGlBuffer(*convert<GlRenderBuffer>(renderBuffer.get()), transformation);
}
-void OpenGlRenderer::flush() {
- flushImmediatePrimitives();
+void OpenGlRenderer::flush(Mat3F const& transformation) {
+ flushImmediatePrimitives(transformation);
}
void OpenGlRenderer::setScreenSize(Vec2U screenSize) {
@@ -889,13 +889,13 @@ void OpenGlRenderer::uploadTextureImage(PixelFormat pixelFormat, Vec2U size, uin
glTexImage2D(GL_TEXTURE_2D, 0, internalFormat.value(format), size[0], size[1], 0, format, type, data);
}
-void OpenGlRenderer::flushImmediatePrimitives() {
+void OpenGlRenderer::flushImmediatePrimitives(Mat3F const& transformation) {
if (m_immediatePrimitives.empty())
return;
m_immediateRenderBuffer->set(m_immediatePrimitives);
m_immediatePrimitives.resize(0);
- renderGlBuffer(*m_immediateRenderBuffer, Mat3F::identity());
+ renderGlBuffer(*m_immediateRenderBuffer, transformation);
}
auto OpenGlRenderer::createGlTexture(ImageView const& image, TextureAddressing addressing, TextureFiltering filtering)
diff --git a/source/application/StarRenderer_opengl.hpp b/source/application/StarRenderer_opengl.hpp
index 563ac96..61c67c9 100644
--- a/source/application/StarRenderer_opengl.hpp
+++ b/source/application/StarRenderer_opengl.hpp
@@ -42,7 +42,7 @@ public:
void render(RenderPrimitive primitive) override;
void renderBuffer(RenderBufferPtr const& renderBuffer, Mat3F const& transformation) override;
- void flush() override;
+ void flush(Mat3F const& transformation) override;
void setScreenSize(Vec2U screenSize);
@@ -205,7 +205,7 @@ private:
shared_ptr<GlRenderBuffer> createGlRenderBuffer();
- void flushImmediatePrimitives();
+ void flushImmediatePrimitives(Mat3F const& transformation = Mat3F::identity());
void renderGlBuffer(GlRenderBuffer const& renderBuffer, Mat3F const& transformation);