vulkan 教程--Development environmen

来源:互联网 发布:php join implode 编辑:程序博客网 时间:2024/05/18 15:06

原文链接 : vulkan-tutorial 。


本打算直接在Android上学习Vulkan,但奈何Android 上的资料实在是太少,也可能我的网被墙了没找到。目前找到了一些sample code:GitHub ,也没什么教程,所以就打算先在PC上搞一阵子,毕竟PC上有这篇教程,熟悉之后再转到Android。因为公司工作机上是Windows 7系统,所以这里重点强调Vulkan 在Windows下的配置,Linux下的坏境配置就不翻译了,如果你恰好是在Linux下学习,请转到原文查看配置过程。毕竟只是环境配置,我就意思一下,走个流程。

Windows

在安装Vulkan SDK前请移步到这里:  兼容驱动  ,在这里先看卡你在显卡是否在支持的范围内,如果不在,那你就悲剧了,换台电脑吧。确保你的显卡支持Vulkan后,同样是在这个网页,根据自己系统类型,下载最新兼容驱动来安装。

Vulkan SDK

SDK提供了标准的头文件、Validation Layers 、debug 工具以及vulkan 函数的加载器等。请移步到:   the LunarG website   下载适合自己平台的SDK,然后安装在自己的文件夹里。安装好后运行 bin32 文件夹下的cube.exe , 你将看到:
                                             

如果你看了上图的立方体,说明你的显卡支持Vulkan 。 但如果你看到的下面这幅图:


                                                            

出现上面这幅图有两种可能:(1) 未安装最新的兼容驱动, 重新安装驱动就行了。(2) 如果安装了最新驱动仍然出现这种问题,说明你的显卡不支持Vulkan,请换台电脑。


这里使用vs2013 或 vs2015 进行开发,Vulkan SDK的debug symbols 目前只和vs2013 兼容,如果特别在意这个,就使用2013,其他的,2013和2015 没什么差别(译者注: 我使用的是2015 社区版)。


还需要下载两个库: glfw 和 glm  ,glfw主要负责window 的创建,为我们屏蔽平台差异,glm 拥有线性代数库和这种变换操作。下载后随便你把它们放在哪里,这里是我的目录:

glfw :

                                                                          

glm :

                                                                                       


配置 VS:

创建win32 project

               

                      

点击Finish。

添加文件:

                      


                     


在main.cpp里添加如下代码:

<span style="font-size:18px;">#define GLFW_INCLUDE_VULKAN#include <GLFW/glfw3.h>#define GLM_FORCE_RADIANS#define GLM_FORCE_DEPTH_ZERO_TO_ONE#include <glm/vec4.hpp>#include <glm/mat4x4.hpp>#include <iostream>int main() {    glfwInit();    glfwWindowHint(GLFW_CLIENT_API, GLFW_NO_API);    GLFWwindow* window = glfwCreateWindow(800, 600, "Vulkan window", nullptr, nullptr);    uint32_t extensionCount = 0;    vkEnumerateInstanceExtensionProperties(nullptr, &extensionCount, nullptr);    std::cout << extensionCount << " extensions supported" << std::endl;    glm::mat4 matrix;    glm::vec4 vec;    auto test = matrix * vec;    while(!glfwWindowShouldClose(window)) {        glfwPollEvents();    }    glfwDestroyWindow(window);    glfwTerminate();    return 0;}</span>

现在配置project 来解决出现的错误:

                             


选择 all configurations:

     


    


  添加vulkan、glfw 和 glm 的头文件:


接下来添加library:

        

 在这里添加 vulakn 和 glfw:


在input 里添加lib:

     

vulkan 和 glfw 的lib:


F5  运行测试一下看看:





每次都这样配置是不是要累死人? 将这个工程变为模板,    File   ->   Export Template....   选择 template  :

      

这样就行了。 下次创建新的工程的时候就方便多了 :


       

选择这个模板就行了。


Linux  就不讲了。


0 0
原创粉丝点击