Пример #1
0
        void initVulkan()
        {
            createInstance();

            int extensionCount = 0;

            unsafe
            {
                Vulkan.vkEnumerateInstanceExtensionProperties(null, &extensionCount, IntPtr.Zero);
            }

            System.Console.WriteLine(extensionCount);
        }
Пример #2
0
        void createInstance()
        {
            Vulkan.VkApplicationInfo appInfo = new Vulkan.VkApplicationInfo();

            appInfo.sType              = (int)Vulkan.VkStructureType.VK_STRUCTURE_TYPE_APPLICATION_INFO;
            appInfo.pApplicationName   = "Hello Triangle";
            appInfo.applicationVersion = Vulkan.VK_MAKE_VERSION(1, 0, 0);
            appInfo.pEngineName        = "No Engine";
            appInfo.engineVersion      = Vulkan.VK_MAKE_VERSION(1, 0, 0);
            appInfo.apiVersion         = Vulkan.VK_API_VERSION_1_0;

            Vulkan.VkInstanceCreateInfo createInfo = new Vulkan.VkInstanceCreateInfo();
            createInfo.sType            = Vulkan.VkStructureType.VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO;
            createInfo.pApplicationInfo = appInfo;

            int    glfwExtensionCount = 0;
            IntPtr glfwExtensions;


            unsafe
            {
                glfwExtensions = GLFW.GetRequiredInstanceExtensions(&glfwExtensionCount);
            }


            createInfo.enabledExtensionCount   = glfwExtensionCount;
            createInfo.ppEnabledExtensionNames = glfwExtensions;

            createInfo.enabledLayerCount = 0;

            /*
             * if (Vulkan.vkCreateInstance(createInfo, IntPtr.Zero, instance) != Vulkan.VkResult.VK_SUCCESS)
             * {
             *  System.Console.WriteLine("failed to create instance!");
             * }
             */
        }