Resize frame buffer method added
This commit is contained in:
parent
787681d320
commit
bafe6a7f43
6 changed files with 66 additions and 13 deletions
|
|
@ -65,7 +65,7 @@ Render::Render(Vec2F renderResolution) :
|
|||
|
||||
Render::~Render() {}
|
||||
|
||||
uint4 Render::getRenderBuffer() { return mRenderBuffer.texId(); }
|
||||
uint4 Render::getRenderBufferID() { return mRenderBuffer.texId(); }
|
||||
|
||||
Vec2F Render::getBufferSize() { return mRenderBuffer.getSize(); }
|
||||
|
||||
|
|
@ -77,7 +77,7 @@ void Render::render(const Scene& geometry, Vec2F size) {
|
|||
}
|
||||
}
|
||||
|
||||
mRenderBuffer.mClearCol = { 0.0f, 0.0f, 0.0f, 0.f };
|
||||
mRenderBuffer.mClearCol = { 0.0f, 0.0f, 0.0f, 1.f };
|
||||
|
||||
mRenderBuffer.beginDraw();
|
||||
mRenderBuffer.clear();
|
||||
|
|
@ -108,3 +108,5 @@ void Render::render(const Scene& geometry, Vec2F size) {
|
|||
|
||||
mRenderBuffer.endDraw();
|
||||
}
|
||||
|
||||
RenderBuffer* Render::getRenderBuffer() { return &mRenderBuffer; }
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -13,7 +13,8 @@ namespace tp {
|
|||
~Render();
|
||||
|
||||
void render(const Scene& geometry, Vec2F size);
|
||||
uint4 getRenderBuffer();
|
||||
uint4 getRenderBufferID();
|
||||
RenderBuffer* getRenderBuffer();
|
||||
Vec2F getBufferSize();
|
||||
|
||||
private:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue