Vulkan示例

这是一篇关于Vulkan API的实战示例教程,详细介绍了如何在C++环境中运用Vulkan进行图形编程。更新至Device阶段,需要Vulkan SDK,并进行相应的库链接。为方便读者,资料已上传至指定QQ群。
摘要由CSDN通过智能技术生成

更新日期:2016年5月8日

更新到了Device,若想使用这些代码请自行下载Vulkan SDK并链接库,或者加入QQ群:308637496,我把资料已经传到QQ群里了

//win32平台
#define VK_USE_PLATFORM_WIN32_KHR

//Vulkan相关头文件
#include <vulkan/vulkan.h>
#include <vulkan/vk_sdk_platform.h>

//错误处理
#include <assert.h>

//标准IO流
#include <iostream>

//Vulkan实例
VkInstance				Instance;

//设备
VkPhysicalDevice		PhysicalDevice;
VkDevice				Device;

//队列家族
uint32_t				QueueFamilyIndex;
VkQueueFamilyProperties	QueueFamilyProperties;

//错误
VkResult Err;

//使用std命名空间
using namespace std;

//初始化Vulkan
void initVulkan()
{
	/*获取实例扩展*/

	//扩展信息
	uint32_t				InstanceExtensionCount = 0;
	VkExtensionProperties*	ExtensionProperties;

	//获取扩展总数
	Err = vkEnumerateInstanceExtensionProperties(NULL, &InstanceExtensionCount, NULL);

	assert(!Err);

	//获取扩展列表
	ExtensionProperties		= new VkExtensionProperties[InstanceExtensionCount];

	Err = vkEnumerateInstanceExtensionProperties(NULL, &InstanceExtensionCount, ExtensionProperties);

	assert(!Err);

	//启用的实例扩展
	char* EnableExtensionNameArray[2];

	for (uint32_t i = 0; i < InstanceExtensionCount; i++)
	{
		//surface扩展
		if (strcmp(ExtensionProperties[i].extensionName, VK_KHR_SURFACE_EXTENS
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值