Link

Comparação do Qt com OpenGL e o Qt com o Vulkan

O Qt oferece o módulo QtGUI: um conjunto completo de contêineres para facilitar o desenvolvimento de aplicativos gráficos usando o OpenGL/GLSL. Por exemplo, para definirmos um quadro que exibe gráficos gerados pelo OpenGL no Qt, podemos utilizar um objeto do tipo QOpenGLWidget no Qt Designer, criar uma nova classe que estende QOpenGLWidget e implementar as funções virtuais paintGL, resizeGL e initializeGL. Com isso, podemos ir ao Qt Designer e “promover” o widget QOpenGLWidget para nossa classe que estende QOpenGLWidget. Porém, quando utilizamos Vulkan esse processo é um pouco diferente. Primeiro, o Qt não tem uma classe para Vulkan equivalente a QOpenGLWidget, mas sim uma classe que estende QWindow chamada QVulkanWindow. Isso significa que não podemos “promover” QVulkaWindow para um widget do tipo “QVulkanWidget”. Para adicionarmos um widget que exibe gráficos gerados pelo Vulkan, precisamos adicionar ao arquivo de formulário uma interface de usuário baseada em QWidget no Qt Designer como por exemplo um Frame. Em seguida, criar uma classe que estenda QVulkanWindow. Depois disso, devemos incorporar essa classe que estende QVulkanWindow na interface de usuário baseada em QWidget usando QWidget::createWindowContainer(). Além disso, apenas a criação de uma classe que estende QVulkanWindow não é suficiente para gerarmos gráficos utilizando Vulkan. Precisamos de mais duas classes auxiliares que apresentaremos no próximo capítulo.


Anterior Próximo