SpiecsEngine
 
Loading...
Searching...
No Matches

◆ SetViewPort()

void Spices::Renderer::RenderBehaveBuilder::SetViewPort ( const VkCommandBuffer & cmdBuffer = VK_NULL_HANDLE) const

DynamicState Set Viewport and Scissor.

Parameters
[in]cmdBufferVkCommandBuffer

Use Negative Viewport height filp here to handle axis difference. Remember enable device extension (VK_KHR_MAINTENANCE1)

Though we draw world to viewport but not surface, Set Correct viewport here is necessary.

Instance a VkRect2D.

Set VkViewport with viewport slate.

Set VkRect2D.

Use Negative Viewport height filp here to handle axis difference. Remember enable device extension (VK_KHR_MAINTENANCE1)

Though we draw world to viewport but not surface, Set Correct viewport here is necessary.

Instance a VkRect2D.

Set VkViewport with viewport slate.

Set VkRect2D.

Definition at line 668 of file Renderer.cpp.

669 {
671
676 VkViewport viewport {};
677 viewport.x = 0.0f;
678 viewport.y = static_cast<float>(m_Renderer->m_Device->GetSwapChainSupport().surfaceSize.height);
679 viewport.width = static_cast<float>(m_Renderer->m_Device->GetSwapChainSupport().surfaceSize.width);
680 viewport.height = -static_cast<float>(m_Renderer->m_Device->GetSwapChainSupport().surfaceSize.height);
681 viewport.minDepth = 0.0f;
682 viewport.maxDepth = 1.0f;
683
689 {
690 const ImVec2 viewPortSize = SlateSystem::GetRegister()->GetViewPort()->GetPanelSize();
691
692 viewport.y = viewPortSize.y;
693 viewport.width = viewPortSize.x;
694 viewport.height = -viewPortSize.y;
695 }
696
700 VkRect2D scissor{};
701 scissor.offset = { 0, 0 };
702 scissor.extent = m_Renderer->m_Device->GetSwapChainSupport().surfaceSize;
703
707 vkCmdSetViewport(cmdBuffer ? cmdBuffer : m_CommandBuffer, 0, 1, &viewport);
708
712 vkCmdSetScissor(cmdBuffer ? cmdBuffer : m_CommandBuffer, 0, 1, &scissor);
713 }
#define SPICES_PROFILE_ZONE
Renderer * m_Renderer
Specific Renderer pointer. Passed while this class instanced.
Definition Renderer.h:1515
VkCommandBuffer m_CommandBuffer
Current CommandBuffer.
Definition Renderer.h:1539
std::shared_ptr< VulkanDevice > m_Device
VulkanDevice , Passed by instanced.
Definition Renderer.h:2002
static std::shared_ptr< SlateRegister > GetRegister()
Get slate register.
Definition SlateSystem.h:67