|
|
using | super = gfx_surface |
|
|
| gfx_surface_vulkan (gfx_system &system, vk::SurfaceKHR surface) |
|
| gfx_surface_vulkan (const gfx_surface_vulkan &)=delete |
|
gfx_surface_vulkan & | operator= (const gfx_surface_vulkan &)=delete |
|
| gfx_surface_vulkan (gfx_surface_vulkan &&)=delete |
|
gfx_surface_vulkan & | operator= (gfx_surface_vulkan &&)=delete |
| void | init () override |
| void | set_device (gfx_device *device) noexcept override |
|
gfx_device_vulkan & | vulkan_device () const noexcept |
| extent2 | size () const noexcept override |
| | Get the size of the surface.
|
| void | update (extent2 new_size) noexcept override |
| | Update the surface.
|
| std::optional< gfx_draw_context > | render_start (aarectangle redraw_rectangle) override |
| void | render_finish (gfx_draw_context const &context) override |
| void | add_delegate (gfx_surface_delegate *delegate) noexcept override |
| | Add a delegate to handle extra rendering.
|
| void | remove_delegate (gfx_surface_delegate *delegate) noexcept override |
| | Remove a delegate.
|
|
| gfx_surface (const gfx_surface &)=delete |
|
gfx_surface & | operator= (const gfx_surface &)=delete |
|
| gfx_surface (gfx_surface &&)=delete |
|
gfx_surface & | operator= (gfx_surface &&)=delete |
|
| gfx_surface (gfx_system &system) |
|
gfx_device * | device () const noexcept |
|
|
static constexpr uint32_t | defaultNumberOfSwapchainImages = 2 |
|
static const vk::Format | depthImageFormat = vk::Format::eD16Unorm |
|
static const vk::Format | colorImageFormat = vk::Format::eR16G16B16A16Sfloat |
◆ add_delegate()
Add a delegate to handle extra rendering.
The delegate can render underneath the HikoGUI user interface.
Implements v1::gfx_surface.
◆ init()
| void v1::gfx_surface_vulkan::init |
( |
| ) |
|
|
overridevirtual |
◆ remove_delegate()
◆ render_finish()
| void v1::gfx_surface_vulkan::render_finish |
( |
gfx_draw_context const & | context | ) |
|
|
overridevirtual |
◆ render_start()
| std::optional< gfx_draw_context > v1::gfx_surface_vulkan::render_start |
( |
aarectangle | redraw_rectangle | ) |
|
|
nodiscardoverridevirtual |
◆ set_device()
| void v1::gfx_surface_vulkan::set_device |
( |
gfx_device * | device | ) |
|
|
overridevirtualnoexcept |
Set GPU device to manage this window. Change of the device may be done at runtime.
- Parameters
-
| device | The device to use for rendering, may be nullptr. |
Reimplemented from v1::gfx_surface.
◆ size()
| extent2 v1::gfx_surface_vulkan::size |
( |
| ) |
const |
|
nodiscardoverridevirtualnoexcept |
◆ update()
| void v1::gfx_surface_vulkan::update |
( |
extent2 | new_size | ) |
|
|
overridevirtualnoexcept |
Update the surface.
This function will check if the graphic pipeline and swapchain needs to be build, rebuild, or torn down.
- Parameters
-
| new_size | The size of the window. |
Implements v1::gfx_surface.
The documentation for this class was generated from the following file: