Vookoo
Classes | Functions
vku Namespace Reference

Vookoo high level C++ Vulkan interface. More...

Classes

struct  BlockParams
 Description of blocks for compressed formats. More...
 
class  ColorAttachmentImage
 An image to use as a colour buffer on a renderpass. More...
 
class  ComputePipelineMaker
 A class for building compute pipelines. More...
 
class  DepthStencilImage
 An image to use as a depth buffer on a renderpass. More...
 
class  DescriptorSetLayoutMaker
 A factory class for descriptor set layouts. (An interface to the shaders) More...
 
class  DescriptorSetMaker
 A factory class for descriptor sets (A set of uniform bindings) More...
 
class  DescriptorSetUpdater
 Convenience class for updating descriptor sets (uniforms) More...
 
class  Framework
 
class  GenericBuffer
 
class  GenericImage
 
class  HostIndexBuffer
 This class is a specialisation of GenericBuffer for low performance vertex buffers in CPU memory. More...
 
class  HostVertexBuffer
 This class is a specialisation of GenericBuffer for low performance vertex buffers on the host. More...
 
class  IndexBuffer
 
class  KTXFileLayout
 Layout of a KTX file in a buffer. More...
 
class  PipelineLayoutMaker
 
class  PipelineMaker
 
class  RenderpassMaker
 
class  SamplerMaker
 
class  ShaderModule
 Class for building shader modules and extracting metadata from shaders. More...
 
class  TextureImage2D
 A 2D texture image living on the GPU or a staging buffer visible to the CPU. More...
 
class  TextureImageCube
 A cube map texture image living on the GPU or a staging buffer visible to the CPU. More...
 
class  UniformBuffer
 This class is a specialisation of GenericBuffer for uniform buffers. More...
 
class  VertexBuffer
 
class  Window
 This class wraps a window, a surface and a swap chain for that surface. More...
 

Functions

template<class... Args>
std::string format (const char *fmt, Args...args)
 Printf-style formatting function.
 
int findMemoryTypeIndex (const vk::PhysicalDeviceMemoryProperties &memprops, uint32_t memoryTypeBits, vk::MemoryPropertyFlags search)
 Utility function for finding memory types for uniforms and images.
 
void executeImmediately (vk::Device device, vk::CommandPool commandPool, vk::Queue queue, const std::function< void(vk::CommandBuffer cb)> &func)
 Execute commands immediately and wait for the device to finish.
 
uint32_t mipScale (uint32_t value, uint32_t mipLevel)
 Scale a value by mip level, but do not reduce to zero.
 
std::vector< uint8_t > loadFile (const std::string &filename)
 
BlockParams getBlockParams (vk::Format format)
 Get the details of vulkan texture formats.
 
vk::Format GLtoVKFormat (uint32_t glFormat)
 KTX files use OpenGL format values. This converts some common ones to Vulkan equivalents.
 

Detailed Description

Vookoo high level C++ Vulkan interface.

(C) Andy Thomason 2017 MIT License This is a utility set alongside the vkcpp C++ interface to Vulkan which makes constructing Vulkan pipelines and resources very easy for beginners. It is expected that once familar with the Vulkan C++ interface you may wish to "go it alone" but we hope that this will make the learning experience a joyful one. You can use it with the demo framework, stand alone and mixed with C or C++ Vulkan objects. It should integrate with game engines nicely.

Function Documentation

std::vector<uint8_t> vku::loadFile ( const std::string &  filename)
inline

Load a binary file into a vector. The vector will be zero-length if this fails.