国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

Vulkan 02 - 開發(fā)環(huán)境

2023-03-25 10:22 作者:rabanastre  | 我要投稿

本章我們創(chuàng)建windows的vulkan開發(fā)環(huán)境。

我們使用C++17,visual studio 2017或者2019。


Vulkan SDK

SDK包括頭文件,標準驗證層,調(diào)試工具和一個vulkan函數(shù)的加載器(loader)。Loader在運行時查詢驅(qū)動暴露的函數(shù),類似OpenGL的GLEW。

SDK可以從LunarG的官方網(wǎng)站下載,如果僅下載SDK是不需要注冊的。

SDK的安裝期間,注意一下安裝位置。安裝完成后,首先我們要確認一下你的顯卡和驅(qū)動支持vulkan。打開SDK的安裝目錄,運行bin目錄里的vkcube.exe,如果能運行且正確顯示一個立方體就正確了。

目錄里還有一個有用的程序,glslanValidator.exe和glslc.exe是用來編譯GLSL的,編譯結(jié)果是字節(jié)碼(byte code)。在之后的著色器章節(jié)我們會詳細描述。Bin目錄里還有vulkan loader和驗證層,lib目錄里有必須的庫文件。

最后,include目錄里有vulkan頭文件。


GLFW

如前所述,vulkan是平臺無關(guān)的API,不包括創(chuàng)建窗體的函數(shù)。為了支持跨平臺,并且避開Win32的眾多內(nèi)容,我們使用GLFW庫來創(chuàng)建窗體,它支持Windows, Linux和Macos。還有其它庫也有這個功能,例如SDL,但是GLFW的好處是,除了創(chuàng)建窗體,他還抽象了其它一些平臺相關(guān)的功能。

你可以在GLFW的官方網(wǎng)站上找到最新release版本。本教程我們將使用64-bit二進制的庫。

解壓縮并且放在你覺得方便的地方。


GLM

不像DirectX 12,Vulkan沒有線性代數(shù)庫,我們需要自己編寫,或者使用第三方庫。GLM是一個很好的庫,它常常用來和OpenGL一起使用。

GLM是一個頭文件Only的庫,你只需要下載最新版本,解壓縮并且放在你覺得方便的地方,最后include就可以了。


設置Visual Studio

我們已經(jīng)安裝了所有的依賴文件,可以設置visual studio了,然后就可以開始寫點代碼了。

打開Visual Studio然后創(chuàng)建一個Windows Desktop Wizard項目,輸入項目名稱然后點確定按鈕。

在項目創(chuàng)建選項里,選擇

Application type: Console Application(.exe)

Additional Options: 選擇Empty Project

其它勾選框都不要選。

然后創(chuàng)建一個main.cpp文件,粘貼代碼如下。你現(xiàn)在還不需要理解代碼做了什么,只是測試可以編譯和運行vulkan程序。


#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,"Vulkanwindow",nullptr, nullptr);

? ??uint32_t extensionCount = 0;

? ??vkEnumerateInstanceExtensionProperties(nullptr, &extensionCount,nullptr);

? ??std::cout << extensionCount <<"extensionssupported\n";

? ??glm::mat4 matrix;

? ??glm::vec4 vec;

? ??auto test = matrix * vec;

? ??while(!glfwWindowShouldClose(window))

? ??{

? ??? ??glfwPollEvents();

? ??}

? ??glfwDestroyWindow(window);

? ??glfwTerminate();

? ??return 0;

}


現(xiàn)在,設置項目

● 包含目錄加入GLFW和GLM的頭文件的目錄

● 附件庫目錄加入GLFW庫的目錄

● 附加庫文件加入vulkan-1.lib和glfw3.lib

● c++語言標準設置成C++17


現(xiàn)在可以編譯和運行了。

如果運行時,控制臺顯示的extension的數(shù)量不是零,那么恭喜,你已經(jīng)設置好可以玩玩vulkan了。


Vulkan 02 - 開發(fā)環(huán)境的評論 (共 條)

分享到微博請遵守國家法律
周宁县| 东光县| 青州市| 万全县| 天峨县| 尉氏县| 兰州市| 荆门市| 鄂伦春自治旗| 汾西县| 乐东| 措勤县| 杭州市| 二手房| 来凤县| 长春市| 惠东县| 奉贤区| 南郑县| 茌平县| 甘泉县| 凤凰县| 运城市| 巴中市| 黑河市| 乌恰县| 邹城市| 大化| 钦州市| 大港区| 福安市| 新邵县| 民丰县| 休宁县| 巫山县| 永吉县| 普陀区| 英山县| 孝义市| 长岭县| 大方县|