![]() |
HoviTron Video Pipeline
|
The class that represents a window created with the GLFW library. More...
#include <WindowGLFW.h>
Public Member Functions | |
void | initWindow () override |
void | continueInit () override |
void | cleanUp () override |
void | cleanUpSurface () override |
void | mainLoop (VulkanDrawing *vulkanDrawing) override |
void | createSurface () override |
std::vector< const char * > | getRequiredExtensions () override |
VkBool32 | isDeviceSupportingSufaceKHR (VkPhysicalDevice device, int i) override |
std::vector< const char * > | getRequiredDeviceExtensions () override |
SwapChainSupportDetails | querySwapChainSupport (vk::PhysicalDevice device) override |
void | checkForCorrectSize () override |
void | getFrameBufferSize (int *w, int *h, vk::PhysicalDevice &pDevice) override |
bool | isSynchroWithSemaphore () override |
void | printInputCommands () |
void | inputKeyCallback (GLFWwindow *window, int key, int scancode, int action, int mode) |
void | framebufferResizeCallback () |
void | resetOrigin () override |
![]() | |
virtual void | initWindow ()=0 |
virtual void | continueInit ()=0 |
virtual void | cleanUp ()=0 |
virtual void | cleanUpSurface ()=0 |
virtual void | mainLoop (VulkanDrawing *vulkanDrawing)=0 |
virtual void | createSurface ()=0 |
virtual std::vector< const char * > | getRequiredExtensions ()=0 |
const bool | isValidationLayersEnabled () |
virtual VkBool32 | isDeviceSupportingSufaceKHR (VkPhysicalDevice device, int i)=0 |
virtual std::vector< const char * > | getRequiredDeviceExtensions ()=0 |
virtual SwapChainSupportDetails | querySwapChainSupport (vk::PhysicalDevice device)=0 |
bool | isSwapChainNeeded () |
bool | isIndepFromWindowDimension () |
virtual const bool | useOpenXR () |
virtual bool | isDepthRecquired () |
virtual bool | isSynchroWithSemaphore ()=0 |
virtual void | getFrameBufferSize (int *w, int *h, vk::PhysicalDevice &pDevice)=0 |
void | setWrapper (VulkanWrapper *wraps) |
virtual void | checkForCorrectSize ()=0 |
virtual vk::Buffer | getRenderingDestination () |
virtual vk::Image | getSwapchainImage (int view, int index) |
virtual vk::Image | getDepthSwapchainImage (int view, int index) |
glm::vec3 | getTranslation () |
void | setRotation (float v0, float v1, float v3) |
glm::vec3 | getRotation () |
virtual std::vector< vk::Image > | getBlitDestinations (int view, int elem) |
virtual std::vector< vk::Extent2D > | getBlitExtentDestinations (int view, int elem) |
virtual std::vector< vk::Semaphore > | getSemaphoreWait (int view, int elem) |
virtual std::vector< vk::Semaphore > | getSemaphoreSignal (int view, int elem) |
vk::ImageView | getSwapchainImageView (int view, int elem) |
vk::ImageView | getDepthSwapchainImageView (int view, int elem) |
int | getViewNumber () |
int | getAttachmentSize () |
virtual vk::Extent2D | getSwapchainExtent (int view) |
virtual vk::Format | getSwapchainFormat (int view) |
virtual vk::Format | getDepthSwapchainFormat (int view) |
virtual void | resetOrigin ()=0 |
virtual | ~WindowAbstract ()=default |
Additional Inherited Members | |
![]() | |
std::vector< std::unique_ptr< SwapchainAbstract > > | swapchains |
std::vector< std::unique_ptr< SwapchainAbstract > > | depthSwapchains |
bool | separateFromWindowDim = false |
const std::vector< const char * > | deviceExtensions |
VulkanWrapper * | wrapper = nullptr |
glm::vec3 | currentRotation = {0,0,0} |
glm::vec3 | currentTranslation = {0,0,0} |
bool | needSwapchain = true |
bool | initialised = false |
const bool | enableValidationLayers = false |
bool | qualibrationMode = false |
int | selectedCamera = -1 |
The class that represents a window created with the GLFW library.
The class encapsulate all the operation linked to the use of the GLFW library that allow us to create a window on the computer screen. Using it we only have one view to render. This class also receive the keyboard input that allow the user to translate and rotate himself in the scene. It is also possible to reset the origin and to adjust the parameters of the input camera using these input keyboard Exact key are printed in the console at the beginning of the application
Definition at line 37 of file WindowGLFW.h.
|
overridevirtual |
Check if the window is of correct size, wait until it is
Implements WindowAbstract.
Definition at line 170 of file WindowGLFW.cpp.
|
overridevirtual |
Clean up the ressources
Implements WindowAbstract.
Definition at line 70 of file WindowGLFW.cpp.
|
overridevirtual |
Clean up the surface
Implements WindowAbstract.
Definition at line 76 of file WindowGLFW.cpp.
|
overridevirtual |
Continue the initialization process
Implements WindowAbstract.
Definition at line 58 of file WindowGLFW.cpp.
|
overridevirtual |
void WindowGLFW::framebufferResizeCallback | ( | ) |
Callback function called when the window is resize. May trigger some recreation of the swapchain when it is the case
Definition at line 498 of file WindowGLFW.cpp.
|
overridevirtual |
Return the current size of the framebuffer
Implements WindowAbstract.
Definition at line 180 of file WindowGLFW.cpp.
|
overridevirtual |
Return the list ofdevice extensions required by the GLFW library
Implements WindowAbstract.
Definition at line 154 of file WindowGLFW.cpp.
|
overridevirtual |
Return the list of instance extensions required by the GLFW library
Implements WindowAbstract.
Definition at line 133 of file WindowGLFW.cpp.
|
overridevirtual |
Start the initialization of the GLFW window
Implements WindowAbstract.
Definition at line 24 of file WindowGLFW.cpp.
void WindowGLFW::inputKeyCallback | ( | GLFWwindow * | window, |
int | key, | ||
int | scancode, | ||
int | action, | ||
int | mode | ||
) |
Callback function that is activated when a key receive an action
Definition at line 256 of file WindowGLFW.cpp.
|
overridevirtual |
Test if the device support the surface that have been created
Implements WindowAbstract.
Definition at line 147 of file WindowGLFW.cpp.
|
overridevirtual |
Return because synchronization is done with semaphore in this mode
Implements WindowAbstract.
Definition at line 185 of file WindowGLFW.cpp.
|
overridevirtual |
Main rendering loop
Implements WindowAbstract.
Definition at line 88 of file WindowGLFW.cpp.
void WindowGLFW::printInputCommands | ( | ) |
Print the key used by the system and their effect. The exact keys printed will change depending of the layout
Definition at line 192 of file WindowGLFW.cpp.
|
overridevirtual |
Query what type of swapchain the surface support
Implements WindowAbstract.
Definition at line 159 of file WindowGLFW.cpp.
|
overridevirtual |
Reset the origin by putting current rotation and translation to 0
Implements WindowAbstract.
Definition at line 503 of file WindowGLFW.cpp.