1.Vulkan 环境配置

环境:

VS2017

Windows 10

GTX 940M

首先我们要配置库

    因为我实在是太懒了,不愿意重新配一遍,所以大约讲讲流程吧。环境配   这个vulkan环境配置应该能查到,如果查不到,可以来问我,我不一定会看见。。。

Lunarg SDK: 

vulkan的开发者库,实在是爽爆了,里面还带了好多实用的工具,不像OPENGL一样吃屎,出了错干瞪眼,只能一点点找。

这里是 Lunarg SDK下载网址 ,下完了后安装,他会自动给你的系统添加环境变量,你就不用手动添加环境变量了,安装完成后你还会发现里面自带第三方库 GLM 和 SDL2 ,也就是下面我们要介绍的两个库。

定位到 vulkan sdk 的安装目录下的  \Bin 文件夹

运行里面的cube.exe如果运行成功了那么说明 :

你的vulkan sdk安装成功了

vulkan 运行库也安装成功了

你的显卡驱动也支持到位了。

如果没有运行成功,大多数原因可能是你的显卡驱动需要升级了

要去核弹厂去升级你的核弹驱动

如果还不行去找Demos文件夹里的VS工程打开编译一下,如果编译成功了,说明完全没问题,没成功的自行找原因。

记住:只要链接vulkan-1.lib就好了,跟vulkan-1.lib在一起的各种VK_Layer*.lib不要链接,否则你会在vkCreateInstance函数崩溃,而且找不到原因。


GLFW:一个创建窗口的库

这个是个跨平台的窗口库,我们此教程用的是这个库,

为什么用这个库,因为之前学OPENGL的时候,官方推荐用的这个库,所以比较熟悉一些,不想再学新的了。

两种安装glfw库的方式:


第一种是下载源文件,自己cmake一下,把Debug版本的glfw3.lib修改成glfw3d.lib就能放在一起了,Debug选glfw3d.lib,Release版本选择glfw3.lib


第二种是直接下载二进制文件,他给你直接编译好了,直接拿来用好了。

glfw所需要的lib

Perfect ! 是不是很完美呢?


GLM:一个数学库(Lunarg SDK自带的第三方库)

里面提供了方便的数学操作,各种矩阵运算,方便。但是我不打算用,我想自己写一个,用自己的安心点,细节底层自己都了解,出了问题好解决。

SDL2:一个创建窗口的库(Lunarg SDK自带的第三方库)

和 glfw 一样用来创建窗口的,恩。不过我不打算用


我们都准备好了我们需要的库,接下来要在VS中配置。

VS菜单->项目->属性

打开属性页

vs属性页

大家肯定都被VS的项目配置弄迷糊过,在这里给大家讲清楚include ,lib ,dll等等这些东西都该放在那里


包含目录 :应该填 存放我们要引入的头文件 的 路径 , 这个告诉编译器应该从哪里找头文件,一般把库的include路径添加进去就好

库目录 :应该填 存放我们要引入的lib文件路径 ,这个告诉编译器应该从哪里找lib


链接lib

附加依赖项 : 应该填 要链接的lib ,编译器会从我们之前填的库目录里找附加依赖项,Debug用 glfw3d.lib,Release用glfw3.lib

正当你开开心心运行自己的代码的时候,突然蹦出来了找不到 dll 给你浇了一头冷水。你以为这样就结束了?No,你还要给编译器指定编译环境的dll目录。

就在下图里添加

dll目录配置

环境 :填 dll 所在的路径

 填的是这个 Path=%Path%;D:\VULKAN\1.1.85.0\Source\li

其实我也不确定对不对,如果还报dll找不到的错误话,自己去找找解决方法吧。

我们总结一下vs环境配置:

一共需要配置四个地方

头文件

lib目录

lib文件

dll目录

测试代码:

可以把里面glm还有sdl的代码去掉,如果不想用的话。

#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;

}

#至于linux驱动下的环境配置,哦吼吼,显卡驱动是一个大难关。还好我用的ubuntu里面自己给安装,之前用了别的方法,没成功。

[ubuntu安装英伟达显卡驱动-百度经验](https://jingyan.baidu.com/article/d7130635c5a86113fdf47532.html)

下一节:Instance

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 200,045评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,114评论 2 377
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 147,120评论 0 332
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,902评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,828评论 5 360
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,132评论 1 277
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,590评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,258评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,408评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,335评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,385评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,068评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,660评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,747评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,967评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,406评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,970评论 2 341

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 171,279评论 25 707
  • 利用我们前两章中获得的知识,我们现在已经达到了可以从 0 开始进行 Vulkan 编程的水平。 这两章奠定了基础,...
    雨中亭_听雨中阅读 1,030评论 1 0
  • 第一章:编译和安装SCons第二章:简单编译第三章:编译相关的一些事情第四章:编译和链接库文件第五章:节点对象第六...
    仙灵儿阅读 11,701评论 0 3
  • 一、温故而知新 1. 内存不够怎么办 内存简单分配策略的问题地址空间不隔离内存使用效率低程序运行的地址不确定 关于...
    SeanCST阅读 7,762评论 0 27
  • 文/储念遥 之前参加一个儿童摄影店的周年店庆活动,因为打算给大宝和即将出生的二宝拍照留念,有此需求便交了定金。之后...
    储念遥阅读 386评论 0 2