标签:重构 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程序运行起来了。
标签:重构 image https tool 自动 tle down 动画 bar
原文地址:https://www.cnblogs.com/xingang1005/p/9050737.html