【小沐学Vulkan】Vulkan入门测试代码
  I6bYKJOwynuQ 2023年11月19日 30 0

1、简介

https://www.vulkan.org/

Vulkan 是新一代图形和计算 API,用于高效、跨平台访问 GPU。

2、代码示例

2.1 简单测试(glfw+glm)

  • glfw配置 GLFW是一个开源的多平台库,用于OpenGL,OpenGL ES和 桌面上的 Vulkan 开发。它提供了一个简单的 API 来创建 窗口、上下文和表面,接收输入和事件。 GLFW是用C语言编写的,支持Windows,macOS,X11和Wayland。 GLFW在zlib / libpng许可证下获得许可。 https://www.glfw.org/
  • glm配置 OpenGL Mathematics (GLM) 是基于 OpenGL 着色语言 (GLSL) 规范的图形软件的标头C++数学库。 GLM 提供的类和函数的设计和实现具有与 GLSL 相同的命名约定和功能,因此任何了解 GLSL 的人都可以在 C++ 中使用 GLM。 此项目不仅限于 GLSL 功能。基于 GLSL 扩展约定的扩展系统提供了扩展功能:矩阵变换、四元数、数据包、随机数、噪声等...... https://github.com/g-truc/glm

准备好GLFW和GLM的sdk代码。

  • 头文件夹:
D:\Program Files\My3rdPartyGit\glm-0.9.9.8;
D:\Program Files\My3rdPartyGit\glfw-3.3.6\include;
D:\VulkanSDK\1.3.261.1\Include;
  • 库文件夹:
D:\Program Files\My3rdPartyGit\glfw-3.3.6\lib\x64\Debug;
D:\VulkanSDK\1.3.261.1\Lib;
  • 库文件:
glfw3.lib;
vulkan-1.lib;

新建一个控制台的测试项目如下:

// ConsoleApplication16.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//

#include "pch.h"
#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\n";

	glm::mat4 matrix;
	glm::vec4 vec;
	auto test = matrix * vec;

	while (!glfwWindowShouldClose(window))
	{
		glfwPollEvents();
	}

	glfwDestroyWindow(window);

	glfwTerminate();

	return 0;
}

编译后运行如下: 在这里插入图片描述

结语

如果您觉得该方法或代码有一点点用处,可以给作者点个赞,或打赏杯咖啡;╮( ̄▽ ̄)╭ 如果您感觉方法或代码不咋地//(ㄒoㄒ)//,就在评论处留言,作者继续改进;o_O??? 如果您需要相关功能的代码定制化开发,可以留言私信作者;(✿◡‿◡) 感谢各位大佬童鞋们的支持!( ´ ▽´ )ノ ( ´ ▽´)っ!!!

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月19日 0

暂无评论

I6bYKJOwynuQ