五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(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)境的評論 (共 條)

分享到微博請遵守國家法律
安仁县| 桂平市| 安塞县| 忻州市| 浪卡子县| 玉树县| 泗水县| 崇左市| 黔东| 前郭尔| 苗栗县| 波密县| 晴隆县| 南溪县| 武冈市| 泗水县| 兴海县| 盐源县| 揭东县| 铜鼓县| 凤冈县| 南岸区| 闽侯县| 双辽市| 临城县| 措美县| 郯城县| 阿荣旗| 永平县| 雅江县| 宁国市| 霍城县| 上饶县| 杭锦旗| 开阳县| 磐石市| 宜章县| 张家川| 古交市| 天等县| 炉霍县|