Skip to content

Commit 7b3b322

Browse files
committed
use rendergraph renderArea as scissor instead of viewport
viewport is used to determine aspect ratio and should be allowed to go outside of the rendering area. The scissor is used to clip the rendered scene to a smaller visible region and should not change any rendering with respect to the camera.
1 parent 8f5dee2 commit 7b3b322

File tree

1 file changed

+5
-3
lines changed

1 file changed

+5
-3
lines changed

src/vsg/app/RenderGraph.cpp

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,8 @@ RenderGraph::RenderGraph(ref_ptr<Window> in_window, ref_ptr<View> in_view) :
4949
renderArea.extent = window->extent2D();
5050
}
5151

52-
viewportState->set(renderArea.offset.x, renderArea.offset.y, renderArea.extent.width, renderArea.extent.height);
52+
viewportState->scissors.resize(1);
53+
viewportState->scissors[0] = _renderArea;
5354

5455
// set up the clearValues based on the RenderPass's attachments.
5556
setClearValues(window->clearColor(), VkClearDepthStencilValue{0.0f, 0});
@@ -150,7 +151,8 @@ void RenderGraph::accept(RecordTraversal& recordTraversal) const
150151
vkCmdBeginRenderPass(vk_commandBuffer, &renderPassInfo, contents);
151152

152153
// sync the viewportState and push
153-
viewportState->set(renderArea.offset.x, renderArea.offset.y, renderArea.extent.width, renderArea.extent.height);
154+
viewportState->scissors.resize(1);
155+
viewportState->scissors[0] = _renderArea;
154156

155157
if ((viewportStateHint & DYNAMIC_VIEWPORTSTATE))
156158
{
@@ -182,7 +184,7 @@ void RenderGraph::resized()
182184

183185
auto extent = getExtent();
184186

185-
windowResizeHandler->renderArea = renderArea;
187+
windowResizeHandler->renderArea = _renderArea;
186188
windowResizeHandler->previous_extent = previous_extent;
187189
windowResizeHandler->new_extent = extent;
188190
windowResizeHandler->visited.clear();

0 commit comments

Comments
 (0)