001. Windows環境Vulkan學習筆記 起始篇

來源:互聯網
上載者:User

標籤:重構   image   https   tool   自動   tle   down   動畫   bar   

 背景:由於公司需要用c++對現有項目進行重構,本人從事近6年的C#開發現需要快速轉C++,但是看書學習內容太多記不住,所以打算從Vulkan入手寫一些東西。

 

   為什麼選擇Vulkan而不是OpenGL或者別的?    1、因為個人感覺Vulkan會在未來幾年取代OpenGL,會對自己以後的發展有好處  2、因為本身就是學習c++沒必要糾結這個東西是否是當下熱門的。

 

  準備做寫什麼:1、實現一些簡單的模型載入紋理貼圖,光照反射等  2、簡單引擎,骨骼動畫等。

   

    進度正題:

      一、搭環境

     需要的素材,VulkanSDK,GLFW,GLM

       1.下載安裝VulkanSDK,下載windows版本

       2.下載GLFW下載win32位   將態庫glfw3.lib、glfw3dll.lib、動態庫glfw3.dll 分別放到VulkanSDK安裝目錄下的Third-Party的對應目錄裡。

        

        3. VulkanSDK中目前已經包含GLM在Third-Part | Include 目錄中。如需最新版本可以下載GML

         SDK目錄下的這幾個模版檔案拷貝到VS2017模版目錄,如,不然建立時不會出現模版

      

     

 

    

從Vulkan模版中建立測試程式,注意在新項目建立完成後,Vulkan VS模版會自動建立一個基於SDL視窗的程式,在此可刪除掉 或替換為下文的測試代碼。

 

建立測試C++檔案,並添加如下測試代碼。

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

會遇到編譯錯誤GLFW,現在添加具體的庫引用。

再次運行程式,恭喜你可以看到第一個Vulkan程式運行起來了。

 

 

 

         

      

001. Windows環境Vulkan學習筆記 起始篇

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.