настройка vulkan для code::blocks через glfw или lunarg

У меня есть code::blocks и свободный вечер, хотелось бы приложить руки к vulkan. Сейчас на виндовс 7.

У меня проблемы с поиском какой-либо документации/учебников или библиотек для работы в кодовых блоках. У меня есть glfw 3.2, но для работы с ним требуется библиотека vulkan и заголовки (#define GLFW_INCLUDE_VULKAN), в противном случае он справедливо жалуется на отсутствие vulkan/vulkan.h. Также установил LunarG, но не могу найти в пакете узнаваемых библиотек, которые я мог бы связать через настройки компоновщика обычным способом.

Мой код прямо сейчас прост:

...
#include <GL/glu.h>
#define GLFW_INCLUDE_VULKAN
#include <GLFW/glfw3.h>

int main(int argc, char **argv) {
    glfwInit();
    return glfwVulkanSupported();
}

с -lglu32 -lglfw3 -lopengl32 -lgdi32

В основном все, что мне нужно, это библиотека, на которую можно ссылаться, но я не могу найти ее в Интернете.


person user2464424    schedule 11.08.2016    source источник


Ответы (1)


  1. Использование старой библиотеки GLU может быть не очень хорошей идеей с Vulkan.

  2. Установите SDK LunarG.

  3. Установите дополнительный каталог включения в ваш проект IDE: $VULKAN_SDK/Include (VULKAN_SDK — это переменная env с путем к корню SDK).

  4. Не связывайтесь с OpenGL, если вы собираетесь использовать только Vulkan.

  5. Code::Blocks основан на g++ или clang, верно? Ссылка на vulkan-1.dll. -lvulkan-1 должно быть достаточно, потому что путь должен быть в PATH. В противном случае укажите путь с -L, он находится в $WINDIR/System32 (для ОС x64 и x32) и в $WINDIR/SysWOW64 (для приложения x32 в ОС x64).

vulkan-1.dll устанавливается туда драйверами, а также SDK.

person krOoze    schedule 11.08.2016
comment
Первоначальная идея заключалась в том, чтобы переключаться между opengl и vulkan на лету, но ничто не мешает мне просто разделить на два исполняемых файла. Я связал путь к bin32/vulkan-1.lib в SDK, и это сработало. Через 800 строк мне удалось заставить треугольник лопнуть :/ - person user2464424; 12.08.2016
comment
Ссылка на *.lib, пожалуй, предпочтительнее. Это просто всегда дает мне ошибки компоновщика в g++, поэтому вместо этого я предложил *.dll. - person krOoze; 12.08.2016