Resize frame buffer method added

This commit is contained in:
IlyaShurupov 2024-06-18 14:48:26 +03:00 committed by Ilya Shurupov
parent bc29860385
commit 8bfe44b3cd
6 changed files with 66 additions and 13 deletions

View file

@ -9,14 +9,18 @@ namespace tp {
explicit ViewportWidget(Canvas* canvas, Scene* geometry, Vec2F renderResolution) :
mRender(renderResolution) {
mImage = canvas->createImageFromTextId(mRender.getRenderBuffer(), mRender.getBufferSize());
mImage = canvas->createImageFromTextId(mRender.getRenderBufferID(), { 0, 0 });
mGeometry = geometry;
mCanvas = canvas;
}
~ViewportWidget() { mCanvas->deleteImageHandle(mImage); }
void eventProcess(const Events& events) override { mGeometry->mCamera.rotate(0.01f, 0.0); }
void eventProcess(const Events& events) override {
mRender.getRenderBuffer()->resize(this->mArea.size);
mGeometry->mCamera.rotate(0.01f, 0.0);
mGeometry->mCamera.setRatio(this->mArea.w / this->mArea.z);
}
void eventDraw(Canvas& canvas) override {
mRender.render(*mGeometry, this->mArea.size);

View file

@ -13,7 +13,8 @@ namespace tp {
~Render();
void render(const Scene& geometry, Vec2F size);
uint4 getRenderBuffer();
uint4 getRenderBufferID();
RenderBuffer* getRenderBuffer();
Vec2F getBufferSize();
private: