| Fling Engine 0.00.1 Fling Engine is a game engine written in Vulkan

Public Member Functions | Private Member Functions | Private Attributes
Fling::Instance Class Reference

The instance is a representation of this application graphics instance in Vulkan. More...

`#include <Instance.h>`

Inherits Fling::NonCopyable.

## Public Member Functions
| Instance ()
| ~Instance ()
const VkInstance & | GetRawVkInstance () const
bool | IsValidationEnabled () const
UINT32 | EnabledValidationLayerCount () const
const std::vector< const char * > & | GetEnabledValidationLayers () const
const std::vector< const char * > & | GetEnabledExtensions () const

## Private Member Functions
void | CreateInstance ()
| Create the VkInstance of this object and application information. More...
std::vector< const char * > | GetRequiredExtensions ()
bool | CheckValidationLayerSupport ()
Private Member Functions inherited from Fling::NonCopyable
| NonCopyable (const NonCopyable &)=delete
| NonCopyable (NonCopyable &&)=default
NonCopyable & | operator= (const NonCopyable &)=delete
NonCopyable & | operator= (NonCopyable &&)=default
| NonCopyable ()=default
virtual | ~NonCopyable ()=default

## Private Attributes
VkInstance | m_Instance = VK_NULL_HANDLE
| The Vulkan instance. More...
UINT8 | m_EnableValidationLayers: 1
| If this instance has validation layers enabled. More...
const std::vector< const char * > | m_ValidationLayers
| The validation layers that we want to look for on this instance. More...
const std::vector< const char * > | m_DeviceExtensions
| Device extension support for the swap chain. More...

## Detailed Description

The instance is a representation of this application graphics instance in Vulkan.

## Constructor & Destructor Documentation

## ◆ Instance()

Fling::Instance::Instance | ( |  | ) |
| explicit

## ◆ ~Instance()

Fling::Instance::~Instance | ( |  | ) |

## Member Function Documentation

## ◆ CheckValidationLayerSupport()

bool Fling::Instance::CheckValidationLayerSupport | ( |  | ) |
| private

## ◆ CreateInstance()

void Fling::Instance::CreateInstance | ( |  | ) |
| private

Create the VkInstance of this object and application information.

## ◆ EnabledValidationLayerCount()

UINT32 Fling::Instance::EnabledValidationLayerCount | ( |  | ) | const
| inline

## ◆ GetEnabledExtensions()

const std::vector<const char*>& Fling::Instance::GetEnabledExtensions | ( |  | ) | const
| inline

## ◆ GetEnabledValidationLayers()

const std::vector<const char*>& Fling::Instance::GetEnabledValidationLayers | ( |  | ) | const
| inline

## ◆ GetRawVkInstance()

const VkInstance& Fling::Instance::GetRawVkInstance | ( |  | ) | const
| inline

## ◆ GetRequiredExtensions()

std::vector< const char * > Fling::Instance::GetRequiredExtensions | ( |  | ) |
| private

## ◆ IsValidationEnabled()

bool Fling::Instance::IsValidationEnabled | ( |  | ) | const
| inline

## Field Documentation

## ◆ m_DeviceExtensions

const std::vector<const char*> Fling::Instance::m_DeviceExtensions
| private

Initial value:
=
{
VK_KHR_SWAPCHAIN_EXTENSION_NAME
}

Device extension support for the swap chain.

## ◆ m_EnableValidationLayers

UINT8 Fling::Instance::m_EnableValidationLayers
| private

If this instance has validation layers enabled.

This is read from the config file. Default to false if no config

## ◆ m_Instance

VkInstance Fling::Instance::m_Instance = VK_NULL_HANDLE
| private

The Vulkan instance.

## ◆ m_ValidationLayers

const std::vector<const char*> Fling::Instance::m_ValidationLayers
| private

Initial value:
=
{
"VK_LAYER_LUNARG_standard_validation"
}

The validation layers that we want to look for on this instance.

The documentation for this class was generated from the following files:

- FlingEngine/Graphics/inc/Instance.h
- FlingEngine/Graphics/src/Instance.cpp