更新日期: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