Skip to content

ImGUI extension should require the user set Viewport and Scissor state outside of render() method #751

Open
@devshgraphicsprogramming

Description

We have this piece of code which is not elegant / resillient

SViewport const viewport

However for the user to be able to set this sanely, one must know the framebuffer Width and Height

float const frameBufferWidth = drawData->DisplaySize.x * drawData->FramebufferScale.x;

and this seems only knowable from ImGUI::GetDrawData

auto const* drawData = ImGui::GetDrawData();

Which probably needs a call to ImGUI::Render 🤦

P.S. also while you're at it, make the push constant setting an overridable lambda (so people can pump the data to the drawcall differently)

commandBuffer->pushConstants(m_pipeline->getLayout(), IShader::E_SHADER_STAGE::ESS_VERTEX | IShader::E_SHADER_STAGE::ESS_FRAGMENT, 0u, sizeof(constants), &constants);

std::function<void(IGPUCommandBuffer*,const PushConstants&)>

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions